aggregationpb/aggregation.pb.go (1,310 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License 2.0; // you may not use this file except in compliance with the Elastic License 2.0. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.1 // protoc v4.22.1 // source: proto/aggregation.proto package aggregationpb import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CombinedMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServiceMetrics []*KeyedServiceMetrics `protobuf:"bytes,1,rep,name=service_metrics,json=serviceMetrics,proto3" json:"service_metrics,omitempty"` OverflowServices *Overflow `protobuf:"bytes,2,opt,name=overflow_services,json=overflowServices,proto3" json:"overflow_services,omitempty"` OverflowServicesEstimator []byte `protobuf:"bytes,3,opt,name=overflow_services_estimator,json=overflowServicesEstimator,proto3" json:"overflow_services_estimator,omitempty"` EventsTotal float64 `protobuf:"fixed64,4,opt,name=events_total,json=eventsTotal,proto3" json:"events_total,omitempty"` YoungestEventTimestamp uint64 `protobuf:"varint,5,opt,name=youngest_event_timestamp,json=youngestEventTimestamp,proto3" json:"youngest_event_timestamp,omitempty"` } func (x *CombinedMetrics) Reset() { *x = CombinedMetrics{} mi := &file_proto_aggregation_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CombinedMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*CombinedMetrics) ProtoMessage() {} func (x *CombinedMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CombinedMetrics.ProtoReflect.Descriptor instead. func (*CombinedMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{0} } func (x *CombinedMetrics) GetServiceMetrics() []*KeyedServiceMetrics { if x != nil { return x.ServiceMetrics } return nil } func (x *CombinedMetrics) GetOverflowServices() *Overflow { if x != nil { return x.OverflowServices } return nil } func (x *CombinedMetrics) GetOverflowServicesEstimator() []byte { if x != nil { return x.OverflowServicesEstimator } return nil } func (x *CombinedMetrics) GetEventsTotal() float64 { if x != nil { return x.EventsTotal } return 0 } func (x *CombinedMetrics) GetYoungestEventTimestamp() uint64 { if x != nil { return x.YoungestEventTimestamp } return 0 } type KeyedServiceMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *ServiceAggregationKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Metrics *ServiceMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *KeyedServiceMetrics) Reset() { *x = KeyedServiceMetrics{} mi := &file_proto_aggregation_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *KeyedServiceMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyedServiceMetrics) ProtoMessage() {} func (x *KeyedServiceMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyedServiceMetrics.ProtoReflect.Descriptor instead. func (*KeyedServiceMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{1} } func (x *KeyedServiceMetrics) GetKey() *ServiceAggregationKey { if x != nil { return x.Key } return nil } func (x *KeyedServiceMetrics) GetMetrics() *ServiceMetrics { if x != nil { return x.Metrics } return nil } type ServiceAggregationKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` ServiceEnvironment string `protobuf:"bytes,3,opt,name=service_environment,json=serviceEnvironment,proto3" json:"service_environment,omitempty"` ServiceLanguageName string `protobuf:"bytes,4,opt,name=service_language_name,json=serviceLanguageName,proto3" json:"service_language_name,omitempty"` AgentName string `protobuf:"bytes,5,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"` GlobalLabelsStr []byte `protobuf:"bytes,6,opt,name=global_labels_str,json=globalLabelsStr,proto3" json:"global_labels_str,omitempty"` } func (x *ServiceAggregationKey) Reset() { *x = ServiceAggregationKey{} mi := &file_proto_aggregation_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ServiceAggregationKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceAggregationKey) ProtoMessage() {} func (x *ServiceAggregationKey) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceAggregationKey.ProtoReflect.Descriptor instead. func (*ServiceAggregationKey) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{2} } func (x *ServiceAggregationKey) GetTimestamp() uint64 { if x != nil { return x.Timestamp } return 0 } func (x *ServiceAggregationKey) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *ServiceAggregationKey) GetServiceEnvironment() string { if x != nil { return x.ServiceEnvironment } return "" } func (x *ServiceAggregationKey) GetServiceLanguageName() string { if x != nil { return x.ServiceLanguageName } return "" } func (x *ServiceAggregationKey) GetAgentName() string { if x != nil { return x.AgentName } return "" } func (x *ServiceAggregationKey) GetGlobalLabelsStr() []byte { if x != nil { return x.GlobalLabelsStr } return nil } type ServiceMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OverflowGroups *Overflow `protobuf:"bytes,1,opt,name=overflow_groups,json=overflowGroups,proto3" json:"overflow_groups,omitempty"` TransactionMetrics []*KeyedTransactionMetrics `protobuf:"bytes,2,rep,name=transaction_metrics,json=transactionMetrics,proto3" json:"transaction_metrics,omitempty"` ServiceTransactionMetrics []*KeyedServiceTransactionMetrics `protobuf:"bytes,3,rep,name=service_transaction_metrics,json=serviceTransactionMetrics,proto3" json:"service_transaction_metrics,omitempty"` SpanMetrics []*KeyedSpanMetrics `protobuf:"bytes,4,rep,name=span_metrics,json=spanMetrics,proto3" json:"span_metrics,omitempty"` } func (x *ServiceMetrics) Reset() { *x = ServiceMetrics{} mi := &file_proto_aggregation_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ServiceMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceMetrics) ProtoMessage() {} func (x *ServiceMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceMetrics.ProtoReflect.Descriptor instead. func (*ServiceMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{3} } func (x *ServiceMetrics) GetOverflowGroups() *Overflow { if x != nil { return x.OverflowGroups } return nil } func (x *ServiceMetrics) GetTransactionMetrics() []*KeyedTransactionMetrics { if x != nil { return x.TransactionMetrics } return nil } func (x *ServiceMetrics) GetServiceTransactionMetrics() []*KeyedServiceTransactionMetrics { if x != nil { return x.ServiceTransactionMetrics } return nil } func (x *ServiceMetrics) GetSpanMetrics() []*KeyedSpanMetrics { if x != nil { return x.SpanMetrics } return nil } type KeyedTransactionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *TransactionAggregationKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Metrics *TransactionMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *KeyedTransactionMetrics) Reset() { *x = KeyedTransactionMetrics{} mi := &file_proto_aggregation_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *KeyedTransactionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyedTransactionMetrics) ProtoMessage() {} func (x *KeyedTransactionMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyedTransactionMetrics.ProtoReflect.Descriptor instead. func (*KeyedTransactionMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{4} } func (x *KeyedTransactionMetrics) GetKey() *TransactionAggregationKey { if x != nil { return x.Key } return nil } func (x *KeyedTransactionMetrics) GetMetrics() *TransactionMetrics { if x != nil { return x.Metrics } return nil } type TransactionAggregationKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TraceRoot bool `protobuf:"varint,1,opt,name=trace_root,json=traceRoot,proto3" json:"trace_root,omitempty"` ContainerId string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` KubernetesPodName string `protobuf:"bytes,3,opt,name=kubernetes_pod_name,json=kubernetesPodName,proto3" json:"kubernetes_pod_name,omitempty"` ServiceVersion string `protobuf:"bytes,4,opt,name=service_version,json=serviceVersion,proto3" json:"service_version,omitempty"` ServiceNodeName string `protobuf:"bytes,5,opt,name=service_node_name,json=serviceNodeName,proto3" json:"service_node_name,omitempty"` ServiceRuntimeName string `protobuf:"bytes,6,opt,name=service_runtime_name,json=serviceRuntimeName,proto3" json:"service_runtime_name,omitempty"` ServiceRuntimeVersion string `protobuf:"bytes,7,opt,name=service_runtime_version,json=serviceRuntimeVersion,proto3" json:"service_runtime_version,omitempty"` ServiceLanguageVersion string `protobuf:"bytes,8,opt,name=service_language_version,json=serviceLanguageVersion,proto3" json:"service_language_version,omitempty"` HostHostname string `protobuf:"bytes,9,opt,name=host_hostname,json=hostHostname,proto3" json:"host_hostname,omitempty"` HostName string `protobuf:"bytes,10,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` HostOsPlatform string `protobuf:"bytes,11,opt,name=host_os_platform,json=hostOsPlatform,proto3" json:"host_os_platform,omitempty"` EventOutcome string `protobuf:"bytes,12,opt,name=event_outcome,json=eventOutcome,proto3" json:"event_outcome,omitempty"` TransactionName string `protobuf:"bytes,13,opt,name=transaction_name,json=transactionName,proto3" json:"transaction_name,omitempty"` TransactionType string `protobuf:"bytes,14,opt,name=transaction_type,json=transactionType,proto3" json:"transaction_type,omitempty"` TransactionResult string `protobuf:"bytes,15,opt,name=transaction_result,json=transactionResult,proto3" json:"transaction_result,omitempty"` FaasColdstart uint32 `protobuf:"varint,16,opt,name=faas_coldstart,json=faasColdstart,proto3" json:"faas_coldstart,omitempty"` FaasId string `protobuf:"bytes,17,opt,name=faas_id,json=faasId,proto3" json:"faas_id,omitempty"` FaasName string `protobuf:"bytes,18,opt,name=faas_name,json=faasName,proto3" json:"faas_name,omitempty"` FaasVersion string `protobuf:"bytes,19,opt,name=faas_version,json=faasVersion,proto3" json:"faas_version,omitempty"` FaasTriggerType string `protobuf:"bytes,20,opt,name=faas_trigger_type,json=faasTriggerType,proto3" json:"faas_trigger_type,omitempty"` CloudProvider string `protobuf:"bytes,21,opt,name=cloud_provider,json=cloudProvider,proto3" json:"cloud_provider,omitempty"` CloudRegion string `protobuf:"bytes,22,opt,name=cloud_region,json=cloudRegion,proto3" json:"cloud_region,omitempty"` CloudAvailabilityZone string `protobuf:"bytes,23,opt,name=cloud_availability_zone,json=cloudAvailabilityZone,proto3" json:"cloud_availability_zone,omitempty"` CloudServiceName string `protobuf:"bytes,24,opt,name=cloud_service_name,json=cloudServiceName,proto3" json:"cloud_service_name,omitempty"` CloudAccountId string `protobuf:"bytes,25,opt,name=cloud_account_id,json=cloudAccountId,proto3" json:"cloud_account_id,omitempty"` CloudAccountName string `protobuf:"bytes,26,opt,name=cloud_account_name,json=cloudAccountName,proto3" json:"cloud_account_name,omitempty"` CloudMachineType string `protobuf:"bytes,27,opt,name=cloud_machine_type,json=cloudMachineType,proto3" json:"cloud_machine_type,omitempty"` CloudProjectId string `protobuf:"bytes,28,opt,name=cloud_project_id,json=cloudProjectId,proto3" json:"cloud_project_id,omitempty"` CloudProjectName string `protobuf:"bytes,29,opt,name=cloud_project_name,json=cloudProjectName,proto3" json:"cloud_project_name,omitempty"` } func (x *TransactionAggregationKey) Reset() { *x = TransactionAggregationKey{} mi := &file_proto_aggregation_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TransactionAggregationKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransactionAggregationKey) ProtoMessage() {} func (x *TransactionAggregationKey) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TransactionAggregationKey.ProtoReflect.Descriptor instead. func (*TransactionAggregationKey) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{5} } func (x *TransactionAggregationKey) GetTraceRoot() bool { if x != nil { return x.TraceRoot } return false } func (x *TransactionAggregationKey) GetContainerId() string { if x != nil { return x.ContainerId } return "" } func (x *TransactionAggregationKey) GetKubernetesPodName() string { if x != nil { return x.KubernetesPodName } return "" } func (x *TransactionAggregationKey) GetServiceVersion() string { if x != nil { return x.ServiceVersion } return "" } func (x *TransactionAggregationKey) GetServiceNodeName() string { if x != nil { return x.ServiceNodeName } return "" } func (x *TransactionAggregationKey) GetServiceRuntimeName() string { if x != nil { return x.ServiceRuntimeName } return "" } func (x *TransactionAggregationKey) GetServiceRuntimeVersion() string { if x != nil { return x.ServiceRuntimeVersion } return "" } func (x *TransactionAggregationKey) GetServiceLanguageVersion() string { if x != nil { return x.ServiceLanguageVersion } return "" } func (x *TransactionAggregationKey) GetHostHostname() string { if x != nil { return x.HostHostname } return "" } func (x *TransactionAggregationKey) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *TransactionAggregationKey) GetHostOsPlatform() string { if x != nil { return x.HostOsPlatform } return "" } func (x *TransactionAggregationKey) GetEventOutcome() string { if x != nil { return x.EventOutcome } return "" } func (x *TransactionAggregationKey) GetTransactionName() string { if x != nil { return x.TransactionName } return "" } func (x *TransactionAggregationKey) GetTransactionType() string { if x != nil { return x.TransactionType } return "" } func (x *TransactionAggregationKey) GetTransactionResult() string { if x != nil { return x.TransactionResult } return "" } func (x *TransactionAggregationKey) GetFaasColdstart() uint32 { if x != nil { return x.FaasColdstart } return 0 } func (x *TransactionAggregationKey) GetFaasId() string { if x != nil { return x.FaasId } return "" } func (x *TransactionAggregationKey) GetFaasName() string { if x != nil { return x.FaasName } return "" } func (x *TransactionAggregationKey) GetFaasVersion() string { if x != nil { return x.FaasVersion } return "" } func (x *TransactionAggregationKey) GetFaasTriggerType() string { if x != nil { return x.FaasTriggerType } return "" } func (x *TransactionAggregationKey) GetCloudProvider() string { if x != nil { return x.CloudProvider } return "" } func (x *TransactionAggregationKey) GetCloudRegion() string { if x != nil { return x.CloudRegion } return "" } func (x *TransactionAggregationKey) GetCloudAvailabilityZone() string { if x != nil { return x.CloudAvailabilityZone } return "" } func (x *TransactionAggregationKey) GetCloudServiceName() string { if x != nil { return x.CloudServiceName } return "" } func (x *TransactionAggregationKey) GetCloudAccountId() string { if x != nil { return x.CloudAccountId } return "" } func (x *TransactionAggregationKey) GetCloudAccountName() string { if x != nil { return x.CloudAccountName } return "" } func (x *TransactionAggregationKey) GetCloudMachineType() string { if x != nil { return x.CloudMachineType } return "" } func (x *TransactionAggregationKey) GetCloudProjectId() string { if x != nil { return x.CloudProjectId } return "" } func (x *TransactionAggregationKey) GetCloudProjectName() string { if x != nil { return x.CloudProjectName } return "" } type TransactionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Histogram *HDRHistogram `protobuf:"bytes,1,opt,name=histogram,proto3" json:"histogram,omitempty"` } func (x *TransactionMetrics) Reset() { *x = TransactionMetrics{} mi := &file_proto_aggregation_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TransactionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*TransactionMetrics) ProtoMessage() {} func (x *TransactionMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TransactionMetrics.ProtoReflect.Descriptor instead. func (*TransactionMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{6} } func (x *TransactionMetrics) GetHistogram() *HDRHistogram { if x != nil { return x.Histogram } return nil } type KeyedServiceTransactionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *ServiceTransactionAggregationKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Metrics *ServiceTransactionMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *KeyedServiceTransactionMetrics) Reset() { *x = KeyedServiceTransactionMetrics{} mi := &file_proto_aggregation_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *KeyedServiceTransactionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyedServiceTransactionMetrics) ProtoMessage() {} func (x *KeyedServiceTransactionMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyedServiceTransactionMetrics.ProtoReflect.Descriptor instead. func (*KeyedServiceTransactionMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{7} } func (x *KeyedServiceTransactionMetrics) GetKey() *ServiceTransactionAggregationKey { if x != nil { return x.Key } return nil } func (x *KeyedServiceTransactionMetrics) GetMetrics() *ServiceTransactionMetrics { if x != nil { return x.Metrics } return nil } type ServiceTransactionAggregationKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TransactionType string `protobuf:"bytes,1,opt,name=transaction_type,json=transactionType,proto3" json:"transaction_type,omitempty"` } func (x *ServiceTransactionAggregationKey) Reset() { *x = ServiceTransactionAggregationKey{} mi := &file_proto_aggregation_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ServiceTransactionAggregationKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceTransactionAggregationKey) ProtoMessage() {} func (x *ServiceTransactionAggregationKey) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceTransactionAggregationKey.ProtoReflect.Descriptor instead. func (*ServiceTransactionAggregationKey) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{8} } func (x *ServiceTransactionAggregationKey) GetTransactionType() string { if x != nil { return x.TransactionType } return "" } type ServiceTransactionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Histogram *HDRHistogram `protobuf:"bytes,1,opt,name=histogram,proto3" json:"histogram,omitempty"` FailureCount float64 `protobuf:"fixed64,2,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` SuccessCount float64 `protobuf:"fixed64,3,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` } func (x *ServiceTransactionMetrics) Reset() { *x = ServiceTransactionMetrics{} mi := &file_proto_aggregation_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ServiceTransactionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceTransactionMetrics) ProtoMessage() {} func (x *ServiceTransactionMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceTransactionMetrics.ProtoReflect.Descriptor instead. func (*ServiceTransactionMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{9} } func (x *ServiceTransactionMetrics) GetHistogram() *HDRHistogram { if x != nil { return x.Histogram } return nil } func (x *ServiceTransactionMetrics) GetFailureCount() float64 { if x != nil { return x.FailureCount } return 0 } func (x *ServiceTransactionMetrics) GetSuccessCount() float64 { if x != nil { return x.SuccessCount } return 0 } type KeyedSpanMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key *SpanAggregationKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Metrics *SpanMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *KeyedSpanMetrics) Reset() { *x = KeyedSpanMetrics{} mi := &file_proto_aggregation_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *KeyedSpanMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyedSpanMetrics) ProtoMessage() {} func (x *KeyedSpanMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use KeyedSpanMetrics.ProtoReflect.Descriptor instead. func (*KeyedSpanMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{10} } func (x *KeyedSpanMetrics) GetKey() *SpanAggregationKey { if x != nil { return x.Key } return nil } func (x *KeyedSpanMetrics) GetMetrics() *SpanMetrics { if x != nil { return x.Metrics } return nil } type SpanAggregationKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SpanName string `protobuf:"bytes,1,opt,name=span_name,json=spanName,proto3" json:"span_name,omitempty"` Outcome string `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` TargetType string `protobuf:"bytes,3,opt,name=target_type,json=targetType,proto3" json:"target_type,omitempty"` TargetName string `protobuf:"bytes,4,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"` Resource string `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *SpanAggregationKey) Reset() { *x = SpanAggregationKey{} mi := &file_proto_aggregation_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SpanAggregationKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpanAggregationKey) ProtoMessage() {} func (x *SpanAggregationKey) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpanAggregationKey.ProtoReflect.Descriptor instead. func (*SpanAggregationKey) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{11} } func (x *SpanAggregationKey) GetSpanName() string { if x != nil { return x.SpanName } return "" } func (x *SpanAggregationKey) GetOutcome() string { if x != nil { return x.Outcome } return "" } func (x *SpanAggregationKey) GetTargetType() string { if x != nil { return x.TargetType } return "" } func (x *SpanAggregationKey) GetTargetName() string { if x != nil { return x.TargetName } return "" } func (x *SpanAggregationKey) GetResource() string { if x != nil { return x.Resource } return "" } type SpanMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Count float64 `protobuf:"fixed64,1,opt,name=count,proto3" json:"count,omitempty"` Sum float64 `protobuf:"fixed64,2,opt,name=sum,proto3" json:"sum,omitempty"` } func (x *SpanMetrics) Reset() { *x = SpanMetrics{} mi := &file_proto_aggregation_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SpanMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpanMetrics) ProtoMessage() {} func (x *SpanMetrics) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpanMetrics.ProtoReflect.Descriptor instead. func (*SpanMetrics) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{12} } func (x *SpanMetrics) GetCount() float64 { if x != nil { return x.Count } return 0 } func (x *SpanMetrics) GetSum() float64 { if x != nil { return x.Sum } return 0 } type Overflow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OverflowTransactions *TransactionMetrics `protobuf:"bytes,1,opt,name=overflow_transactions,json=overflowTransactions,proto3" json:"overflow_transactions,omitempty"` OverflowServiceTransactions *ServiceTransactionMetrics `protobuf:"bytes,2,opt,name=overflow_service_transactions,json=overflowServiceTransactions,proto3" json:"overflow_service_transactions,omitempty"` OverflowSpans *SpanMetrics `protobuf:"bytes,3,opt,name=overflow_spans,json=overflowSpans,proto3" json:"overflow_spans,omitempty"` OverflowTransactionsEstimator []byte `protobuf:"bytes,4,opt,name=overflow_transactions_estimator,json=overflowTransactionsEstimator,proto3" json:"overflow_transactions_estimator,omitempty"` OverflowServiceTransactionsEstimator []byte `protobuf:"bytes,5,opt,name=overflow_service_transactions_estimator,json=overflowServiceTransactionsEstimator,proto3" json:"overflow_service_transactions_estimator,omitempty"` OverflowSpansEstimator []byte `protobuf:"bytes,6,opt,name=overflow_spans_estimator,json=overflowSpansEstimator,proto3" json:"overflow_spans_estimator,omitempty"` } func (x *Overflow) Reset() { *x = Overflow{} mi := &file_proto_aggregation_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Overflow) String() string { return protoimpl.X.MessageStringOf(x) } func (*Overflow) ProtoMessage() {} func (x *Overflow) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Overflow.ProtoReflect.Descriptor instead. func (*Overflow) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{13} } func (x *Overflow) GetOverflowTransactions() *TransactionMetrics { if x != nil { return x.OverflowTransactions } return nil } func (x *Overflow) GetOverflowServiceTransactions() *ServiceTransactionMetrics { if x != nil { return x.OverflowServiceTransactions } return nil } func (x *Overflow) GetOverflowSpans() *SpanMetrics { if x != nil { return x.OverflowSpans } return nil } func (x *Overflow) GetOverflowTransactionsEstimator() []byte { if x != nil { return x.OverflowTransactionsEstimator } return nil } func (x *Overflow) GetOverflowServiceTransactionsEstimator() []byte { if x != nil { return x.OverflowServiceTransactionsEstimator } return nil } func (x *Overflow) GetOverflowSpansEstimator() []byte { if x != nil { return x.OverflowSpansEstimator } return nil } type HDRHistogram struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LowestTrackableValue int64 `protobuf:"varint,1,opt,name=lowest_trackable_value,json=lowestTrackableValue,proto3" json:"lowest_trackable_value,omitempty"` HighestTrackableValue int64 `protobuf:"varint,2,opt,name=highest_trackable_value,json=highestTrackableValue,proto3" json:"highest_trackable_value,omitempty"` SignificantFigures int64 `protobuf:"varint,3,opt,name=significant_figures,json=significantFigures,proto3" json:"significant_figures,omitempty"` Counts []int64 `protobuf:"varint,4,rep,packed,name=counts,proto3" json:"counts,omitempty"` Buckets []int32 `protobuf:"varint,5,rep,packed,name=buckets,proto3" json:"buckets,omitempty"` } func (x *HDRHistogram) Reset() { *x = HDRHistogram{} mi := &file_proto_aggregation_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HDRHistogram) String() string { return protoimpl.X.MessageStringOf(x) } func (*HDRHistogram) ProtoMessage() {} func (x *HDRHistogram) ProtoReflect() protoreflect.Message { mi := &file_proto_aggregation_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HDRHistogram.ProtoReflect.Descriptor instead. func (*HDRHistogram) Descriptor() ([]byte, []int) { return file_proto_aggregation_proto_rawDescGZIP(), []int{14} } func (x *HDRHistogram) GetLowestTrackableValue() int64 { if x != nil { return x.LowestTrackableValue } return 0 } func (x *HDRHistogram) GetHighestTrackableValue() int64 { if x != nil { return x.HighestTrackableValue } return 0 } func (x *HDRHistogram) GetSignificantFigures() int64 { if x != nil { return x.SignificantFigures } return 0 } func (x *HDRHistogram) GetCounts() []int64 { if x != nil { return x.Counts } return nil } func (x *HDRHistogram) GetBuckets() []int32 { if x != nil { return x.Buckets } return nil } var File_proto_aggregation_proto protoreflect.FileDescriptor var file_proto_aggregation_proto_rawDesc = []byte{ 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x22, 0xc3, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x79, 0x6f, 0x75, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x88, 0x01, 0x0a, 0x13, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x53, 0x74, 0x72, 0x22, 0xe2, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x6e, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3b, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xd6, 0x09, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x4f, 0x73, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x61, 0x61, 0x73, 0x43, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x61, 0x61, 0x73, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x61, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x61, 0x61, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x44, 0x52, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x22, 0xa9, 0x01, 0x0a, 0x1e, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x42, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x4d, 0x0a, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x44, 0x52, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x4b, 0x65, 0x79, 0x65, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x53, 0x70, 0x61, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x61, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x0a, 0x0b, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x22, 0xef, 0x03, 0x0a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x57, 0x0a, 0x15, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6d, 0x0a, 0x1d, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x1b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x61, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x1f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1d, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x55, 0x0a, 0x27, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x24, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x61, 0x6e, 0x73, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xdf, 0x01, 0x0a, 0x0c, 0x48, 0x44, 0x52, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x13, 0x48, 0x01, 0x5a, 0x0f, 0x2e, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_proto_aggregation_proto_rawDescOnce sync.Once file_proto_aggregation_proto_rawDescData = file_proto_aggregation_proto_rawDesc ) func file_proto_aggregation_proto_rawDescGZIP() []byte { file_proto_aggregation_proto_rawDescOnce.Do(func() { file_proto_aggregation_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_aggregation_proto_rawDescData) }) return file_proto_aggregation_proto_rawDescData } var file_proto_aggregation_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_proto_aggregation_proto_goTypes = []any{ (*CombinedMetrics)(nil), // 0: elastic.apm.v1.CombinedMetrics (*KeyedServiceMetrics)(nil), // 1: elastic.apm.v1.KeyedServiceMetrics (*ServiceAggregationKey)(nil), // 2: elastic.apm.v1.ServiceAggregationKey (*ServiceMetrics)(nil), // 3: elastic.apm.v1.ServiceMetrics (*KeyedTransactionMetrics)(nil), // 4: elastic.apm.v1.KeyedTransactionMetrics (*TransactionAggregationKey)(nil), // 5: elastic.apm.v1.TransactionAggregationKey (*TransactionMetrics)(nil), // 6: elastic.apm.v1.TransactionMetrics (*KeyedServiceTransactionMetrics)(nil), // 7: elastic.apm.v1.KeyedServiceTransactionMetrics (*ServiceTransactionAggregationKey)(nil), // 8: elastic.apm.v1.ServiceTransactionAggregationKey (*ServiceTransactionMetrics)(nil), // 9: elastic.apm.v1.ServiceTransactionMetrics (*KeyedSpanMetrics)(nil), // 10: elastic.apm.v1.KeyedSpanMetrics (*SpanAggregationKey)(nil), // 11: elastic.apm.v1.SpanAggregationKey (*SpanMetrics)(nil), // 12: elastic.apm.v1.SpanMetrics (*Overflow)(nil), // 13: elastic.apm.v1.Overflow (*HDRHistogram)(nil), // 14: elastic.apm.v1.HDRHistogram } var file_proto_aggregation_proto_depIdxs = []int32{ 1, // 0: elastic.apm.v1.CombinedMetrics.service_metrics:type_name -> elastic.apm.v1.KeyedServiceMetrics 13, // 1: elastic.apm.v1.CombinedMetrics.overflow_services:type_name -> elastic.apm.v1.Overflow 2, // 2: elastic.apm.v1.KeyedServiceMetrics.key:type_name -> elastic.apm.v1.ServiceAggregationKey 3, // 3: elastic.apm.v1.KeyedServiceMetrics.metrics:type_name -> elastic.apm.v1.ServiceMetrics 13, // 4: elastic.apm.v1.ServiceMetrics.overflow_groups:type_name -> elastic.apm.v1.Overflow 4, // 5: elastic.apm.v1.ServiceMetrics.transaction_metrics:type_name -> elastic.apm.v1.KeyedTransactionMetrics 7, // 6: elastic.apm.v1.ServiceMetrics.service_transaction_metrics:type_name -> elastic.apm.v1.KeyedServiceTransactionMetrics 10, // 7: elastic.apm.v1.ServiceMetrics.span_metrics:type_name -> elastic.apm.v1.KeyedSpanMetrics 5, // 8: elastic.apm.v1.KeyedTransactionMetrics.key:type_name -> elastic.apm.v1.TransactionAggregationKey 6, // 9: elastic.apm.v1.KeyedTransactionMetrics.metrics:type_name -> elastic.apm.v1.TransactionMetrics 14, // 10: elastic.apm.v1.TransactionMetrics.histogram:type_name -> elastic.apm.v1.HDRHistogram 8, // 11: elastic.apm.v1.KeyedServiceTransactionMetrics.key:type_name -> elastic.apm.v1.ServiceTransactionAggregationKey 9, // 12: elastic.apm.v1.KeyedServiceTransactionMetrics.metrics:type_name -> elastic.apm.v1.ServiceTransactionMetrics 14, // 13: elastic.apm.v1.ServiceTransactionMetrics.histogram:type_name -> elastic.apm.v1.HDRHistogram 11, // 14: elastic.apm.v1.KeyedSpanMetrics.key:type_name -> elastic.apm.v1.SpanAggregationKey 12, // 15: elastic.apm.v1.KeyedSpanMetrics.metrics:type_name -> elastic.apm.v1.SpanMetrics 6, // 16: elastic.apm.v1.Overflow.overflow_transactions:type_name -> elastic.apm.v1.TransactionMetrics 9, // 17: elastic.apm.v1.Overflow.overflow_service_transactions:type_name -> elastic.apm.v1.ServiceTransactionMetrics 12, // 18: elastic.apm.v1.Overflow.overflow_spans:type_name -> elastic.apm.v1.SpanMetrics 19, // [19:19] is the sub-list for method output_type 19, // [19:19] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name } func init() { file_proto_aggregation_proto_init() } func file_proto_aggregation_proto_init() { if File_proto_aggregation_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_aggregation_proto_rawDesc, NumEnums: 0, NumMessages: 15, NumExtensions: 0, NumServices: 0, }, GoTypes: file_proto_aggregation_proto_goTypes, DependencyIndexes: file_proto_aggregation_proto_depIdxs, MessageInfos: file_proto_aggregation_proto_msgTypes, }.Build() File_proto_aggregation_proto = out.File file_proto_aggregation_proto_rawDesc = nil file_proto_aggregation_proto_goTypes = nil file_proto_aggregation_proto_depIdxs = nil }