mirror of https://github.com/milvus-io/milvus.git
Expose metrics of QueryCoord and QueryNodes (#7113)
Signed-off-by: dragondriver <jiquan.long@zilliz.com>pull/7137/head
parent
fb22d122e5
commit
7eb8a665b2
File diff suppressed because it is too large
Load Diff
|
@ -53,7 +53,7 @@ struct TableStruct_milvus_2eproto {
|
|||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
|
||||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[61]
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[63]
|
||||
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
|
||||
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
|
||||
|
@ -141,6 +141,12 @@ extern GetIndexStateRequestDefaultTypeInternal _GetIndexStateRequest_default_ins
|
|||
class GetIndexStateResponse;
|
||||
class GetIndexStateResponseDefaultTypeInternal;
|
||||
extern GetIndexStateResponseDefaultTypeInternal _GetIndexStateResponse_default_instance_;
|
||||
class GetMetricsRequest;
|
||||
class GetMetricsRequestDefaultTypeInternal;
|
||||
extern GetMetricsRequestDefaultTypeInternal _GetMetricsRequest_default_instance_;
|
||||
class GetMetricsResponse;
|
||||
class GetMetricsResponseDefaultTypeInternal;
|
||||
extern GetMetricsResponseDefaultTypeInternal _GetMetricsResponse_default_instance_;
|
||||
class GetPartitionStatisticsRequest;
|
||||
class GetPartitionStatisticsRequestDefaultTypeInternal;
|
||||
extern GetPartitionStatisticsRequestDefaultTypeInternal _GetPartitionStatisticsRequest_default_instance_;
|
||||
|
@ -276,6 +282,8 @@ template<> ::milvus::proto::milvus::GetIndexBuildProgressRequest* Arena::CreateM
|
|||
template<> ::milvus::proto::milvus::GetIndexBuildProgressResponse* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetIndexBuildProgressResponse>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetIndexStateRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetIndexStateRequest>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetIndexStateResponse* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetIndexStateResponse>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetMetricsRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetMetricsRequest>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetMetricsResponse* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetMetricsResponse>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetPartitionStatisticsRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetPartitionStatisticsRequest>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetPartitionStatisticsResponse* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetPartitionStatisticsResponse>(Arena*);
|
||||
template<> ::milvus::proto::milvus::GetPersistentSegmentInfoRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::GetPersistentSegmentInfoRequest>(Arena*);
|
||||
|
@ -10494,6 +10502,313 @@ class RegisterLinkResponse :
|
|||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_milvus_2eproto;
|
||||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class GetMetricsRequest :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.milvus.GetMetricsRequest) */ {
|
||||
public:
|
||||
GetMetricsRequest();
|
||||
virtual ~GetMetricsRequest();
|
||||
|
||||
GetMetricsRequest(const GetMetricsRequest& from);
|
||||
GetMetricsRequest(GetMetricsRequest&& from) noexcept
|
||||
: GetMetricsRequest() {
|
||||
*this = ::std::move(from);
|
||||
}
|
||||
|
||||
inline GetMetricsRequest& operator=(const GetMetricsRequest& from) {
|
||||
CopyFrom(from);
|
||||
return *this;
|
||||
}
|
||||
inline GetMetricsRequest& operator=(GetMetricsRequest&& from) noexcept {
|
||||
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
|
||||
if (this != &from) InternalSwap(&from);
|
||||
} else {
|
||||
CopyFrom(from);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||
return GetDescriptor();
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||
return GetMetadataStatic().descriptor;
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||
return GetMetadataStatic().reflection;
|
||||
}
|
||||
static const GetMetricsRequest& default_instance();
|
||||
|
||||
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
|
||||
static inline const GetMetricsRequest* internal_default_instance() {
|
||||
return reinterpret_cast<const GetMetricsRequest*>(
|
||||
&_GetMetricsRequest_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
61;
|
||||
|
||||
friend void swap(GetMetricsRequest& a, GetMetricsRequest& b) {
|
||||
a.Swap(&b);
|
||||
}
|
||||
inline void Swap(GetMetricsRequest* other) {
|
||||
if (other == this) return;
|
||||
InternalSwap(other);
|
||||
}
|
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline GetMetricsRequest* New() const final {
|
||||
return CreateMaybeMessage<GetMetricsRequest>(nullptr);
|
||||
}
|
||||
|
||||
GetMetricsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
|
||||
return CreateMaybeMessage<GetMetricsRequest>(arena);
|
||||
}
|
||||
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void CopyFrom(const GetMetricsRequest& from);
|
||||
void MergeFrom(const GetMetricsRequest& from);
|
||||
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||
bool IsInitialized() const final;
|
||||
|
||||
size_t ByteSizeLong() const final;
|
||||
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||
#else
|
||||
bool MergePartialFromCodedStream(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
|
||||
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
void SerializeWithCachedSizes(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
|
||||
int GetCachedSize() const final { return _cached_size_.Get(); }
|
||||
|
||||
private:
|
||||
inline void SharedCtor();
|
||||
inline void SharedDtor();
|
||||
void SetCachedSize(int size) const final;
|
||||
void InternalSwap(GetMetricsRequest* other);
|
||||
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||
return "milvus.proto.milvus.GetMetricsRequest";
|
||||
}
|
||||
private:
|
||||
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
|
||||
return nullptr;
|
||||
}
|
||||
inline void* MaybeArenaPtr() const {
|
||||
return nullptr;
|
||||
}
|
||||
public:
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||
private:
|
||||
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto);
|
||||
return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages];
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kRequestFieldNumber = 2,
|
||||
kBaseFieldNumber = 1,
|
||||
};
|
||||
// string request = 2;
|
||||
void clear_request();
|
||||
const std::string& request() const;
|
||||
void set_request(const std::string& value);
|
||||
void set_request(std::string&& value);
|
||||
void set_request(const char* value);
|
||||
void set_request(const char* value, size_t size);
|
||||
std::string* mutable_request();
|
||||
std::string* release_request();
|
||||
void set_allocated_request(std::string* request);
|
||||
|
||||
// .milvus.proto.common.MsgBase base = 1;
|
||||
bool has_base() const;
|
||||
void clear_base();
|
||||
const ::milvus::proto::common::MsgBase& base() const;
|
||||
::milvus::proto::common::MsgBase* release_base();
|
||||
::milvus::proto::common::MsgBase* mutable_base();
|
||||
void set_allocated_base(::milvus::proto::common::MsgBase* base);
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.milvus.GetMetricsRequest)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr request_;
|
||||
::milvus::proto::common::MsgBase* base_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_milvus_2eproto;
|
||||
};
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
class GetMetricsResponse :
|
||||
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.milvus.GetMetricsResponse) */ {
|
||||
public:
|
||||
GetMetricsResponse();
|
||||
virtual ~GetMetricsResponse();
|
||||
|
||||
GetMetricsResponse(const GetMetricsResponse& from);
|
||||
GetMetricsResponse(GetMetricsResponse&& from) noexcept
|
||||
: GetMetricsResponse() {
|
||||
*this = ::std::move(from);
|
||||
}
|
||||
|
||||
inline GetMetricsResponse& operator=(const GetMetricsResponse& from) {
|
||||
CopyFrom(from);
|
||||
return *this;
|
||||
}
|
||||
inline GetMetricsResponse& operator=(GetMetricsResponse&& from) noexcept {
|
||||
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
|
||||
if (this != &from) InternalSwap(&from);
|
||||
} else {
|
||||
CopyFrom(from);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||
return GetDescriptor();
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||
return GetMetadataStatic().descriptor;
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||
return GetMetadataStatic().reflection;
|
||||
}
|
||||
static const GetMetricsResponse& default_instance();
|
||||
|
||||
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
|
||||
static inline const GetMetricsResponse* internal_default_instance() {
|
||||
return reinterpret_cast<const GetMetricsResponse*>(
|
||||
&_GetMetricsResponse_default_instance_);
|
||||
}
|
||||
static constexpr int kIndexInFileMessages =
|
||||
62;
|
||||
|
||||
friend void swap(GetMetricsResponse& a, GetMetricsResponse& b) {
|
||||
a.Swap(&b);
|
||||
}
|
||||
inline void Swap(GetMetricsResponse* other) {
|
||||
if (other == this) return;
|
||||
InternalSwap(other);
|
||||
}
|
||||
|
||||
// implements Message ----------------------------------------------
|
||||
|
||||
inline GetMetricsResponse* New() const final {
|
||||
return CreateMaybeMessage<GetMetricsResponse>(nullptr);
|
||||
}
|
||||
|
||||
GetMetricsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
|
||||
return CreateMaybeMessage<GetMetricsResponse>(arena);
|
||||
}
|
||||
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
|
||||
void CopyFrom(const GetMetricsResponse& from);
|
||||
void MergeFrom(const GetMetricsResponse& from);
|
||||
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||
bool IsInitialized() const final;
|
||||
|
||||
size_t ByteSizeLong() const final;
|
||||
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||
#else
|
||||
bool MergePartialFromCodedStream(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
|
||||
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
|
||||
void SerializeWithCachedSizes(
|
||||
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
|
||||
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
|
||||
int GetCachedSize() const final { return _cached_size_.Get(); }
|
||||
|
||||
private:
|
||||
inline void SharedCtor();
|
||||
inline void SharedDtor();
|
||||
void SetCachedSize(int size) const final;
|
||||
void InternalSwap(GetMetricsResponse* other);
|
||||
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||
return "milvus.proto.milvus.GetMetricsResponse";
|
||||
}
|
||||
private:
|
||||
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
|
||||
return nullptr;
|
||||
}
|
||||
inline void* MaybeArenaPtr() const {
|
||||
return nullptr;
|
||||
}
|
||||
public:
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||
private:
|
||||
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto);
|
||||
return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages];
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
// nested types ----------------------------------------------------
|
||||
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kResponseFieldNumber = 2,
|
||||
kComponentNameFieldNumber = 3,
|
||||
kStatusFieldNumber = 1,
|
||||
};
|
||||
// string response = 2;
|
||||
void clear_response();
|
||||
const std::string& response() const;
|
||||
void set_response(const std::string& value);
|
||||
void set_response(std::string&& value);
|
||||
void set_response(const char* value);
|
||||
void set_response(const char* value, size_t size);
|
||||
std::string* mutable_response();
|
||||
std::string* release_response();
|
||||
void set_allocated_response(std::string* response);
|
||||
|
||||
// string component_name = 3;
|
||||
void clear_component_name();
|
||||
const std::string& component_name() const;
|
||||
void set_component_name(const std::string& value);
|
||||
void set_component_name(std::string&& value);
|
||||
void set_component_name(const char* value);
|
||||
void set_component_name(const char* value, size_t size);
|
||||
std::string* mutable_component_name();
|
||||
std::string* release_component_name();
|
||||
void set_allocated_component_name(std::string* component_name);
|
||||
|
||||
// .milvus.proto.common.Status status = 1;
|
||||
bool has_status() const;
|
||||
void clear_status();
|
||||
const ::milvus::proto::common::Status& status() const;
|
||||
::milvus::proto::common::Status* release_status();
|
||||
::milvus::proto::common::Status* mutable_status();
|
||||
void set_allocated_status(::milvus::proto::common::Status* status);
|
||||
|
||||
// @@protoc_insertion_point(class_scope:milvus.proto.milvus.GetMetricsResponse)
|
||||
private:
|
||||
class _Internal;
|
||||
|
||||
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr response_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr component_name_;
|
||||
::milvus::proto::common::Status* status_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
friend struct ::TableStruct_milvus_2eproto;
|
||||
};
|
||||
// ===================================================================
|
||||
|
||||
|
||||
|
@ -19923,6 +20238,257 @@ inline void RegisterLinkResponse::set_allocated_status(::milvus::proto::common::
|
|||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.RegisterLinkResponse.status)
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// GetMetricsRequest
|
||||
|
||||
// .milvus.proto.common.MsgBase base = 1;
|
||||
inline bool GetMetricsRequest::has_base() const {
|
||||
return this != internal_default_instance() && base_ != nullptr;
|
||||
}
|
||||
inline const ::milvus::proto::common::MsgBase& GetMetricsRequest::base() const {
|
||||
const ::milvus::proto::common::MsgBase* p = base_;
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetMetricsRequest.base)
|
||||
return p != nullptr ? *p : *reinterpret_cast<const ::milvus::proto::common::MsgBase*>(
|
||||
&::milvus::proto::common::_MsgBase_default_instance_);
|
||||
}
|
||||
inline ::milvus::proto::common::MsgBase* GetMetricsRequest::release_base() {
|
||||
// @@protoc_insertion_point(field_release:milvus.proto.milvus.GetMetricsRequest.base)
|
||||
|
||||
::milvus::proto::common::MsgBase* temp = base_;
|
||||
base_ = nullptr;
|
||||
return temp;
|
||||
}
|
||||
inline ::milvus::proto::common::MsgBase* GetMetricsRequest::mutable_base() {
|
||||
|
||||
if (base_ == nullptr) {
|
||||
auto* p = CreateMaybeMessage<::milvus::proto::common::MsgBase>(GetArenaNoVirtual());
|
||||
base_ = p;
|
||||
}
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.GetMetricsRequest.base)
|
||||
return base_;
|
||||
}
|
||||
inline void GetMetricsRequest::set_allocated_base(::milvus::proto::common::MsgBase* base) {
|
||||
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
|
||||
if (message_arena == nullptr) {
|
||||
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_);
|
||||
}
|
||||
if (base) {
|
||||
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
|
||||
if (message_arena != submessage_arena) {
|
||||
base = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||
message_arena, base, submessage_arena);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
base_ = base;
|
||||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsRequest.base)
|
||||
}
|
||||
|
||||
// string request = 2;
|
||||
inline void GetMetricsRequest::clear_request() {
|
||||
request_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline const std::string& GetMetricsRequest::request() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
return request_.GetNoArena();
|
||||
}
|
||||
inline void GetMetricsRequest::set_request(const std::string& value) {
|
||||
|
||||
request_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
}
|
||||
inline void GetMetricsRequest::set_request(std::string&& value) {
|
||||
|
||||
request_.SetNoArena(
|
||||
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
|
||||
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
}
|
||||
inline void GetMetricsRequest::set_request(const char* value) {
|
||||
GOOGLE_DCHECK(value != nullptr);
|
||||
|
||||
request_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
|
||||
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
}
|
||||
inline void GetMetricsRequest::set_request(const char* value, size_t size) {
|
||||
|
||||
request_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
|
||||
::std::string(reinterpret_cast<const char*>(value), size));
|
||||
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
}
|
||||
inline std::string* GetMetricsRequest::mutable_request() {
|
||||
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
return request_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline std::string* GetMetricsRequest::release_request() {
|
||||
// @@protoc_insertion_point(field_release:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
|
||||
return request_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline void GetMetricsRequest::set_allocated_request(std::string* request) {
|
||||
if (request != nullptr) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
request_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), request);
|
||||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsRequest.request)
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// GetMetricsResponse
|
||||
|
||||
// .milvus.proto.common.Status status = 1;
|
||||
inline bool GetMetricsResponse::has_status() const {
|
||||
return this != internal_default_instance() && status_ != nullptr;
|
||||
}
|
||||
inline const ::milvus::proto::common::Status& GetMetricsResponse::status() const {
|
||||
const ::milvus::proto::common::Status* p = status_;
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetMetricsResponse.status)
|
||||
return p != nullptr ? *p : *reinterpret_cast<const ::milvus::proto::common::Status*>(
|
||||
&::milvus::proto::common::_Status_default_instance_);
|
||||
}
|
||||
inline ::milvus::proto::common::Status* GetMetricsResponse::release_status() {
|
||||
// @@protoc_insertion_point(field_release:milvus.proto.milvus.GetMetricsResponse.status)
|
||||
|
||||
::milvus::proto::common::Status* temp = status_;
|
||||
status_ = nullptr;
|
||||
return temp;
|
||||
}
|
||||
inline ::milvus::proto::common::Status* GetMetricsResponse::mutable_status() {
|
||||
|
||||
if (status_ == nullptr) {
|
||||
auto* p = CreateMaybeMessage<::milvus::proto::common::Status>(GetArenaNoVirtual());
|
||||
status_ = p;
|
||||
}
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.GetMetricsResponse.status)
|
||||
return status_;
|
||||
}
|
||||
inline void GetMetricsResponse::set_allocated_status(::milvus::proto::common::Status* status) {
|
||||
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
|
||||
if (message_arena == nullptr) {
|
||||
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(status_);
|
||||
}
|
||||
if (status) {
|
||||
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
|
||||
if (message_arena != submessage_arena) {
|
||||
status = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
|
||||
message_arena, status, submessage_arena);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
status_ = status;
|
||||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsResponse.status)
|
||||
}
|
||||
|
||||
// string response = 2;
|
||||
inline void GetMetricsResponse::clear_response() {
|
||||
response_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline const std::string& GetMetricsResponse::response() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
return response_.GetNoArena();
|
||||
}
|
||||
inline void GetMetricsResponse::set_response(const std::string& value) {
|
||||
|
||||
response_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
}
|
||||
inline void GetMetricsResponse::set_response(std::string&& value) {
|
||||
|
||||
response_.SetNoArena(
|
||||
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
|
||||
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
}
|
||||
inline void GetMetricsResponse::set_response(const char* value) {
|
||||
GOOGLE_DCHECK(value != nullptr);
|
||||
|
||||
response_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
|
||||
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
}
|
||||
inline void GetMetricsResponse::set_response(const char* value, size_t size) {
|
||||
|
||||
response_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
|
||||
::std::string(reinterpret_cast<const char*>(value), size));
|
||||
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
}
|
||||
inline std::string* GetMetricsResponse::mutable_response() {
|
||||
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
return response_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline std::string* GetMetricsResponse::release_response() {
|
||||
// @@protoc_insertion_point(field_release:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
|
||||
return response_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline void GetMetricsResponse::set_allocated_response(std::string* response) {
|
||||
if (response != nullptr) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
response_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), response);
|
||||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsResponse.response)
|
||||
}
|
||||
|
||||
// string component_name = 3;
|
||||
inline void GetMetricsResponse::clear_component_name() {
|
||||
component_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline const std::string& GetMetricsResponse::component_name() const {
|
||||
// @@protoc_insertion_point(field_get:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
return component_name_.GetNoArena();
|
||||
}
|
||||
inline void GetMetricsResponse::set_component_name(const std::string& value) {
|
||||
|
||||
component_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
|
||||
// @@protoc_insertion_point(field_set:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
}
|
||||
inline void GetMetricsResponse::set_component_name(std::string&& value) {
|
||||
|
||||
component_name_.SetNoArena(
|
||||
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
|
||||
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
}
|
||||
inline void GetMetricsResponse::set_component_name(const char* value) {
|
||||
GOOGLE_DCHECK(value != nullptr);
|
||||
|
||||
component_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
|
||||
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
}
|
||||
inline void GetMetricsResponse::set_component_name(const char* value, size_t size) {
|
||||
|
||||
component_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
|
||||
::std::string(reinterpret_cast<const char*>(value), size));
|
||||
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
}
|
||||
inline std::string* GetMetricsResponse::mutable_component_name() {
|
||||
|
||||
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
return component_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline std::string* GetMetricsResponse::release_component_name() {
|
||||
// @@protoc_insertion_point(field_release:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
|
||||
return component_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
|
||||
}
|
||||
inline void GetMetricsResponse::set_allocated_component_name(std::string* component_name) {
|
||||
if (component_name != nullptr) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
component_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), component_name);
|
||||
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.GetMetricsResponse.component_name)
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif // __GNUC__
|
||||
|
@ -20046,6 +20612,10 @@ inline void RegisterLinkResponse::set_allocated_status(::milvus::proto::common::
|
|||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
// @@protoc_insertion_point(namespace_scope)
|
||||
|
||||
|
|
|
@ -244,3 +244,10 @@ func (c *Client) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfo
|
|||
})
|
||||
return ret.(*querypb.GetSegmentInfoResponse), err
|
||||
}
|
||||
|
||||
func (c *Client) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
ret, err := c.recall(func() (interface{}, error) {
|
||||
return c.grpcClient.GetMetrics(ctx, req)
|
||||
})
|
||||
return ret.(*milvuspb.GetMetricsResponse), err
|
||||
}
|
||||
|
|
|
@ -275,3 +275,7 @@ func (s *Server) CreateQueryChannel(ctx context.Context, req *querypb.CreateQuer
|
|||
func (s *Server) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfoRequest) (*querypb.GetSegmentInfoResponse, error) {
|
||||
return s.queryCoord.GetSegmentInfo(ctx, req)
|
||||
}
|
||||
|
||||
func (s *Server) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
return s.queryCoord.GetMetrics(ctx, req)
|
||||
}
|
||||
|
|
|
@ -208,3 +208,10 @@ func (c *Client) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfo
|
|||
})
|
||||
return ret.(*querypb.GetSegmentInfoResponse), err
|
||||
}
|
||||
|
||||
func (c *Client) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
ret, err := c.recall(func() (interface{}, error) {
|
||||
return c.grpcClient.GetMetrics(ctx, req)
|
||||
})
|
||||
return ret.(*milvuspb.GetMetricsResponse), err
|
||||
}
|
||||
|
|
|
@ -311,3 +311,7 @@ func (s *Server) ReleaseSegments(ctx context.Context, req *querypb.ReleaseSegmen
|
|||
func (s *Server) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfoRequest) (*querypb.GetSegmentInfoResponse, error) {
|
||||
return s.querynode.GetSegmentInfo(ctx, req)
|
||||
}
|
||||
|
||||
func (s *Server) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
return s.querynode.GetMetrics(ctx, req)
|
||||
}
|
||||
|
|
|
@ -472,6 +472,17 @@ message RegisterLinkResponse {
|
|||
common.Status status = 2;
|
||||
}
|
||||
|
||||
message GetMetricsRequest {
|
||||
common.MsgBase base = 1;
|
||||
string request = 2; // request is of jsonic format
|
||||
}
|
||||
|
||||
message GetMetricsResponse {
|
||||
common.Status status = 1;
|
||||
string response = 2; // response is of jsonic format
|
||||
string component_name = 3; // metrics from which component
|
||||
}
|
||||
|
||||
service ProxyService {
|
||||
rpc RegisterLink(RegisterLinkRequest) returns (RegisterLinkResponse) {}
|
||||
}
|
||||
|
|
|
@ -3834,6 +3834,108 @@ func (m *RegisterLinkResponse) GetStatus() *commonpb.Status {
|
|||
return nil
|
||||
}
|
||||
|
||||
type GetMetricsRequest struct {
|
||||
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
|
||||
Request string `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetMetricsRequest) Reset() { *m = GetMetricsRequest{} }
|
||||
func (m *GetMetricsRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetMetricsRequest) ProtoMessage() {}
|
||||
func (*GetMetricsRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_02345ba45cc0e303, []int{60}
|
||||
}
|
||||
|
||||
func (m *GetMetricsRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetMetricsRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetMetricsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetMetricsRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *GetMetricsRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetMetricsRequest.Merge(m, src)
|
||||
}
|
||||
func (m *GetMetricsRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_GetMetricsRequest.Size(m)
|
||||
}
|
||||
func (m *GetMetricsRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetMetricsRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetMetricsRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *GetMetricsRequest) GetBase() *commonpb.MsgBase {
|
||||
if m != nil {
|
||||
return m.Base
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *GetMetricsRequest) GetRequest() string {
|
||||
if m != nil {
|
||||
return m.Request
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GetMetricsResponse struct {
|
||||
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
|
||||
Response string `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
|
||||
ComponentName string `protobuf:"bytes,3,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *GetMetricsResponse) Reset() { *m = GetMetricsResponse{} }
|
||||
func (m *GetMetricsResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetMetricsResponse) ProtoMessage() {}
|
||||
func (*GetMetricsResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_02345ba45cc0e303, []int{61}
|
||||
}
|
||||
|
||||
func (m *GetMetricsResponse) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetMetricsResponse.Unmarshal(m, b)
|
||||
}
|
||||
func (m *GetMetricsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_GetMetricsResponse.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *GetMetricsResponse) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_GetMetricsResponse.Merge(m, src)
|
||||
}
|
||||
func (m *GetMetricsResponse) XXX_Size() int {
|
||||
return xxx_messageInfo_GetMetricsResponse.Size(m)
|
||||
}
|
||||
func (m *GetMetricsResponse) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_GetMetricsResponse.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_GetMetricsResponse proto.InternalMessageInfo
|
||||
|
||||
func (m *GetMetricsResponse) GetStatus() *commonpb.Status {
|
||||
if m != nil {
|
||||
return m.Status
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *GetMetricsResponse) GetResponse() string {
|
||||
if m != nil {
|
||||
return m.Response
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *GetMetricsResponse) GetComponentName() string {
|
||||
if m != nil {
|
||||
return m.ComponentName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterEnum("milvus.proto.milvus.ShowType", ShowType_name, ShowType_value)
|
||||
proto.RegisterEnum("milvus.proto.milvus.PlaceholderType", PlaceholderType_name, PlaceholderType_value)
|
||||
|
@ -3898,195 +4000,200 @@ func init() {
|
|||
proto.RegisterType((*DummyResponse)(nil), "milvus.proto.milvus.DummyResponse")
|
||||
proto.RegisterType((*RegisterLinkRequest)(nil), "milvus.proto.milvus.RegisterLinkRequest")
|
||||
proto.RegisterType((*RegisterLinkResponse)(nil), "milvus.proto.milvus.RegisterLinkResponse")
|
||||
proto.RegisterType((*GetMetricsRequest)(nil), "milvus.proto.milvus.GetMetricsRequest")
|
||||
proto.RegisterType((*GetMetricsResponse)(nil), "milvus.proto.milvus.GetMetricsResponse")
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
|
||||
|
||||
var fileDescriptor_02345ba45cc0e303 = []byte{
|
||||
// 2925 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3a, 0xdd, 0x6f, 0x1c, 0x57,
|
||||
0xf5, 0x9e, 0x5d, 0xef, 0xd7, 0xd9, 0x59, 0x7b, 0x73, 0xfd, 0x11, 0x77, 0x9b, 0x34, 0xf6, 0xf4,
|
||||
0x97, 0x5f, 0x9d, 0xa4, 0x4d, 0x1a, 0xa7, 0xa5, 0xa5, 0x05, 0xda, 0x24, 0xa6, 0x89, 0xd5, 0xa4,
|
||||
0xb8, 0xe3, 0xb6, 0x52, 0xa9, 0xaa, 0xd1, 0x78, 0xe7, 0x7a, 0x77, 0xe4, 0xd9, 0x99, 0x65, 0xee,
|
||||
0xdd, 0x38, 0xdb, 0x27, 0xa4, 0x02, 0x12, 0x2a, 0xb4, 0x42, 0x20, 0x10, 0x6f, 0x08, 0xe8, 0x03,
|
||||
0x6f, 0x14, 0x90, 0x40, 0x3c, 0xf1, 0xd0, 0x07, 0x1e, 0x90, 0xf8, 0xf8, 0x0b, 0x78, 0xe1, 0xb1,
|
||||
0xff, 0x01, 0x12, 0xe8, 0x7e, 0xcc, 0xec, 0xcc, 0xfa, 0xce, 0x7a, 0x9d, 0x6d, 0xb0, 0xfd, 0x36,
|
||||
0x73, 0xee, 0x39, 0xf7, 0x9e, 0x7b, 0xee, 0xb9, 0xe7, 0xdc, 0xf3, 0x01, 0x7a, 0xc7, 0xf5, 0xee,
|
||||
0xf5, 0xc8, 0xe5, 0x6e, 0x18, 0xd0, 0x00, 0xcd, 0x25, 0xff, 0x2e, 0x8b, 0x9f, 0x86, 0xde, 0x0c,
|
||||
0x3a, 0x9d, 0xc0, 0x17, 0xc0, 0x86, 0x4e, 0x9a, 0x6d, 0xdc, 0xb1, 0xc5, 0x9f, 0xf1, 0xa9, 0x06,
|
||||
0xa7, 0x6f, 0x86, 0xd8, 0xa6, 0xf8, 0x66, 0xe0, 0x79, 0xb8, 0x49, 0xdd, 0xc0, 0x37, 0xf1, 0x37,
|
||||
0x7a, 0x98, 0x50, 0xf4, 0x34, 0x4c, 0x6f, 0xdb, 0x04, 0x2f, 0x69, 0xcb, 0xda, 0x6a, 0x75, 0xed,
|
||||
0xcc, 0xe5, 0xd4, 0xdc, 0x72, 0xce, 0xbb, 0xa4, 0x75, 0xc3, 0x26, 0xd8, 0xe4, 0x98, 0xe8, 0x34,
|
||||
0x94, 0x9c, 0x6d, 0xcb, 0xb7, 0x3b, 0x78, 0x29, 0xb7, 0xac, 0xad, 0x56, 0xcc, 0xa2, 0xb3, 0xfd,
|
||||
0x9a, 0xdd, 0xc1, 0xe8, 0x09, 0x98, 0x6d, 0xc6, 0xf3, 0x0b, 0x84, 0x3c, 0x47, 0x98, 0x19, 0x80,
|
||||
0x39, 0xe2, 0x22, 0x14, 0x05, 0x7f, 0x4b, 0xd3, 0xcb, 0xda, 0xaa, 0x6e, 0xca, 0x3f, 0x74, 0x16,
|
||||
0x80, 0xb4, 0xed, 0xd0, 0x21, 0x96, 0xdf, 0xeb, 0x2c, 0x15, 0x96, 0xb5, 0xd5, 0x82, 0x59, 0x11,
|
||||
0x90, 0xd7, 0x7a, 0x1d, 0xe3, 0x03, 0x0d, 0x16, 0xd6, 0xc3, 0xa0, 0x7b, 0x2c, 0x36, 0x61, 0xfc,
|
||||
0x4a, 0x83, 0xf9, 0xdb, 0x36, 0x39, 0x1e, 0x12, 0x3d, 0x0b, 0x40, 0xdd, 0x0e, 0xb6, 0x08, 0xb5,
|
||||
0x3b, 0x5d, 0x2e, 0xd5, 0x69, 0xb3, 0xc2, 0x20, 0x5b, 0x0c, 0x60, 0xbc, 0x0d, 0xfa, 0x8d, 0x20,
|
||||
0xf0, 0x4c, 0x4c, 0xba, 0x81, 0x4f, 0x30, 0xba, 0x06, 0x45, 0x42, 0x6d, 0xda, 0x23, 0x92, 0xc9,
|
||||
0x47, 0x95, 0x4c, 0x6e, 0x71, 0x14, 0x53, 0xa2, 0xa2, 0x79, 0x28, 0xdc, 0xb3, 0xbd, 0x9e, 0xe0,
|
||||
0xb1, 0x6c, 0x8a, 0x1f, 0xe3, 0x1d, 0x98, 0xd9, 0xa2, 0xa1, 0xeb, 0xb7, 0x3e, 0xc7, 0xc9, 0x2b,
|
||||
0xd1, 0xe4, 0xff, 0xd0, 0xe0, 0x91, 0x75, 0x4c, 0x9a, 0xa1, 0xbb, 0x7d, 0x4c, 0x54, 0xd7, 0x00,
|
||||
0x7d, 0x00, 0xd9, 0x58, 0xe7, 0xa2, 0xce, 0x9b, 0x29, 0xd8, 0xd0, 0x61, 0x14, 0x86, 0x0f, 0xe3,
|
||||
0x3f, 0x39, 0x68, 0xa8, 0x36, 0x35, 0x89, 0xf8, 0xbe, 0x1c, 0xdf, 0xa8, 0x1c, 0x27, 0x3a, 0x9f,
|
||||
0x26, 0x92, 0xd6, 0x60, 0xb0, 0xda, 0x16, 0x07, 0xc4, 0x17, 0x6f, 0x78, 0x57, 0x79, 0xc5, 0xae,
|
||||
0xd6, 0x60, 0xe1, 0x9e, 0x1b, 0xd2, 0x9e, 0xed, 0x59, 0xcd, 0xb6, 0xed, 0xfb, 0xd8, 0xe3, 0x72,
|
||||
0x22, 0x4b, 0xd3, 0xcb, 0xf9, 0xd5, 0x8a, 0x39, 0x27, 0x07, 0x6f, 0x8a, 0x31, 0x26, 0x2c, 0x82,
|
||||
0x9e, 0x81, 0xc5, 0x6e, 0xbb, 0x4f, 0xdc, 0xe6, 0x3e, 0xa2, 0x02, 0x27, 0x9a, 0x8f, 0x46, 0x53,
|
||||
0x54, 0x97, 0xe0, 0x54, 0x93, 0x5b, 0x2b, 0xc7, 0x62, 0x52, 0x13, 0x62, 0x2c, 0x72, 0x31, 0xd6,
|
||||
0xe5, 0xc0, 0x1b, 0x11, 0x9c, 0xb1, 0x15, 0x21, 0xf7, 0x68, 0x33, 0x41, 0x50, 0xe2, 0x04, 0x73,
|
||||
0x72, 0xf0, 0x4d, 0xda, 0x8c, 0x69, 0xb8, 0x21, 0xb9, 0x13, 0xd8, 0xce, 0xf1, 0x30, 0x24, 0x1f,
|
||||
0x6a, 0xb0, 0x64, 0x62, 0x0f, 0xdb, 0xe4, 0x78, 0xe8, 0xb8, 0xf1, 0x23, 0x0d, 0x1e, 0xbb, 0x85,
|
||||
0x69, 0x42, 0x5b, 0xa8, 0x4d, 0x5d, 0x42, 0xdd, 0x26, 0x39, 0x4a, 0xb6, 0x3e, 0xd2, 0xe0, 0x5c,
|
||||
0x26, 0x5b, 0x93, 0x5c, 0x9e, 0xe7, 0xa0, 0xc0, 0xbe, 0xc8, 0x52, 0x6e, 0x39, 0xbf, 0x5a, 0x5d,
|
||||
0x5b, 0x51, 0xd2, 0xbc, 0x8a, 0xfb, 0x6f, 0x31, 0x9b, 0xb4, 0x69, 0xbb, 0xa1, 0x29, 0xf0, 0x8d,
|
||||
0x7f, 0x6a, 0xb0, 0xb8, 0xd5, 0x0e, 0xf6, 0x06, 0x2c, 0x3d, 0x0c, 0x01, 0xa5, 0xcd, 0x49, 0x7e,
|
||||
0xc8, 0x9c, 0xa0, 0xab, 0x30, 0x4d, 0xfb, 0x5d, 0xcc, 0x2d, 0xd1, 0xcc, 0xda, 0xd9, 0xcb, 0x8a,
|
||||
0xc7, 0xc1, 0x65, 0xc6, 0xe4, 0x1b, 0xfd, 0x2e, 0x36, 0x39, 0x2a, 0xba, 0x00, 0xf5, 0x21, 0x91,
|
||||
0x47, 0x17, 0x72, 0x36, 0x2d, 0x73, 0x62, 0xfc, 0x21, 0x07, 0xa7, 0xf7, 0x6d, 0x71, 0x12, 0x61,
|
||||
0xab, 0xd6, 0xce, 0x29, 0xd7, 0x46, 0xe7, 0x21, 0xa1, 0x02, 0x96, 0xeb, 0x90, 0xa5, 0xfc, 0x72,
|
||||
0x7e, 0x35, 0x6f, 0xd6, 0x12, 0x76, 0xc9, 0x21, 0xe8, 0x29, 0x40, 0xfb, 0xcc, 0x85, 0xb0, 0x4a,
|
||||
0xd3, 0xe6, 0xa9, 0x61, 0x7b, 0xc1, 0x6d, 0x92, 0xd2, 0x60, 0x08, 0x11, 0x4c, 0x9b, 0xf3, 0x0a,
|
||||
0x8b, 0x41, 0xd0, 0x55, 0x98, 0x77, 0xfd, 0xbb, 0xb8, 0x13, 0x84, 0x7d, 0xab, 0x8b, 0xc3, 0x26,
|
||||
0xf6, 0xa9, 0xdd, 0xc2, 0x64, 0xa9, 0xc8, 0x39, 0x9a, 0x8b, 0xc6, 0x36, 0x07, 0x43, 0xc6, 0x6f,
|
||||
0x35, 0x58, 0x14, 0xaf, 0xae, 0x4d, 0x3b, 0xa4, 0xee, 0x51, 0x7b, 0xae, 0xf3, 0x30, 0xd3, 0x8d,
|
||||
0xf8, 0x10, 0x78, 0xd3, 0x1c, 0xaf, 0x16, 0x43, 0xf9, 0x2d, 0xfb, 0x44, 0x83, 0x79, 0xf6, 0xc8,
|
||||
0x3a, 0x49, 0x3c, 0xff, 0x5a, 0x83, 0xb9, 0xdb, 0x36, 0x39, 0x49, 0x2c, 0xff, 0x4e, 0xba, 0xa0,
|
||||
0x98, 0xe7, 0xa3, 0x34, 0xad, 0x0c, 0x31, 0xcd, 0x74, 0xe4, 0xd5, 0x67, 0x52, 0x5c, 0x13, 0xe3,
|
||||
0xf7, 0x03, 0x5f, 0x75, 0xc2, 0x38, 0xff, 0xa3, 0x06, 0x67, 0x6f, 0x61, 0x1a, 0x73, 0x7d, 0x2c,
|
||||
0x7c, 0xda, 0xb8, 0xda, 0xf2, 0xa1, 0xf0, 0xc8, 0x4a, 0xe6, 0x8f, 0xc4, 0xf3, 0x7d, 0x90, 0x83,
|
||||
0x05, 0xe6, 0x16, 0x8e, 0x87, 0x12, 0x8c, 0xf3, 0x28, 0x57, 0x28, 0x4a, 0x41, 0xa5, 0x28, 0xb1,
|
||||
0x3f, 0x2d, 0x8e, 0xed, 0x4f, 0x8d, 0xdf, 0xe4, 0xc4, 0x3b, 0x20, 0x29, 0x8d, 0x49, 0x8e, 0x45,
|
||||
0xc1, 0x6b, 0x4e, 0xc9, 0xab, 0x01, 0x7a, 0x0c, 0xd9, 0x58, 0x8f, 0xfc, 0x63, 0x0a, 0x76, 0x6c,
|
||||
0xdd, 0xe3, 0xf7, 0x34, 0x58, 0x8c, 0xc2, 0xa0, 0x2d, 0xdc, 0xea, 0x60, 0x9f, 0x3e, 0xb8, 0x0e,
|
||||
0x0d, 0x6b, 0x40, 0x4e, 0xa1, 0x01, 0x67, 0xa0, 0x42, 0xc4, 0x3a, 0x71, 0x84, 0x33, 0x00, 0x18,
|
||||
0x1f, 0x6b, 0x70, 0x7a, 0x1f, 0x3b, 0x93, 0x1c, 0xe2, 0x12, 0x94, 0x5c, 0xdf, 0xc1, 0xf7, 0x63,
|
||||
0x6e, 0xa2, 0x5f, 0x36, 0xb2, 0xdd, 0x73, 0x3d, 0x27, 0x66, 0x23, 0xfa, 0x45, 0x2b, 0xa0, 0x63,
|
||||
0xdf, 0xde, 0xf6, 0xb0, 0xc5, 0x71, 0xb9, 0x22, 0x97, 0xcd, 0xaa, 0x80, 0x6d, 0x30, 0x90, 0xf1,
|
||||
0x7d, 0x0d, 0xe6, 0x98, 0xae, 0x49, 0x1e, 0xc9, 0xc3, 0x95, 0xd9, 0x32, 0x54, 0x13, 0xca, 0x24,
|
||||
0xd9, 0x4d, 0x82, 0x8c, 0x5d, 0x98, 0x4f, 0xb3, 0x33, 0x89, 0xcc, 0x1e, 0x03, 0x88, 0x4f, 0x44,
|
||||
0xe8, 0x7c, 0xde, 0x4c, 0x40, 0x8c, 0xcf, 0x34, 0x40, 0xe2, 0x49, 0xc5, 0x85, 0x71, 0xc4, 0x19,
|
||||
0x97, 0x1d, 0x17, 0x7b, 0x4e, 0xd2, 0x6a, 0x57, 0x38, 0x84, 0x0f, 0xaf, 0x83, 0x8e, 0xef, 0xd3,
|
||||
0xd0, 0xb6, 0xba, 0x76, 0x68, 0x77, 0xc4, 0xe5, 0x19, 0xcb, 0xc0, 0x56, 0x39, 0xd9, 0x26, 0xa7,
|
||||
0x32, 0xfe, 0xcc, 0x1e, 0x63, 0x52, 0x29, 0x8f, 0xfb, 0x8e, 0xcf, 0x02, 0x70, 0xa5, 0x15, 0xc3,
|
||||
0x05, 0x31, 0xcc, 0x21, 0xdc, 0x85, 0x7d, 0xac, 0x41, 0x9d, 0x6f, 0x41, 0xec, 0xa7, 0xcb, 0xa6,
|
||||
0x1d, 0xa2, 0xd1, 0x86, 0x68, 0x46, 0x5c, 0xa1, 0x2f, 0x42, 0x51, 0x0a, 0x36, 0x3f, 0xae, 0x60,
|
||||
0x25, 0xc1, 0x01, 0xdb, 0x30, 0x7e, 0xae, 0xc1, 0xc2, 0x90, 0xc8, 0x27, 0xd1, 0xe8, 0x37, 0x00,
|
||||
0x89, 0x1d, 0x3a, 0x83, 0x6d, 0x47, 0xee, 0xf6, 0xbc, 0xd2, 0xb7, 0x0c, 0x0b, 0xc9, 0x3c, 0xe5,
|
||||
0x0e, 0x41, 0x88, 0xf1, 0x37, 0x0d, 0xce, 0xdc, 0xc2, 0x94, 0xa3, 0xde, 0x60, 0xb6, 0x63, 0x33,
|
||||
0x0c, 0x5a, 0x21, 0x26, 0xe4, 0xe4, 0xea, 0xc7, 0x8f, 0xc5, 0xfb, 0x4c, 0xb5, 0xa5, 0x49, 0xe4,
|
||||
0xbf, 0x02, 0x3a, 0x5f, 0x03, 0x3b, 0x56, 0x18, 0xec, 0x11, 0xa9, 0x47, 0x55, 0x09, 0x33, 0x83,
|
||||
0x3d, 0xae, 0x10, 0x34, 0xa0, 0xb6, 0x27, 0x10, 0xa4, 0x63, 0xe0, 0x10, 0x36, 0xcc, 0xef, 0x60,
|
||||
0xc4, 0x18, 0x9b, 0x1c, 0x9f, 0x5c, 0x19, 0xff, 0x52, 0x83, 0x85, 0xa1, 0xad, 0x4c, 0x22, 0xdb,
|
||||
0x67, 0xc5, 0xeb, 0x51, 0x6c, 0x66, 0x66, 0xed, 0x9c, 0x92, 0x26, 0xb1, 0x98, 0xc0, 0x46, 0xe7,
|
||||
0xa0, 0xba, 0x63, 0xbb, 0x9e, 0x15, 0x62, 0x9b, 0x04, 0xbe, 0xdc, 0x28, 0x30, 0x90, 0xc9, 0x21,
|
||||
0xc6, 0xa7, 0x1a, 0xd4, 0x59, 0x08, 0x7a, 0xc2, 0x2d, 0xde, 0x2f, 0x72, 0x50, 0xdb, 0xf0, 0x09,
|
||||
0x0e, 0xe9, 0xf1, 0x8f, 0x30, 0xd0, 0x4b, 0x50, 0xe5, 0x1b, 0x23, 0x96, 0x63, 0x53, 0x5b, 0xba,
|
||||
0xab, 0xc7, 0x94, 0x59, 0xe4, 0x57, 0x18, 0xde, 0xba, 0x4d, 0x6d, 0x53, 0x48, 0x87, 0xb0, 0x6f,
|
||||
0xf4, 0x28, 0x54, 0xda, 0x36, 0x69, 0x5b, 0xbb, 0xb8, 0x2f, 0x9e, 0x7d, 0x35, 0xb3, 0xcc, 0x00,
|
||||
0xaf, 0xe2, 0x3e, 0x41, 0x8f, 0x40, 0xd9, 0xef, 0x75, 0xc4, 0x05, 0x2b, 0x2d, 0x6b, 0xab, 0x35,
|
||||
0xb3, 0xe4, 0xf7, 0x3a, 0xfc, 0x7a, 0xfd, 0x25, 0x07, 0x33, 0x77, 0x7b, 0x2c, 0x9e, 0xe1, 0x39,
|
||||
0xf0, 0x9e, 0x47, 0x1f, 0x4c, 0x19, 0x2f, 0x42, 0x5e, 0xbc, 0x19, 0x18, 0xc5, 0x92, 0x92, 0xf1,
|
||||
0x8d, 0x75, 0x62, 0x32, 0x24, 0x5e, 0x67, 0xea, 0x35, 0x9b, 0xf2, 0x91, 0x95, 0xe7, 0xcc, 0x56,
|
||||
0x18, 0x84, 0x6b, 0x1c, 0xdb, 0x0a, 0x0e, 0xc3, 0xf8, 0x09, 0xc6, 0xb7, 0x82, 0xc3, 0x50, 0x0c,
|
||||
0x1a, 0xa0, 0xdb, 0xcd, 0x5d, 0x3f, 0xd8, 0xf3, 0xb0, 0xd3, 0xc2, 0x0e, 0x3f, 0xf6, 0xb2, 0x99,
|
||||
0x82, 0x09, 0xc5, 0x60, 0x07, 0x6f, 0x35, 0x7d, 0xca, 0x03, 0x89, 0x3c, 0x53, 0x0c, 0x06, 0xb9,
|
||||
0xe9, 0x53, 0x36, 0xec, 0x60, 0x0f, 0x53, 0xcc, 0x87, 0x4b, 0x62, 0x58, 0x40, 0xe4, 0x70, 0xaf,
|
||||
0x1b, 0x53, 0x97, 0xc5, 0xb0, 0x80, 0xb0, 0xe1, 0x33, 0x50, 0x19, 0x24, 0xb9, 0x2b, 0x83, 0x6c,
|
||||
0xa0, 0x48, 0x6d, 0xdf, 0x83, 0xfa, 0xa6, 0x67, 0x37, 0x71, 0x3b, 0xf0, 0x1c, 0x1c, 0x72, 0xef,
|
||||
0x87, 0xea, 0x90, 0xa7, 0x76, 0x4b, 0xba, 0x57, 0xf6, 0x89, 0x9e, 0x97, 0x31, 0x8e, 0xb8, 0xb8,
|
||||
0xff, 0xa7, 0xf4, 0x43, 0x89, 0x69, 0x12, 0xa9, 0xc3, 0x45, 0x28, 0xf2, 0xd2, 0x8c, 0x70, 0xbc,
|
||||
0xba, 0x29, 0xff, 0x8c, 0x77, 0x53, 0xeb, 0xde, 0x0a, 0x83, 0x5e, 0x17, 0x6d, 0x80, 0xde, 0x1d,
|
||||
0xc0, 0xd8, 0x69, 0x66, 0x7b, 0xbd, 0x61, 0xa6, 0xcd, 0x14, 0xa9, 0xf1, 0x59, 0x1e, 0x6a, 0x5b,
|
||||
0xd8, 0x0e, 0x9b, 0xed, 0x93, 0x90, 0x6c, 0x60, 0x12, 0x77, 0x88, 0x27, 0x4d, 0x02, 0xfb, 0x44,
|
||||
0x97, 0xe0, 0x54, 0x62, 0x43, 0x56, 0x8b, 0x09, 0x88, 0x6b, 0x86, 0x6e, 0xd6, 0xbb, 0xc3, 0x82,
|
||||
0x7b, 0x0e, 0xca, 0x0e, 0xf1, 0x2c, 0x7e, 0x44, 0x25, 0x7e, 0x44, 0xea, 0xfd, 0xad, 0x13, 0x8f,
|
||||
0x1f, 0x4d, 0xc9, 0x11, 0x1f, 0xe8, 0x71, 0xa8, 0x05, 0x3d, 0xda, 0xed, 0x51, 0x4b, 0xdc, 0xcc,
|
||||
0xa5, 0x32, 0x67, 0x4f, 0x17, 0x40, 0x7e, 0x71, 0x09, 0x7a, 0x05, 0x6a, 0x84, 0x8b, 0x32, 0x7a,
|
||||
0x9b, 0x56, 0xc6, 0x7d, 0x42, 0xe9, 0x82, 0x4e, 0x3c, 0x4e, 0xd1, 0x05, 0xa8, 0xd3, 0xd0, 0xbe,
|
||||
0x87, 0xbd, 0x44, 0xd1, 0x05, 0xb8, 0x3e, 0xce, 0x0a, 0xf8, 0xa0, 0x48, 0x73, 0x05, 0xe6, 0x5a,
|
||||
0x3d, 0x3b, 0xb4, 0x7d, 0x8a, 0x71, 0x02, 0xbb, 0xca, 0xb1, 0x51, 0x3c, 0x34, 0xa8, 0xd0, 0xbc,
|
||||
0x0a, 0xd3, 0xb7, 0x5d, 0xca, 0x05, 0xc9, 0x6e, 0xb5, 0xc6, 0x23, 0x01, 0x7e, 0x77, 0x1f, 0x81,
|
||||
0x72, 0x18, 0xec, 0x09, 0x2b, 0x95, 0xe3, 0x2a, 0x58, 0x0a, 0x83, 0x3d, 0x6e, 0x82, 0x78, 0x59,
|
||||
0x39, 0x08, 0xa5, 0x6e, 0xe6, 0x4c, 0xf9, 0x67, 0x7c, 0x5b, 0x1b, 0x28, 0x0f, 0x33, 0x30, 0xe4,
|
||||
0xc1, 0x2c, 0xcc, 0x4b, 0x50, 0x0a, 0x05, 0xfd, 0xc8, 0x22, 0x5b, 0x72, 0x25, 0x6e, 0x25, 0x23,
|
||||
0x2a, 0xe3, 0x5b, 0x1a, 0xe8, 0xaf, 0x78, 0x3d, 0xf2, 0x30, 0x74, 0x58, 0x95, 0x56, 0xcf, 0xab,
|
||||
0x53, 0xfa, 0x3f, 0xc8, 0x41, 0x4d, 0xb2, 0x31, 0x89, 0xf7, 0xcf, 0x64, 0x65, 0x0b, 0xaa, 0x6c,
|
||||
0x49, 0x8b, 0xe0, 0x56, 0x94, 0x93, 0xa8, 0xae, 0xad, 0x29, 0x6f, 0x7d, 0x8a, 0x0d, 0x5e, 0x9e,
|
||||
0xdc, 0xe2, 0x44, 0x5f, 0xf5, 0x69, 0xd8, 0x37, 0xa1, 0x19, 0x03, 0x1a, 0xef, 0xc2, 0xec, 0xd0,
|
||||
0x30, 0xd3, 0x8d, 0x5d, 0xdc, 0x8f, 0xcc, 0xda, 0x2e, 0xee, 0xa3, 0x67, 0x92, 0x45, 0xe4, 0x2c,
|
||||
0xf7, 0x75, 0x27, 0xf0, 0x5b, 0xd7, 0xc3, 0xd0, 0xee, 0xcb, 0x22, 0xf3, 0x0b, 0xb9, 0xe7, 0x35,
|
||||
0xe3, 0x4f, 0x39, 0xd0, 0x5f, 0xef, 0xe1, 0xb0, 0x7f, 0x94, 0xe6, 0x05, 0xc1, 0x34, 0xbe, 0xdf,
|
||||
0x0d, 0xa5, 0x83, 0xe6, 0xdf, 0xfb, 0x6f, 0x74, 0x41, 0x71, 0xa3, 0x15, 0x76, 0xa9, 0xa8, 0xb4,
|
||||
0x4b, 0xaa, 0x2b, 0x5b, 0x3a, 0xd4, 0x95, 0x2d, 0x67, 0x5e, 0x59, 0xa6, 0xdd, 0x52, 0x84, 0x13,
|
||||
0x5d, 0xb2, 0xd4, 0x3b, 0x24, 0x77, 0xd8, 0x77, 0x88, 0xf1, 0x89, 0x06, 0x95, 0xb7, 0x70, 0x93,
|
||||
0x06, 0x21, 0xb3, 0x16, 0x0a, 0xd9, 0x6b, 0x63, 0x3c, 0xf5, 0x72, 0xc3, 0x4f, 0xbd, 0x6b, 0x50,
|
||||
0x76, 0x1d, 0xcb, 0x66, 0x6a, 0xc3, 0x0f, 0x6f, 0xd4, 0x13, 0xa3, 0xe4, 0x3a, 0x5c, 0xbf, 0xc6,
|
||||
0xcf, 0x4d, 0xff, 0x44, 0x03, 0x5d, 0xf0, 0x4c, 0x04, 0xe5, 0x8b, 0x89, 0xe5, 0x34, 0x95, 0x2e,
|
||||
0xcb, 0x9f, 0x78, 0xa3, 0xb7, 0xa7, 0x06, 0xcb, 0x5e, 0x07, 0x60, 0xb2, 0x93, 0xe4, 0xe2, 0x2a,
|
||||
0x2c, 0x2b, 0xb9, 0x15, 0xe4, 0x5c, 0x8e, 0xb7, 0xa7, 0xcc, 0x0a, 0xa3, 0xe2, 0x53, 0xdc, 0x28,
|
||||
0x41, 0x81, 0x53, 0x1b, 0xff, 0xd6, 0x60, 0xee, 0xa6, 0xed, 0x35, 0xd7, 0x5d, 0x42, 0x6d, 0xbf,
|
||||
0x39, 0x41, 0xec, 0xf3, 0x02, 0x94, 0x82, 0xae, 0xe5, 0xe1, 0x1d, 0x2a, 0x59, 0x5a, 0x19, 0xb1,
|
||||
0x23, 0x21, 0x06, 0xb3, 0x18, 0x74, 0xef, 0xe0, 0x1d, 0x8a, 0xbe, 0x04, 0xe5, 0xa0, 0x6b, 0x85,
|
||||
0x6e, 0xab, 0x4d, 0xa5, 0xf4, 0xc7, 0x20, 0x2e, 0x05, 0x5d, 0x93, 0x51, 0x24, 0x72, 0x05, 0xd3,
|
||||
0x87, 0xcc, 0x15, 0x18, 0x7f, 0xdf, 0xb7, 0xfd, 0x09, 0x54, 0xfb, 0x05, 0x28, 0xbb, 0x3e, 0xb5,
|
||||
0x1c, 0x97, 0x44, 0x22, 0x38, 0xab, 0xd6, 0x21, 0x9f, 0xf2, 0x1d, 0xf0, 0x33, 0xf5, 0x29, 0x5b,
|
||||
0x1b, 0xbd, 0x0c, 0xb0, 0xe3, 0x05, 0xb6, 0xa4, 0x16, 0x32, 0x38, 0xa7, 0xbe, 0x15, 0x0c, 0x2d,
|
||||
0xa2, 0xaf, 0x70, 0x22, 0x36, 0xc3, 0xe0, 0x48, 0xff, 0xaa, 0xc1, 0xc2, 0x26, 0x0e, 0x89, 0x4b,
|
||||
0x28, 0xf6, 0xa9, 0xcc, 0xdb, 0x6d, 0xf8, 0x3b, 0x41, 0x3a, 0x41, 0xaa, 0x0d, 0x25, 0x48, 0x3f,
|
||||
0x9f, 0x74, 0x61, 0x2a, 0x12, 0x10, 0x69, 0xfa, 0x28, 0x12, 0x88, 0x8a, 0x11, 0x22, 0x92, 0x9a,
|
||||
0xc9, 0x38, 0x26, 0xc9, 0x6f, 0x32, 0xa0, 0x34, 0x7e, 0x28, 0x1a, 0x03, 0x94, 0x9b, 0x7a, 0x70,
|
||||
0x85, 0x5d, 0x04, 0x69, 0xc0, 0x87, 0xcc, 0xf9, 0xff, 0xc3, 0x90, 0xed, 0xc8, 0x68, 0x57, 0xf8,
|
||||
0xa9, 0x06, 0xcb, 0xd9, 0x5c, 0x4d, 0xe2, 0x79, 0x5f, 0x86, 0x82, 0xeb, 0xef, 0x04, 0x51, 0x1a,
|
||||
0xe9, 0xa2, 0xfa, 0x41, 0xad, 0x5c, 0x57, 0x10, 0x1a, 0xff, 0xd2, 0xa0, 0xce, 0x6d, 0xf5, 0x11,
|
||||
0x1c, 0x7f, 0x07, 0x77, 0x2c, 0xe2, 0xbe, 0x87, 0xa3, 0xe3, 0xef, 0xe0, 0xce, 0x96, 0xfb, 0x1e,
|
||||
0x4e, 0x69, 0x46, 0x21, 0xad, 0x19, 0xe9, 0x40, 0xbb, 0x38, 0x22, 0x4d, 0x58, 0x4a, 0xa5, 0x09,
|
||||
0x8d, 0x0f, 0x35, 0x68, 0xdc, 0xc2, 0x74, 0x78, 0xab, 0x47, 0xa7, 0x14, 0x1f, 0x69, 0xf0, 0xa8,
|
||||
0x92, 0xa1, 0x49, 0xf4, 0xe1, 0xc5, 0xb4, 0x3e, 0xa8, 0x03, 0xac, 0x7d, 0x4b, 0x4a, 0x55, 0xb8,
|
||||
0x0a, 0xfa, 0x7a, 0xaf, 0xd3, 0x89, 0x1f, 0x3e, 0x2b, 0xa0, 0x87, 0xe2, 0x53, 0xc4, 0x1f, 0xc2,
|
||||
0x5d, 0x56, 0x25, 0x8c, 0x45, 0x19, 0xc6, 0x25, 0xa8, 0x49, 0x12, 0xc9, 0x75, 0x03, 0xca, 0xa1,
|
||||
0xfc, 0x96, 0xf8, 0xf1, 0xbf, 0xb1, 0x00, 0x73, 0x26, 0x6e, 0x31, 0x4d, 0x0c, 0xef, 0xb8, 0xfe,
|
||||
0xae, 0x5c, 0xc6, 0x78, 0x5f, 0x83, 0xf9, 0x34, 0x5c, 0xce, 0xf5, 0x05, 0x28, 0xd9, 0x8e, 0x13,
|
||||
0x62, 0x42, 0x46, 0x1e, 0xcb, 0x75, 0x81, 0x63, 0x46, 0xc8, 0x09, 0xc9, 0xe5, 0xc6, 0x96, 0xdc,
|
||||
0xc5, 0x15, 0x28, 0x47, 0xa5, 0x3c, 0x54, 0x82, 0xfc, 0x75, 0xcf, 0xab, 0x4f, 0x21, 0x1d, 0xca,
|
||||
0x1b, 0xb2, 0x5e, 0x55, 0xd7, 0x2e, 0x7e, 0x05, 0x66, 0x87, 0x22, 0x61, 0x54, 0x86, 0xe9, 0xd7,
|
||||
0x02, 0x1f, 0xd7, 0xa7, 0x50, 0x1d, 0xf4, 0x1b, 0xae, 0x6f, 0x87, 0x7d, 0xe1, 0x79, 0xea, 0x0e,
|
||||
0x9a, 0x85, 0x2a, 0xb7, 0xc0, 0x12, 0x80, 0xd7, 0x7e, 0x76, 0x1a, 0x6a, 0x77, 0x39, 0x27, 0x5b,
|
||||
0x38, 0xbc, 0xe7, 0x36, 0x31, 0xb2, 0xa0, 0x3e, 0xdc, 0x8c, 0x8b, 0x9e, 0x54, 0x9e, 0x59, 0x46,
|
||||
0xcf, 0x6e, 0x63, 0xd4, 0xde, 0x8c, 0x29, 0xf4, 0x0e, 0xcc, 0xa4, 0xdb, 0x64, 0x91, 0xda, 0x44,
|
||||
0x28, 0x7b, 0x69, 0x0f, 0x9a, 0xdc, 0x82, 0x5a, 0xaa, 0xeb, 0x15, 0x5d, 0x50, 0xce, 0xad, 0xea,
|
||||
0x8c, 0x6d, 0xa8, 0xbd, 0x76, 0xb2, 0x33, 0x55, 0x70, 0x9f, 0xee, 0xcd, 0xcb, 0xe0, 0x5e, 0xd9,
|
||||
0xc0, 0x77, 0x10, 0xf7, 0x36, 0x9c, 0xda, 0xd7, 0x6a, 0x87, 0x9e, 0x52, 0xce, 0x9f, 0xd5, 0x92,
|
||||
0x77, 0xd0, 0x12, 0x7b, 0x80, 0xf6, 0x77, 0x77, 0xa2, 0xcb, 0xea, 0x13, 0xc8, 0xea, 0x6d, 0x6d,
|
||||
0x5c, 0x19, 0x1b, 0x3f, 0x16, 0xdc, 0x77, 0x34, 0x38, 0x9d, 0xd1, 0x1f, 0x87, 0xae, 0x29, 0xa7,
|
||||
0x1b, 0xdd, 0xe4, 0xd7, 0x78, 0xe6, 0x70, 0x44, 0x31, 0x23, 0x3e, 0xcc, 0x0e, 0xb5, 0x8c, 0xa1,
|
||||
0x4b, 0x99, 0x65, 0xf4, 0xfd, 0xbd, 0x73, 0x8d, 0x27, 0xc7, 0x43, 0x8e, 0xd7, 0x63, 0xb1, 0x61,
|
||||
0xba, 0xcf, 0x2a, 0x63, 0x3d, 0x75, 0x37, 0xd6, 0x41, 0x07, 0xfa, 0x36, 0xd4, 0x52, 0x0d, 0x51,
|
||||
0x19, 0x1a, 0xaf, 0x6a, 0x9a, 0x3a, 0x68, 0xea, 0x77, 0x41, 0x4f, 0xf6, 0x2d, 0xa1, 0xd5, 0xac,
|
||||
0xbb, 0xb4, 0x6f, 0xe2, 0xc3, 0x5c, 0xa5, 0x41, 0x5b, 0xc2, 0x88, 0xab, 0xb4, 0xaf, 0x93, 0x63,
|
||||
0xfc, 0xab, 0x94, 0x98, 0x7f, 0xe4, 0x55, 0x3a, 0xf4, 0x12, 0xef, 0x6b, 0xb0, 0xa8, 0x6e, 0x7b,
|
||||
0x41, 0x6b, 0x59, 0xba, 0x99, 0xdd, 0xe0, 0xd3, 0xb8, 0x76, 0x28, 0x9a, 0x58, 0x8a, 0xbb, 0x30,
|
||||
0x93, 0x6e, 0xee, 0xc8, 0x90, 0xa2, 0xb2, 0x1f, 0xa6, 0x71, 0x69, 0x2c, 0xdc, 0x78, 0xb1, 0x37,
|
||||
0xa1, 0x9a, 0x28, 0x70, 0xa3, 0x27, 0x46, 0xe8, 0x71, 0xb2, 0x3c, 0x72, 0x90, 0x24, 0xdb, 0x50,
|
||||
0x4b, 0x15, 0x35, 0xb3, 0x74, 0x58, 0x51, 0x6b, 0x6e, 0x5c, 0x1c, 0x07, 0x35, 0xde, 0x40, 0x1b,
|
||||
0x6a, 0xa9, 0x12, 0x53, 0xc6, 0x4a, 0xaa, 0x8a, 0x5a, 0xc6, 0x4a, 0xca, 0x8a, 0x95, 0x31, 0x85,
|
||||
0xbe, 0x99, 0xa8, 0x66, 0xa5, 0x2a, 0x86, 0xe8, 0xea, 0xc8, 0x79, 0x54, 0x05, 0xd3, 0xc6, 0xda,
|
||||
0x61, 0x48, 0x62, 0x16, 0x5e, 0x87, 0x4a, 0x5c, 0xa8, 0x42, 0xe7, 0x33, 0xcd, 0xc2, 0x61, 0x4e,
|
||||
0x6a, 0x0b, 0x8a, 0xa2, 0x68, 0x84, 0x8c, 0x8c, 0xf2, 0x70, 0xa2, 0xa2, 0xd4, 0x78, 0x5c, 0x89,
|
||||
0x93, 0xae, 0xa7, 0x18, 0x53, 0xc8, 0x84, 0xa2, 0x48, 0x4b, 0x66, 0x4c, 0x9a, 0x4a, 0xad, 0x37,
|
||||
0x46, 0xe3, 0x88, 0x5c, 0xe6, 0x14, 0xda, 0x84, 0x02, 0x4f, 0xdf, 0xa1, 0x95, 0x51, 0xa9, 0xbd,
|
||||
0x51, 0x33, 0xa6, 0xb2, 0x7f, 0xc6, 0x14, 0xfa, 0x1a, 0x14, 0xf8, 0x2b, 0x35, 0x63, 0xc6, 0x64,
|
||||
0x7e, 0xae, 0x31, 0x12, 0x25, 0x62, 0xd1, 0x01, 0x3d, 0x19, 0xbd, 0x67, 0x98, 0x57, 0x45, 0x7e,
|
||||
0xa3, 0x31, 0x0e, 0x66, 0xb4, 0xca, 0x77, 0x35, 0x58, 0xca, 0x0a, 0xf4, 0x50, 0xa6, 0x0f, 0x1d,
|
||||
0x15, 0xad, 0x36, 0x9e, 0x3d, 0x24, 0x55, 0x2c, 0xc2, 0xf7, 0x60, 0x4e, 0x11, 0x5e, 0xa0, 0x2b,
|
||||
0x59, 0xf3, 0x65, 0x44, 0x46, 0x8d, 0xa7, 0xc7, 0x27, 0x88, 0xd7, 0xde, 0x84, 0x02, 0x0f, 0x0b,
|
||||
0x32, 0x8e, 0x2f, 0x19, 0x65, 0x64, 0x28, 0x44, 0x2a, 0xaa, 0x30, 0xa6, 0x10, 0x06, 0x3d, 0x19,
|
||||
0x23, 0x64, 0x9c, 0x9f, 0x22, 0xbc, 0x68, 0x5c, 0x18, 0x03, 0x33, 0x5a, 0x66, 0xad, 0x07, 0xfa,
|
||||
0x66, 0x18, 0xdc, 0xef, 0x47, 0x0f, 0xf4, 0xff, 0xcd, 0xb2, 0x37, 0x9e, 0xfd, 0xfa, 0xb5, 0x96,
|
||||
0x4b, 0xdb, 0xbd, 0x6d, 0x66, 0x03, 0xae, 0x08, 0xdc, 0xa7, 0xdc, 0x40, 0x7e, 0x5d, 0x71, 0x7d,
|
||||
0x8a, 0x43, 0xdf, 0xf6, 0xae, 0xf0, 0xb9, 0x24, 0xb4, 0xbb, 0xbd, 0x5d, 0xe4, 0xff, 0xd7, 0xfe,
|
||||
0x1b, 0x00, 0x00, 0xff, 0xff, 0x1a, 0xa4, 0x5f, 0x7a, 0x14, 0x38, 0x00, 0x00,
|
||||
// 2974 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x1a, 0x4d, 0x6f, 0x24, 0x47,
|
||||
0xd5, 0x3d, 0xe3, 0xf9, 0x7a, 0xd3, 0x63, 0xcf, 0x96, 0x3f, 0x76, 0x32, 0xd9, 0xcd, 0xda, 0x1d,
|
||||
0x96, 0x78, 0x77, 0x93, 0xdd, 0xac, 0x37, 0x21, 0x21, 0x01, 0x92, 0xdd, 0x35, 0xd9, 0xb5, 0xb2,
|
||||
0x1b, 0x9c, 0x76, 0x12, 0x29, 0x44, 0x51, 0xab, 0x3d, 0x5d, 0x1e, 0xb7, 0xdc, 0xd3, 0x3d, 0x74,
|
||||
0xd5, 0xac, 0x77, 0x72, 0x42, 0x0a, 0x20, 0xa1, 0x84, 0x44, 0x08, 0x04, 0xe2, 0x86, 0x80, 0x1c,
|
||||
0xb8, 0x11, 0x40, 0x02, 0x71, 0xe2, 0x90, 0x03, 0x07, 0x24, 0x3e, 0x7e, 0x01, 0x17, 0x8e, 0xf9,
|
||||
0x07, 0x48, 0xa0, 0xfa, 0xe8, 0x9e, 0xee, 0x71, 0xf5, 0x78, 0xbc, 0x93, 0x60, 0xfb, 0xd6, 0xfd,
|
||||
0xea, 0xbd, 0xaa, 0x57, 0xaf, 0x5e, 0xbd, 0x57, 0xef, 0x03, 0xf4, 0x8e, 0xeb, 0xdd, 0xeb, 0x91,
|
||||
0xcb, 0xdd, 0x30, 0xa0, 0x01, 0x9a, 0x4b, 0xfe, 0x5d, 0x16, 0x3f, 0x4d, 0xbd, 0x15, 0x74, 0x3a,
|
||||
0x81, 0x2f, 0x80, 0x4d, 0x9d, 0xb4, 0x76, 0x70, 0xc7, 0x16, 0x7f, 0xc6, 0x27, 0x1a, 0x9c, 0xbe,
|
||||
0x19, 0x62, 0x9b, 0xe2, 0x9b, 0x81, 0xe7, 0xe1, 0x16, 0x75, 0x03, 0xdf, 0xc4, 0xdf, 0xea, 0x61,
|
||||
0x42, 0xd1, 0x93, 0x30, 0xbd, 0x65, 0x13, 0xdc, 0xd0, 0x96, 0xb4, 0x95, 0xea, 0xea, 0x99, 0xcb,
|
||||
0xa9, 0xb9, 0xe5, 0x9c, 0x77, 0x49, 0xfb, 0x86, 0x4d, 0xb0, 0xc9, 0x31, 0xd1, 0x69, 0x28, 0x39,
|
||||
0x5b, 0x96, 0x6f, 0x77, 0x70, 0x23, 0xb7, 0xa4, 0xad, 0x54, 0xcc, 0xa2, 0xb3, 0xf5, 0x8a, 0xdd,
|
||||
0xc1, 0xe8, 0x31, 0x98, 0x6d, 0xc5, 0xf3, 0x0b, 0x84, 0x3c, 0x47, 0x98, 0x19, 0x80, 0x39, 0xe2,
|
||||
0x22, 0x14, 0x05, 0x7f, 0x8d, 0xe9, 0x25, 0x6d, 0x45, 0x37, 0xe5, 0x1f, 0x3a, 0x0b, 0x40, 0x76,
|
||||
0xec, 0xd0, 0x21, 0x96, 0xdf, 0xeb, 0x34, 0x0a, 0x4b, 0xda, 0x4a, 0xc1, 0xac, 0x08, 0xc8, 0x2b,
|
||||
0xbd, 0x8e, 0xf1, 0x9e, 0x06, 0x0b, 0x6b, 0x61, 0xd0, 0x3d, 0x16, 0x9b, 0x30, 0x7e, 0xad, 0xc1,
|
||||
0xfc, 0x6d, 0x9b, 0x1c, 0x0f, 0x89, 0x9e, 0x05, 0xa0, 0x6e, 0x07, 0x5b, 0x84, 0xda, 0x9d, 0x2e,
|
||||
0x97, 0xea, 0xb4, 0x59, 0x61, 0x90, 0x4d, 0x06, 0x30, 0xde, 0x04, 0xfd, 0x46, 0x10, 0x78, 0x26,
|
||||
0x26, 0xdd, 0xc0, 0x27, 0x18, 0x5d, 0x83, 0x22, 0xa1, 0x36, 0xed, 0x11, 0xc9, 0xe4, 0xc3, 0x4a,
|
||||
0x26, 0x37, 0x39, 0x8a, 0x29, 0x51, 0xd1, 0x3c, 0x14, 0xee, 0xd9, 0x5e, 0x4f, 0xf0, 0x58, 0x36,
|
||||
0xc5, 0x8f, 0xf1, 0x16, 0xcc, 0x6c, 0xd2, 0xd0, 0xf5, 0xdb, 0x9f, 0xe1, 0xe4, 0x95, 0x68, 0xf2,
|
||||
0x7f, 0x6a, 0xf0, 0xd0, 0x1a, 0x26, 0xad, 0xd0, 0xdd, 0x3a, 0x26, 0xaa, 0x6b, 0x80, 0x3e, 0x80,
|
||||
0xac, 0xaf, 0x71, 0x51, 0xe7, 0xcd, 0x14, 0x6c, 0xe8, 0x30, 0x0a, 0xc3, 0x87, 0xf1, 0xdf, 0x1c,
|
||||
0x34, 0x55, 0x9b, 0x9a, 0x44, 0x7c, 0x5f, 0x8d, 0x6f, 0x54, 0x8e, 0x13, 0x9d, 0x4f, 0x13, 0x49,
|
||||
0x6b, 0x30, 0x58, 0x6d, 0x93, 0x03, 0xe2, 0x8b, 0x37, 0xbc, 0xab, 0xbc, 0x62, 0x57, 0xab, 0xb0,
|
||||
0x70, 0xcf, 0x0d, 0x69, 0xcf, 0xf6, 0xac, 0xd6, 0x8e, 0xed, 0xfb, 0xd8, 0xe3, 0x72, 0x22, 0x8d,
|
||||
0xe9, 0xa5, 0xfc, 0x4a, 0xc5, 0x9c, 0x93, 0x83, 0x37, 0xc5, 0x18, 0x13, 0x16, 0x41, 0x4f, 0xc1,
|
||||
0x62, 0x77, 0xa7, 0x4f, 0xdc, 0xd6, 0x3e, 0xa2, 0x02, 0x27, 0x9a, 0x8f, 0x46, 0x53, 0x54, 0x97,
|
||||
0xe0, 0x54, 0x8b, 0x5b, 0x2b, 0xc7, 0x62, 0x52, 0x13, 0x62, 0x2c, 0x72, 0x31, 0xd6, 0xe5, 0xc0,
|
||||
0x6b, 0x11, 0x9c, 0xb1, 0x15, 0x21, 0xf7, 0x68, 0x2b, 0x41, 0x50, 0xe2, 0x04, 0x73, 0x72, 0xf0,
|
||||
0x75, 0xda, 0x8a, 0x69, 0xb8, 0x21, 0xb9, 0x13, 0xd8, 0xce, 0xf1, 0x30, 0x24, 0x1f, 0x68, 0xd0,
|
||||
0x30, 0xb1, 0x87, 0x6d, 0x72, 0x3c, 0x74, 0xdc, 0xf8, 0xb1, 0x06, 0x8f, 0xdc, 0xc2, 0x34, 0xa1,
|
||||
0x2d, 0xd4, 0xa6, 0x2e, 0xa1, 0x6e, 0x8b, 0x1c, 0x25, 0x5b, 0x1f, 0x6a, 0x70, 0x2e, 0x93, 0xad,
|
||||
0x49, 0x2e, 0xcf, 0x33, 0x50, 0x60, 0x5f, 0xa4, 0x91, 0x5b, 0xca, 0xaf, 0x54, 0x57, 0x97, 0x95,
|
||||
0x34, 0x2f, 0xe3, 0xfe, 0x1b, 0xcc, 0x26, 0x6d, 0xd8, 0x6e, 0x68, 0x0a, 0x7c, 0xe3, 0x5f, 0x1a,
|
||||
0x2c, 0x6e, 0xee, 0x04, 0x7b, 0x03, 0x96, 0x3e, 0x0f, 0x01, 0xa5, 0xcd, 0x49, 0x7e, 0xc8, 0x9c,
|
||||
0xa0, 0xab, 0x30, 0x4d, 0xfb, 0x5d, 0xcc, 0x2d, 0xd1, 0xcc, 0xea, 0xd9, 0xcb, 0x8a, 0xc7, 0xc1,
|
||||
0x65, 0xc6, 0xe4, 0x6b, 0xfd, 0x2e, 0x36, 0x39, 0x2a, 0xba, 0x00, 0xf5, 0x21, 0x91, 0x47, 0x17,
|
||||
0x72, 0x36, 0x2d, 0x73, 0x62, 0xfc, 0x31, 0x07, 0xa7, 0xf7, 0x6d, 0x71, 0x12, 0x61, 0xab, 0xd6,
|
||||
0xce, 0x29, 0xd7, 0x46, 0xe7, 0x21, 0xa1, 0x02, 0x96, 0xeb, 0x90, 0x46, 0x7e, 0x29, 0xbf, 0x92,
|
||||
0x37, 0x6b, 0x09, 0xbb, 0xe4, 0x10, 0xf4, 0x04, 0xa0, 0x7d, 0xe6, 0x42, 0x58, 0xa5, 0x69, 0xf3,
|
||||
0xd4, 0xb0, 0xbd, 0xe0, 0x36, 0x49, 0x69, 0x30, 0x84, 0x08, 0xa6, 0xcd, 0x79, 0x85, 0xc5, 0x20,
|
||||
0xe8, 0x2a, 0xcc, 0xbb, 0xfe, 0x5d, 0xdc, 0x09, 0xc2, 0xbe, 0xd5, 0xc5, 0x61, 0x0b, 0xfb, 0xd4,
|
||||
0x6e, 0x63, 0xd2, 0x28, 0x72, 0x8e, 0xe6, 0xa2, 0xb1, 0x8d, 0xc1, 0x90, 0xf1, 0x3b, 0x0d, 0x16,
|
||||
0xc5, 0xab, 0x6b, 0xc3, 0x0e, 0xa9, 0x7b, 0xd4, 0x9e, 0xeb, 0x3c, 0xcc, 0x74, 0x23, 0x3e, 0x04,
|
||||
0xde, 0x34, 0xc7, 0xab, 0xc5, 0x50, 0x7e, 0xcb, 0x3e, 0xd6, 0x60, 0x9e, 0x3d, 0xb2, 0x4e, 0x12,
|
||||
0xcf, 0xbf, 0xd1, 0x60, 0xee, 0xb6, 0x4d, 0x4e, 0x12, 0xcb, 0xbf, 0x97, 0x2e, 0x28, 0xe6, 0xf9,
|
||||
0x28, 0x4d, 0x2b, 0x43, 0x4c, 0x33, 0x1d, 0x79, 0xf5, 0x99, 0x14, 0xd7, 0xc4, 0xf8, 0xc3, 0xc0,
|
||||
0x57, 0x9d, 0x30, 0xce, 0xff, 0xa4, 0xc1, 0xd9, 0x5b, 0x98, 0xc6, 0x5c, 0x1f, 0x0b, 0x9f, 0x36,
|
||||
0xae, 0xb6, 0x7c, 0x20, 0x3c, 0xb2, 0x92, 0xf9, 0x23, 0xf1, 0x7c, 0xef, 0xe5, 0x60, 0x81, 0xb9,
|
||||
0x85, 0xe3, 0xa1, 0x04, 0xe3, 0x3c, 0xca, 0x15, 0x8a, 0x52, 0x50, 0x29, 0x4a, 0xec, 0x4f, 0x8b,
|
||||
0x63, 0xfb, 0x53, 0xe3, 0xb7, 0x39, 0xf1, 0x0e, 0x48, 0x4a, 0x63, 0x92, 0x63, 0x51, 0xf0, 0x9a,
|
||||
0x53, 0xf2, 0x6a, 0x80, 0x1e, 0x43, 0xd6, 0xd7, 0x22, 0xff, 0x98, 0x82, 0x1d, 0x5b, 0xf7, 0xf8,
|
||||
0xbe, 0x06, 0x8b, 0x51, 0x18, 0xb4, 0x89, 0xdb, 0x1d, 0xec, 0xd3, 0x07, 0xd7, 0xa1, 0x61, 0x0d,
|
||||
0xc8, 0x29, 0x34, 0xe0, 0x0c, 0x54, 0x88, 0x58, 0x27, 0x8e, 0x70, 0x06, 0x00, 0xe3, 0x23, 0x0d,
|
||||
0x4e, 0xef, 0x63, 0x67, 0x92, 0x43, 0x6c, 0x40, 0xc9, 0xf5, 0x1d, 0x7c, 0x3f, 0xe6, 0x26, 0xfa,
|
||||
0x65, 0x23, 0x5b, 0x3d, 0xd7, 0x73, 0x62, 0x36, 0xa2, 0x5f, 0xb4, 0x0c, 0x3a, 0xf6, 0xed, 0x2d,
|
||||
0x0f, 0x5b, 0x1c, 0x97, 0x2b, 0x72, 0xd9, 0xac, 0x0a, 0xd8, 0x3a, 0x03, 0x19, 0x3f, 0xd0, 0x60,
|
||||
0x8e, 0xe9, 0x9a, 0xe4, 0x91, 0x7c, 0xbe, 0x32, 0x5b, 0x82, 0x6a, 0x42, 0x99, 0x24, 0xbb, 0x49,
|
||||
0x90, 0xb1, 0x0b, 0xf3, 0x69, 0x76, 0x26, 0x91, 0xd9, 0x23, 0x00, 0xf1, 0x89, 0x08, 0x9d, 0xcf,
|
||||
0x9b, 0x09, 0x88, 0xf1, 0xa9, 0x06, 0x48, 0x3c, 0xa9, 0xb8, 0x30, 0x8e, 0x38, 0xe3, 0xb2, 0xed,
|
||||
0x62, 0xcf, 0x49, 0x5a, 0xed, 0x0a, 0x87, 0xf0, 0xe1, 0x35, 0xd0, 0xf1, 0x7d, 0x1a, 0xda, 0x56,
|
||||
0xd7, 0x0e, 0xed, 0x8e, 0xb8, 0x3c, 0x63, 0x19, 0xd8, 0x2a, 0x27, 0xdb, 0xe0, 0x54, 0xc6, 0x5f,
|
||||
0xd8, 0x63, 0x4c, 0x2a, 0xe5, 0x71, 0xdf, 0xf1, 0x59, 0x00, 0xae, 0xb4, 0x62, 0xb8, 0x20, 0x86,
|
||||
0x39, 0x84, 0xbb, 0xb0, 0x8f, 0x34, 0xa8, 0xf3, 0x2d, 0x88, 0xfd, 0x74, 0xd9, 0xb4, 0x43, 0x34,
|
||||
0xda, 0x10, 0xcd, 0x88, 0x2b, 0xf4, 0x65, 0x28, 0x4a, 0xc1, 0xe6, 0xc7, 0x15, 0xac, 0x24, 0x38,
|
||||
0x60, 0x1b, 0xc6, 0x2f, 0x34, 0x58, 0x18, 0x12, 0xf9, 0x24, 0x1a, 0xfd, 0x1a, 0x20, 0xb1, 0x43,
|
||||
0x67, 0xb0, 0xed, 0xc8, 0xdd, 0x9e, 0x57, 0xfa, 0x96, 0x61, 0x21, 0x99, 0xa7, 0xdc, 0x21, 0x08,
|
||||
0x31, 0xfe, 0xae, 0xc1, 0x99, 0x5b, 0x98, 0x72, 0xd4, 0x1b, 0xcc, 0x76, 0x6c, 0x84, 0x41, 0x3b,
|
||||
0xc4, 0x84, 0x9c, 0x5c, 0xfd, 0xf8, 0x89, 0x78, 0x9f, 0xa9, 0xb6, 0x34, 0x89, 0xfc, 0x97, 0x41,
|
||||
0xe7, 0x6b, 0x60, 0xc7, 0x0a, 0x83, 0x3d, 0x22, 0xf5, 0xa8, 0x2a, 0x61, 0x66, 0xb0, 0xc7, 0x15,
|
||||
0x82, 0x06, 0xd4, 0xf6, 0x04, 0x82, 0x74, 0x0c, 0x1c, 0xc2, 0x86, 0xf9, 0x1d, 0x8c, 0x18, 0x63,
|
||||
0x93, 0xe3, 0x93, 0x2b, 0xe3, 0x5f, 0x69, 0xb0, 0x30, 0xb4, 0x95, 0x49, 0x64, 0xfb, 0xb4, 0x78,
|
||||
0x3d, 0x8a, 0xcd, 0xcc, 0xac, 0x9e, 0x53, 0xd2, 0x24, 0x16, 0x13, 0xd8, 0xe8, 0x1c, 0x54, 0xb7,
|
||||
0x6d, 0xd7, 0xb3, 0x42, 0x6c, 0x93, 0xc0, 0x97, 0x1b, 0x05, 0x06, 0x32, 0x39, 0xc4, 0xf8, 0x44,
|
||||
0x83, 0x3a, 0x0b, 0x41, 0x4f, 0xb8, 0xc5, 0xfb, 0x65, 0x0e, 0x6a, 0xeb, 0x3e, 0xc1, 0x21, 0x3d,
|
||||
0xfe, 0x11, 0x06, 0x7a, 0x01, 0xaa, 0x7c, 0x63, 0xc4, 0x72, 0x6c, 0x6a, 0x4b, 0x77, 0xf5, 0x88,
|
||||
0x32, 0x8b, 0xfc, 0x12, 0xc3, 0x5b, 0xb3, 0xa9, 0x6d, 0x0a, 0xe9, 0x10, 0xf6, 0x8d, 0x1e, 0x86,
|
||||
0xca, 0x8e, 0x4d, 0x76, 0xac, 0x5d, 0xdc, 0x17, 0xcf, 0xbe, 0x9a, 0x59, 0x66, 0x80, 0x97, 0x71,
|
||||
0x9f, 0xa0, 0x87, 0xa0, 0xec, 0xf7, 0x3a, 0xe2, 0x82, 0x95, 0x96, 0xb4, 0x95, 0x9a, 0x59, 0xf2,
|
||||
0x7b, 0x1d, 0x7e, 0xbd, 0xfe, 0x9a, 0x83, 0x99, 0xbb, 0x3d, 0x16, 0xcf, 0xf0, 0x1c, 0x78, 0xcf,
|
||||
0xa3, 0x0f, 0xa6, 0x8c, 0x17, 0x21, 0x2f, 0xde, 0x0c, 0x8c, 0xa2, 0xa1, 0x64, 0x7c, 0x7d, 0x8d,
|
||||
0x98, 0x0c, 0x89, 0xd7, 0x99, 0x7a, 0xad, 0x96, 0x7c, 0x64, 0xe5, 0x39, 0xb3, 0x15, 0x06, 0xe1,
|
||||
0x1a, 0xc7, 0xb6, 0x82, 0xc3, 0x30, 0x7e, 0x82, 0xf1, 0xad, 0xe0, 0x30, 0x14, 0x83, 0x06, 0xe8,
|
||||
0x76, 0x6b, 0xd7, 0x0f, 0xf6, 0x3c, 0xec, 0xb4, 0xb1, 0xc3, 0x8f, 0xbd, 0x6c, 0xa6, 0x60, 0x42,
|
||||
0x31, 0xd8, 0xc1, 0x5b, 0x2d, 0x9f, 0xf2, 0x40, 0x22, 0xcf, 0x14, 0x83, 0x41, 0x6e, 0xfa, 0x94,
|
||||
0x0d, 0x3b, 0xd8, 0xc3, 0x14, 0xf3, 0xe1, 0x92, 0x18, 0x16, 0x10, 0x39, 0xdc, 0xeb, 0xc6, 0xd4,
|
||||
0x65, 0x31, 0x2c, 0x20, 0x6c, 0xf8, 0x0c, 0x54, 0x06, 0x49, 0xee, 0xca, 0x20, 0x1b, 0x28, 0x52,
|
||||
0xdb, 0xf7, 0xa0, 0xbe, 0xe1, 0xd9, 0x2d, 0xbc, 0x13, 0x78, 0x0e, 0x0e, 0xb9, 0xf7, 0x43, 0x75,
|
||||
0xc8, 0x53, 0xbb, 0x2d, 0xdd, 0x2b, 0xfb, 0x44, 0xcf, 0xca, 0x18, 0x47, 0x5c, 0xdc, 0x2f, 0x28,
|
||||
0xfd, 0x50, 0x62, 0x9a, 0x44, 0xea, 0x70, 0x11, 0x8a, 0xbc, 0x34, 0x23, 0x1c, 0xaf, 0x6e, 0xca,
|
||||
0x3f, 0xe3, 0xed, 0xd4, 0xba, 0xb7, 0xc2, 0xa0, 0xd7, 0x45, 0xeb, 0xa0, 0x77, 0x07, 0x30, 0x76,
|
||||
0x9a, 0xd9, 0x5e, 0x6f, 0x98, 0x69, 0x33, 0x45, 0x6a, 0x7c, 0x9a, 0x87, 0xda, 0x26, 0xb6, 0xc3,
|
||||
0xd6, 0xce, 0x49, 0x48, 0x36, 0x30, 0x89, 0x3b, 0xc4, 0x93, 0x26, 0x81, 0x7d, 0xa2, 0x4b, 0x70,
|
||||
0x2a, 0xb1, 0x21, 0xab, 0xcd, 0x04, 0xc4, 0x35, 0x43, 0x37, 0xeb, 0xdd, 0x61, 0xc1, 0x3d, 0x03,
|
||||
0x65, 0x87, 0x78, 0x16, 0x3f, 0xa2, 0x12, 0x3f, 0x22, 0xf5, 0xfe, 0xd6, 0x88, 0xc7, 0x8f, 0xa6,
|
||||
0xe4, 0x88, 0x0f, 0xf4, 0x28, 0xd4, 0x82, 0x1e, 0xed, 0xf6, 0xa8, 0x25, 0x6e, 0x66, 0xa3, 0xcc,
|
||||
0xd9, 0xd3, 0x05, 0x90, 0x5f, 0x5c, 0x82, 0x5e, 0x82, 0x1a, 0xe1, 0xa2, 0x8c, 0xde, 0xa6, 0x95,
|
||||
0x71, 0x9f, 0x50, 0xba, 0xa0, 0x13, 0x8f, 0x53, 0x74, 0x01, 0xea, 0x34, 0xb4, 0xef, 0x61, 0x2f,
|
||||
0x51, 0x74, 0x01, 0xae, 0x8f, 0xb3, 0x02, 0x3e, 0x28, 0xd2, 0x5c, 0x81, 0xb9, 0x76, 0xcf, 0x0e,
|
||||
0x6d, 0x9f, 0x62, 0x9c, 0xc0, 0xae, 0x72, 0x6c, 0x14, 0x0f, 0x0d, 0x2a, 0x34, 0x2f, 0xc3, 0xf4,
|
||||
0x6d, 0x97, 0x72, 0x41, 0xb2, 0x5b, 0xad, 0xf1, 0x48, 0x80, 0xdf, 0xdd, 0x87, 0xa0, 0x1c, 0x06,
|
||||
0x7b, 0xc2, 0x4a, 0xe5, 0xb8, 0x0a, 0x96, 0xc2, 0x60, 0x8f, 0x9b, 0x20, 0x5e, 0x56, 0x0e, 0x42,
|
||||
0xa9, 0x9b, 0x39, 0x53, 0xfe, 0x19, 0xdf, 0xd5, 0x06, 0xca, 0xc3, 0x0c, 0x0c, 0x79, 0x30, 0x0b,
|
||||
0xf3, 0x02, 0x94, 0x42, 0x41, 0x3f, 0xb2, 0xc8, 0x96, 0x5c, 0x89, 0x5b, 0xc9, 0x88, 0xca, 0xf8,
|
||||
0x8e, 0x06, 0xfa, 0x4b, 0x5e, 0x8f, 0x7c, 0x1e, 0x3a, 0xac, 0x4a, 0xab, 0xe7, 0xd5, 0x29, 0xfd,
|
||||
0x1f, 0xe6, 0xa0, 0x26, 0xd9, 0x98, 0xc4, 0xfb, 0x67, 0xb2, 0xb2, 0x09, 0x55, 0xb6, 0xa4, 0x45,
|
||||
0x70, 0x3b, 0xca, 0x49, 0x54, 0x57, 0x57, 0x95, 0xb7, 0x3e, 0xc5, 0x06, 0x2f, 0x4f, 0x6e, 0x72,
|
||||
0xa2, 0xaf, 0xfb, 0x34, 0xec, 0x9b, 0xd0, 0x8a, 0x01, 0xcd, 0xb7, 0x61, 0x76, 0x68, 0x98, 0xe9,
|
||||
0xc6, 0x2e, 0xee, 0x47, 0x66, 0x6d, 0x17, 0xf7, 0xd1, 0x53, 0xc9, 0x22, 0x72, 0x96, 0xfb, 0xba,
|
||||
0x13, 0xf8, 0xed, 0xeb, 0x61, 0x68, 0xf7, 0x65, 0x91, 0xf9, 0xb9, 0xdc, 0xb3, 0x9a, 0xf1, 0xe7,
|
||||
0x1c, 0xe8, 0xaf, 0xf6, 0x70, 0xd8, 0x3f, 0x4a, 0xf3, 0x82, 0x60, 0x1a, 0xdf, 0xef, 0x86, 0xd2,
|
||||
0x41, 0xf3, 0xef, 0xfd, 0x37, 0xba, 0xa0, 0xb8, 0xd1, 0x0a, 0xbb, 0x54, 0x54, 0xda, 0x25, 0xd5,
|
||||
0x95, 0x2d, 0x1d, 0xea, 0xca, 0x96, 0x33, 0xaf, 0x2c, 0xd3, 0x6e, 0x29, 0xc2, 0x89, 0x2e, 0x59,
|
||||
0xea, 0x1d, 0x92, 0x3b, 0xec, 0x3b, 0xc4, 0xf8, 0x58, 0x83, 0xca, 0x1b, 0xb8, 0x45, 0x83, 0x90,
|
||||
0x59, 0x0b, 0x85, 0xec, 0xb5, 0x31, 0x9e, 0x7a, 0xb9, 0xe1, 0xa7, 0xde, 0x35, 0x28, 0xbb, 0x8e,
|
||||
0x65, 0x33, 0xb5, 0xe1, 0x87, 0x37, 0xea, 0x89, 0x51, 0x72, 0x1d, 0xae, 0x5f, 0xe3, 0xe7, 0xa6,
|
||||
0x7f, 0xaa, 0x81, 0x2e, 0x78, 0x26, 0x82, 0xf2, 0xf9, 0xc4, 0x72, 0x9a, 0x4a, 0x97, 0xe5, 0x4f,
|
||||
0xbc, 0xd1, 0xdb, 0x53, 0x83, 0x65, 0xaf, 0x03, 0x30, 0xd9, 0x49, 0x72, 0x71, 0x15, 0x96, 0x94,
|
||||
0xdc, 0x0a, 0x72, 0x2e, 0xc7, 0xdb, 0x53, 0x66, 0x85, 0x51, 0xf1, 0x29, 0x6e, 0x94, 0xa0, 0xc0,
|
||||
0xa9, 0x8d, 0xff, 0x68, 0x30, 0x77, 0xd3, 0xf6, 0x5a, 0x6b, 0x2e, 0xa1, 0xb6, 0xdf, 0x9a, 0x20,
|
||||
0xf6, 0x79, 0x0e, 0x4a, 0x41, 0xd7, 0xf2, 0xf0, 0x36, 0x95, 0x2c, 0x2d, 0x8f, 0xd8, 0x91, 0x10,
|
||||
0x83, 0x59, 0x0c, 0xba, 0x77, 0xf0, 0x36, 0x45, 0x5f, 0x81, 0x72, 0xd0, 0xb5, 0x42, 0xb7, 0xbd,
|
||||
0x43, 0xa5, 0xf4, 0xc7, 0x20, 0x2e, 0x05, 0x5d, 0x93, 0x51, 0x24, 0x72, 0x05, 0xd3, 0x87, 0xcc,
|
||||
0x15, 0x18, 0xff, 0xd8, 0xb7, 0xfd, 0x09, 0x54, 0xfb, 0x39, 0x28, 0xbb, 0x3e, 0xb5, 0x1c, 0x97,
|
||||
0x44, 0x22, 0x38, 0xab, 0xd6, 0x21, 0x9f, 0xf2, 0x1d, 0xf0, 0x33, 0xf5, 0x29, 0x5b, 0x1b, 0xbd,
|
||||
0x08, 0xb0, 0xed, 0x05, 0xb6, 0xa4, 0x16, 0x32, 0x38, 0xa7, 0xbe, 0x15, 0x0c, 0x2d, 0xa2, 0xaf,
|
||||
0x70, 0x22, 0x36, 0xc3, 0xe0, 0x48, 0xff, 0xa6, 0xc1, 0xc2, 0x06, 0x0e, 0x89, 0x4b, 0x28, 0xf6,
|
||||
0xa9, 0xcc, 0xdb, 0xad, 0xfb, 0xdb, 0x41, 0x3a, 0x41, 0xaa, 0x0d, 0x25, 0x48, 0x3f, 0x9b, 0x74,
|
||||
0x61, 0x2a, 0x12, 0x10, 0x69, 0xfa, 0x28, 0x12, 0x88, 0x8a, 0x11, 0x22, 0x92, 0x9a, 0xc9, 0x38,
|
||||
0x26, 0xc9, 0x6f, 0x32, 0xa0, 0x34, 0x7e, 0x24, 0x1a, 0x03, 0x94, 0x9b, 0x7a, 0x70, 0x85, 0x5d,
|
||||
0x04, 0x69, 0xc0, 0x87, 0xcc, 0xf9, 0x17, 0x61, 0xc8, 0x76, 0x64, 0xb4, 0x2b, 0xfc, 0x4c, 0x83,
|
||||
0xa5, 0x6c, 0xae, 0x26, 0xf1, 0xbc, 0x2f, 0x42, 0xc1, 0xf5, 0xb7, 0x83, 0x28, 0x8d, 0x74, 0x51,
|
||||
0xfd, 0xa0, 0x56, 0xae, 0x2b, 0x08, 0x8d, 0x7f, 0x6b, 0x50, 0xe7, 0xb6, 0xfa, 0x08, 0x8e, 0xbf,
|
||||
0x83, 0x3b, 0x16, 0x71, 0xdf, 0xc1, 0xd1, 0xf1, 0x77, 0x70, 0x67, 0xd3, 0x7d, 0x07, 0xa7, 0x34,
|
||||
0xa3, 0x90, 0xd6, 0x8c, 0x74, 0xa0, 0x5d, 0x1c, 0x91, 0x26, 0x2c, 0xa5, 0xd2, 0x84, 0xc6, 0x07,
|
||||
0x1a, 0x34, 0x6f, 0x61, 0x3a, 0xbc, 0xd5, 0xa3, 0x53, 0x8a, 0x0f, 0x35, 0x78, 0x58, 0xc9, 0xd0,
|
||||
0x24, 0xfa, 0xf0, 0x7c, 0x5a, 0x1f, 0xd4, 0x01, 0xd6, 0xbe, 0x25, 0xa5, 0x2a, 0x5c, 0x05, 0x7d,
|
||||
0xad, 0xd7, 0xe9, 0xc4, 0x0f, 0x9f, 0x65, 0xd0, 0x43, 0xf1, 0x29, 0xe2, 0x0f, 0xe1, 0x2e, 0xab,
|
||||
0x12, 0xc6, 0xa2, 0x0c, 0xe3, 0x12, 0xd4, 0x24, 0x89, 0xe4, 0xba, 0x09, 0xe5, 0x50, 0x7e, 0x4b,
|
||||
0xfc, 0xf8, 0xdf, 0x58, 0x80, 0x39, 0x13, 0xb7, 0x99, 0x26, 0x86, 0x77, 0x5c, 0x7f, 0x57, 0x2e,
|
||||
0x63, 0xbc, 0xab, 0xc1, 0x7c, 0x1a, 0x2e, 0xe7, 0xfa, 0x12, 0x94, 0x6c, 0xc7, 0x09, 0x31, 0x21,
|
||||
0x23, 0x8f, 0xe5, 0xba, 0xc0, 0x31, 0x23, 0xe4, 0x84, 0xe4, 0x72, 0x63, 0x4b, 0xce, 0xb0, 0xe0,
|
||||
0xd4, 0x2d, 0x4c, 0xef, 0x62, 0x1a, 0x4e, 0x54, 0x07, 0x6e, 0xb0, 0xc8, 0x80, 0x13, 0x4b, 0xb5,
|
||||
0x88, 0x7e, 0x8d, 0xf7, 0x35, 0x40, 0xc9, 0x15, 0x26, 0x39, 0xe6, 0xa4, 0x94, 0x73, 0x69, 0x29,
|
||||
0x8b, 0x56, 0x99, 0x4e, 0x37, 0xf0, 0xb1, 0x4f, 0x93, 0x4f, 0xcc, 0x5a, 0x0c, 0x65, 0xea, 0x77,
|
||||
0x71, 0x19, 0xca, 0x51, 0xe9, 0x12, 0x95, 0x20, 0x7f, 0xdd, 0xf3, 0xea, 0x53, 0x48, 0x87, 0xf2,
|
||||
0xba, 0xac, 0xcf, 0xd5, 0xb5, 0x8b, 0x5f, 0x83, 0xd9, 0xa1, 0xc8, 0x1f, 0x95, 0x61, 0xfa, 0x95,
|
||||
0xc0, 0xc7, 0xf5, 0x29, 0x54, 0x07, 0xfd, 0x86, 0xeb, 0xdb, 0x61, 0x5f, 0x78, 0xda, 0xba, 0x83,
|
||||
0x66, 0xa1, 0xca, 0x3d, 0x8e, 0x04, 0xe0, 0xd5, 0x9f, 0x9f, 0x86, 0xda, 0x5d, 0xbe, 0x99, 0x4d,
|
||||
0x1c, 0xde, 0x73, 0x5b, 0x18, 0x59, 0x50, 0x1f, 0x6e, 0x3e, 0x46, 0x8f, 0x2b, 0x75, 0x34, 0xa3,
|
||||
0x47, 0xb9, 0x39, 0x4a, 0x3c, 0xc6, 0x14, 0x7a, 0x0b, 0x66, 0xd2, 0x6d, 0xc1, 0x48, 0x6d, 0x12,
|
||||
0x95, 0xbd, 0xc3, 0x07, 0x4d, 0x6e, 0x41, 0x2d, 0xd5, 0xe5, 0x8b, 0x2e, 0x28, 0xe7, 0x56, 0x75,
|
||||
0x02, 0x37, 0xd5, 0xaf, 0x94, 0x64, 0x27, 0xae, 0xe0, 0x3e, 0xdd, 0x8b, 0x98, 0xc1, 0xbd, 0xb2,
|
||||
0x61, 0xf1, 0x20, 0xee, 0x6d, 0x38, 0xb5, 0xaf, 0xb5, 0x10, 0x3d, 0xa1, 0x9c, 0x3f, 0xab, 0x05,
|
||||
0xf1, 0xa0, 0x25, 0xf6, 0x00, 0xed, 0xef, 0x66, 0x45, 0x97, 0xd5, 0x27, 0x90, 0xd5, 0xcb, 0xdb,
|
||||
0xbc, 0x32, 0x36, 0x7e, 0x2c, 0xb8, 0xef, 0x69, 0x70, 0x3a, 0xa3, 0x1f, 0x10, 0x5d, 0x53, 0x4e,
|
||||
0x37, 0xba, 0xa9, 0xb1, 0xf9, 0xd4, 0xe1, 0x88, 0x62, 0x46, 0x7c, 0x98, 0x1d, 0x6a, 0x91, 0x43,
|
||||
0x97, 0x32, 0xdb, 0x06, 0xf6, 0xf7, 0x0a, 0x36, 0x1f, 0x1f, 0x0f, 0x39, 0x5e, 0x8f, 0xc5, 0xc2,
|
||||
0xe9, 0xbe, 0xb2, 0x8c, 0xf5, 0xd4, 0xdd, 0x67, 0x07, 0x1d, 0xe8, 0x9b, 0x50, 0x4b, 0x35, 0x80,
|
||||
0x65, 0x68, 0xbc, 0xaa, 0x49, 0xec, 0xa0, 0xa9, 0xdf, 0x06, 0x3d, 0xd9, 0xa7, 0x85, 0x56, 0xb2,
|
||||
0xee, 0xd2, 0xbe, 0x89, 0x0f, 0x73, 0x95, 0x06, 0x6d, 0x18, 0x23, 0xae, 0xd2, 0xbe, 0xce, 0x95,
|
||||
0xf1, 0xaf, 0x52, 0x62, 0xfe, 0x91, 0x57, 0xe9, 0xd0, 0x4b, 0xbc, 0xab, 0xc1, 0xa2, 0xba, 0xcd,
|
||||
0x07, 0xad, 0x66, 0xe9, 0x66, 0x76, 0x43, 0x53, 0xf3, 0xda, 0xa1, 0x68, 0x62, 0x29, 0xee, 0xc2,
|
||||
0x4c, 0xba, 0x99, 0x25, 0x43, 0x8a, 0xca, 0xfe, 0x9f, 0xe6, 0xa5, 0xb1, 0x70, 0xe3, 0xc5, 0x5e,
|
||||
0x87, 0x6a, 0xa2, 0xa0, 0x8f, 0x1e, 0x1b, 0xa1, 0xc7, 0xc9, 0x72, 0xd0, 0x41, 0x92, 0xdc, 0x81,
|
||||
0x5a, 0xaa, 0x88, 0x9b, 0xa5, 0xc3, 0x8a, 0xda, 0x7a, 0xf3, 0xe2, 0x38, 0xa8, 0xf1, 0x06, 0x76,
|
||||
0xa0, 0x96, 0x2a, 0xa9, 0x65, 0xac, 0xa4, 0xaa, 0x20, 0x66, 0xac, 0xa4, 0xac, 0xd0, 0x19, 0x53,
|
||||
0xe8, 0xdb, 0x89, 0xea, 0x5d, 0xaa, 0x42, 0x8a, 0xae, 0x8e, 0x9c, 0x47, 0x55, 0x20, 0x6e, 0xae,
|
||||
0x1e, 0x86, 0x24, 0x66, 0xe1, 0x55, 0xa8, 0xc4, 0x85, 0x39, 0x74, 0x3e, 0xd3, 0x2c, 0x1c, 0xe6,
|
||||
0xa4, 0x36, 0xa1, 0x28, 0x8a, 0x64, 0xc8, 0xc8, 0x28, 0x87, 0x27, 0x2a, 0x68, 0xcd, 0x47, 0x95,
|
||||
0x38, 0xe9, 0xfa, 0x91, 0x31, 0x85, 0x4c, 0x28, 0x8a, 0x34, 0x6c, 0xc6, 0xa4, 0xa9, 0x52, 0x42,
|
||||
0x73, 0x34, 0x8e, 0xc8, 0xdd, 0x4e, 0xa1, 0x0d, 0x28, 0xf0, 0x74, 0x25, 0x5a, 0x1e, 0x95, 0xca,
|
||||
0x1c, 0x35, 0x63, 0x2a, 0xdb, 0x69, 0x4c, 0xa1, 0x6f, 0x40, 0x81, 0xbf, 0xca, 0x33, 0x66, 0x4c,
|
||||
0xe6, 0x23, 0x9b, 0x23, 0x51, 0x22, 0x16, 0x1d, 0xd0, 0x93, 0xd9, 0x8a, 0x0c, 0xf3, 0xaa, 0xc8,
|
||||
0xe7, 0x34, 0xc7, 0xc1, 0x8c, 0x56, 0xf9, 0xbe, 0x06, 0x8d, 0xac, 0xc0, 0x16, 0x65, 0xfa, 0xd0,
|
||||
0x51, 0xd1, 0x79, 0xf3, 0xe9, 0x43, 0x52, 0xc5, 0x22, 0x7c, 0x07, 0xe6, 0x14, 0xe1, 0x14, 0xba,
|
||||
0x92, 0x35, 0x5f, 0x46, 0x24, 0xd8, 0x7c, 0x72, 0x7c, 0x82, 0x78, 0xed, 0x0d, 0x28, 0xf0, 0x30,
|
||||
0x28, 0xe3, 0xf8, 0x92, 0x51, 0x55, 0x86, 0x42, 0xa4, 0xa2, 0x28, 0x63, 0x0a, 0x61, 0xd0, 0x93,
|
||||
0x31, 0x51, 0xc6, 0xf9, 0x29, 0xc2, 0xa9, 0xe6, 0x85, 0x31, 0x30, 0xa3, 0x65, 0x56, 0x7b, 0xa0,
|
||||
0x6f, 0x84, 0xc1, 0xfd, 0x7e, 0xf4, 0x40, 0xff, 0xff, 0x2c, 0x7b, 0xe3, 0xe9, 0x6f, 0x5e, 0x6b,
|
||||
0xbb, 0x74, 0xa7, 0xb7, 0xc5, 0x6c, 0xc0, 0x15, 0x81, 0xfb, 0x84, 0x1b, 0xc8, 0xaf, 0x2b, 0xae,
|
||||
0x4f, 0x71, 0xe8, 0xdb, 0xde, 0x15, 0x3e, 0x97, 0x84, 0x76, 0xb7, 0xb6, 0x8a, 0xfc, 0xff, 0xda,
|
||||
0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x26, 0xc3, 0xaf, 0x04, 0x39, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
|
|
@ -26,6 +26,9 @@ service QueryCoord {
|
|||
rpc CreateQueryChannel(CreateQueryChannelRequest) returns (CreateQueryChannelResponse) {}
|
||||
rpc GetPartitionStates(GetPartitionStatesRequest) returns (GetPartitionStatesResponse) {}
|
||||
rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) {}
|
||||
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {}
|
||||
}
|
||||
|
||||
service QueryNode {
|
||||
|
@ -41,6 +44,9 @@ service QueryNode {
|
|||
rpc ReleasePartitions(ReleasePartitionsRequest) returns (common.Status) {}
|
||||
rpc ReleaseSegments(ReleaseSegmentsRequest) returns (common.Status) {}
|
||||
rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) {}
|
||||
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {}
|
||||
}
|
||||
|
||||
//--------------------query coordinator proto------------------
|
||||
|
|
|
@ -2021,128 +2021,130 @@ func init() {
|
|||
func init() { proto.RegisterFile("query_coord.proto", fileDescriptor_aab7cc9a69ed26e8) }
|
||||
|
||||
var fileDescriptor_aab7cc9a69ed26e8 = []byte{
|
||||
// 1933 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6f, 0x1b, 0xc7,
|
||||
0x15, 0xd7, 0x92, 0x14, 0x45, 0x3e, 0xf1, 0x63, 0x3d, 0xb6, 0x54, 0x9a, 0xb5, 0x13, 0x75, 0x1d,
|
||||
0xd7, 0x8e, 0xd2, 0x48, 0x89, 0x9c, 0x02, 0xf5, 0xa1, 0x87, 0x58, 0x8c, 0x55, 0xb6, 0x89, 0xa2,
|
||||
0xae, 0xd4, 0x14, 0x35, 0x0c, 0x6c, 0x97, 0xdc, 0x11, 0xb5, 0xc8, 0xee, 0x0e, 0xbd, 0xb3, 0xb4,
|
||||
0x2c, 0x1f, 0x7a, 0xea, 0xb9, 0xb7, 0x9e, 0x5a, 0x14, 0x28, 0xd0, 0x0f, 0xf4, 0xd0, 0x7f, 0xa0,
|
||||
0xa7, 0xfc, 0x09, 0xfd, 0x07, 0x5a, 0xa0, 0x68, 0x6e, 0xfd, 0x27, 0x8a, 0xf9, 0xd8, 0xe5, 0x7e,
|
||||
0x0c, 0x25, 0x4a, 0xaa, 0x62, 0xa3, 0xc8, 0x8d, 0xfb, 0xe6, 0xcd, 0xfb, 0x9e, 0xdf, 0xbc, 0x79,
|
||||
0x84, 0x6b, 0xcf, 0x26, 0x38, 0x3c, 0xb1, 0x86, 0x84, 0x84, 0xce, 0xc6, 0x38, 0x24, 0x11, 0x41,
|
||||
0xc8, 0x77, 0xbd, 0xe7, 0x13, 0x2a, 0xbe, 0x36, 0xf8, 0x7a, 0xb7, 0x31, 0x24, 0xbe, 0x4f, 0x02,
|
||||
0x41, 0xeb, 0x36, 0xd2, 0x1c, 0xdd, 0x96, 0x1b, 0x44, 0x38, 0x0c, 0x6c, 0x2f, 0x5e, 0xa5, 0xc3,
|
||||
0x23, 0xec, 0xdb, 0xf2, 0x4b, 0x77, 0xec, 0xc8, 0x4e, 0xcb, 0x37, 0x7e, 0xa9, 0xc1, 0xea, 0xfe,
|
||||
0x11, 0x39, 0xde, 0x26, 0x9e, 0x87, 0x87, 0x91, 0x4b, 0x02, 0x6a, 0xe2, 0x67, 0x13, 0x4c, 0x23,
|
||||
0xf4, 0x1e, 0x54, 0x06, 0x36, 0xc5, 0x1d, 0x6d, 0x4d, 0xbb, 0xbf, 0xbc, 0x75, 0x6b, 0x23, 0x63,
|
||||
0x89, 0x34, 0xe1, 0x13, 0x3a, 0x7a, 0x64, 0x53, 0x6c, 0x72, 0x4e, 0x84, 0xa0, 0xe2, 0x0c, 0xfa,
|
||||
0xbd, 0x4e, 0x69, 0x4d, 0xbb, 0x5f, 0x36, 0xf9, 0x6f, 0xf4, 0x16, 0x34, 0x87, 0x89, 0xec, 0x7e,
|
||||
0x8f, 0x76, 0xca, 0x6b, 0xe5, 0xfb, 0x65, 0x33, 0x4b, 0x34, 0xfe, 0xac, 0xc1, 0x37, 0x0a, 0x66,
|
||||
0xd0, 0x31, 0x09, 0x28, 0x46, 0x0f, 0xa0, 0x4a, 0x23, 0x3b, 0x9a, 0x50, 0x69, 0xc9, 0x37, 0x95,
|
||||
0x96, 0xec, 0x73, 0x16, 0x53, 0xb2, 0x16, 0xd5, 0x96, 0x14, 0x6a, 0xd1, 0xfb, 0x70, 0xc3, 0x0d,
|
||||
0x3e, 0xc1, 0x3e, 0x09, 0x4f, 0xac, 0x31, 0x0e, 0x87, 0x38, 0x88, 0xec, 0x11, 0x8e, 0x6d, 0xbc,
|
||||
0x1e, 0xaf, 0xed, 0x4d, 0x97, 0x8c, 0x3f, 0x6a, 0xb0, 0xc2, 0x2c, 0xdd, 0xb3, 0xc3, 0xc8, 0xbd,
|
||||
0x82, 0x78, 0x19, 0xd0, 0x48, 0xdb, 0xd8, 0x29, 0xf3, 0xb5, 0x0c, 0x8d, 0xf1, 0x8c, 0x63, 0xf5,
|
||||
0xcc, 0xb7, 0x0a, 0x37, 0x37, 0x43, 0x33, 0xfe, 0x20, 0x13, 0x9b, 0xb6, 0xf3, 0x32, 0x01, 0xcd,
|
||||
0xeb, 0x2c, 0x15, 0x75, 0x5e, 0x24, 0x9c, 0x5f, 0x68, 0xb0, 0xf2, 0x31, 0xb1, 0x9d, 0x69, 0xe2,
|
||||
0xbf, 0xfa, 0x70, 0x7e, 0x1f, 0xaa, 0xe2, 0x94, 0x74, 0x2a, 0x5c, 0xd7, 0xdd, 0xac, 0x2e, 0x79,
|
||||
0x82, 0xa6, 0x16, 0xee, 0x73, 0x82, 0x29, 0x37, 0x19, 0xbf, 0xd5, 0xa0, 0x63, 0x62, 0x0f, 0xdb,
|
||||
0x14, 0xbf, 0x4a, 0x2f, 0x56, 0xa1, 0x1a, 0x10, 0x07, 0xf7, 0x7b, 0xdc, 0x8b, 0xb2, 0x29, 0xbf,
|
||||
0x8c, 0x2f, 0x65, 0x84, 0x5f, 0xf3, 0x82, 0x4d, 0x65, 0x61, 0xf1, 0x22, 0x59, 0xf8, 0x62, 0x9a,
|
||||
0x85, 0xd7, 0xdd, 0xd3, 0x69, 0xa6, 0x16, 0x33, 0x99, 0xfa, 0x19, 0xdc, 0xdc, 0x0e, 0xb1, 0x1d,
|
||||
0xe1, 0x1f, 0x33, 0x98, 0xdf, 0x3e, 0xb2, 0x83, 0x00, 0x7b, 0xb1, 0x0b, 0x79, 0xe5, 0x9a, 0x42,
|
||||
0x79, 0x07, 0x96, 0xc6, 0x21, 0x79, 0x71, 0x92, 0xd8, 0x1d, 0x7f, 0x1a, 0xbf, 0xd7, 0xa0, 0xab,
|
||||
0x92, 0x7d, 0x19, 0x44, 0xb8, 0x07, 0xed, 0x50, 0x18, 0x67, 0x0d, 0x85, 0x3c, 0xae, 0xb5, 0x6e,
|
||||
0xb6, 0x24, 0x59, 0x6a, 0x41, 0x77, 0xa1, 0x15, 0x62, 0x3a, 0xf1, 0xa6, 0x7c, 0x65, 0xce, 0xd7,
|
||||
0x14, 0x54, 0xc9, 0x66, 0xfc, 0x45, 0x83, 0x9b, 0x3b, 0x38, 0x4a, 0xb2, 0xc7, 0xd4, 0xe1, 0xd7,
|
||||
0x14, 0x5d, 0x7f, 0xa7, 0x41, 0x3b, 0x67, 0x28, 0x5a, 0x83, 0xe5, 0x14, 0x8f, 0x4c, 0x50, 0x9a,
|
||||
0x84, 0xbe, 0x07, 0x8b, 0x2c, 0x76, 0x98, 0x9b, 0xd4, 0xda, 0x32, 0x36, 0x8a, 0x97, 0xfb, 0x46,
|
||||
0x56, 0xaa, 0x29, 0x36, 0xa0, 0x4d, 0xb8, 0xae, 0x40, 0x56, 0x69, 0x3e, 0x2a, 0x02, 0xab, 0xf1,
|
||||
0x57, 0x0d, 0xba, 0xaa, 0x60, 0x5e, 0x26, 0xe1, 0x4f, 0x60, 0x35, 0xf1, 0xc6, 0x72, 0x30, 0x1d,
|
||||
0x86, 0xee, 0x98, 0x1f, 0x33, 0x7e, 0x19, 0x2c, 0x6f, 0xdd, 0x39, 0xdb, 0x1f, 0x6a, 0xae, 0x24,
|
||||
0x22, 0x7a, 0x29, 0x09, 0x86, 0x0b, 0x2b, 0x3b, 0x38, 0xda, 0xc7, 0x23, 0x1f, 0x07, 0x51, 0x3f,
|
||||
0x38, 0x24, 0x17, 0xcf, 0xfb, 0x1b, 0x00, 0x54, 0xca, 0x49, 0xee, 0xa9, 0x14, 0xc5, 0xf8, 0x47,
|
||||
0x09, 0x96, 0x53, 0x8a, 0xd0, 0x2d, 0xa8, 0x27, 0xab, 0x32, 0x6b, 0x53, 0x42, 0xa1, 0x62, 0x4a,
|
||||
0x8a, 0x8a, 0xc9, 0x65, 0xbe, 0x5c, 0xcc, 0xfc, 0x0c, 0x70, 0x46, 0x37, 0xa1, 0xe6, 0x63, 0xdf,
|
||||
0xa2, 0xee, 0x4b, 0x2c, 0xc1, 0x60, 0xc9, 0xc7, 0xfe, 0xbe, 0xfb, 0x12, 0xb3, 0xa5, 0x60, 0xe2,
|
||||
0x5b, 0x21, 0x39, 0xa6, 0x9d, 0xaa, 0x58, 0x0a, 0x26, 0xbe, 0x49, 0x8e, 0x29, 0xba, 0x0d, 0xe0,
|
||||
0x06, 0x0e, 0x7e, 0x61, 0x05, 0xb6, 0x8f, 0x3b, 0x4b, 0xfc, 0x30, 0xd5, 0x39, 0x65, 0xd7, 0xf6,
|
||||
0x31, 0x83, 0x01, 0xfe, 0xd1, 0xef, 0x75, 0x6a, 0x62, 0xa3, 0xfc, 0x64, 0xae, 0xca, 0x23, 0xd8,
|
||||
0xef, 0x75, 0xea, 0x62, 0x5f, 0x42, 0x40, 0x1f, 0x41, 0x53, 0xfa, 0x6d, 0x89, 0x32, 0x05, 0x5e,
|
||||
0xa6, 0x6b, 0xaa, 0xb4, 0xca, 0x00, 0x8a, 0x22, 0x6d, 0xd0, 0xd4, 0x17, 0x6f, 0x29, 0xf3, 0xb9,
|
||||
0xbc, 0x4c, 0xd9, 0x7d, 0x17, 0x16, 0xdd, 0xe0, 0x90, 0xc4, 0x55, 0xf6, 0xe6, 0x29, 0xe6, 0x70,
|
||||
0x65, 0x82, 0xdb, 0xf8, 0xa7, 0x06, 0xab, 0x1f, 0x3a, 0x8e, 0x0a, 0x4b, 0xcf, 0x5f, 0x53, 0xd3,
|
||||
0xfc, 0x95, 0x32, 0xf9, 0x9b, 0x07, 0x4f, 0xde, 0x81, 0x6b, 0x39, 0x9c, 0x94, 0x65, 0x50, 0x37,
|
||||
0xf5, 0x2c, 0x52, 0xf6, 0x7b, 0xe8, 0x6d, 0xd0, 0xb3, 0x58, 0x29, 0x6f, 0x89, 0xba, 0xd9, 0xce,
|
||||
0xa0, 0x65, 0xbf, 0x67, 0xfc, 0x4b, 0x83, 0x9b, 0x26, 0xf6, 0xc9, 0x73, 0xfc, 0xff, 0xeb, 0xe3,
|
||||
0xbf, 0x4b, 0xb0, 0xfa, 0x53, 0x3b, 0x1a, 0x1e, 0xf5, 0x7c, 0x49, 0xa4, 0xaf, 0xc6, 0xc1, 0xdc,
|
||||
0x11, 0xaf, 0x14, 0x8f, 0x78, 0x52, 0xa6, 0x8b, 0xaa, 0x32, 0x65, 0x0f, 0xaf, 0x8d, 0xcf, 0x62,
|
||||
0x7f, 0xa7, 0x65, 0x9a, 0x6a, 0x7b, 0xaa, 0x17, 0x68, 0x7b, 0xd0, 0x36, 0x34, 0xf1, 0x8b, 0xa1,
|
||||
0x37, 0x71, 0xb0, 0x25, 0xb4, 0x2f, 0x71, 0xed, 0x6f, 0x28, 0xb4, 0xa7, 0xcf, 0x48, 0x43, 0x6e,
|
||||
0xea, 0xf3, 0xa3, 0xf2, 0x1f, 0x0d, 0xda, 0x72, 0x95, 0x75, 0x8a, 0x73, 0xa0, 0x62, 0x2e, 0x1c,
|
||||
0xa5, 0x62, 0x38, 0xe6, 0x09, 0x6a, 0x7c, 0x43, 0x57, 0x52, 0x37, 0xf4, 0x6d, 0x80, 0x43, 0x6f,
|
||||
0x42, 0x8f, 0xac, 0xc8, 0xf5, 0x63, 0x4c, 0xac, 0x73, 0xca, 0x81, 0xeb, 0x63, 0xf4, 0x21, 0x34,
|
||||
0x06, 0x6e, 0xe0, 0x91, 0x91, 0x35, 0xb6, 0xa3, 0x23, 0x86, 0x8c, 0xb3, 0xdc, 0x7d, 0xec, 0x62,
|
||||
0xcf, 0x79, 0xc4, 0x79, 0xcd, 0x65, 0xb1, 0x67, 0x8f, 0x6d, 0x31, 0xfe, 0x54, 0x82, 0xeb, 0xcc,
|
||||
0x4d, 0xe9, 0xf1, 0x15, 0x14, 0xd4, 0xc3, 0xb8, 0x14, 0xca, 0xb3, 0xef, 0xc5, 0x5c, 0xbc, 0x8b,
|
||||
0xe5, 0x70, 0x91, 0xb7, 0x08, 0xfa, 0x11, 0xb4, 0x3c, 0x62, 0x3b, 0xd6, 0x90, 0x04, 0x0e, 0xcf,
|
||||
0x04, 0x8f, 0x60, 0x6b, 0xeb, 0x2d, 0x95, 0x09, 0x07, 0xa1, 0x3b, 0x1a, 0xe1, 0x70, 0x3b, 0xe6,
|
||||
0x35, 0x9b, 0x1e, 0x7f, 0x89, 0xc9, 0x4f, 0x8e, 0xa0, 0xb2, 0xa5, 0xbe, 0xba, 0x58, 0xc5, 0x35,
|
||||
0x50, 0x3e, 0xa5, 0x4b, 0xab, 0xcc, 0xd1, 0xa5, 0x2d, 0x2a, 0x1a, 0xed, 0x6c, 0x27, 0x50, 0x2d,
|
||||
0x74, 0x02, 0x07, 0xd0, 0x4c, 0x70, 0x85, 0x17, 0xfd, 0x1d, 0x68, 0x0a, 0xb3, 0x2c, 0x16, 0x09,
|
||||
0xec, 0xc4, 0x5d, 0xb6, 0x20, 0x7e, 0xcc, 0x69, 0x4c, 0x6a, 0x82, 0x5b, 0xe2, 0x52, 0xaa, 0x9b,
|
||||
0x29, 0x8a, 0xf1, 0x6b, 0x0d, 0xf4, 0x34, 0x22, 0x73, 0xc9, 0xf3, 0xb4, 0xef, 0xf7, 0xa0, 0x2d,
|
||||
0x07, 0x40, 0x09, 0x2c, 0xca, 0x86, 0xfa, 0x59, 0x5a, 0x5c, 0x0f, 0x7d, 0x00, 0xab, 0x82, 0xb1,
|
||||
0x00, 0xa3, 0xa2, 0xb1, 0xbe, 0xc1, 0x57, 0xcd, 0x1c, 0x96, 0xfe, 0xbd, 0x0c, 0xad, 0x69, 0xe1,
|
||||
0xcc, 0x6d, 0xd5, 0x3c, 0x0f, 0xff, 0x5d, 0xd0, 0xa7, 0x9d, 0x21, 0xef, 0x1d, 0x4e, 0xad, 0xfd,
|
||||
0x7c, 0x4f, 0xd8, 0x1e, 0xe7, 0x5a, 0xe9, 0xc7, 0xd0, 0x94, 0x3e, 0x49, 0x54, 0xab, 0x70, 0x61,
|
||||
0xdf, 0x52, 0x09, 0xcb, 0x64, 0xd0, 0x6c, 0xa4, 0x20, 0x96, 0xa2, 0x87, 0x50, 0xe7, 0xc7, 0x21,
|
||||
0x3a, 0x19, 0x63, 0x79, 0x12, 0x6e, 0xa9, 0x64, 0xb0, 0xcc, 0x1e, 0x9c, 0x8c, 0xb1, 0x59, 0xf3,
|
||||
0xe4, 0xaf, 0xcb, 0xe2, 0xf2, 0x03, 0x58, 0x09, 0xc5, 0xd1, 0x71, 0xac, 0x4c, 0xf8, 0x96, 0x78,
|
||||
0xf8, 0x6e, 0xc4, 0x8b, 0x7b, 0xe9, 0x30, 0xce, 0xe8, 0xf2, 0x6b, 0x33, 0xbb, 0xfc, 0x5f, 0x40,
|
||||
0xfb, 0x07, 0x76, 0xe0, 0x90, 0xc3, 0xc3, 0xf8, 0x80, 0x5e, 0xe0, 0x64, 0x3e, 0xcc, 0xf6, 0x57,
|
||||
0xe7, 0x40, 0x2b, 0xe3, 0x37, 0x25, 0x58, 0x65, 0xb4, 0x47, 0xb6, 0x67, 0x07, 0x43, 0x3c, 0x7f,
|
||||
0x57, 0xfd, 0xbf, 0xb9, 0x3f, 0xee, 0x40, 0x93, 0x92, 0x49, 0x38, 0xc4, 0x56, 0xa6, 0xb9, 0x6e,
|
||||
0x08, 0xe2, 0xae, 0x00, 0x98, 0xdb, 0x00, 0x0e, 0x8d, 0xac, 0xcc, 0x8b, 0xbb, 0xee, 0xd0, 0x48,
|
||||
0x2e, 0xbf, 0x09, 0xcb, 0x52, 0x86, 0x43, 0x02, 0xcc, 0x93, 0x5d, 0x33, 0x41, 0x90, 0x7a, 0x24,
|
||||
0xe0, 0x7d, 0x38, 0xdb, 0xcf, 0x57, 0x97, 0xf8, 0xea, 0x92, 0x43, 0x23, 0xbe, 0x74, 0x1b, 0xe0,
|
||||
0xb9, 0xed, 0xb9, 0x0e, 0x2f, 0x52, 0x9e, 0xa6, 0x9a, 0x59, 0xe7, 0x14, 0x16, 0x02, 0xe3, 0x6f,
|
||||
0x1a, 0xa0, 0x54, 0x74, 0x2e, 0x8e, 0x9d, 0x77, 0xa1, 0x95, 0xf1, 0x33, 0x99, 0x66, 0xa6, 0x1d,
|
||||
0xa5, 0x0c, 0xfc, 0x07, 0x42, 0x95, 0x15, 0x62, 0x9b, 0x92, 0x80, 0x07, 0x6d, 0x6e, 0xf0, 0x1f,
|
||||
0xc4, 0x66, 0xb2, 0xad, 0xeb, 0x2f, 0xa1, 0x95, 0x3d, 0xa6, 0xa8, 0x01, 0xb5, 0x5d, 0x12, 0x7d,
|
||||
0xf4, 0xc2, 0xa5, 0x91, 0xbe, 0x80, 0x5a, 0x00, 0xbb, 0x24, 0xda, 0x0b, 0x31, 0xc5, 0x41, 0xa4,
|
||||
0x6b, 0x08, 0xa0, 0xfa, 0x69, 0xd0, 0x73, 0xe9, 0xe7, 0x7a, 0x09, 0x5d, 0x97, 0x8f, 0x63, 0xdb,
|
||||
0xeb, 0xcb, 0x9a, 0xd5, 0xcb, 0x6c, 0x7b, 0xf2, 0x55, 0x41, 0x3a, 0x34, 0x12, 0x96, 0x9d, 0xbd,
|
||||
0x9f, 0xe8, 0x8b, 0xa8, 0x0e, 0x8b, 0xe2, 0x67, 0x75, 0xfd, 0x53, 0xd0, 0xf3, 0xe6, 0xa1, 0x65,
|
||||
0x58, 0x3a, 0x12, 0xa5, 0xae, 0x2f, 0xa0, 0x36, 0x2c, 0x7b, 0xd3, 0xc0, 0xea, 0x1a, 0x23, 0x8c,
|
||||
0xc2, 0xf1, 0x50, 0x86, 0x58, 0x2f, 0x31, 0x6d, 0x2c, 0x56, 0x3d, 0x72, 0x1c, 0xe8, 0xe5, 0xf5,
|
||||
0x1f, 0x42, 0x23, 0xfd, 0x60, 0x41, 0x35, 0xa8, 0xec, 0x92, 0x00, 0xeb, 0x0b, 0x4c, 0xec, 0x4e,
|
||||
0x48, 0x8e, 0xdd, 0x60, 0x24, 0x7c, 0x78, 0x1c, 0x92, 0x97, 0x38, 0xd0, 0x4b, 0x6c, 0x81, 0x62,
|
||||
0xdb, 0x63, 0x0b, 0x65, 0xb6, 0xc0, 0x3e, 0xb0, 0xa3, 0x57, 0xd6, 0xdf, 0x87, 0x5a, 0x0c, 0x17,
|
||||
0xe8, 0x1a, 0x34, 0x33, 0xa3, 0x35, 0x7d, 0x01, 0x21, 0x71, 0x03, 0x4f, 0x81, 0x41, 0xd7, 0xb6,
|
||||
0x7e, 0x05, 0x00, 0xe2, 0x46, 0x20, 0x24, 0x74, 0xd0, 0x18, 0xd0, 0x0e, 0x8e, 0xb6, 0x89, 0x3f,
|
||||
0x26, 0x41, 0x6c, 0x12, 0x45, 0xef, 0x65, 0xb3, 0x94, 0xcc, 0xf1, 0x8b, 0xac, 0xd2, 0xcb, 0xee,
|
||||
0xb7, 0x67, 0xec, 0xc8, 0xb1, 0x1b, 0x0b, 0xc8, 0xe7, 0x1a, 0x59, 0x03, 0x75, 0xe0, 0x0e, 0x3f,
|
||||
0x8f, 0xe7, 0x32, 0xa7, 0x68, 0xcc, 0xb1, 0xc6, 0x1a, 0x73, 0xd8, 0x20, 0x3f, 0xf6, 0xa3, 0xd0,
|
||||
0x0d, 0x46, 0xf1, 0x23, 0xcf, 0x58, 0x40, 0xcf, 0xe0, 0x06, 0x7b, 0x00, 0x46, 0x76, 0xe4, 0xd2,
|
||||
0xc8, 0x1d, 0xd2, 0x58, 0xe1, 0xd6, 0x6c, 0x85, 0x05, 0xe6, 0x73, 0xaa, 0xf4, 0xa0, 0x9d, 0xfb,
|
||||
0xff, 0x00, 0xad, 0x2b, 0x81, 0x4c, 0xf9, 0x5f, 0x47, 0xf7, 0x9d, 0xb9, 0x78, 0x13, 0x6d, 0x2e,
|
||||
0xb4, 0xb2, 0xb3, 0x75, 0xf4, 0xf6, 0x2c, 0x01, 0x85, 0x61, 0x64, 0x77, 0x7d, 0x1e, 0xd6, 0x44,
|
||||
0xd5, 0x13, 0x68, 0x65, 0xa7, 0xb7, 0x6a, 0x55, 0xca, 0x09, 0x6f, 0xf7, 0xb4, 0xf7, 0xb5, 0xb1,
|
||||
0x80, 0x7e, 0x0e, 0xd7, 0x0a, 0x23, 0x53, 0xf4, 0x1d, 0x95, 0xf8, 0x59, 0x93, 0xd5, 0xb3, 0x34,
|
||||
0x48, 0xeb, 0xa7, 0x51, 0x9c, 0x6d, 0x7d, 0x61, 0x76, 0x3e, 0xbf, 0xf5, 0x29, 0xf1, 0xa7, 0x59,
|
||||
0x7f, 0x6e, 0x0d, 0x13, 0x40, 0xc5, 0xa1, 0x29, 0x7a, 0x57, 0xa5, 0x62, 0xe6, 0xe0, 0xb6, 0xbb,
|
||||
0x31, 0x2f, 0x7b, 0x92, 0xf2, 0x09, 0x3f, 0xad, 0xf9, 0xf1, 0xa2, 0x52, 0xed, 0xcc, 0x79, 0xa9,
|
||||
0x5a, 0xed, 0xec, 0x89, 0xa0, 0x28, 0xea, 0xec, 0xd8, 0x46, 0x9d, 0x2b, 0xe5, 0x98, 0x4e, 0x5d,
|
||||
0xd4, 0xea, 0x29, 0x90, 0xb1, 0xb0, 0xf5, 0x65, 0x0d, 0xea, 0xdc, 0x79, 0x76, 0x75, 0x7d, 0x8d,
|
||||
0x87, 0x57, 0x80, 0x87, 0x4f, 0xa1, 0x9d, 0x1b, 0x7e, 0xa9, 0xf1, 0x50, 0x3d, 0x21, 0x3b, 0xeb,
|
||||
0x60, 0x0c, 0x00, 0x15, 0x27, 0x4f, 0xea, 0x0a, 0x9d, 0x39, 0xa1, 0x3a, 0x4b, 0xc7, 0x53, 0x68,
|
||||
0xe7, 0x26, 0x3f, 0x6a, 0x0f, 0xd4, 0xe3, 0xa1, 0xb3, 0xa4, 0x7f, 0x06, 0x8d, 0xf4, 0x0c, 0x00,
|
||||
0xdd, 0x9b, 0x05, 0x4b, 0xb9, 0x97, 0xef, 0xab, 0x07, 0xa5, 0xab, 0x07, 0xed, 0xa7, 0xd0, 0xce,
|
||||
0x3d, 0xfb, 0xd5, 0x91, 0x57, 0xcf, 0x06, 0xce, 0x92, 0xfe, 0xd5, 0xc1, 0xcc, 0xa3, 0x0f, 0x9e,
|
||||
0x6c, 0x8d, 0xdc, 0xe8, 0x68, 0x32, 0x60, 0x46, 0x6c, 0x8a, 0x9d, 0xef, 0xba, 0x44, 0xfe, 0xda,
|
||||
0x8c, 0xcf, 0xdb, 0x26, 0x17, 0xb6, 0xc9, 0x85, 0x8d, 0x07, 0x83, 0x2a, 0xff, 0x7c, 0xf0, 0xdf,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xcb, 0xb1, 0x73, 0x8e, 0x21, 0x00, 0x00,
|
||||
// 1958 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0x1b, 0x49,
|
||||
0x15, 0xf7, 0x48, 0xb2, 0x2c, 0x3d, 0xeb, 0xcf, 0xa4, 0x13, 0x1b, 0x45, 0x24, 0xbb, 0x66, 0xb2,
|
||||
0xd9, 0x64, 0xbd, 0xac, 0xbd, 0xab, 0x2c, 0x55, 0xe4, 0xc0, 0x61, 0x63, 0x6d, 0x8c, 0x60, 0xe3,
|
||||
0x35, 0x63, 0xb3, 0x14, 0xa9, 0x54, 0x0d, 0xa3, 0x99, 0xb6, 0x34, 0xb5, 0x33, 0xd3, 0xca, 0xf4,
|
||||
0x28, 0x8e, 0x73, 0xe0, 0xc4, 0x57, 0xe0, 0x04, 0x45, 0x15, 0x55, 0xfc, 0x29, 0x0e, 0x7c, 0x01,
|
||||
0x4e, 0x7b, 0xe1, 0xce, 0x17, 0x80, 0x2a, 0x0a, 0x6e, 0x1c, 0xf8, 0x0a, 0x54, 0xf7, 0xf4, 0x8c,
|
||||
0xe6, 0x4f, 0xcb, 0x56, 0x6c, 0x4c, 0x52, 0x29, 0x6e, 0xea, 0xd7, 0x6f, 0xde, 0xff, 0xfe, 0xf5,
|
||||
0xeb, 0x27, 0xb8, 0xf2, 0x74, 0x8a, 0x83, 0x13, 0xc3, 0x22, 0x24, 0xb0, 0xb7, 0x26, 0x01, 0x09,
|
||||
0x09, 0x42, 0x9e, 0xe3, 0x3e, 0x9b, 0xd2, 0x68, 0xb5, 0xc5, 0xf7, 0xbb, 0x0d, 0x8b, 0x78, 0x1e,
|
||||
0xf1, 0x23, 0x5a, 0xb7, 0x91, 0xe6, 0xe8, 0xb6, 0x1c, 0x3f, 0xc4, 0x81, 0x6f, 0xba, 0xf1, 0x2e,
|
||||
0xb5, 0xc6, 0xd8, 0x33, 0xc5, 0x4a, 0xb5, 0xcd, 0xd0, 0x4c, 0xcb, 0xd7, 0x7e, 0xa6, 0xc0, 0xfa,
|
||||
0xc1, 0x98, 0x1c, 0xef, 0x10, 0xd7, 0xc5, 0x56, 0xe8, 0x10, 0x9f, 0xea, 0xf8, 0xe9, 0x14, 0xd3,
|
||||
0x10, 0x7d, 0x08, 0x95, 0xa1, 0x49, 0x71, 0x47, 0xd9, 0x50, 0xee, 0xae, 0xf6, 0x6e, 0x6c, 0x65,
|
||||
0x2c, 0x11, 0x26, 0x3c, 0xa2, 0xa3, 0x07, 0x26, 0xc5, 0x3a, 0xe7, 0x44, 0x08, 0x2a, 0xf6, 0x70,
|
||||
0xd0, 0xef, 0x94, 0x36, 0x94, 0xbb, 0x65, 0x9d, 0xff, 0x46, 0xef, 0x40, 0xd3, 0x4a, 0x64, 0x0f,
|
||||
0xfa, 0xb4, 0x53, 0xde, 0x28, 0xdf, 0x2d, 0xeb, 0x59, 0xa2, 0xf6, 0x7b, 0x05, 0xbe, 0x56, 0x30,
|
||||
0x83, 0x4e, 0x88, 0x4f, 0x31, 0xba, 0x07, 0x55, 0x1a, 0x9a, 0xe1, 0x94, 0x0a, 0x4b, 0xbe, 0x2e,
|
||||
0xb5, 0xe4, 0x80, 0xb3, 0xe8, 0x82, 0xb5, 0xa8, 0xb6, 0x24, 0x51, 0x8b, 0x3e, 0x82, 0x6b, 0x8e,
|
||||
0xff, 0x08, 0x7b, 0x24, 0x38, 0x31, 0x26, 0x38, 0xb0, 0xb0, 0x1f, 0x9a, 0x23, 0x1c, 0xdb, 0x78,
|
||||
0x35, 0xde, 0xdb, 0x9f, 0x6d, 0x69, 0xbf, 0x55, 0x60, 0x8d, 0x59, 0xba, 0x6f, 0x06, 0xa1, 0x73,
|
||||
0x09, 0xf1, 0xd2, 0xa0, 0x91, 0xb6, 0xb1, 0x53, 0xe6, 0x7b, 0x19, 0x1a, 0xe3, 0x99, 0xc4, 0xea,
|
||||
0x99, 0x6f, 0x15, 0x6e, 0x6e, 0x86, 0xa6, 0xfd, 0x46, 0x24, 0x36, 0x6d, 0xe7, 0x45, 0x02, 0x9a,
|
||||
0xd7, 0x59, 0x2a, 0xea, 0x3c, 0x4f, 0x38, 0xbf, 0x52, 0x60, 0xed, 0x33, 0x62, 0xda, 0xb3, 0xc4,
|
||||
0xff, 0xef, 0xc3, 0xf9, 0x1d, 0xa8, 0x46, 0xa7, 0xa4, 0x53, 0xe1, 0xba, 0x6e, 0x67, 0x75, 0x89,
|
||||
0x13, 0x34, 0xb3, 0xf0, 0x80, 0x13, 0x74, 0xf1, 0x91, 0xf6, 0x4b, 0x05, 0x3a, 0x3a, 0x76, 0xb1,
|
||||
0x49, 0xf1, 0xab, 0xf4, 0x62, 0x1d, 0xaa, 0x3e, 0xb1, 0xf1, 0xa0, 0xcf, 0xbd, 0x28, 0xeb, 0x62,
|
||||
0xa5, 0xfd, 0x53, 0x44, 0xf8, 0x35, 0x2f, 0xd8, 0x54, 0x16, 0x96, 0xcf, 0x93, 0x85, 0xaf, 0x66,
|
||||
0x59, 0x78, 0xdd, 0x3d, 0x9d, 0x65, 0x6a, 0x39, 0x93, 0xa9, 0x1f, 0xc3, 0xf5, 0x9d, 0x00, 0x9b,
|
||||
0x21, 0xfe, 0x01, 0x83, 0xf9, 0x9d, 0xb1, 0xe9, 0xfb, 0xd8, 0x8d, 0x5d, 0xc8, 0x2b, 0x57, 0x24,
|
||||
0xca, 0x3b, 0xb0, 0x32, 0x09, 0xc8, 0xf3, 0x93, 0xc4, 0xee, 0x78, 0xa9, 0xfd, 0x5a, 0x81, 0xae,
|
||||
0x4c, 0xf6, 0x45, 0x10, 0xe1, 0x0e, 0xb4, 0x83, 0xc8, 0x38, 0xc3, 0x8a, 0xe4, 0x71, 0xad, 0x75,
|
||||
0xbd, 0x25, 0xc8, 0x42, 0x0b, 0xba, 0x0d, 0xad, 0x00, 0xd3, 0xa9, 0x3b, 0xe3, 0x2b, 0x73, 0xbe,
|
||||
0x66, 0x44, 0x15, 0x6c, 0xda, 0x1f, 0x14, 0xb8, 0xbe, 0x8b, 0xc3, 0x24, 0x7b, 0x4c, 0x1d, 0x7e,
|
||||
0x4d, 0xd1, 0xf5, 0x57, 0x0a, 0xb4, 0x73, 0x86, 0xa2, 0x0d, 0x58, 0x4d, 0xf1, 0x88, 0x04, 0xa5,
|
||||
0x49, 0xe8, 0xdb, 0xb0, 0xcc, 0x62, 0x87, 0xb9, 0x49, 0xad, 0x9e, 0xb6, 0x55, 0xbc, 0xdc, 0xb7,
|
||||
0xb2, 0x52, 0xf5, 0xe8, 0x03, 0xb4, 0x0d, 0x57, 0x25, 0xc8, 0x2a, 0xcc, 0x47, 0x45, 0x60, 0xd5,
|
||||
0xfe, 0xa8, 0x40, 0x57, 0x16, 0xcc, 0x8b, 0x24, 0xfc, 0x31, 0xac, 0x27, 0xde, 0x18, 0x36, 0xa6,
|
||||
0x56, 0xe0, 0x4c, 0xf8, 0x31, 0xe3, 0x97, 0xc1, 0x6a, 0xef, 0xd6, 0xd9, 0xfe, 0x50, 0x7d, 0x2d,
|
||||
0x11, 0xd1, 0x4f, 0x49, 0xd0, 0x1c, 0x58, 0xdb, 0xc5, 0xe1, 0x01, 0x1e, 0x79, 0xd8, 0x0f, 0x07,
|
||||
0xfe, 0x11, 0x39, 0x7f, 0xde, 0xdf, 0x02, 0xa0, 0x42, 0x4e, 0x72, 0x4f, 0xa5, 0x28, 0xda, 0x5f,
|
||||
0x4b, 0xb0, 0x9a, 0x52, 0x84, 0x6e, 0x40, 0x3d, 0xd9, 0x15, 0x59, 0x9b, 0x11, 0x0a, 0x15, 0x53,
|
||||
0x92, 0x54, 0x4c, 0x2e, 0xf3, 0xe5, 0x62, 0xe6, 0xe7, 0x80, 0x33, 0xba, 0x0e, 0x35, 0x0f, 0x7b,
|
||||
0x06, 0x75, 0x5e, 0x60, 0x01, 0x06, 0x2b, 0x1e, 0xf6, 0x0e, 0x9c, 0x17, 0x98, 0x6d, 0xf9, 0x53,
|
||||
0xcf, 0x08, 0xc8, 0x31, 0xed, 0x54, 0xa3, 0x2d, 0x7f, 0xea, 0xe9, 0xe4, 0x98, 0xa2, 0x9b, 0x00,
|
||||
0x8e, 0x6f, 0xe3, 0xe7, 0x86, 0x6f, 0x7a, 0xb8, 0xb3, 0xc2, 0x0f, 0x53, 0x9d, 0x53, 0xf6, 0x4c,
|
||||
0x0f, 0x33, 0x18, 0xe0, 0x8b, 0x41, 0xbf, 0x53, 0x8b, 0x3e, 0x14, 0x4b, 0xe6, 0xaa, 0x38, 0x82,
|
||||
0x83, 0x7e, 0xa7, 0x1e, 0x7d, 0x97, 0x10, 0xd0, 0xa7, 0xd0, 0x14, 0x7e, 0x1b, 0x51, 0x99, 0x02,
|
||||
0x2f, 0xd3, 0x0d, 0x59, 0x5a, 0x45, 0x00, 0xa3, 0x22, 0x6d, 0xd0, 0xd4, 0x8a, 0xb7, 0x94, 0xf9,
|
||||
0x5c, 0x5e, 0xa4, 0xec, 0xbe, 0x05, 0xcb, 0x8e, 0x7f, 0x44, 0xe2, 0x2a, 0x7b, 0xfb, 0x14, 0x73,
|
||||
0xb8, 0xb2, 0x88, 0x5b, 0xfb, 0x9b, 0x02, 0xeb, 0x9f, 0xd8, 0xb6, 0x0c, 0x4b, 0x5f, 0xbe, 0xa6,
|
||||
0x66, 0xf9, 0x2b, 0x65, 0xf2, 0xb7, 0x08, 0x9e, 0xbc, 0x0f, 0x57, 0x72, 0x38, 0x29, 0xca, 0xa0,
|
||||
0xae, 0xab, 0x59, 0xa4, 0x1c, 0xf4, 0xd1, 0x7b, 0xa0, 0x66, 0xb1, 0x52, 0xdc, 0x12, 0x75, 0xbd,
|
||||
0x9d, 0x41, 0xcb, 0x41, 0x5f, 0xfb, 0xbb, 0x02, 0xd7, 0x75, 0xec, 0x91, 0x67, 0xf8, 0xcd, 0xf5,
|
||||
0xf1, 0x1f, 0x25, 0x58, 0xff, 0x91, 0x19, 0x5a, 0xe3, 0xbe, 0x27, 0x88, 0xf4, 0xd5, 0x38, 0x98,
|
||||
0x3b, 0xe2, 0x95, 0xe2, 0x11, 0x4f, 0xca, 0x74, 0x59, 0x56, 0xa6, 0xec, 0xe1, 0xb5, 0xf5, 0x45,
|
||||
0xec, 0xef, 0xac, 0x4c, 0x53, 0x6d, 0x4f, 0xf5, 0x1c, 0x6d, 0x0f, 0xda, 0x81, 0x26, 0x7e, 0x6e,
|
||||
0xb9, 0x53, 0x1b, 0x1b, 0x91, 0xf6, 0x15, 0xae, 0xfd, 0x2d, 0x89, 0xf6, 0xf4, 0x19, 0x69, 0x88,
|
||||
0x8f, 0x06, 0xfc, 0xa8, 0xfc, 0x4b, 0x81, 0xb6, 0xd8, 0x65, 0x9d, 0xe2, 0x02, 0xa8, 0x98, 0x0b,
|
||||
0x47, 0xa9, 0x18, 0x8e, 0x45, 0x82, 0x1a, 0xdf, 0xd0, 0x95, 0xd4, 0x0d, 0x7d, 0x13, 0xe0, 0xc8,
|
||||
0x9d, 0xd2, 0xb1, 0x11, 0x3a, 0x5e, 0x8c, 0x89, 0x75, 0x4e, 0x39, 0x74, 0x3c, 0x8c, 0x3e, 0x81,
|
||||
0xc6, 0xd0, 0xf1, 0x5d, 0x32, 0x32, 0x26, 0x66, 0x38, 0x66, 0xc8, 0x38, 0xcf, 0xdd, 0x87, 0x0e,
|
||||
0x76, 0xed, 0x07, 0x9c, 0x57, 0x5f, 0x8d, 0xbe, 0xd9, 0x67, 0x9f, 0x68, 0xbf, 0x2b, 0xc1, 0x55,
|
||||
0xe6, 0xa6, 0xf0, 0xf8, 0x12, 0x0a, 0xea, 0x7e, 0x5c, 0x0a, 0xe5, 0xf9, 0xf7, 0x62, 0x2e, 0xde,
|
||||
0xc5, 0x72, 0x38, 0xcf, 0x5b, 0x04, 0x7d, 0x1f, 0x5a, 0x2e, 0x31, 0x6d, 0xc3, 0x22, 0xbe, 0xcd,
|
||||
0x33, 0xc1, 0x23, 0xd8, 0xea, 0xbd, 0x23, 0x33, 0xe1, 0x30, 0x70, 0x46, 0x23, 0x1c, 0xec, 0xc4,
|
||||
0xbc, 0x7a, 0xd3, 0xe5, 0x2f, 0x31, 0xb1, 0xe4, 0x08, 0x2a, 0x5a, 0xea, 0xcb, 0x8b, 0x55, 0x5c,
|
||||
0x03, 0xe5, 0x53, 0xba, 0xb4, 0xca, 0x02, 0x5d, 0xda, 0xb2, 0xa4, 0xd1, 0xce, 0x76, 0x02, 0xd5,
|
||||
0x42, 0x27, 0x70, 0x08, 0xcd, 0x04, 0x57, 0x78, 0xd1, 0xdf, 0x82, 0x66, 0x64, 0x96, 0xc1, 0x22,
|
||||
0x81, 0xed, 0xb8, 0xcb, 0x8e, 0x88, 0x9f, 0x71, 0x1a, 0x93, 0x9a, 0xe0, 0x56, 0x74, 0x29, 0xd5,
|
||||
0xf5, 0x14, 0x45, 0xfb, 0xb9, 0x02, 0x6a, 0x1a, 0x91, 0xb9, 0xe4, 0x45, 0xda, 0xf7, 0x3b, 0xd0,
|
||||
0x16, 0x03, 0xa0, 0x04, 0x16, 0x45, 0x43, 0xfd, 0x34, 0x2d, 0xae, 0x8f, 0x3e, 0x86, 0xf5, 0x88,
|
||||
0xb1, 0x00, 0xa3, 0x51, 0x63, 0x7d, 0x8d, 0xef, 0xea, 0x39, 0x2c, 0xfd, 0x4b, 0x19, 0x5a, 0xb3,
|
||||
0xc2, 0x59, 0xd8, 0xaa, 0x45, 0x1e, 0xfe, 0x7b, 0xa0, 0xce, 0x3a, 0x43, 0xde, 0x3b, 0x9c, 0x5a,
|
||||
0xfb, 0xf9, 0x9e, 0xb0, 0x3d, 0xc9, 0xb5, 0xd2, 0x0f, 0xa1, 0x29, 0x7c, 0x12, 0xa8, 0x56, 0xe1,
|
||||
0xc2, 0xbe, 0x21, 0x13, 0x96, 0xc9, 0xa0, 0xde, 0x48, 0x41, 0x2c, 0x45, 0xf7, 0xa1, 0xce, 0x8f,
|
||||
0x43, 0x78, 0x32, 0xc1, 0xe2, 0x24, 0xdc, 0x90, 0xc9, 0x60, 0x99, 0x3d, 0x3c, 0x99, 0x60, 0xbd,
|
||||
0xe6, 0x8a, 0x5f, 0x17, 0xc5, 0xe5, 0x7b, 0xb0, 0x16, 0x44, 0x47, 0xc7, 0x36, 0x32, 0xe1, 0x5b,
|
||||
0xe1, 0xe1, 0xbb, 0x16, 0x6f, 0xee, 0xa7, 0xc3, 0x38, 0xa7, 0xcb, 0xaf, 0xcd, 0xed, 0xf2, 0x7f,
|
||||
0x0a, 0xed, 0xef, 0x9a, 0xbe, 0x4d, 0x8e, 0x8e, 0xe2, 0x03, 0x7a, 0x8e, 0x93, 0x79, 0x3f, 0xdb,
|
||||
0x5f, 0xbd, 0x04, 0x5a, 0x69, 0xbf, 0x28, 0xc1, 0x3a, 0xa3, 0x3d, 0x30, 0x5d, 0xd3, 0xb7, 0xf0,
|
||||
0xe2, 0x5d, 0xf5, 0x7f, 0xe7, 0xfe, 0xb8, 0x05, 0x4d, 0x4a, 0xa6, 0x81, 0x85, 0x8d, 0x4c, 0x73,
|
||||
0xdd, 0x88, 0x88, 0x7b, 0x11, 0xc0, 0xdc, 0x04, 0xb0, 0x69, 0x68, 0x64, 0x5e, 0xdc, 0x75, 0x9b,
|
||||
0x86, 0x62, 0xfb, 0x6d, 0x58, 0x15, 0x32, 0x6c, 0xe2, 0x63, 0x9e, 0xec, 0x9a, 0x0e, 0x11, 0xa9,
|
||||
0x4f, 0x7c, 0xde, 0x87, 0xb3, 0xef, 0xf9, 0xee, 0x0a, 0xdf, 0x5d, 0xb1, 0x69, 0xc8, 0xb7, 0x6e,
|
||||
0x02, 0x3c, 0x33, 0x5d, 0xc7, 0xe6, 0x45, 0xca, 0xd3, 0x54, 0xd3, 0xeb, 0x9c, 0xc2, 0x42, 0xa0,
|
||||
0xfd, 0x49, 0x01, 0x94, 0x8a, 0xce, 0xf9, 0xb1, 0xf3, 0x36, 0xb4, 0x32, 0x7e, 0x26, 0xd3, 0xcc,
|
||||
0xb4, 0xa3, 0x94, 0x81, 0xff, 0x30, 0x52, 0x65, 0x04, 0xd8, 0xa4, 0xc4, 0xe7, 0x41, 0x5b, 0x18,
|
||||
0xfc, 0x87, 0xb1, 0x99, 0xec, 0xd3, 0xcd, 0x17, 0xd0, 0xca, 0x1e, 0x53, 0xd4, 0x80, 0xda, 0x1e,
|
||||
0x09, 0x3f, 0x7d, 0xee, 0xd0, 0x50, 0x5d, 0x42, 0x2d, 0x80, 0x3d, 0x12, 0xee, 0x07, 0x98, 0x62,
|
||||
0x3f, 0x54, 0x15, 0x04, 0x50, 0xfd, 0xdc, 0xef, 0x3b, 0xf4, 0x4b, 0xb5, 0x84, 0xae, 0x8a, 0xc7,
|
||||
0xb1, 0xe9, 0x0e, 0x44, 0xcd, 0xaa, 0x65, 0xf6, 0x79, 0xb2, 0xaa, 0x20, 0x15, 0x1a, 0x09, 0xcb,
|
||||
0xee, 0xfe, 0x0f, 0xd5, 0x65, 0x54, 0x87, 0xe5, 0xe8, 0x67, 0x75, 0xf3, 0x73, 0x50, 0xf3, 0xe6,
|
||||
0xa1, 0x55, 0x58, 0x19, 0x47, 0xa5, 0xae, 0x2e, 0xa1, 0x36, 0xac, 0xba, 0xb3, 0xc0, 0xaa, 0x0a,
|
||||
0x23, 0x8c, 0x82, 0x89, 0x25, 0x42, 0xac, 0x96, 0x98, 0x36, 0x16, 0xab, 0x3e, 0x39, 0xf6, 0xd5,
|
||||
0xf2, 0xe6, 0xf7, 0xa0, 0x91, 0x7e, 0xb0, 0xa0, 0x1a, 0x54, 0xf6, 0x88, 0x8f, 0xd5, 0x25, 0x26,
|
||||
0x76, 0x37, 0x20, 0xc7, 0x8e, 0x3f, 0x8a, 0x7c, 0x78, 0x18, 0x90, 0x17, 0xd8, 0x57, 0x4b, 0x6c,
|
||||
0x83, 0x62, 0xd3, 0x65, 0x1b, 0x65, 0xb6, 0xc1, 0x16, 0xd8, 0x56, 0x2b, 0x9b, 0x1f, 0x41, 0x2d,
|
||||
0x86, 0x0b, 0x74, 0x05, 0x9a, 0x99, 0xd1, 0x9a, 0xba, 0x84, 0x50, 0x74, 0x03, 0xcf, 0x80, 0x41,
|
||||
0x55, 0x7a, 0xff, 0x06, 0x80, 0xe8, 0x46, 0x20, 0x24, 0xb0, 0xd1, 0x04, 0xd0, 0x2e, 0x0e, 0x77,
|
||||
0x88, 0x37, 0x21, 0x7e, 0x6c, 0x12, 0x45, 0x1f, 0x66, 0xb3, 0x94, 0xcc, 0xf1, 0x8b, 0xac, 0xc2,
|
||||
0xcb, 0xee, 0xbb, 0x73, 0xbe, 0xc8, 0xb1, 0x6b, 0x4b, 0xc8, 0xe3, 0x1a, 0x59, 0x03, 0x75, 0xe8,
|
||||
0x58, 0x5f, 0xc6, 0x73, 0x99, 0x53, 0x34, 0xe6, 0x58, 0x63, 0x8d, 0x39, 0x6c, 0x10, 0x8b, 0x83,
|
||||
0x30, 0x70, 0xfc, 0x51, 0xfc, 0xc8, 0xd3, 0x96, 0xd0, 0x53, 0xb8, 0xc6, 0x1e, 0x80, 0xa1, 0x19,
|
||||
0x3a, 0x34, 0x74, 0x2c, 0x1a, 0x2b, 0xec, 0xcd, 0x57, 0x58, 0x60, 0x7e, 0x49, 0x95, 0x2e, 0xb4,
|
||||
0x73, 0xff, 0x1f, 0xa0, 0x4d, 0x29, 0x90, 0x49, 0xff, 0xeb, 0xe8, 0xbe, 0xbf, 0x10, 0x6f, 0xa2,
|
||||
0xcd, 0x81, 0x56, 0x76, 0xb6, 0x8e, 0xde, 0x9b, 0x27, 0xa0, 0x30, 0x8c, 0xec, 0x6e, 0x2e, 0xc2,
|
||||
0x9a, 0xa8, 0x7a, 0x0c, 0xad, 0xec, 0xf4, 0x56, 0xae, 0x4a, 0x3a, 0xe1, 0xed, 0x9e, 0xf6, 0xbe,
|
||||
0xd6, 0x96, 0xd0, 0x4f, 0xe0, 0x4a, 0x61, 0x64, 0x8a, 0xbe, 0x29, 0x13, 0x3f, 0x6f, 0xb2, 0x7a,
|
||||
0x96, 0x06, 0x61, 0xfd, 0x2c, 0x8a, 0xf3, 0xad, 0x2f, 0xcc, 0xce, 0x17, 0xb7, 0x3e, 0x25, 0xfe,
|
||||
0x34, 0xeb, 0x5f, 0x5a, 0xc3, 0x14, 0x50, 0x71, 0x68, 0x8a, 0x3e, 0x90, 0xa9, 0x98, 0x3b, 0xb8,
|
||||
0xed, 0x6e, 0x2d, 0xca, 0x9e, 0xa4, 0x7c, 0xca, 0x4f, 0x6b, 0x7e, 0xbc, 0x28, 0x55, 0x3b, 0x77,
|
||||
0x5e, 0x2a, 0x57, 0x3b, 0x7f, 0x22, 0x18, 0x15, 0x75, 0x76, 0x6c, 0x23, 0xcf, 0x95, 0x74, 0x4c,
|
||||
0x27, 0x2f, 0x6a, 0xf9, 0x14, 0x48, 0x5b, 0x42, 0x06, 0xc0, 0x2e, 0x0e, 0x1f, 0xe1, 0x30, 0x70,
|
||||
0x2c, 0x8a, 0xde, 0x95, 0x1e, 0xf1, 0x19, 0x43, 0xac, 0xe3, 0xce, 0x99, 0x7c, 0xb1, 0x82, 0xde,
|
||||
0x9f, 0xeb, 0x50, 0xe7, 0xd1, 0x65, 0x77, 0xe3, 0xff, 0x01, 0xf7, 0x12, 0x00, 0xf7, 0x09, 0xb4,
|
||||
0x73, 0xd3, 0x35, 0x39, 0xe0, 0xca, 0x47, 0x70, 0x67, 0x9d, 0xbc, 0x21, 0xa0, 0xe2, 0x68, 0x4b,
|
||||
0x7e, 0x04, 0xe6, 0x8e, 0xc0, 0xce, 0xd2, 0xf1, 0x04, 0xda, 0xb9, 0xd1, 0x92, 0xdc, 0x03, 0xf9,
|
||||
0xfc, 0xe9, 0x2c, 0xe9, 0x5f, 0x40, 0x23, 0x3d, 0x64, 0x40, 0x77, 0xe6, 0xe1, 0x5e, 0xee, 0x69,
|
||||
0xfd, 0xea, 0x51, 0xef, 0xf2, 0x6f, 0x85, 0x27, 0xd0, 0xce, 0xcd, 0x15, 0xe4, 0x91, 0x97, 0x0f,
|
||||
0x1f, 0xce, 0x92, 0xfe, 0x06, 0xe1, 0xd8, 0x83, 0x8f, 0x1f, 0xf7, 0x46, 0x4e, 0x38, 0x9e, 0x0e,
|
||||
0x99, 0x97, 0xdb, 0x11, 0xe7, 0x07, 0x0e, 0x11, 0xbf, 0xb6, 0xe3, 0x03, 0xbd, 0xcd, 0x25, 0x6d,
|
||||
0x73, 0x6b, 0x27, 0xc3, 0x61, 0x95, 0x2f, 0xef, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x92, 0x29,
|
||||
0x0a, 0x06, 0x50, 0x22, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
@ -2169,6 +2171,8 @@ type QueryCoordClient interface {
|
|||
CreateQueryChannel(ctx context.Context, in *CreateQueryChannelRequest, opts ...grpc.CallOption) (*CreateQueryChannelResponse, error)
|
||||
GetPartitionStates(ctx context.Context, in *GetPartitionStatesRequest, opts ...grpc.CallOption) (*GetPartitionStatesResponse, error)
|
||||
GetSegmentInfo(ctx context.Context, in *GetSegmentInfoRequest, opts ...grpc.CallOption) (*GetSegmentInfoResponse, error)
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
type queryCoordClient struct {
|
||||
|
@ -2287,6 +2291,15 @@ func (c *queryCoordClient) GetSegmentInfo(ctx context.Context, in *GetSegmentInf
|
|||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryCoordClient) GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) {
|
||||
out := new(milvuspb.GetMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/GetMetrics", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// QueryCoordServer is the server API for QueryCoord service.
|
||||
type QueryCoordServer interface {
|
||||
GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error)
|
||||
|
@ -2301,6 +2314,8 @@ type QueryCoordServer interface {
|
|||
CreateQueryChannel(context.Context, *CreateQueryChannelRequest) (*CreateQueryChannelResponse, error)
|
||||
GetPartitionStates(context.Context, *GetPartitionStatesRequest) (*GetPartitionStatesResponse, error)
|
||||
GetSegmentInfo(context.Context, *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error)
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
GetMetrics(context.Context, *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedQueryCoordServer can be embedded to have forward compatible implementations.
|
||||
|
@ -2343,6 +2358,9 @@ func (*UnimplementedQueryCoordServer) GetPartitionStates(ctx context.Context, re
|
|||
func (*UnimplementedQueryCoordServer) GetSegmentInfo(ctx context.Context, req *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetSegmentInfo not implemented")
|
||||
}
|
||||
func (*UnimplementedQueryCoordServer) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented")
|
||||
}
|
||||
|
||||
func RegisterQueryCoordServer(s *grpc.Server, srv QueryCoordServer) {
|
||||
s.RegisterService(&_QueryCoord_serviceDesc, srv)
|
||||
|
@ -2564,6 +2582,24 @@ func _QueryCoord_GetSegmentInfo_Handler(srv interface{}, ctx context.Context, de
|
|||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _QueryCoord_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(milvuspb.GetMetricsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(QueryCoordServer).GetMetrics(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/milvus.proto.query.QueryCoord/GetMetrics",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(QueryCoordServer).GetMetrics(ctx, req.(*milvuspb.GetMetricsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _QueryCoord_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "milvus.proto.query.QueryCoord",
|
||||
HandlerType: (*QueryCoordServer)(nil),
|
||||
|
@ -2616,6 +2652,10 @@ var _QueryCoord_serviceDesc = grpc.ServiceDesc{
|
|||
MethodName: "GetSegmentInfo",
|
||||
Handler: _QueryCoord_GetSegmentInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetMetrics",
|
||||
Handler: _QueryCoord_GetMetrics_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "query_coord.proto",
|
||||
|
@ -2636,6 +2676,8 @@ type QueryNodeClient interface {
|
|||
ReleasePartitions(ctx context.Context, in *ReleasePartitionsRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
|
||||
ReleaseSegments(ctx context.Context, in *ReleaseSegmentsRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
|
||||
GetSegmentInfo(ctx context.Context, in *GetSegmentInfoRequest, opts ...grpc.CallOption) (*GetSegmentInfoResponse, error)
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
type queryNodeClient struct {
|
||||
|
@ -2745,6 +2787,15 @@ func (c *queryNodeClient) GetSegmentInfo(ctx context.Context, in *GetSegmentInfo
|
|||
return out, nil
|
||||
}
|
||||
|
||||
func (c *queryNodeClient) GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) {
|
||||
out := new(milvuspb.GetMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryNode/GetMetrics", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// QueryNodeServer is the server API for QueryNode service.
|
||||
type QueryNodeServer interface {
|
||||
GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error)
|
||||
|
@ -2758,6 +2809,8 @@ type QueryNodeServer interface {
|
|||
ReleasePartitions(context.Context, *ReleasePartitionsRequest) (*commonpb.Status, error)
|
||||
ReleaseSegments(context.Context, *ReleaseSegmentsRequest) (*commonpb.Status, error)
|
||||
GetSegmentInfo(context.Context, *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error)
|
||||
// https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy
|
||||
GetMetrics(context.Context, *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedQueryNodeServer can be embedded to have forward compatible implementations.
|
||||
|
@ -2797,6 +2850,9 @@ func (*UnimplementedQueryNodeServer) ReleaseSegments(ctx context.Context, req *R
|
|||
func (*UnimplementedQueryNodeServer) GetSegmentInfo(ctx context.Context, req *GetSegmentInfoRequest) (*GetSegmentInfoResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetSegmentInfo not implemented")
|
||||
}
|
||||
func (*UnimplementedQueryNodeServer) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented")
|
||||
}
|
||||
|
||||
func RegisterQueryNodeServer(s *grpc.Server, srv QueryNodeServer) {
|
||||
s.RegisterService(&_QueryNode_serviceDesc, srv)
|
||||
|
@ -3000,6 +3056,24 @@ func _QueryNode_GetSegmentInfo_Handler(srv interface{}, ctx context.Context, dec
|
|||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _QueryNode_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(milvuspb.GetMetricsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(QueryNodeServer).GetMetrics(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/milvus.proto.query.QueryNode/GetMetrics",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(QueryNodeServer).GetMetrics(ctx, req.(*milvuspb.GetMetricsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _QueryNode_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "milvus.proto.query.QueryNode",
|
||||
HandlerType: (*QueryNodeServer)(nil),
|
||||
|
@ -3048,6 +3122,10 @@ var _QueryNode_serviceDesc = grpc.ServiceDesc{
|
|||
MethodName: "GetSegmentInfo",
|
||||
Handler: _QueryNode_GetSegmentInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetMetrics",
|
||||
Handler: _QueryNode_GetMetrics_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "query_coord.proto",
|
||||
|
|
|
@ -20,6 +20,8 @@ import (
|
|||
"strconv"
|
||||
"sync"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/proto/milvuspb"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
"go.uber.org/zap"
|
||||
|
||||
|
@ -347,6 +349,27 @@ func (c *queryNodeCluster) getSegmentInfo(ctx context.Context, in *querypb.GetSe
|
|||
return segmentInfos, nil
|
||||
}
|
||||
|
||||
type queryNodeGetMetricsResponse struct {
|
||||
resp *milvuspb.GetMetricsResponse
|
||||
err error
|
||||
}
|
||||
|
||||
func (c *queryNodeCluster) getMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest) []queryNodeGetMetricsResponse {
|
||||
c.RLock()
|
||||
defer c.RUnlock()
|
||||
|
||||
ret := make([]queryNodeGetMetricsResponse, 0, len(c.nodes))
|
||||
for _, node := range c.nodes {
|
||||
resp, err := node.getMetrics(ctx, in)
|
||||
ret = append(ret, queryNodeGetMetricsResponse{
|
||||
resp: resp,
|
||||
err: err,
|
||||
})
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
func (c *queryNodeCluster) getNumDmChannels(nodeID int64) (int, error) {
|
||||
c.RLock()
|
||||
defer c.RUnlock()
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querycoord
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
)
|
||||
|
||||
func TestQueryNodeCluster_getMetrics(t *testing.T) {
|
||||
log.Info("TestQueryNodeCluster_getMetrics, todo")
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querycoord
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func errQueryNodeIsNotOnService(id UniqueID) error {
|
||||
return fmt.Errorf("query node %d is not on service", id)
|
||||
}
|
||||
|
||||
func msgQueryCoordIsUnhealthy(coordID UniqueID) string {
|
||||
return fmt.Sprintf("QueryCoord %d is not ready", coordID)
|
||||
}
|
||||
|
||||
func errQueryCoordIsUnhealthy(coordID UniqueID) error {
|
||||
return errors.New(msgQueryCoordIsUnhealthy(coordID))
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querycoord
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func TestErrQueryNodeIsNotOnService(t *testing.T) {
|
||||
queryNodeIDList := []UniqueID{
|
||||
1,
|
||||
}
|
||||
|
||||
for _, id := range queryNodeIDList {
|
||||
log.Info("TestErrQueryNodeIsNotOnService",
|
||||
zap.Error(errQueryNodeIsNotOnService(id)))
|
||||
}
|
||||
}
|
||||
|
||||
func TestMsgQueryCoordIsUnhealthy(t *testing.T) {
|
||||
nodeIDList := []UniqueID{1, 2, 3}
|
||||
for _, nodeID := range nodeIDList {
|
||||
log.Info("TestMsgQueryCoordIsUnhealthy", zap.String("msg", msgQueryCoordIsUnhealthy(nodeID)))
|
||||
}
|
||||
}
|
||||
|
||||
func TestErrQueryCoordIsUnhealthy(t *testing.T) {
|
||||
nodeIDList := []UniqueID{1, 2, 3}
|
||||
for _, nodeID := range nodeIDList {
|
||||
log.Info("TestErrQueryCoordIsUnhealthy", zap.Error(errQueryCoordIsUnhealthy(nodeID)))
|
||||
}
|
||||
}
|
|
@ -16,6 +16,8 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/util/metricsinfo"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
|
@ -500,3 +502,74 @@ func (qc *QueryCoord) GetSegmentInfo(ctx context.Context, req *querypb.GetSegmen
|
|||
Infos: segmentInfos,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (qc *QueryCoord) isHealthy() bool {
|
||||
code := qc.stateCode.Load().(internalpb.StateCode)
|
||||
return code == internalpb.StateCode_Healthy
|
||||
}
|
||||
|
||||
func (qc *QueryCoord) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
log.Debug("QueryCoord.GetMetrics",
|
||||
zap.Int64("node_id", Params.QueryCoordID),
|
||||
zap.String("req", req.Request))
|
||||
|
||||
if !qc.isHealthy() {
|
||||
log.Warn("QueryCoord.GetMetrics failed",
|
||||
zap.Int64("node_id", Params.QueryCoordID),
|
||||
zap.String("req", req.Request),
|
||||
zap.Error(errQueryCoordIsUnhealthy(Params.QueryCoordID)))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: msgQueryCoordIsUnhealthy(Params.QueryCoordID),
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
metricType, err := metricsinfo.ParseMetricType(req.Request)
|
||||
if err != nil {
|
||||
log.Warn("QueryCoord.GetMetrics failed to parse metric type",
|
||||
zap.Int64("node_id", Params.QueryCoordID),
|
||||
zap.String("req", req.Request),
|
||||
zap.Error(err))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: err.Error(),
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
log.Debug("QueryCoord.GetMetrics",
|
||||
zap.String("metric_type", metricType))
|
||||
|
||||
if metricType == metricsinfo.SystemInfoMetrics {
|
||||
metrics, err := getSystemInfoMetrics(ctx, req, qc)
|
||||
|
||||
log.Debug("QueryCoord.GetMetrics",
|
||||
zap.Int64("node_id", Params.QueryCoordID),
|
||||
zap.String("req", req.Request),
|
||||
zap.String("metric_type", metricType),
|
||||
zap.Any("metrics", metrics), // TODO(dragondriver): necessary? may be very large
|
||||
zap.Error(err))
|
||||
|
||||
return metrics, err
|
||||
}
|
||||
|
||||
log.Debug("QueryCoord.GetMetrics failed, request metric type is not implemented yet",
|
||||
zap.Int64("node_id", Params.QueryCoordID),
|
||||
zap.String("req", req.Request),
|
||||
zap.String("metric_type", metricType))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: metricsinfo.MsgUnimplementedMetric,
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querycoord
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/proto/commonpb"
|
||||
"github.com/milvus-io/milvus/internal/proto/milvuspb"
|
||||
"github.com/milvus-io/milvus/internal/util/metricsinfo"
|
||||
"github.com/milvus-io/milvus/internal/util/typeutil"
|
||||
)
|
||||
|
||||
// TODO(dragondriver): add more detail metrics
|
||||
func getSystemInfoMetrics(
|
||||
ctx context.Context,
|
||||
req *milvuspb.GetMetricsRequest,
|
||||
qc *QueryCoord,
|
||||
) (*milvuspb.GetMetricsResponse, error) {
|
||||
|
||||
coordTopology := metricsinfo.CoordTopology{
|
||||
Self: metricsinfo.ComponentInfos{
|
||||
Name: metricsinfo.ConstructComponentName(typeutil.QueryCoordRole, Params.QueryCoordID),
|
||||
},
|
||||
ConnectedNodes: make([]metricsinfo.ComponentInfos, 0),
|
||||
}
|
||||
|
||||
nodesMetrics := qc.cluster.getMetrics(ctx, req)
|
||||
for _, nodeMetrics := range nodesMetrics {
|
||||
if nodeMetrics.err != nil {
|
||||
log.Warn("invalid metrics of query node was found",
|
||||
zap.Error(nodeMetrics.err))
|
||||
coordTopology.ConnectedNodes = append(coordTopology.ConnectedNodes, metricsinfo.ComponentInfos{
|
||||
HasError: true,
|
||||
ErrorReason: nodeMetrics.err.Error(),
|
||||
// Name doesn't matter here cause we can't get it when error occurs, using address as the Name?
|
||||
Name: "",
|
||||
})
|
||||
continue
|
||||
}
|
||||
|
||||
if nodeMetrics.resp.Status.ErrorCode != commonpb.ErrorCode_Success {
|
||||
log.Warn("invalid metrics of query node was found",
|
||||
zap.Any("error_code", nodeMetrics.resp.Status.ErrorCode),
|
||||
zap.Any("error_reason", nodeMetrics.resp.Status.Reason))
|
||||
coordTopology.ConnectedNodes = append(coordTopology.ConnectedNodes, metricsinfo.ComponentInfos{
|
||||
HasError: true,
|
||||
ErrorReason: nodeMetrics.resp.Status.Reason,
|
||||
Name: nodeMetrics.resp.ComponentName,
|
||||
})
|
||||
continue
|
||||
}
|
||||
|
||||
infos := metricsinfo.ComponentInfos{}
|
||||
err := infos.Unmarshal(nodeMetrics.resp.Response)
|
||||
if err != nil {
|
||||
log.Warn("invalid metrics of query node was found",
|
||||
zap.Error(err))
|
||||
coordTopology.ConnectedNodes = append(coordTopology.ConnectedNodes, metricsinfo.ComponentInfos{
|
||||
HasError: true,
|
||||
ErrorReason: err.Error(),
|
||||
Name: nodeMetrics.resp.ComponentName,
|
||||
})
|
||||
continue
|
||||
}
|
||||
coordTopology.ConnectedNodes = append(coordTopology.ConnectedNodes, infos)
|
||||
}
|
||||
|
||||
resp, err := coordTopology.Marshal()
|
||||
if err != nil {
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: err.Error(),
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
Reason: "",
|
||||
},
|
||||
Response: resp,
|
||||
}, nil
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querycoord
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
)
|
||||
|
||||
func TestGetSystemInfoMetrics(t *testing.T) {
|
||||
log.Info("TestGetSystemInfoMetrics, todo")
|
||||
}
|
|
@ -17,6 +17,8 @@ import (
|
|||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/proto/milvuspb"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
"go.uber.org/zap"
|
||||
|
||||
|
@ -63,6 +65,8 @@ type Node interface {
|
|||
loadSegments(ctx context.Context, in *querypb.LoadSegmentsRequest) error
|
||||
releaseSegments(ctx context.Context, in *querypb.ReleaseSegmentsRequest) error
|
||||
getComponentInfo(ctx context.Context) *internalpb.ComponentInfo
|
||||
|
||||
getMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
type queryNode struct {
|
||||
|
@ -594,6 +598,16 @@ func (qn *queryNode) getComponentInfo(ctx context.Context) *internalpb.Component
|
|||
return res.State
|
||||
}
|
||||
|
||||
func (qn *queryNode) getMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
qn.serviceLock.RLock()
|
||||
if !qn.onService {
|
||||
return nil, errQueryNodeIsNotOnService(qn.id)
|
||||
}
|
||||
qn.serviceLock.RUnlock()
|
||||
|
||||
return qn.client.GetMetrics(ctx, in)
|
||||
}
|
||||
|
||||
func (qn *queryNode) loadSegments(ctx context.Context, in *querypb.LoadSegmentsRequest) error {
|
||||
qn.serviceLock.RLock()
|
||||
onService := qn.onService
|
||||
|
|
|
@ -184,3 +184,7 @@ func TestQueryNode_MultiNode_reStart(t *testing.T) {
|
|||
}
|
||||
queryCoord.Stop()
|
||||
}
|
||||
|
||||
func TestQueryNode_getMetrics(t *testing.T) {
|
||||
log.Info("TestQueryNode_getMetrics, todo")
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querynode
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func msgQueryNodeIsUnhealthy(nodeID UniqueID) string {
|
||||
return fmt.Sprintf("query node %d is not ready", nodeID)
|
||||
}
|
||||
|
||||
func errQueryNodeIsUnhealthy(nodeID UniqueID) error {
|
||||
return errors.New(msgQueryNodeIsUnhealthy(nodeID))
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querynode
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func TestMsgQueryNodeIsUnhealthy(t *testing.T) {
|
||||
nodeIDList := []UniqueID{1, 2, 3}
|
||||
for _, nodeID := range nodeIDList {
|
||||
log.Info("TestMsgQueryNodeIsUnhealthy", zap.String("msg", msgQueryNodeIsUnhealthy(nodeID)))
|
||||
}
|
||||
}
|
||||
|
||||
func TestErrQueryNodeIsUnhealthy(t *testing.T) {
|
||||
nodeIDList := []UniqueID{1, 2, 3}
|
||||
for _, nodeID := range nodeIDList {
|
||||
log.Info("TestErrQueryNodeIsUnhealthy", zap.Error(errQueryNodeIsUnhealthy(nodeID)))
|
||||
}
|
||||
}
|
|
@ -19,6 +19,8 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/util/metricsinfo"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
|
@ -479,3 +481,75 @@ func (node *QueryNode) GetSegmentInfo(ctx context.Context, in *queryPb.GetSegmen
|
|||
Infos: infos,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (node *QueryNode) isHealthy() bool {
|
||||
code := node.stateCode.Load().(internalpb.StateCode)
|
||||
return code == internalpb.StateCode_Healthy
|
||||
}
|
||||
|
||||
// TODO(dragondriver): cache the Metrics and set a retention to the cache
|
||||
func (node *QueryNode) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) {
|
||||
log.Debug("QueryNode.GetMetrics",
|
||||
zap.Int64("node_id", Params.QueryNodeID),
|
||||
zap.String("req", req.Request))
|
||||
|
||||
if !node.isHealthy() {
|
||||
log.Warn("QueryNode.GetMetrics failed",
|
||||
zap.Int64("node_id", Params.QueryNodeID),
|
||||
zap.String("req", req.Request),
|
||||
zap.Error(errQueryNodeIsUnhealthy(Params.QueryNodeID)))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: msgQueryNodeIsUnhealthy(Params.QueryNodeID),
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
metricType, err := metricsinfo.ParseMetricType(req.Request)
|
||||
if err != nil {
|
||||
log.Warn("QueryNode.GetMetrics failed to parse metric type",
|
||||
zap.Int64("node_id", Params.QueryNodeID),
|
||||
zap.String("req", req.Request),
|
||||
zap.Error(err))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: err.Error(),
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
||||
log.Debug("QueryNode.GetMetrics",
|
||||
zap.String("metric_type", metricType))
|
||||
|
||||
if metricType == metricsinfo.SystemInfoMetrics {
|
||||
metrics, err := getSystemInfoMetrics(ctx, req, node)
|
||||
|
||||
log.Debug("QueryNode.GetMetrics",
|
||||
zap.Int64("node_id", Params.QueryNodeID),
|
||||
zap.String("req", req.Request),
|
||||
zap.String("metric_type", metricType),
|
||||
zap.Any("metrics", metrics), // TODO(dragondriver): necessary? may be very large
|
||||
zap.Error(err))
|
||||
|
||||
return metrics, err
|
||||
}
|
||||
|
||||
log.Debug("QueryNode.GetMetrics failed, request metric type is not implemented yet",
|
||||
zap.Int64("node_id", Params.QueryNodeID),
|
||||
zap.String("req", req.Request),
|
||||
zap.String("metric_type", metricType))
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: metricsinfo.MsgUnimplementedMetric,
|
||||
},
|
||||
Response: "",
|
||||
}, nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querynode
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/proto/commonpb"
|
||||
"github.com/milvus-io/milvus/internal/proto/milvuspb"
|
||||
"github.com/milvus-io/milvus/internal/util/metricsinfo"
|
||||
"github.com/milvus-io/milvus/internal/util/typeutil"
|
||||
)
|
||||
|
||||
func getSystemInfoMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest, node *QueryNode) (*milvuspb.GetMetricsResponse, error) {
|
||||
// TODO(dragondriver): add more metrics
|
||||
nodeInfos := metricsinfo.ComponentInfos{
|
||||
Name: metricsinfo.ConstructComponentName(typeutil.QueryNodeRole, Params.QueryNodeID),
|
||||
}
|
||||
resp, err := nodeInfos.Marshal()
|
||||
if err != nil {
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_UnexpectedError,
|
||||
Reason: err.Error(),
|
||||
},
|
||||
Response: "",
|
||||
ComponentName: metricsinfo.ConstructComponentName(typeutil.QueryNodeRole, Params.QueryNodeID),
|
||||
}, nil
|
||||
}
|
||||
|
||||
return &milvuspb.GetMetricsResponse{
|
||||
Status: &commonpb.Status{
|
||||
ErrorCode: commonpb.ErrorCode_Success,
|
||||
Reason: "",
|
||||
},
|
||||
Response: resp,
|
||||
ComponentName: metricsinfo.ConstructComponentName(typeutil.QueryNodeRole, Params.QueryNodeID),
|
||||
}, nil
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package querynode
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
)
|
||||
|
||||
func TestGetSystemInfoMetrics(t *testing.T) {
|
||||
log.Info("TestGetSystemInfoMetrics, todo")
|
||||
}
|
|
@ -176,6 +176,8 @@ type QueryNode interface {
|
|||
ReleasePartitions(ctx context.Context, req *querypb.ReleasePartitionsRequest) (*commonpb.Status, error)
|
||||
ReleaseSegments(ctx context.Context, req *querypb.ReleaseSegmentsRequest) (*commonpb.Status, error)
|
||||
GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfoRequest) (*querypb.GetSegmentInfoResponse, error)
|
||||
|
||||
GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
||||
type QueryCoord interface {
|
||||
|
@ -191,4 +193,6 @@ type QueryCoord interface {
|
|||
CreateQueryChannel(ctx context.Context, req *querypb.CreateQueryChannelRequest) (*querypb.CreateQueryChannelResponse, error)
|
||||
GetPartitionStates(ctx context.Context, req *querypb.GetPartitionStatesRequest) (*querypb.GetPartitionStatesResponse, error)
|
||||
GetSegmentInfo(ctx context.Context, req *querypb.GetSegmentInfoRequest) (*querypb.GetSegmentInfoResponse, error)
|
||||
|
||||
GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package metricsinfo
|
||||
|
||||
import "errors"
|
||||
|
||||
const MsgUnimplementedMetric = "sorry, but this metric type is not implemented"
|
||||
|
||||
var ErrUnimplementedMetric = errors.New(MsgUnimplementedMetric)
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package metricsinfo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const (
|
||||
MetricTypeKey = "metric_type"
|
||||
SystemInfoMetrics = "system_info"
|
||||
)
|
||||
|
||||
func ParseMetricType(req string) (string, error) {
|
||||
m := make(map[string]interface{})
|
||||
err := json.Unmarshal([]byte(req), &m)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("failed to decode the request: %s", err.Error())
|
||||
}
|
||||
metricType, exist := m[MetricTypeKey]
|
||||
if !exist {
|
||||
return "", fmt.Errorf("%s not found in request", MetricTypeKey)
|
||||
}
|
||||
return metricType.(string), nil
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package metricsinfo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestParseMetricType(t *testing.T) {
|
||||
m1 := make(map[string]interface{})
|
||||
b1, err := json.Marshal(m1)
|
||||
assert.Equal(t, nil, err)
|
||||
s1 := string(b1) // empty request
|
||||
|
||||
m2 := make(map[string]interface{})
|
||||
m2[MetricTypeKey] = SystemInfoMetrics
|
||||
b2, err := json.Marshal(m2)
|
||||
assert.Equal(t, nil, err)
|
||||
s2 := string(b2) // valid
|
||||
|
||||
m3 := make(map[string]interface{})
|
||||
m3[MetricTypeKey] = SystemInfoMetrics
|
||||
m3["NotImportant"] = SystemInfoMetrics
|
||||
b3, err := json.Marshal(m3)
|
||||
assert.Equal(t, nil, err)
|
||||
s3 := string(b3) // valid
|
||||
|
||||
cases := []struct {
|
||||
s string
|
||||
want string
|
||||
errIsNil bool
|
||||
}{
|
||||
{"not in json format", "", false},
|
||||
{s1, "", false},
|
||||
{s2, SystemInfoMetrics, true},
|
||||
{s3, SystemInfoMetrics, true},
|
||||
}
|
||||
|
||||
for _, test := range cases {
|
||||
got, err := ParseMetricType(test.s)
|
||||
assert.Equal(t, test.errIsNil, err == nil)
|
||||
if test.errIsNil && test.want != got {
|
||||
t.Errorf("ParseMetricType(%s) = %s", test.s, test.want)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package metricsinfo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/util/typeutil"
|
||||
)
|
||||
|
||||
// in topology graph, the name of all nodes are consisted of role name and its' id
|
||||
// for example, Proxy1, DataCoord3
|
||||
|
||||
// ConstructComponentName returns a name according to the role name and its' id
|
||||
func ConstructComponentName(role string, id typeutil.UniqueID) string {
|
||||
return role + strconv.Itoa(int(id))
|
||||
}
|
||||
|
||||
// TODO(dragondriver): how different components extend their metrics information?
|
||||
// so maybe providing a interface instead of a struct is better?
|
||||
// then every components can implement it to extend metrics.
|
||||
|
||||
// ComponentInfos shows the all necessary metrics of node.
|
||||
type ComponentInfos struct {
|
||||
HasError bool `json:"has_error"`
|
||||
ErrorReason string `json:"error_reason"`
|
||||
Name string `json:"name"`
|
||||
// TODO(dragondriver): more required information
|
||||
}
|
||||
|
||||
// Marshal returns the json string of ComponentInfos
|
||||
func (infos *ComponentInfos) Marshal() (string, error) {
|
||||
binary, err := json.Marshal(infos)
|
||||
return string(binary), err
|
||||
}
|
||||
|
||||
// Unmarshal constructs a ComponentInfos object using a json string
|
||||
func (infos *ComponentInfos) Unmarshal(s string) error {
|
||||
return json.Unmarshal([]byte(s), infos)
|
||||
}
|
||||
|
||||
// CoordTopology used for coordinator to show their managed nodes.
|
||||
type CoordTopology struct {
|
||||
Self ComponentInfos `json:"self"`
|
||||
ConnectedNodes []ComponentInfos `json:"connected_nodes"`
|
||||
}
|
||||
|
||||
// Marshal returns the json string of CoordTopology
|
||||
func (topology *CoordTopology) Marshal() (string, error) {
|
||||
binary, err := json.Marshal(topology)
|
||||
return string(binary), err
|
||||
}
|
||||
|
||||
// Unmarshal constructs a CoordTopology object using a json string
|
||||
func (topology *CoordTopology) Unmarshal(s string) error {
|
||||
return json.Unmarshal([]byte(s), topology)
|
||||
}
|
||||
|
||||
// TODO(dragondriver)
|
||||
// necessary to show all connection edge in topology graph?
|
||||
// for example, in system, Proxy connects to RootCoord and RootCoord also connects to Proxy,
|
||||
// if we do so, the connection relationship may be confusing.
|
||||
// ConnTopology shows how different components connect to each other.
|
||||
type ConnTopology struct {
|
||||
Name string `json:"name"`
|
||||
ConnectedComponents []string `json:"connected_components"`
|
||||
}
|
||||
|
||||
// Marshal returns the json string of ConnTopology
|
||||
func (topology *ConnTopology) Marshal() (string, error) {
|
||||
binary, err := json.Marshal(topology)
|
||||
return string(binary), err
|
||||
}
|
||||
|
||||
// Unmarshal constructs a ConnTopology object using a json string
|
||||
func (topology *ConnTopology) Unmarshal(s string) error {
|
||||
return json.Unmarshal([]byte(s), topology)
|
||||
}
|
||||
|
||||
// SystemTopology shows the system topology
|
||||
type SystemTopology struct {
|
||||
}
|
||||
|
||||
// Marshal returns the json string of SystemTopology
|
||||
func (topology *SystemTopology) Marshal() (string, error) {
|
||||
binary, err := json.Marshal(topology)
|
||||
return string(binary), err
|
||||
}
|
||||
|
||||
// Unmarshal constructs a SystemTopology object using a json string
|
||||
func (topology *SystemTopology) Unmarshal(s string) error {
|
||||
return json.Unmarshal([]byte(s), topology)
|
||||
}
|
|
@ -0,0 +1,108 @@
|
|||
// Copyright (C) 2019-2020 Zilliz. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
// or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
package metricsinfo
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/log"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/milvus-io/milvus/internal/util/typeutil"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestConstructComponentName(t *testing.T) {
|
||||
roleList := []string{
|
||||
typeutil.QueryNodeRole,
|
||||
}
|
||||
idList := []typeutil.UniqueID{
|
||||
1,
|
||||
}
|
||||
|
||||
for _, role := range roleList {
|
||||
for _, id := range idList {
|
||||
log.Info("TestConstructComponentName",
|
||||
zap.String("ComponentName", ConstructComponentName(role, id)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestComponentInfos_Codec(t *testing.T) {
|
||||
infos1 := ComponentInfos{
|
||||
Name: ConstructComponentName(typeutil.ProxyRole, 1),
|
||||
}
|
||||
s, err := infos1.Marshal()
|
||||
assert.Equal(t, nil, err)
|
||||
var infos2 ComponentInfos
|
||||
err = infos2.Unmarshal(s)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, infos1.Name, infos2.Name)
|
||||
}
|
||||
|
||||
func TestCoordTopology_Codec(t *testing.T) {
|
||||
topology1 := CoordTopology{
|
||||
Self: ComponentInfos{
|
||||
Name: ConstructComponentName(typeutil.QueryCoordRole, 1),
|
||||
},
|
||||
ConnectedNodes: []ComponentInfos{
|
||||
{
|
||||
Name: ConstructComponentName(typeutil.QueryNodeRole, 1),
|
||||
},
|
||||
{
|
||||
Name: ConstructComponentName(typeutil.QueryNodeRole, 2),
|
||||
},
|
||||
},
|
||||
}
|
||||
s, err := topology1.Marshal()
|
||||
assert.Equal(t, nil, err)
|
||||
var topology2 CoordTopology
|
||||
err = topology2.Unmarshal(s)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, topology1.Self.Name, topology2.Self.Name)
|
||||
assert.Equal(t, len(topology1.ConnectedNodes), len(topology2.ConnectedNodes))
|
||||
for i := range topology1.ConnectedNodes {
|
||||
assert.Equal(t, topology1.ConnectedNodes[i], topology2.ConnectedNodes[i])
|
||||
}
|
||||
}
|
||||
|
||||
func TestConnTopology_Codec(t *testing.T) {
|
||||
topology1 := ConnTopology{
|
||||
Name: ConstructComponentName(typeutil.ProxyRole, 1),
|
||||
ConnectedComponents: []string{
|
||||
ConstructComponentName(typeutil.RootCoordRole, 1),
|
||||
ConstructComponentName(typeutil.QueryCoordRole, 1),
|
||||
ConstructComponentName(typeutil.DataCoordRole, 1),
|
||||
ConstructComponentName(typeutil.IndexCoordRole, 1),
|
||||
},
|
||||
}
|
||||
s, err := topology1.Marshal()
|
||||
assert.Equal(t, nil, err)
|
||||
var topology2 ConnTopology
|
||||
err = topology2.Unmarshal(s)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, topology1.Name, topology2.Name)
|
||||
assert.Equal(t, len(topology1.ConnectedComponents), len(topology2.ConnectedComponents))
|
||||
for i := range topology1.ConnectedComponents {
|
||||
assert.Equal(t, topology1.ConnectedComponents[i], topology2.ConnectedComponents[i])
|
||||
}
|
||||
}
|
||||
|
||||
func TestSystemTopology_Codec(t *testing.T) {
|
||||
topology1 := SystemTopology{}
|
||||
s, err := topology1.Marshal()
|
||||
assert.Equal(t, nil, err)
|
||||
var topology2 SystemTopology
|
||||
err = topology2.Unmarshal(s)
|
||||
assert.Equal(t, nil, err)
|
||||
}
|
Loading…
Reference in New Issue