collect/servicemesh/v3/service-mesh.pb.go (810 lines of code) (raw):

// // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You 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. // // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.14.0 // source: service-mesh-probe/service-mesh.proto package v3 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" v3 "skywalking.apache.org/repo/goapi/collect/common/v3" sync "sync" ) 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 Protocol int32 const ( Protocol_HTTP Protocol = 0 Protocol_gRPC Protocol = 1 ) // Enum value maps for Protocol. var ( Protocol_name = map[int32]string{ 0: "HTTP", 1: "gRPC", } Protocol_value = map[string]int32{ "HTTP": 0, "gRPC": 1, } ) func (x Protocol) Enum() *Protocol { p := new(Protocol) *p = x return p } func (x Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Protocol) Descriptor() protoreflect.EnumDescriptor { return file_service_mesh_probe_service_mesh_proto_enumTypes[0].Descriptor() } func (Protocol) Type() protoreflect.EnumType { return &file_service_mesh_probe_service_mesh_proto_enumTypes[0] } func (x Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Protocol.Descriptor instead. func (Protocol) EnumDescriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{0} } type ServiceMeshMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Metrics: // // *ServiceMeshMetrics_HttpMetrics // *ServiceMeshMetrics_TcpMetrics Metrics isServiceMeshMetrics_Metrics `protobuf_oneof:"metrics"` } func (x *ServiceMeshMetrics) Reset() { *x = ServiceMeshMetrics{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServiceMeshMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServiceMeshMetrics) ProtoMessage() {} func (x *ServiceMeshMetrics) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ServiceMeshMetrics.ProtoReflect.Descriptor instead. func (*ServiceMeshMetrics) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{0} } func (m *ServiceMeshMetrics) GetMetrics() isServiceMeshMetrics_Metrics { if m != nil { return m.Metrics } return nil } func (x *ServiceMeshMetrics) GetHttpMetrics() *HTTPServiceMeshMetrics { if x, ok := x.GetMetrics().(*ServiceMeshMetrics_HttpMetrics); ok { return x.HttpMetrics } return nil } func (x *ServiceMeshMetrics) GetTcpMetrics() *TCPServiceMeshMetrics { if x, ok := x.GetMetrics().(*ServiceMeshMetrics_TcpMetrics); ok { return x.TcpMetrics } return nil } type isServiceMeshMetrics_Metrics interface { isServiceMeshMetrics_Metrics() } type ServiceMeshMetrics_HttpMetrics struct { HttpMetrics *HTTPServiceMeshMetrics `protobuf:"bytes,1,opt,name=httpMetrics,proto3,oneof"` } type ServiceMeshMetrics_TcpMetrics struct { TcpMetrics *TCPServiceMeshMetrics `protobuf:"bytes,2,opt,name=tcpMetrics,proto3,oneof"` } func (*ServiceMeshMetrics_HttpMetrics) isServiceMeshMetrics_Metrics() {} func (*ServiceMeshMetrics_TcpMetrics) isServiceMeshMetrics_Metrics() {} type HTTPServiceMeshMetric struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Start timestamp in milliseconds of this RPC, // measured between the current time and midnight, January 1, 1970 UTC. StartTime int64 `protobuf:"varint,1,opt,name=startTime,proto3" json:"startTime,omitempty"` // End timestamp in milliseconds of this RPC, // measured between the current time and midnight, January 1, 1970 UTC. EndTime int64 `protobuf:"varint,2,opt,name=endTime,proto3" json:"endTime,omitempty"` SourceServiceName string `protobuf:"bytes,3,opt,name=sourceServiceName,proto3" json:"sourceServiceName,omitempty"` SourceServiceInstance string `protobuf:"bytes,4,opt,name=sourceServiceInstance,proto3" json:"sourceServiceInstance,omitempty"` DestServiceName string `protobuf:"bytes,5,opt,name=destServiceName,proto3" json:"destServiceName,omitempty"` DestServiceInstance string `protobuf:"bytes,6,opt,name=destServiceInstance,proto3" json:"destServiceInstance,omitempty"` Endpoint string `protobuf:"bytes,7,opt,name=endpoint,proto3" json:"endpoint,omitempty"` Latency int32 `protobuf:"varint,8,opt,name=latency,proto3" json:"latency,omitempty"` ResponseCode int32 `protobuf:"varint,9,opt,name=responseCode,proto3" json:"responseCode,omitempty"` // Status represents the response status of this calling. Status bool `protobuf:"varint,10,opt,name=status,proto3" json:"status,omitempty"` Protocol Protocol `protobuf:"varint,11,opt,name=protocol,proto3,enum=skywalking.v3.Protocol" json:"protocol,omitempty"` DetectPoint v3.DetectPoint `protobuf:"varint,12,opt,name=detectPoint,proto3,enum=skywalking.v3.DetectPoint" json:"detectPoint,omitempty"` // NONE, mTLS, or TLS TlsMode string `protobuf:"bytes,13,opt,name=tlsMode,proto3" json:"tlsMode,omitempty"` // The sidecar/proxy internal error code, the value bases on the implementation. // The envoy internal error codes are listed here, https://www.envoyproxy.io/docs/envoy/latest/api-v2/data/accesslog/v2/accesslog.proto#data-accesslog-v2-responseflags InternalErrorCode string `protobuf:"bytes,14,opt,name=internalErrorCode,proto3" json:"internalErrorCode,omitempty"` // Internal request(response) latency is the time cost inside the Envoy sidecar proxy. // For more details, check https://www.envoyproxy.io/docs/envoy/v1.22.0/api-v3/data/accesslog/v3/accesslog.proto.html#data-accesslog-v3-accesslogcommon. // internalRequestLatencyNanos is the interval between the first downstream byte received and the first upstream byte sent InternalRequestLatencyNanos int64 `protobuf:"varint,15,opt,name=internalRequestLatencyNanos,proto3" json:"internalRequestLatencyNanos,omitempty"` // internalResponseLatencyNanos = time_to_first_downstream_tx_byte - time_to_first_upstream_rx_byte; // | ... request workflow ... | upstream | ----- response -----> | proxy | ------- response -------> | client | // | time_to_first_upstream_rx_byte | // | time_to_last_downstream_tx_byte | // // | internalResponseLatencyNanos | InternalResponseLatencyNanos int64 `protobuf:"varint,16,opt,name=internalResponseLatencyNanos,proto3" json:"internalResponseLatencyNanos,omitempty"` SourceInstanceProperties []*v3.KeyStringValuePair `protobuf:"bytes,17,rep,name=sourceInstanceProperties,proto3" json:"sourceInstanceProperties,omitempty"` DestInstanceProperties []*v3.KeyStringValuePair `protobuf:"bytes,18,rep,name=destInstanceProperties,proto3" json:"destInstanceProperties,omitempty"` } func (x *HTTPServiceMeshMetric) Reset() { *x = HTTPServiceMeshMetric{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPServiceMeshMetric) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPServiceMeshMetric) ProtoMessage() {} func (x *HTTPServiceMeshMetric) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPServiceMeshMetric.ProtoReflect.Descriptor instead. func (*HTTPServiceMeshMetric) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{1} } func (x *HTTPServiceMeshMetric) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *HTTPServiceMeshMetric) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } func (x *HTTPServiceMeshMetric) GetSourceServiceName() string { if x != nil { return x.SourceServiceName } return "" } func (x *HTTPServiceMeshMetric) GetSourceServiceInstance() string { if x != nil { return x.SourceServiceInstance } return "" } func (x *HTTPServiceMeshMetric) GetDestServiceName() string { if x != nil { return x.DestServiceName } return "" } func (x *HTTPServiceMeshMetric) GetDestServiceInstance() string { if x != nil { return x.DestServiceInstance } return "" } func (x *HTTPServiceMeshMetric) GetEndpoint() string { if x != nil { return x.Endpoint } return "" } func (x *HTTPServiceMeshMetric) GetLatency() int32 { if x != nil { return x.Latency } return 0 } func (x *HTTPServiceMeshMetric) GetResponseCode() int32 { if x != nil { return x.ResponseCode } return 0 } func (x *HTTPServiceMeshMetric) GetStatus() bool { if x != nil { return x.Status } return false } func (x *HTTPServiceMeshMetric) GetProtocol() Protocol { if x != nil { return x.Protocol } return Protocol_HTTP } func (x *HTTPServiceMeshMetric) GetDetectPoint() v3.DetectPoint { if x != nil { return x.DetectPoint } return v3.DetectPoint(0) } func (x *HTTPServiceMeshMetric) GetTlsMode() string { if x != nil { return x.TlsMode } return "" } func (x *HTTPServiceMeshMetric) GetInternalErrorCode() string { if x != nil { return x.InternalErrorCode } return "" } func (x *HTTPServiceMeshMetric) GetInternalRequestLatencyNanos() int64 { if x != nil { return x.InternalRequestLatencyNanos } return 0 } func (x *HTTPServiceMeshMetric) GetInternalResponseLatencyNanos() int64 { if x != nil { return x.InternalResponseLatencyNanos } return 0 } func (x *HTTPServiceMeshMetric) GetSourceInstanceProperties() []*v3.KeyStringValuePair { if x != nil { return x.SourceInstanceProperties } return nil } func (x *HTTPServiceMeshMetric) GetDestInstanceProperties() []*v3.KeyStringValuePair { if x != nil { return x.DestInstanceProperties } return nil } type HTTPServiceMeshMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Metrics []*HTTPServiceMeshMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` } func (x *HTTPServiceMeshMetrics) Reset() { *x = HTTPServiceMeshMetrics{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HTTPServiceMeshMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*HTTPServiceMeshMetrics) ProtoMessage() {} func (x *HTTPServiceMeshMetrics) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HTTPServiceMeshMetrics.ProtoReflect.Descriptor instead. func (*HTTPServiceMeshMetrics) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{2} } func (x *HTTPServiceMeshMetrics) GetMetrics() []*HTTPServiceMeshMetric { if x != nil { return x.Metrics } return nil } type TCPServiceMeshMetric struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Start timestamp in milliseconds of this RPC, // measured between the current time and midnight, January 1, 1970 UTC. StartTime int64 `protobuf:"varint,1,opt,name=startTime,proto3" json:"startTime,omitempty"` // End timestamp in milliseconds of this RPC, // measured between the current time and midnight, January 1, 1970 UTC. EndTime int64 `protobuf:"varint,2,opt,name=endTime,proto3" json:"endTime,omitempty"` SourceServiceName string `protobuf:"bytes,3,opt,name=sourceServiceName,proto3" json:"sourceServiceName,omitempty"` SourceServiceInstance string `protobuf:"bytes,4,opt,name=sourceServiceInstance,proto3" json:"sourceServiceInstance,omitempty"` DestServiceName string `protobuf:"bytes,5,opt,name=destServiceName,proto3" json:"destServiceName,omitempty"` DestServiceInstance string `protobuf:"bytes,6,opt,name=destServiceInstance,proto3" json:"destServiceInstance,omitempty"` DetectPoint v3.DetectPoint `protobuf:"varint,7,opt,name=detectPoint,proto3,enum=skywalking.v3.DetectPoint" json:"detectPoint,omitempty"` // NONE, mTLS, or TLS TlsMode string `protobuf:"bytes,8,opt,name=tlsMode,proto3" json:"tlsMode,omitempty"` // The sidecar/proxy internal error code, the value bases on the implementation. // The envoy internal error codes are listed here, https://www.envoyproxy.io/docs/envoy/latest/api-v2/data/accesslog/v2/accesslog.proto#data-accesslog-v2-responseflags InternalErrorCode string `protobuf:"bytes,9,opt,name=internalErrorCode,proto3" json:"internalErrorCode,omitempty"` // Internal request(response) latency is the time cost inside the Envoy sidecar proxy. // For more details, check https://www.envoyproxy.io/docs/envoy/v1.22.0/api-v3/data/accesslog/v3/accesslog.proto.html#data-accesslog-v3-accesslogcommon. // internalRequestLatencyNanos is the interval between the first downstream byte received and the first upstream byte sent InternalRequestLatencyNanos int64 `protobuf:"varint,10,opt,name=internalRequestLatencyNanos,proto3" json:"internalRequestLatencyNanos,omitempty"` // internalResponseLatencyNanos = time_to_first_downstream_tx_byte - time_to_first_upstream_rx_byte; // | ... request workflow ... | upstream | ----- response -----> | proxy | ------- response -------> | client | // | time_to_first_upstream_rx_byte | // | time_to_last_downstream_tx_byte | // // | internalResponseLatencyNanos | InternalResponseLatencyNanos int64 `protobuf:"varint,11,opt,name=internalResponseLatencyNanos,proto3" json:"internalResponseLatencyNanos,omitempty"` SourceInstanceProperties []*v3.KeyStringValuePair `protobuf:"bytes,12,rep,name=sourceInstanceProperties,proto3" json:"sourceInstanceProperties,omitempty"` DestInstanceProperties []*v3.KeyStringValuePair `protobuf:"bytes,13,rep,name=destInstanceProperties,proto3" json:"destInstanceProperties,omitempty"` // The received data in bytes ReceivedBytes int64 `protobuf:"varint,14,opt,name=receivedBytes,proto3" json:"receivedBytes,omitempty"` // The sent data in bytes SentBytes int64 `protobuf:"varint,15,opt,name=sentBytes,proto3" json:"sentBytes,omitempty"` } func (x *TCPServiceMeshMetric) Reset() { *x = TCPServiceMeshMetric{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TCPServiceMeshMetric) String() string { return protoimpl.X.MessageStringOf(x) } func (*TCPServiceMeshMetric) ProtoMessage() {} func (x *TCPServiceMeshMetric) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TCPServiceMeshMetric.ProtoReflect.Descriptor instead. func (*TCPServiceMeshMetric) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{3} } func (x *TCPServiceMeshMetric) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *TCPServiceMeshMetric) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } func (x *TCPServiceMeshMetric) GetSourceServiceName() string { if x != nil { return x.SourceServiceName } return "" } func (x *TCPServiceMeshMetric) GetSourceServiceInstance() string { if x != nil { return x.SourceServiceInstance } return "" } func (x *TCPServiceMeshMetric) GetDestServiceName() string { if x != nil { return x.DestServiceName } return "" } func (x *TCPServiceMeshMetric) GetDestServiceInstance() string { if x != nil { return x.DestServiceInstance } return "" } func (x *TCPServiceMeshMetric) GetDetectPoint() v3.DetectPoint { if x != nil { return x.DetectPoint } return v3.DetectPoint(0) } func (x *TCPServiceMeshMetric) GetTlsMode() string { if x != nil { return x.TlsMode } return "" } func (x *TCPServiceMeshMetric) GetInternalErrorCode() string { if x != nil { return x.InternalErrorCode } return "" } func (x *TCPServiceMeshMetric) GetInternalRequestLatencyNanos() int64 { if x != nil { return x.InternalRequestLatencyNanos } return 0 } func (x *TCPServiceMeshMetric) GetInternalResponseLatencyNanos() int64 { if x != nil { return x.InternalResponseLatencyNanos } return 0 } func (x *TCPServiceMeshMetric) GetSourceInstanceProperties() []*v3.KeyStringValuePair { if x != nil { return x.SourceInstanceProperties } return nil } func (x *TCPServiceMeshMetric) GetDestInstanceProperties() []*v3.KeyStringValuePair { if x != nil { return x.DestInstanceProperties } return nil } func (x *TCPServiceMeshMetric) GetReceivedBytes() int64 { if x != nil { return x.ReceivedBytes } return 0 } func (x *TCPServiceMeshMetric) GetSentBytes() int64 { if x != nil { return x.SentBytes } return 0 } type TCPServiceMeshMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Metrics []*TCPServiceMeshMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` } func (x *TCPServiceMeshMetrics) Reset() { *x = TCPServiceMeshMetrics{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TCPServiceMeshMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*TCPServiceMeshMetrics) ProtoMessage() {} func (x *TCPServiceMeshMetrics) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TCPServiceMeshMetrics.ProtoReflect.Descriptor instead. func (*TCPServiceMeshMetrics) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{4} } func (x *TCPServiceMeshMetrics) GetMetrics() []*TCPServiceMeshMetric { if x != nil { return x.Metrics } return nil } type MeshProbeDownstream struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MeshProbeDownstream) Reset() { *x = MeshProbeDownstream{} if protoimpl.UnsafeEnabled { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MeshProbeDownstream) String() string { return protoimpl.X.MessageStringOf(x) } func (*MeshProbeDownstream) ProtoMessage() {} func (x *MeshProbeDownstream) ProtoReflect() protoreflect.Message { mi := &file_service_mesh_probe_service_mesh_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MeshProbeDownstream.ProtoReflect.Descriptor instead. func (*MeshProbeDownstream) Descriptor() ([]byte, []int) { return file_service_mesh_probe_service_mesh_proto_rawDescGZIP(), []int{5} } var File_service_mesh_probe_service_mesh_proto protoreflect.FileDescriptor var file_service_mesh_probe_service_mesh_proto_rawDesc = []byte{ 0x0a, 0x25, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x49, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x74, 0x63, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xfc, 0x06, 0x0a, 0x15, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x5d, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x16, 0x64, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x16, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x98, 0x06, 0x0a, 0x14, 0x54, 0x43, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x5d, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x16, 0x64, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x16, 0x64, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x15, 0x54, 0x43, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2a, 0x1e, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x67, 0x52, 0x50, 0x43, 0x10, 0x01, 0x32, 0x70, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x22, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x00, 0x28, 0x01, 0x42, 0x8d, 0x01, 0x0a, 0x30, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x37, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x33, 0xaa, 0x02, 0x1d, 0x53, 0x6b, 0x79, 0x57, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_service_mesh_probe_service_mesh_proto_rawDescOnce sync.Once file_service_mesh_probe_service_mesh_proto_rawDescData = file_service_mesh_probe_service_mesh_proto_rawDesc ) func file_service_mesh_probe_service_mesh_proto_rawDescGZIP() []byte { file_service_mesh_probe_service_mesh_proto_rawDescOnce.Do(func() { file_service_mesh_probe_service_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_mesh_probe_service_mesh_proto_rawDescData) }) return file_service_mesh_probe_service_mesh_proto_rawDescData } var file_service_mesh_probe_service_mesh_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_service_mesh_probe_service_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_service_mesh_probe_service_mesh_proto_goTypes = []interface{}{ (Protocol)(0), // 0: skywalking.v3.Protocol (*ServiceMeshMetrics)(nil), // 1: skywalking.v3.ServiceMeshMetrics (*HTTPServiceMeshMetric)(nil), // 2: skywalking.v3.HTTPServiceMeshMetric (*HTTPServiceMeshMetrics)(nil), // 3: skywalking.v3.HTTPServiceMeshMetrics (*TCPServiceMeshMetric)(nil), // 4: skywalking.v3.TCPServiceMeshMetric (*TCPServiceMeshMetrics)(nil), // 5: skywalking.v3.TCPServiceMeshMetrics (*MeshProbeDownstream)(nil), // 6: skywalking.v3.MeshProbeDownstream (v3.DetectPoint)(0), // 7: skywalking.v3.DetectPoint (*v3.KeyStringValuePair)(nil), // 8: skywalking.v3.KeyStringValuePair } var file_service_mesh_probe_service_mesh_proto_depIdxs = []int32{ 3, // 0: skywalking.v3.ServiceMeshMetrics.httpMetrics:type_name -> skywalking.v3.HTTPServiceMeshMetrics 5, // 1: skywalking.v3.ServiceMeshMetrics.tcpMetrics:type_name -> skywalking.v3.TCPServiceMeshMetrics 0, // 2: skywalking.v3.HTTPServiceMeshMetric.protocol:type_name -> skywalking.v3.Protocol 7, // 3: skywalking.v3.HTTPServiceMeshMetric.detectPoint:type_name -> skywalking.v3.DetectPoint 8, // 4: skywalking.v3.HTTPServiceMeshMetric.sourceInstanceProperties:type_name -> skywalking.v3.KeyStringValuePair 8, // 5: skywalking.v3.HTTPServiceMeshMetric.destInstanceProperties:type_name -> skywalking.v3.KeyStringValuePair 2, // 6: skywalking.v3.HTTPServiceMeshMetrics.metrics:type_name -> skywalking.v3.HTTPServiceMeshMetric 7, // 7: skywalking.v3.TCPServiceMeshMetric.detectPoint:type_name -> skywalking.v3.DetectPoint 8, // 8: skywalking.v3.TCPServiceMeshMetric.sourceInstanceProperties:type_name -> skywalking.v3.KeyStringValuePair 8, // 9: skywalking.v3.TCPServiceMeshMetric.destInstanceProperties:type_name -> skywalking.v3.KeyStringValuePair 4, // 10: skywalking.v3.TCPServiceMeshMetrics.metrics:type_name -> skywalking.v3.TCPServiceMeshMetric 1, // 11: skywalking.v3.ServiceMeshMetricService.collect:input_type -> skywalking.v3.ServiceMeshMetrics 6, // 12: skywalking.v3.ServiceMeshMetricService.collect:output_type -> skywalking.v3.MeshProbeDownstream 12, // [12:13] is the sub-list for method output_type 11, // [11:12] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_service_mesh_probe_service_mesh_proto_init() } func file_service_mesh_probe_service_mesh_proto_init() { if File_service_mesh_probe_service_mesh_proto != nil { return } if !protoimpl.UnsafeEnabled { file_service_mesh_probe_service_mesh_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceMeshMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_mesh_probe_service_mesh_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPServiceMeshMetric); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_mesh_probe_service_mesh_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPServiceMeshMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_mesh_probe_service_mesh_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TCPServiceMeshMetric); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_mesh_probe_service_mesh_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TCPServiceMeshMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_service_mesh_probe_service_mesh_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MeshProbeDownstream); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_service_mesh_probe_service_mesh_proto_msgTypes[0].OneofWrappers = []interface{}{ (*ServiceMeshMetrics_HttpMetrics)(nil), (*ServiceMeshMetrics_TcpMetrics)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_mesh_probe_service_mesh_proto_rawDesc, NumEnums: 1, NumMessages: 6, NumExtensions: 0, NumServices: 1, }, GoTypes: file_service_mesh_probe_service_mesh_proto_goTypes, DependencyIndexes: file_service_mesh_probe_service_mesh_proto_depIdxs, EnumInfos: file_service_mesh_probe_service_mesh_proto_enumTypes, MessageInfos: file_service_mesh_probe_service_mesh_proto_msgTypes, }.Build() File_service_mesh_probe_service_mesh_proto = out.File file_service_mesh_probe_service_mesh_proto_rawDesc = nil file_service_mesh_probe_service_mesh_proto_goTypes = nil file_service_mesh_probe_service_mesh_proto_depIdxs = nil }