// Code generated by protoc-gen-gogo. DO NOT EDIT. // source: api/v1/api.proto package v1 import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" import _ "github.com/gogo/protobuf/gogoproto" import _ "google.golang.org/genproto/googleapis/api/annotations" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type ListServiceNameReq struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListServiceNameReq) Reset() { *m = ListServiceNameReq{} } func (m *ListServiceNameReq) String() string { return proto.CompactTextString(m) } func (*ListServiceNameReq) ProtoMessage() {} func (*ListServiceNameReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{0} } func (m *ListServiceNameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListServiceNameReq.Unmarshal(m, b) } func (m *ListServiceNameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListServiceNameReq.Marshal(b, m, deterministic) } func (dst *ListServiceNameReq) XXX_Merge(src proto.Message) { xxx_messageInfo_ListServiceNameReq.Merge(dst, src) } func (m *ListServiceNameReq) XXX_Size() int { return xxx_messageInfo_ListServiceNameReq.Size(m) } func (m *ListServiceNameReq) XXX_DiscardUnknown() { xxx_messageInfo_ListServiceNameReq.DiscardUnknown(m) } var xxx_messageInfo_ListServiceNameReq proto.InternalMessageInfo type ListServiceNameReply struct { ServiceNames []string `protobuf:"bytes,1,rep,name=service_names,json=serviceNames" json:"service_names,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListServiceNameReply) Reset() { *m = ListServiceNameReply{} } func (m *ListServiceNameReply) String() string { return proto.CompactTextString(m) } func (*ListServiceNameReply) ProtoMessage() {} func (*ListServiceNameReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{1} } func (m *ListServiceNameReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListServiceNameReply.Unmarshal(m, b) } func (m *ListServiceNameReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListServiceNameReply.Marshal(b, m, deterministic) } func (dst *ListServiceNameReply) XXX_Merge(src proto.Message) { xxx_messageInfo_ListServiceNameReply.Merge(dst, src) } func (m *ListServiceNameReply) XXX_Size() int { return xxx_messageInfo_ListServiceNameReply.Size(m) } func (m *ListServiceNameReply) XXX_DiscardUnknown() { xxx_messageInfo_ListServiceNameReply.DiscardUnknown(m) } var xxx_messageInfo_ListServiceNameReply proto.InternalMessageInfo func (m *ListServiceNameReply) GetServiceNames() []string { if m != nil { return m.ServiceNames } return nil } type ListOperationNameReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListOperationNameReq) Reset() { *m = ListOperationNameReq{} } func (m *ListOperationNameReq) String() string { return proto.CompactTextString(m) } func (*ListOperationNameReq) ProtoMessage() {} func (*ListOperationNameReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{2} } func (m *ListOperationNameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListOperationNameReq.Unmarshal(m, b) } func (m *ListOperationNameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListOperationNameReq.Marshal(b, m, deterministic) } func (dst *ListOperationNameReq) XXX_Merge(src proto.Message) { xxx_messageInfo_ListOperationNameReq.Merge(dst, src) } func (m *ListOperationNameReq) XXX_Size() int { return xxx_messageInfo_ListOperationNameReq.Size(m) } func (m *ListOperationNameReq) XXX_DiscardUnknown() { xxx_messageInfo_ListOperationNameReq.DiscardUnknown(m) } var xxx_messageInfo_ListOperationNameReq proto.InternalMessageInfo func (m *ListOperationNameReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } type ListOperationNameReply struct { OperationNames []string `protobuf:"bytes,1,rep,name=operation_names,json=operationNames" json:"operation_names,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListOperationNameReply) Reset() { *m = ListOperationNameReply{} } func (m *ListOperationNameReply) String() string { return proto.CompactTextString(m) } func (*ListOperationNameReply) ProtoMessage() {} func (*ListOperationNameReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{3} } func (m *ListOperationNameReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListOperationNameReply.Unmarshal(m, b) } func (m *ListOperationNameReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListOperationNameReply.Marshal(b, m, deterministic) } func (dst *ListOperationNameReply) XXX_Merge(src proto.Message) { xxx_messageInfo_ListOperationNameReply.Merge(dst, src) } func (m *ListOperationNameReply) XXX_Size() int { return xxx_messageInfo_ListOperationNameReply.Size(m) } func (m *ListOperationNameReply) XXX_DiscardUnknown() { xxx_messageInfo_ListOperationNameReply.DiscardUnknown(m) } var xxx_messageInfo_ListOperationNameReply proto.InternalMessageInfo func (m *ListOperationNameReply) GetOperationNames() []string { if m != nil { return m.OperationNames } return nil } type ListSpanReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty" form:"operation_name" validate:"required"` Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty" form:"start"` End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty" form:"end"` // 目前支持的 order // time:desc time:asc 按时间排序 // duration:desc duration:asc 按耗时排序 Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order,omitempty" form:"order"` // 只显示 error 的 span OnlyError bool `protobuf:"varint,6,opt,name=only_error,json=onlyError,proto3" json:"only_error,omitempty" form:"only_error"` Offset int32 `protobuf:"varint,7,opt,name=offset,proto3" json:"offset,omitempty" form:"offset"` Limit int32 `protobuf:"varint,8,opt,name=limit,proto3" json:"limit,omitempty" form:"limit"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListSpanReq) Reset() { *m = ListSpanReq{} } func (m *ListSpanReq) String() string { return proto.CompactTextString(m) } func (*ListSpanReq) ProtoMessage() {} func (*ListSpanReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{4} } func (m *ListSpanReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListSpanReq.Unmarshal(m, b) } func (m *ListSpanReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListSpanReq.Marshal(b, m, deterministic) } func (dst *ListSpanReq) XXX_Merge(src proto.Message) { xxx_messageInfo_ListSpanReq.Merge(dst, src) } func (m *ListSpanReq) XXX_Size() int { return xxx_messageInfo_ListSpanReq.Size(m) } func (m *ListSpanReq) XXX_DiscardUnknown() { xxx_messageInfo_ListSpanReq.DiscardUnknown(m) } var xxx_messageInfo_ListSpanReq proto.InternalMessageInfo func (m *ListSpanReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *ListSpanReq) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *ListSpanReq) GetStart() int64 { if m != nil { return m.Start } return 0 } func (m *ListSpanReq) GetEnd() int64 { if m != nil { return m.End } return 0 } func (m *ListSpanReq) GetOrder() string { if m != nil { return m.Order } return "" } func (m *ListSpanReq) GetOnlyError() bool { if m != nil { return m.OnlyError } return false } func (m *ListSpanReq) GetOffset() int32 { if m != nil { return m.Offset } return 0 } func (m *ListSpanReq) GetLimit() int32 { if m != nil { return m.Limit } return 0 } type SpanListItem struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` ParentId string `protobuf:"bytes,3,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` OperationName string `protobuf:"bytes,5,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"` StartTime string `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` Duration string `protobuf:"bytes,7,opt,name=duration,proto3" json:"duration,omitempty"` Tags map[string]*TagValue `protobuf:"bytes,12,rep,name=tags" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` // Deprecated: use tags IsError bool `protobuf:"varint,8,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` ContainerIp string `protobuf:"bytes,9,opt,name=container_ip,json=containerIp,proto3" json:"container_ip,omitempty"` RegionZone string `protobuf:"bytes,10,opt,name=region_zone,json=regionZone,proto3" json:"region_zone,omitempty"` Mark string `protobuf:"bytes,11,opt,name=mark,proto3" json:"mark,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SpanListItem) Reset() { *m = SpanListItem{} } func (m *SpanListItem) String() string { return proto.CompactTextString(m) } func (*SpanListItem) ProtoMessage() {} func (*SpanListItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{5} } func (m *SpanListItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SpanListItem.Unmarshal(m, b) } func (m *SpanListItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SpanListItem.Marshal(b, m, deterministic) } func (dst *SpanListItem) XXX_Merge(src proto.Message) { xxx_messageInfo_SpanListItem.Merge(dst, src) } func (m *SpanListItem) XXX_Size() int { return xxx_messageInfo_SpanListItem.Size(m) } func (m *SpanListItem) XXX_DiscardUnknown() { xxx_messageInfo_SpanListItem.DiscardUnknown(m) } var xxx_messageInfo_SpanListItem proto.InternalMessageInfo func (m *SpanListItem) GetTraceId() string { if m != nil { return m.TraceId } return "" } func (m *SpanListItem) GetSpanId() string { if m != nil { return m.SpanId } return "" } func (m *SpanListItem) GetParentId() string { if m != nil { return m.ParentId } return "" } func (m *SpanListItem) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *SpanListItem) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *SpanListItem) GetStartTime() string { if m != nil { return m.StartTime } return "" } func (m *SpanListItem) GetDuration() string { if m != nil { return m.Duration } return "" } func (m *SpanListItem) GetTags() map[string]*TagValue { if m != nil { return m.Tags } return nil } func (m *SpanListItem) GetIsError() bool { if m != nil { return m.IsError } return false } func (m *SpanListItem) GetContainerIp() string { if m != nil { return m.ContainerIp } return "" } func (m *SpanListItem) GetRegionZone() string { if m != nil { return m.RegionZone } return "" } func (m *SpanListItem) GetMark() string { if m != nil { return m.Mark } return "" } type TraceReq struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty" form:"trace_id" validate:"required"` SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty" form:"span_id"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *TraceReq) Reset() { *m = TraceReq{} } func (m *TraceReq) String() string { return proto.CompactTextString(m) } func (*TraceReq) ProtoMessage() {} func (*TraceReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{6} } func (m *TraceReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TraceReq.Unmarshal(m, b) } func (m *TraceReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TraceReq.Marshal(b, m, deterministic) } func (dst *TraceReq) XXX_Merge(src proto.Message) { xxx_messageInfo_TraceReq.Merge(dst, src) } func (m *TraceReq) XXX_Size() int { return xxx_messageInfo_TraceReq.Size(m) } func (m *TraceReq) XXX_DiscardUnknown() { xxx_messageInfo_TraceReq.DiscardUnknown(m) } var xxx_messageInfo_TraceReq proto.InternalMessageInfo func (m *TraceReq) GetTraceId() string { if m != nil { return m.TraceId } return "" } func (m *TraceReq) GetSpanId() string { if m != nil { return m.SpanId } return "" } type RawTraceReq struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty" form:"trace_id" validate:"required"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *RawTraceReq) Reset() { *m = RawTraceReq{} } func (m *RawTraceReq) String() string { return proto.CompactTextString(m) } func (*RawTraceReq) ProtoMessage() {} func (*RawTraceReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{7} } func (m *RawTraceReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RawTraceReq.Unmarshal(m, b) } func (m *RawTraceReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RawTraceReq.Marshal(b, m, deterministic) } func (dst *RawTraceReq) XXX_Merge(src proto.Message) { xxx_messageInfo_RawTraceReq.Merge(dst, src) } func (m *RawTraceReq) XXX_Size() int { return xxx_messageInfo_RawTraceReq.Size(m) } func (m *RawTraceReq) XXX_DiscardUnknown() { xxx_messageInfo_RawTraceReq.DiscardUnknown(m) } var xxx_messageInfo_RawTraceReq proto.InternalMessageInfo func (m *RawTraceReq) GetTraceId() string { if m != nil { return m.TraceId } return "" } type RawTraceReply struct { Items []*Span `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *RawTraceReply) Reset() { *m = RawTraceReply{} } func (m *RawTraceReply) String() string { return proto.CompactTextString(m) } func (*RawTraceReply) ProtoMessage() {} func (*RawTraceReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{8} } func (m *RawTraceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RawTraceReply.Unmarshal(m, b) } func (m *RawTraceReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RawTraceReply.Marshal(b, m, deterministic) } func (dst *RawTraceReply) XXX_Merge(src proto.Message) { xxx_messageInfo_RawTraceReply.Merge(dst, src) } func (m *RawTraceReply) XXX_Size() int { return xxx_messageInfo_RawTraceReply.Size(m) } func (m *RawTraceReply) XXX_DiscardUnknown() { xxx_messageInfo_RawTraceReply.DiscardUnknown(m) } var xxx_messageInfo_RawTraceReply proto.InternalMessageInfo func (m *RawTraceReply) GetItems() []*Span { if m != nil { return m.Items } return nil } type TagValue struct { // Types that are valid to be assigned to Value: // *TagValue_StringValue // *TagValue_Int64Value // *TagValue_BoolValue // *TagValue_FloatValue Value isTagValue_Value `protobuf_oneof:"value"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *TagValue) Reset() { *m = TagValue{} } func (m *TagValue) String() string { return proto.CompactTextString(m) } func (*TagValue) ProtoMessage() {} func (*TagValue) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{9} } func (m *TagValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagValue.Unmarshal(m, b) } func (m *TagValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TagValue.Marshal(b, m, deterministic) } func (dst *TagValue) XXX_Merge(src proto.Message) { xxx_messageInfo_TagValue.Merge(dst, src) } func (m *TagValue) XXX_Size() int { return xxx_messageInfo_TagValue.Size(m) } func (m *TagValue) XXX_DiscardUnknown() { xxx_messageInfo_TagValue.DiscardUnknown(m) } var xxx_messageInfo_TagValue proto.InternalMessageInfo type isTagValue_Value interface { isTagValue_Value() } type TagValue_StringValue struct { StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,proto3,oneof"` } type TagValue_Int64Value struct { Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` } type TagValue_BoolValue struct { BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` } type TagValue_FloatValue struct { FloatValue float32 `protobuf:"fixed32,5,opt,name=float_value,json=floatValue,proto3,oneof"` } func (*TagValue_StringValue) isTagValue_Value() {} func (*TagValue_Int64Value) isTagValue_Value() {} func (*TagValue_BoolValue) isTagValue_Value() {} func (*TagValue_FloatValue) isTagValue_Value() {} func (m *TagValue) GetValue() isTagValue_Value { if m != nil { return m.Value } return nil } func (m *TagValue) GetStringValue() string { if x, ok := m.GetValue().(*TagValue_StringValue); ok { return x.StringValue } return "" } func (m *TagValue) GetInt64Value() int64 { if x, ok := m.GetValue().(*TagValue_Int64Value); ok { return x.Int64Value } return 0 } func (m *TagValue) GetBoolValue() bool { if x, ok := m.GetValue().(*TagValue_BoolValue); ok { return x.BoolValue } return false } func (m *TagValue) GetFloatValue() float32 { if x, ok := m.GetValue().(*TagValue_FloatValue); ok { return x.FloatValue } return 0 } // XXX_OneofFuncs is for the internal use of the proto package. func (*TagValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _TagValue_OneofMarshaler, _TagValue_OneofUnmarshaler, _TagValue_OneofSizer, []interface{}{ (*TagValue_StringValue)(nil), (*TagValue_Int64Value)(nil), (*TagValue_BoolValue)(nil), (*TagValue_FloatValue)(nil), } } func _TagValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { m := msg.(*TagValue) // value switch x := m.Value.(type) { case *TagValue_StringValue: _ = b.EncodeVarint(2<<3 | proto.WireBytes) _ = b.EncodeStringBytes(x.StringValue) case *TagValue_Int64Value: _ = b.EncodeVarint(3<<3 | proto.WireVarint) _ = b.EncodeVarint(uint64(x.Int64Value)) case *TagValue_BoolValue: t := uint64(0) if x.BoolValue { t = 1 } _ = b.EncodeVarint(4<<3 | proto.WireVarint) _ = b.EncodeVarint(t) case *TagValue_FloatValue: _ = b.EncodeVarint(5<<3 | proto.WireFixed32) _ = b.EncodeFixed32(uint64(math.Float32bits(x.FloatValue))) case nil: default: return fmt.Errorf("TagValue.Value has unexpected type %T", x) } return nil } func _TagValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*TagValue) switch tag { case 2: // value.string_value if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } x, err := b.DecodeStringBytes() m.Value = &TagValue_StringValue{x} return true, err case 3: // value.int64_value if wire != proto.WireVarint { return true, proto.ErrInternalBadWireType } x, err := b.DecodeVarint() m.Value = &TagValue_Int64Value{int64(x)} return true, err case 4: // value.bool_value if wire != proto.WireVarint { return true, proto.ErrInternalBadWireType } x, err := b.DecodeVarint() m.Value = &TagValue_BoolValue{x != 0} return true, err case 5: // value.float_value if wire != proto.WireFixed32 { return true, proto.ErrInternalBadWireType } x, err := b.DecodeFixed32() m.Value = &TagValue_FloatValue{math.Float32frombits(uint32(x))} return true, err default: return false, nil } } func _TagValue_OneofSizer(msg proto.Message) (n int) { m := msg.(*TagValue) // value switch x := m.Value.(type) { case *TagValue_StringValue: n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.StringValue))) n += len(x.StringValue) case *TagValue_Int64Value: n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Int64Value)) case *TagValue_BoolValue: n += 1 // tag and wire n += 1 case *TagValue_FloatValue: n += 1 // tag and wire n += 4 case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) } return n } type Field struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Field) Reset() { *m = Field{} } func (m *Field) String() string { return proto.CompactTextString(m) } func (*Field) ProtoMessage() {} func (*Field) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{10} } func (m *Field) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Field.Unmarshal(m, b) } func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Field.Marshal(b, m, deterministic) } func (dst *Field) XXX_Merge(src proto.Message) { xxx_messageInfo_Field.Merge(dst, src) } func (m *Field) XXX_Size() int { return xxx_messageInfo_Field.Size(m) } func (m *Field) XXX_DiscardUnknown() { xxx_messageInfo_Field.DiscardUnknown(m) } var xxx_messageInfo_Field proto.InternalMessageInfo func (m *Field) GetKey() string { if m != nil { return m.Key } return "" } func (m *Field) GetValue() string { if m != nil { return m.Value } return "" } type Log struct { Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Fields []*Field `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Log) Reset() { *m = Log{} } func (m *Log) String() string { return proto.CompactTextString(m) } func (*Log) ProtoMessage() {} func (*Log) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{11} } func (m *Log) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Log.Unmarshal(m, b) } func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Log.Marshal(b, m, deterministic) } func (dst *Log) XXX_Merge(src proto.Message) { xxx_messageInfo_Log.Merge(dst, src) } func (m *Log) XXX_Size() int { return xxx_messageInfo_Log.Size(m) } func (m *Log) XXX_DiscardUnknown() { xxx_messageInfo_Log.DiscardUnknown(m) } var xxx_messageInfo_Log proto.InternalMessageInfo func (m *Log) GetTimestamp() int64 { if m != nil { return m.Timestamp } return 0 } func (m *Log) GetFields() []*Field { if m != nil { return m.Fields } return nil } type Span struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"` TraceId string `protobuf:"bytes,3,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` SpanId string `protobuf:"bytes,4,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` ParentId string `protobuf:"bytes,5,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` StartTime int64 `protobuf:"varint,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` Duration int64 `protobuf:"varint,7,opt,name=duration,proto3" json:"duration,omitempty"` Tags map[string]*TagValue `protobuf:"bytes,8,rep,name=tags" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` Logs []*Log `protobuf:"bytes,9,rep,name=logs" json:"logs,omitempty"` Level int32 `protobuf:"varint,10,opt,name=level,proto3" json:"level,omitempty"` Childs []*Span `protobuf:"bytes,11,rep,name=childs" json:"childs,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Span) Reset() { *m = Span{} } func (m *Span) String() string { return proto.CompactTextString(m) } func (*Span) ProtoMessage() {} func (*Span) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{12} } func (m *Span) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Span.Unmarshal(m, b) } func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Span.Marshal(b, m, deterministic) } func (dst *Span) XXX_Merge(src proto.Message) { xxx_messageInfo_Span.Merge(dst, src) } func (m *Span) XXX_Size() int { return xxx_messageInfo_Span.Size(m) } func (m *Span) XXX_DiscardUnknown() { xxx_messageInfo_Span.DiscardUnknown(m) } var xxx_messageInfo_Span proto.InternalMessageInfo func (m *Span) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *Span) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *Span) GetTraceId() string { if m != nil { return m.TraceId } return "" } func (m *Span) GetSpanId() string { if m != nil { return m.SpanId } return "" } func (m *Span) GetParentId() string { if m != nil { return m.ParentId } return "" } func (m *Span) GetStartTime() int64 { if m != nil { return m.StartTime } return 0 } func (m *Span) GetDuration() int64 { if m != nil { return m.Duration } return 0 } func (m *Span) GetTags() map[string]*TagValue { if m != nil { return m.Tags } return nil } func (m *Span) GetLogs() []*Log { if m != nil { return m.Logs } return nil } func (m *Span) GetLevel() int32 { if m != nil { return m.Level } return 0 } func (m *Span) GetChilds() []*Span { if m != nil { return m.Childs } return nil } type TraceReply struct { ServiceCount int32 `protobuf:"varint,1,opt,name=service_count,json=serviceCount,proto3" json:"service_count,omitempty"` SpanCount int32 `protobuf:"varint,2,opt,name=span_count,json=spanCount,proto3" json:"span_count,omitempty"` MaxLevel int32 `protobuf:"varint,3,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"` Root *Span `protobuf:"bytes,4,opt,name=root" json:"root,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *TraceReply) Reset() { *m = TraceReply{} } func (m *TraceReply) String() string { return proto.CompactTextString(m) } func (*TraceReply) ProtoMessage() {} func (*TraceReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{13} } func (m *TraceReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TraceReply.Unmarshal(m, b) } func (m *TraceReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TraceReply.Marshal(b, m, deterministic) } func (dst *TraceReply) XXX_Merge(src proto.Message) { xxx_messageInfo_TraceReply.Merge(dst, src) } func (m *TraceReply) XXX_Size() int { return xxx_messageInfo_TraceReply.Size(m) } func (m *TraceReply) XXX_DiscardUnknown() { xxx_messageInfo_TraceReply.DiscardUnknown(m) } var xxx_messageInfo_TraceReply proto.InternalMessageInfo func (m *TraceReply) GetServiceCount() int32 { if m != nil { return m.ServiceCount } return 0 } func (m *TraceReply) GetSpanCount() int32 { if m != nil { return m.SpanCount } return 0 } func (m *TraceReply) GetMaxLevel() int32 { if m != nil { return m.MaxLevel } return 0 } func (m *TraceReply) GetRoot() *Span { if m != nil { return m.Root } return nil } type ListSpanReply struct { Items []*SpanListItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ListSpanReply) Reset() { *m = ListSpanReply{} } func (m *ListSpanReply) String() string { return proto.CompactTextString(m) } func (*ListSpanReply) ProtoMessage() {} func (*ListSpanReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{14} } func (m *ListSpanReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ListSpanReply.Unmarshal(m, b) } func (m *ListSpanReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ListSpanReply.Marshal(b, m, deterministic) } func (dst *ListSpanReply) XXX_Merge(src proto.Message) { xxx_messageInfo_ListSpanReply.Merge(dst, src) } func (m *ListSpanReply) XXX_Size() int { return xxx_messageInfo_ListSpanReply.Size(m) } func (m *ListSpanReply) XXX_DiscardUnknown() { xxx_messageInfo_ListSpanReply.DiscardUnknown(m) } var xxx_messageInfo_ListSpanReply proto.InternalMessageInfo func (m *ListSpanReply) GetItems() []*SpanListItem { if m != nil { return m.Items } return nil } type OperationNameRankReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` Start int64 `protobuf:"varint,2,opt,name=start,proto3" json:"start,omitempty" form:"start"` End int64 `protobuf:"varint,3,opt,name=end,proto3" json:"end,omitempty" form:"end"` // 排序类型 max_duration 最大耗时, min_duration 最小耗时, avg_duration 平均耗时, errors 错误数 RankType string `protobuf:"bytes,4,opt,name=rank_type,json=rankType,proto3" json:"rank_type,omitempty" form:"rank_type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *OperationNameRankReq) Reset() { *m = OperationNameRankReq{} } func (m *OperationNameRankReq) String() string { return proto.CompactTextString(m) } func (*OperationNameRankReq) ProtoMessage() {} func (*OperationNameRankReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{15} } func (m *OperationNameRankReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperationNameRankReq.Unmarshal(m, b) } func (m *OperationNameRankReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OperationNameRankReq.Marshal(b, m, deterministic) } func (dst *OperationNameRankReq) XXX_Merge(src proto.Message) { xxx_messageInfo_OperationNameRankReq.Merge(dst, src) } func (m *OperationNameRankReq) XXX_Size() int { return xxx_messageInfo_OperationNameRankReq.Size(m) } func (m *OperationNameRankReq) XXX_DiscardUnknown() { xxx_messageInfo_OperationNameRankReq.DiscardUnknown(m) } var xxx_messageInfo_OperationNameRankReq proto.InternalMessageInfo func (m *OperationNameRankReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *OperationNameRankReq) GetStart() int64 { if m != nil { return m.Start } return 0 } func (m *OperationNameRankReq) GetEnd() int64 { if m != nil { return m.End } return 0 } func (m *OperationNameRankReq) GetRankType() string { if m != nil { return m.RankType } return "" } type RankItem struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"` // 当 rank type 是 max_duration, min_duration, avg_duration 时 value 是纳秒 // 当 rank type 是 errors 是 value 是错误数 Value float64 `protobuf:"fixed64,3,opt,name=value,proto3" json:"value,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *RankItem) Reset() { *m = RankItem{} } func (m *RankItem) String() string { return proto.CompactTextString(m) } func (*RankItem) ProtoMessage() {} func (*RankItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{16} } func (m *RankItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RankItem.Unmarshal(m, b) } func (m *RankItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RankItem.Marshal(b, m, deterministic) } func (dst *RankItem) XXX_Merge(src proto.Message) { xxx_messageInfo_RankItem.Merge(dst, src) } func (m *RankItem) XXX_Size() int { return xxx_messageInfo_RankItem.Size(m) } func (m *RankItem) XXX_DiscardUnknown() { xxx_messageInfo_RankItem.DiscardUnknown(m) } var xxx_messageInfo_RankItem proto.InternalMessageInfo func (m *RankItem) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *RankItem) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *RankItem) GetValue() float64 { if m != nil { return m.Value } return 0 } type OperationNameRankReply struct { RankType string `protobuf:"bytes,1,opt,name=rank_type,json=rankType,proto3" json:"rank_type,omitempty"` Items []*RankItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *OperationNameRankReply) Reset() { *m = OperationNameRankReply{} } func (m *OperationNameRankReply) String() string { return proto.CompactTextString(m) } func (*OperationNameRankReply) ProtoMessage() {} func (*OperationNameRankReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{17} } func (m *OperationNameRankReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperationNameRankReply.Unmarshal(m, b) } func (m *OperationNameRankReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OperationNameRankReply.Marshal(b, m, deterministic) } func (dst *OperationNameRankReply) XXX_Merge(src proto.Message) { xxx_messageInfo_OperationNameRankReply.Merge(dst, src) } func (m *OperationNameRankReply) XXX_Size() int { return xxx_messageInfo_OperationNameRankReply.Size(m) } func (m *OperationNameRankReply) XXX_DiscardUnknown() { xxx_messageInfo_OperationNameRankReply.DiscardUnknown(m) } var xxx_messageInfo_OperationNameRankReply proto.InternalMessageInfo func (m *OperationNameRankReply) GetRankType() string { if m != nil { return m.RankType } return "" } func (m *OperationNameRankReply) GetItems() []*RankItem { if m != nil { return m.Items } return nil } type DependsRankReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty" form:"start"` End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty" form:"end"` // 排序类型 max_duration 最大耗时, min_duration 最小耗时, avg_duration 平均耗时, errors 错误数 RankType string `protobuf:"bytes,5,opt,name=rank_type,json=rankType,proto3" json:"rank_type,omitempty" form:"rank_type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *DependsRankReq) Reset() { *m = DependsRankReq{} } func (m *DependsRankReq) String() string { return proto.CompactTextString(m) } func (*DependsRankReq) ProtoMessage() {} func (*DependsRankReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{18} } func (m *DependsRankReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DependsRankReq.Unmarshal(m, b) } func (m *DependsRankReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DependsRankReq.Marshal(b, m, deterministic) } func (dst *DependsRankReq) XXX_Merge(src proto.Message) { xxx_messageInfo_DependsRankReq.Merge(dst, src) } func (m *DependsRankReq) XXX_Size() int { return xxx_messageInfo_DependsRankReq.Size(m) } func (m *DependsRankReq) XXX_DiscardUnknown() { xxx_messageInfo_DependsRankReq.DiscardUnknown(m) } var xxx_messageInfo_DependsRankReq proto.InternalMessageInfo func (m *DependsRankReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *DependsRankReq) GetStart() int64 { if m != nil { return m.Start } return 0 } func (m *DependsRankReq) GetEnd() int64 { if m != nil { return m.End } return 0 } func (m *DependsRankReq) GetRankType() string { if m != nil { return m.RankType } return "" } type DependsRankReply struct { RankType string `protobuf:"bytes,1,opt,name=rank_type,json=rankType,proto3" json:"rank_type,omitempty"` Items []*RankItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *DependsRankReply) Reset() { *m = DependsRankReply{} } func (m *DependsRankReply) String() string { return proto.CompactTextString(m) } func (*DependsRankReply) ProtoMessage() {} func (*DependsRankReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{19} } func (m *DependsRankReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DependsRankReply.Unmarshal(m, b) } func (m *DependsRankReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DependsRankReply.Marshal(b, m, deterministic) } func (dst *DependsRankReply) XXX_Merge(src proto.Message) { xxx_messageInfo_DependsRankReply.Merge(dst, src) } func (m *DependsRankReply) XXX_Size() int { return xxx_messageInfo_DependsRankReply.Size(m) } func (m *DependsRankReply) XXX_DiscardUnknown() { xxx_messageInfo_DependsRankReply.DiscardUnknown(m) } var xxx_messageInfo_DependsRankReply proto.InternalMessageInfo func (m *DependsRankReply) GetRankType() string { if m != nil { return m.RankType } return "" } func (m *DependsRankReply) GetItems() []*RankItem { if m != nil { return m.Items } return nil } type SpanSeriesReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty" form:"operation_name" validate:"required"` Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty" form:"start"` End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty" form:"end"` // 可选的 fields 有 max_duration, min_duration, avg_duration, errors // 其中除 errors 返回的是一段时间内的总数 其他返回的都是平均数 // fields 是个数组可以通过 fields=max_duration,min_duration,avg_duration 逗号分隔 Fields string `protobuf:"bytes,6,opt,name=fields,proto3" json:"fields,omitempty" form:"fields"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SpanSeriesReq) Reset() { *m = SpanSeriesReq{} } func (m *SpanSeriesReq) String() string { return proto.CompactTextString(m) } func (*SpanSeriesReq) ProtoMessage() {} func (*SpanSeriesReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{20} } func (m *SpanSeriesReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SpanSeriesReq.Unmarshal(m, b) } func (m *SpanSeriesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SpanSeriesReq.Marshal(b, m, deterministic) } func (dst *SpanSeriesReq) XXX_Merge(src proto.Message) { xxx_messageInfo_SpanSeriesReq.Merge(dst, src) } func (m *SpanSeriesReq) XXX_Size() int { return xxx_messageInfo_SpanSeriesReq.Size(m) } func (m *SpanSeriesReq) XXX_DiscardUnknown() { xxx_messageInfo_SpanSeriesReq.DiscardUnknown(m) } var xxx_messageInfo_SpanSeriesReq proto.InternalMessageInfo func (m *SpanSeriesReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *SpanSeriesReq) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *SpanSeriesReq) GetStart() int64 { if m != nil { return m.Start } return 0 } func (m *SpanSeriesReq) GetEnd() int64 { if m != nil { return m.End } return 0 } func (m *SpanSeriesReq) GetFields() string { if m != nil { return m.Fields } return "" } type SeriesItem struct { // 名称一般是请求的 field+{count|mean} Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` Values []*int64 `protobuf:"varint,2,rep,packed,name=values,customtype=*int64" json:"values,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SeriesItem) Reset() { *m = SeriesItem{} } func (m *SeriesItem) String() string { return proto.CompactTextString(m) } func (*SeriesItem) ProtoMessage() {} func (*SeriesItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{21} } func (m *SeriesItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeriesItem.Unmarshal(m, b) } func (m *SeriesItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SeriesItem.Marshal(b, m, deterministic) } func (dst *SeriesItem) XXX_Merge(src proto.Message) { xxx_messageInfo_SeriesItem.Merge(dst, src) } func (m *SeriesItem) XXX_Size() int { return xxx_messageInfo_SeriesItem.Size(m) } func (m *SeriesItem) XXX_DiscardUnknown() { xxx_messageInfo_SeriesItem.DiscardUnknown(m) } var xxx_messageInfo_SeriesItem proto.InternalMessageInfo func (m *SeriesItem) GetField() string { if m != nil { return m.Field } return "" } type SpanSeriesReply struct { // 返回点的间隔 Interval int64 `protobuf:"varint,5,opt,name=interval,proto3" json:"interval,omitempty"` Times []string `protobuf:"bytes,1,rep,name=times" json:"times,omitempty"` Items []*SeriesItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SpanSeriesReply) Reset() { *m = SpanSeriesReply{} } func (m *SpanSeriesReply) String() string { return proto.CompactTextString(m) } func (*SpanSeriesReply) ProtoMessage() {} func (*SpanSeriesReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{22} } func (m *SpanSeriesReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SpanSeriesReply.Unmarshal(m, b) } func (m *SpanSeriesReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SpanSeriesReply.Marshal(b, m, deterministic) } func (dst *SpanSeriesReply) XXX_Merge(src proto.Message) { xxx_messageInfo_SpanSeriesReply.Merge(dst, src) } func (m *SpanSeriesReply) XXX_Size() int { return xxx_messageInfo_SpanSeriesReply.Size(m) } func (m *SpanSeriesReply) XXX_DiscardUnknown() { xxx_messageInfo_SpanSeriesReply.DiscardUnknown(m) } var xxx_messageInfo_SpanSeriesReply proto.InternalMessageInfo func (m *SpanSeriesReply) GetInterval() int64 { if m != nil { return m.Interval } return 0 } func (m *SpanSeriesReply) GetTimes() []string { if m != nil { return m.Times } return nil } func (m *SpanSeriesReply) GetItems() []*SeriesItem { if m != nil { return m.Items } return nil } type CltStatusReq struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *CltStatusReq) Reset() { *m = CltStatusReq{} } func (m *CltStatusReq) String() string { return proto.CompactTextString(m) } func (*CltStatusReq) ProtoMessage() {} func (*CltStatusReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{23} } func (m *CltStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CltStatusReq.Unmarshal(m, b) } func (m *CltStatusReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CltStatusReq.Marshal(b, m, deterministic) } func (dst *CltStatusReq) XXX_Merge(src proto.Message) { xxx_messageInfo_CltStatusReq.Merge(dst, src) } func (m *CltStatusReq) XXX_Size() int { return xxx_messageInfo_CltStatusReq.Size(m) } func (m *CltStatusReq) XXX_DiscardUnknown() { xxx_messageInfo_CltStatusReq.DiscardUnknown(m) } var xxx_messageInfo_CltStatusReq proto.InternalMessageInfo type Client struct { Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` ErrCount int64 `protobuf:"varint,2,opt,name=err_count,json=errCount,proto3" json:"err_count,omitempty"` Rate int64 `protobuf:"varint,3,opt,name=rate,proto3" json:"rate,omitempty"` UpTime int64 `protobuf:"varint,4,opt,name=up_time,json=upTime,proto3" json:"up_time,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *Client) Reset() { *m = Client{} } func (m *Client) String() string { return proto.CompactTextString(m) } func (*Client) ProtoMessage() {} func (*Client) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{24} } func (m *Client) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Client.Unmarshal(m, b) } func (m *Client) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Client.Marshal(b, m, deterministic) } func (dst *Client) XXX_Merge(src proto.Message) { xxx_messageInfo_Client.Merge(dst, src) } func (m *Client) XXX_Size() int { return xxx_messageInfo_Client.Size(m) } func (m *Client) XXX_DiscardUnknown() { xxx_messageInfo_Client.DiscardUnknown(m) } var xxx_messageInfo_Client proto.InternalMessageInfo func (m *Client) GetAddr() string { if m != nil { return m.Addr } return "" } func (m *Client) GetErrCount() int64 { if m != nil { return m.ErrCount } return 0 } func (m *Client) GetRate() int64 { if m != nil { return m.Rate } return 0 } func (m *Client) GetUpTime() int64 { if m != nil { return m.UpTime } return 0 } type CltNode struct { Node string `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` QueueLen int64 `protobuf:"varint,2,opt,name=queue_len,json=queueLen,proto3" json:"queue_len,omitempty"` Clients []*Client `protobuf:"bytes,3,rep,name=clients" json:"clients,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *CltNode) Reset() { *m = CltNode{} } func (m *CltNode) String() string { return proto.CompactTextString(m) } func (*CltNode) ProtoMessage() {} func (*CltNode) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{25} } func (m *CltNode) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CltNode.Unmarshal(m, b) } func (m *CltNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CltNode.Marshal(b, m, deterministic) } func (dst *CltNode) XXX_Merge(src proto.Message) { xxx_messageInfo_CltNode.Merge(dst, src) } func (m *CltNode) XXX_Size() int { return xxx_messageInfo_CltNode.Size(m) } func (m *CltNode) XXX_DiscardUnknown() { xxx_messageInfo_CltNode.DiscardUnknown(m) } var xxx_messageInfo_CltNode proto.InternalMessageInfo func (m *CltNode) GetNode() string { if m != nil { return m.Node } return "" } func (m *CltNode) GetQueueLen() int64 { if m != nil { return m.QueueLen } return 0 } func (m *CltNode) GetClients() []*Client { if m != nil { return m.Clients } return nil } type CltStatusReply struct { Nodes []*CltNode `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *CltStatusReply) Reset() { *m = CltStatusReply{} } func (m *CltStatusReply) String() string { return proto.CompactTextString(m) } func (*CltStatusReply) ProtoMessage() {} func (*CltStatusReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{26} } func (m *CltStatusReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CltStatusReply.Unmarshal(m, b) } func (m *CltStatusReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CltStatusReply.Marshal(b, m, deterministic) } func (dst *CltStatusReply) XXX_Merge(src proto.Message) { xxx_messageInfo_CltStatusReply.Merge(dst, src) } func (m *CltStatusReply) XXX_Size() int { return xxx_messageInfo_CltStatusReply.Size(m) } func (m *CltStatusReply) XXX_DiscardUnknown() { xxx_messageInfo_CltStatusReply.DiscardUnknown(m) } var xxx_messageInfo_CltStatusReply proto.InternalMessageInfo func (m *CltStatusReply) GetNodes() []*CltNode { if m != nil { return m.Nodes } return nil } type SamplePointReq struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty" form:"operation_name" validate:"required"` // only_error 在 errors 那个图可以指定为 true OnlyError bool `protobuf:"varint,3,opt,name=only_error,json=onlyError,proto3" json:"only_error,omitempty" form:"only_error"` // interval 使用 span-series 返回的 interval 即可 Interval int64 `protobuf:"varint,5,opt,name=interval,proto3" json:"interval,omitempty" form:"interval" validate:"required"` // time 使用 time-series 返回的时间即可,相同格式型如 2006-01-02T15:04:05 Time string `protobuf:"bytes,6,opt,name=time,proto3" json:"time,omitempty" form:"time" validate:"required"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SamplePointReq) Reset() { *m = SamplePointReq{} } func (m *SamplePointReq) String() string { return proto.CompactTextString(m) } func (*SamplePointReq) ProtoMessage() {} func (*SamplePointReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{27} } func (m *SamplePointReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SamplePointReq.Unmarshal(m, b) } func (m *SamplePointReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SamplePointReq.Marshal(b, m, deterministic) } func (dst *SamplePointReq) XXX_Merge(src proto.Message) { xxx_messageInfo_SamplePointReq.Merge(dst, src) } func (m *SamplePointReq) XXX_Size() int { return xxx_messageInfo_SamplePointReq.Size(m) } func (m *SamplePointReq) XXX_DiscardUnknown() { xxx_messageInfo_SamplePointReq.DiscardUnknown(m) } var xxx_messageInfo_SamplePointReq proto.InternalMessageInfo func (m *SamplePointReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *SamplePointReq) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *SamplePointReq) GetOnlyError() bool { if m != nil { return m.OnlyError } return false } func (m *SamplePointReq) GetInterval() int64 { if m != nil { return m.Interval } return 0 } func (m *SamplePointReq) GetTime() string { if m != nil { return m.Time } return "" } type SamplePointItem struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"` SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"` Duration int64 `protobuf:"varint,3,opt,name=duration,proto3" json:"duration,omitempty"` IsError bool `protobuf:"varint,4,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SamplePointItem) Reset() { *m = SamplePointItem{} } func (m *SamplePointItem) String() string { return proto.CompactTextString(m) } func (*SamplePointItem) ProtoMessage() {} func (*SamplePointItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{28} } func (m *SamplePointItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SamplePointItem.Unmarshal(m, b) } func (m *SamplePointItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SamplePointItem.Marshal(b, m, deterministic) } func (dst *SamplePointItem) XXX_Merge(src proto.Message) { xxx_messageInfo_SamplePointItem.Merge(dst, src) } func (m *SamplePointItem) XXX_Size() int { return xxx_messageInfo_SamplePointItem.Size(m) } func (m *SamplePointItem) XXX_DiscardUnknown() { xxx_messageInfo_SamplePointItem.DiscardUnknown(m) } var xxx_messageInfo_SamplePointItem proto.InternalMessageInfo func (m *SamplePointItem) GetTraceId() string { if m != nil { return m.TraceId } return "" } func (m *SamplePointItem) GetSpanId() string { if m != nil { return m.SpanId } return "" } func (m *SamplePointItem) GetDuration() int64 { if m != nil { return m.Duration } return 0 } func (m *SamplePointItem) GetIsError() bool { if m != nil { return m.IsError } return false } type SamplePointReply struct { Items []*SamplePointItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SamplePointReply) Reset() { *m = SamplePointReply{} } func (m *SamplePointReply) String() string { return proto.CompactTextString(m) } func (*SamplePointReply) ProtoMessage() {} func (*SamplePointReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{29} } func (m *SamplePointReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SamplePointReply.Unmarshal(m, b) } func (m *SamplePointReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SamplePointReply.Marshal(b, m, deterministic) } func (dst *SamplePointReply) XXX_Merge(src proto.Message) { xxx_messageInfo_SamplePointReply.Merge(dst, src) } func (m *SamplePointReply) XXX_Size() int { return xxx_messageInfo_SamplePointReply.Size(m) } func (m *SamplePointReply) XXX_DiscardUnknown() { xxx_messageInfo_SamplePointReply.DiscardUnknown(m) } var xxx_messageInfo_SamplePointReply proto.InternalMessageInfo func (m *SamplePointReply) GetItems() []*SamplePointItem { if m != nil { return m.Items } return nil } type DependsTopologyReq struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *DependsTopologyReq) Reset() { *m = DependsTopologyReq{} } func (m *DependsTopologyReq) String() string { return proto.CompactTextString(m) } func (*DependsTopologyReq) ProtoMessage() {} func (*DependsTopologyReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{30} } func (m *DependsTopologyReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DependsTopologyReq.Unmarshal(m, b) } func (m *DependsTopologyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DependsTopologyReq.Marshal(b, m, deterministic) } func (dst *DependsTopologyReq) XXX_Merge(src proto.Message) { xxx_messageInfo_DependsTopologyReq.Merge(dst, src) } func (m *DependsTopologyReq) XXX_Size() int { return xxx_messageInfo_DependsTopologyReq.Size(m) } func (m *DependsTopologyReq) XXX_DiscardUnknown() { xxx_messageInfo_DependsTopologyReq.DiscardUnknown(m) } var xxx_messageInfo_DependsTopologyReq proto.InternalMessageInfo type DependsTopologyItem struct { ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` DependOn string `protobuf:"bytes,2,opt,name=depend_on,json=dependOn,proto3" json:"depend_on,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *DependsTopologyItem) Reset() { *m = DependsTopologyItem{} } func (m *DependsTopologyItem) String() string { return proto.CompactTextString(m) } func (*DependsTopologyItem) ProtoMessage() {} func (*DependsTopologyItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{31} } func (m *DependsTopologyItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DependsTopologyItem.Unmarshal(m, b) } func (m *DependsTopologyItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DependsTopologyItem.Marshal(b, m, deterministic) } func (dst *DependsTopologyItem) XXX_Merge(src proto.Message) { xxx_messageInfo_DependsTopologyItem.Merge(dst, src) } func (m *DependsTopologyItem) XXX_Size() int { return xxx_messageInfo_DependsTopologyItem.Size(m) } func (m *DependsTopologyItem) XXX_DiscardUnknown() { xxx_messageInfo_DependsTopologyItem.DiscardUnknown(m) } var xxx_messageInfo_DependsTopologyItem proto.InternalMessageInfo func (m *DependsTopologyItem) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *DependsTopologyItem) GetDependOn() string { if m != nil { return m.DependOn } return "" } type DependsTopologyReply struct { Items []*DependsTopologyItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *DependsTopologyReply) Reset() { *m = DependsTopologyReply{} } func (m *DependsTopologyReply) String() string { return proto.CompactTextString(m) } func (*DependsTopologyReply) ProtoMessage() {} func (*DependsTopologyReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{32} } func (m *DependsTopologyReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DependsTopologyReply.Unmarshal(m, b) } func (m *DependsTopologyReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DependsTopologyReply.Marshal(b, m, deterministic) } func (dst *DependsTopologyReply) XXX_Merge(src proto.Message) { xxx_messageInfo_DependsTopologyReply.Merge(dst, src) } func (m *DependsTopologyReply) XXX_Size() int { return xxx_messageInfo_DependsTopologyReply.Size(m) } func (m *DependsTopologyReply) XXX_DiscardUnknown() { xxx_messageInfo_DependsTopologyReply.DiscardUnknown(m) } var xxx_messageInfo_DependsTopologyReply proto.InternalMessageInfo func (m *DependsTopologyReply) GetItems() []*DependsTopologyItem { if m != nil { return m.Items } return nil } type OpsLogReq struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty" form:"trace_id" validate:"required"` SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty" form:"span_id"` TraceField string `protobuf:"bytes,3,opt,name=trace_field,json=traceField,proto3" json:"trace_field,omitempty" form:"trace_field"` ServiceName string `protobuf:"bytes,4,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name"` OperationName string `protobuf:"bytes,5,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty" form:"operation_name"` // 开始时间 Start int64 `protobuf:"varint,6,opt,name=start,proto3" json:"start,omitempty" form:"start"` // 结束时间 End int64 `protobuf:"varint,7,opt,name=end,proto3" json:"end,omitempty" form:"end"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *OpsLogReq) Reset() { *m = OpsLogReq{} } func (m *OpsLogReq) String() string { return proto.CompactTextString(m) } func (*OpsLogReq) ProtoMessage() {} func (*OpsLogReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{33} } func (m *OpsLogReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OpsLogReq.Unmarshal(m, b) } func (m *OpsLogReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OpsLogReq.Marshal(b, m, deterministic) } func (dst *OpsLogReq) XXX_Merge(src proto.Message) { xxx_messageInfo_OpsLogReq.Merge(dst, src) } func (m *OpsLogReq) XXX_Size() int { return xxx_messageInfo_OpsLogReq.Size(m) } func (m *OpsLogReq) XXX_DiscardUnknown() { xxx_messageInfo_OpsLogReq.DiscardUnknown(m) } var xxx_messageInfo_OpsLogReq proto.InternalMessageInfo func (m *OpsLogReq) GetTraceId() string { if m != nil { return m.TraceId } return "" } func (m *OpsLogReq) GetSpanId() string { if m != nil { return m.SpanId } return "" } func (m *OpsLogReq) GetTraceField() string { if m != nil { return m.TraceField } return "" } func (m *OpsLogReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *OpsLogReq) GetOperationName() string { if m != nil { return m.OperationName } return "" } func (m *OpsLogReq) GetStart() int64 { if m != nil { return m.Start } return 0 } func (m *OpsLogReq) GetEnd() int64 { if m != nil { return m.End } return 0 } type OpsLogRecord struct { Time string `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` Fields map[string]*TagValue `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` Level string `protobuf:"bytes,3,opt,name=level,proto3" json:"level,omitempty"` Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *OpsLogRecord) Reset() { *m = OpsLogRecord{} } func (m *OpsLogRecord) String() string { return proto.CompactTextString(m) } func (*OpsLogRecord) ProtoMessage() {} func (*OpsLogRecord) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{34} } func (m *OpsLogRecord) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OpsLogRecord.Unmarshal(m, b) } func (m *OpsLogRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OpsLogRecord.Marshal(b, m, deterministic) } func (dst *OpsLogRecord) XXX_Merge(src proto.Message) { xxx_messageInfo_OpsLogRecord.Merge(dst, src) } func (m *OpsLogRecord) XXX_Size() int { return xxx_messageInfo_OpsLogRecord.Size(m) } func (m *OpsLogRecord) XXX_DiscardUnknown() { xxx_messageInfo_OpsLogRecord.DiscardUnknown(m) } var xxx_messageInfo_OpsLogRecord proto.InternalMessageInfo func (m *OpsLogRecord) GetTime() string { if m != nil { return m.Time } return "" } func (m *OpsLogRecord) GetFields() map[string]*TagValue { if m != nil { return m.Fields } return nil } func (m *OpsLogRecord) GetLevel() string { if m != nil { return m.Level } return "" } func (m *OpsLogRecord) GetMessage() string { if m != nil { return m.Message } return "" } type OpsLogReply struct { Records []*OpsLogRecord `protobuf:"bytes,1,rep,name=records" json:"records,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *OpsLogReply) Reset() { *m = OpsLogReply{} } func (m *OpsLogReply) String() string { return proto.CompactTextString(m) } func (*OpsLogReply) ProtoMessage() {} func (*OpsLogReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{35} } func (m *OpsLogReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OpsLogReply.Unmarshal(m, b) } func (m *OpsLogReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OpsLogReply.Marshal(b, m, deterministic) } func (dst *OpsLogReply) XXX_Merge(src proto.Message) { xxx_messageInfo_OpsLogReply.Merge(dst, src) } func (m *OpsLogReply) XXX_Size() int { return xxx_messageInfo_OpsLogReply.Size(m) } func (m *OpsLogReply) XXX_DiscardUnknown() { xxx_messageInfo_OpsLogReply.DiscardUnknown(m) } var xxx_messageInfo_OpsLogReply proto.InternalMessageInfo func (m *OpsLogReply) GetRecords() []*OpsLogRecord { if m != nil { return m.Records } return nil } type ServiceDependReq struct { // service_name 不解释! ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty" form:"service_name" validate:"required"` // operation_name 当 operation_name 为空时查询所有 operation_name 然后 merge 结果 OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty" form:"operation_name"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ServiceDependReq) Reset() { *m = ServiceDependReq{} } func (m *ServiceDependReq) String() string { return proto.CompactTextString(m) } func (*ServiceDependReq) ProtoMessage() {} func (*ServiceDependReq) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{36} } func (m *ServiceDependReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceDependReq.Unmarshal(m, b) } func (m *ServiceDependReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ServiceDependReq.Marshal(b, m, deterministic) } func (dst *ServiceDependReq) XXX_Merge(src proto.Message) { xxx_messageInfo_ServiceDependReq.Merge(dst, src) } func (m *ServiceDependReq) XXX_Size() int { return xxx_messageInfo_ServiceDependReq.Size(m) } func (m *ServiceDependReq) XXX_DiscardUnknown() { xxx_messageInfo_ServiceDependReq.DiscardUnknown(m) } var xxx_messageInfo_ServiceDependReq proto.InternalMessageInfo func (m *ServiceDependReq) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *ServiceDependReq) GetOperationName() string { if m != nil { return m.OperationName } return "" } type ServiceDependReply struct { Items []*ServiceDependItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ServiceDependReply) Reset() { *m = ServiceDependReply{} } func (m *ServiceDependReply) String() string { return proto.CompactTextString(m) } func (*ServiceDependReply) ProtoMessage() {} func (*ServiceDependReply) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{37} } func (m *ServiceDependReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceDependReply.Unmarshal(m, b) } func (m *ServiceDependReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ServiceDependReply.Marshal(b, m, deterministic) } func (dst *ServiceDependReply) XXX_Merge(src proto.Message) { xxx_messageInfo_ServiceDependReply.Merge(dst, src) } func (m *ServiceDependReply) XXX_Size() int { return xxx_messageInfo_ServiceDependReply.Size(m) } func (m *ServiceDependReply) XXX_DiscardUnknown() { xxx_messageInfo_ServiceDependReply.DiscardUnknown(m) } var xxx_messageInfo_ServiceDependReply proto.InternalMessageInfo func (m *ServiceDependReply) GetItems() []*ServiceDependItem { if m != nil { return m.Items } return nil } type ServiceDependItem struct { // service_name 依赖服务名称, service 为 AppID 其他为组件名 mysql, redis, http 等 ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` // component, 通讯组件 e.g. net/http, goRPC, gRPC Component string `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` // operation_names 被依赖服务的 operation_names, mysql, redis 等为空 OperationNames []string `protobuf:"bytes,3,rep,name=operation_names,json=operationNames" json:"operation_names,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *ServiceDependItem) Reset() { *m = ServiceDependItem{} } func (m *ServiceDependItem) String() string { return proto.CompactTextString(m) } func (*ServiceDependItem) ProtoMessage() {} func (*ServiceDependItem) Descriptor() ([]byte, []int) { return fileDescriptor_api_f0d39efb13fd4b71, []int{38} } func (m *ServiceDependItem) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceDependItem.Unmarshal(m, b) } func (m *ServiceDependItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ServiceDependItem.Marshal(b, m, deterministic) } func (dst *ServiceDependItem) XXX_Merge(src proto.Message) { xxx_messageInfo_ServiceDependItem.Merge(dst, src) } func (m *ServiceDependItem) XXX_Size() int { return xxx_messageInfo_ServiceDependItem.Size(m) } func (m *ServiceDependItem) XXX_DiscardUnknown() { xxx_messageInfo_ServiceDependItem.DiscardUnknown(m) } var xxx_messageInfo_ServiceDependItem proto.InternalMessageInfo func (m *ServiceDependItem) GetServiceName() string { if m != nil { return m.ServiceName } return "" } func (m *ServiceDependItem) GetComponent() string { if m != nil { return m.Component } return "" } func (m *ServiceDependItem) GetOperationNames() []string { if m != nil { return m.OperationNames } return nil } func init() { proto.RegisterType((*ListServiceNameReq)(nil), "dapper.query.v1.ListServiceNameReq") proto.RegisterType((*ListServiceNameReply)(nil), "dapper.query.v1.ListServiceNameReply") proto.RegisterType((*ListOperationNameReq)(nil), "dapper.query.v1.ListOperationNameReq") proto.RegisterType((*ListOperationNameReply)(nil), "dapper.query.v1.ListOperationNameReply") proto.RegisterType((*ListSpanReq)(nil), "dapper.query.v1.ListSpanReq") proto.RegisterType((*SpanListItem)(nil), "dapper.query.v1.SpanListItem") proto.RegisterMapType((map[string]*TagValue)(nil), "dapper.query.v1.SpanListItem.TagsEntry") proto.RegisterType((*TraceReq)(nil), "dapper.query.v1.TraceReq") proto.RegisterType((*RawTraceReq)(nil), "dapper.query.v1.RawTraceReq") proto.RegisterType((*RawTraceReply)(nil), "dapper.query.v1.RawTraceReply") proto.RegisterType((*TagValue)(nil), "dapper.query.v1.TagValue") proto.RegisterType((*Field)(nil), "dapper.query.v1.Field") proto.RegisterType((*Log)(nil), "dapper.query.v1.Log") proto.RegisterType((*Span)(nil), "dapper.query.v1.Span") proto.RegisterMapType((map[string]*TagValue)(nil), "dapper.query.v1.Span.TagsEntry") proto.RegisterType((*TraceReply)(nil), "dapper.query.v1.TraceReply") proto.RegisterType((*ListSpanReply)(nil), "dapper.query.v1.ListSpanReply") proto.RegisterType((*OperationNameRankReq)(nil), "dapper.query.v1.OperationNameRankReq") proto.RegisterType((*RankItem)(nil), "dapper.query.v1.RankItem") proto.RegisterType((*OperationNameRankReply)(nil), "dapper.query.v1.OperationNameRankReply") proto.RegisterType((*DependsRankReq)(nil), "dapper.query.v1.DependsRankReq") proto.RegisterType((*DependsRankReply)(nil), "dapper.query.v1.DependsRankReply") proto.RegisterType((*SpanSeriesReq)(nil), "dapper.query.v1.SpanSeriesReq") proto.RegisterType((*SeriesItem)(nil), "dapper.query.v1.SeriesItem") proto.RegisterType((*SpanSeriesReply)(nil), "dapper.query.v1.SpanSeriesReply") proto.RegisterType((*CltStatusReq)(nil), "dapper.query.v1.CltStatusReq") proto.RegisterType((*Client)(nil), "dapper.query.v1.Client") proto.RegisterType((*CltNode)(nil), "dapper.query.v1.CltNode") proto.RegisterType((*CltStatusReply)(nil), "dapper.query.v1.CltStatusReply") proto.RegisterType((*SamplePointReq)(nil), "dapper.query.v1.SamplePointReq") proto.RegisterType((*SamplePointItem)(nil), "dapper.query.v1.SamplePointItem") proto.RegisterType((*SamplePointReply)(nil), "dapper.query.v1.SamplePointReply") proto.RegisterType((*DependsTopologyReq)(nil), "dapper.query.v1.DependsTopologyReq") proto.RegisterType((*DependsTopologyItem)(nil), "dapper.query.v1.DependsTopologyItem") proto.RegisterType((*DependsTopologyReply)(nil), "dapper.query.v1.DependsTopologyReply") proto.RegisterType((*OpsLogReq)(nil), "dapper.query.v1.OpsLogReq") proto.RegisterType((*OpsLogRecord)(nil), "dapper.query.v1.OpsLogRecord") proto.RegisterMapType((map[string]*TagValue)(nil), "dapper.query.v1.OpsLogRecord.FieldsEntry") proto.RegisterType((*OpsLogReply)(nil), "dapper.query.v1.OpsLogReply") proto.RegisterType((*ServiceDependReq)(nil), "dapper.query.v1.ServiceDependReq") proto.RegisterType((*ServiceDependReply)(nil), "dapper.query.v1.ServiceDependReply") proto.RegisterType((*ServiceDependItem)(nil), "dapper.query.v1.ServiceDependItem") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 // DapperQueryClient is the client API for DapperQuery service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type DapperQueryClient interface { // ListServiceName 列出所有 service ListServiceName(ctx context.Context, in *ListServiceNameReq, opts ...grpc.CallOption) (*ListServiceNameReply, error) // ListOperationName 列出某一 service 下所有 operation_name 仅 span.kind 为 server 的 operation_name ListOperationName(ctx context.Context, in *ListOperationNameReq, opts ...grpc.CallOption) (*ListOperationNameReply, error) // ListSpan 列出一个 service_name 某一 operation_name 所有采样到 Span ListSpan(ctx context.Context, in *ListSpanReq, opts ...grpc.CallOption) (*ListSpanReply, error) // Trace 查询一个 Trace Trace(ctx context.Context, in *TraceReq, opts ...grpc.CallOption) (*TraceReply, error) // RawTrace 原始 Trace 数据 RawTrace(ctx context.Context, in *RawTraceReq, opts ...grpc.CallOption) (*RawTraceReply, error) // OperationNameRank 查询 OperationName 排名列表 OperationNameRank(ctx context.Context, in *OperationNameRankReq, opts ...grpc.CallOption) (*OperationNameRankReply, error) // DependsRank 查询某一个 service_name:operation_name 下所有依赖组件排名 DependsRank(ctx context.Context, in *DependsRankReq, opts ...grpc.CallOption) (*DependsRankReply, error) // SpanSeries 获取 span 的时间序列数据 SpanSeries(ctx context.Context, in *SpanSeriesReq, opts ...grpc.CallOption) (*SpanSeriesReply, error) // SamplePoint 获取采样点数据 SamplePoint(ctx context.Context, in *SamplePointReq, opts ...grpc.CallOption) (*SamplePointReply, error) // CltStatus 获取 collector 信息 CltStatus(ctx context.Context, in *CltStatusReq, opts ...grpc.CallOption) (*CltStatusReply, error) // DependsTopology 获取依赖拓扑图 DependsTopology(ctx context.Context, in *DependsTopologyReq, opts ...grpc.CallOption) (*DependsTopologyReply, error) // OpsLog 获取 通过 trace-id 获取 opslog 记录 // 如果请求的 trace-id 没有被记录到, 则需要提供 service_name operation_name 和 timestamp 进行模糊查询 OpsLog(ctx context.Context, in *OpsLogReq, opts ...grpc.CallOption) (*OpsLogReply, error) // ServiceDepend 查询服务的直接依赖 // TODO: 通过最近收集的到3 个 span 实时计算的,在当前查询的服务出现不正常的时候,查询结果可能不准确 ServiceDepend(ctx context.Context, in *ServiceDependReq, opts ...grpc.CallOption) (*ServiceDependReply, error) } type dapperQueryClient struct { cc *grpc.ClientConn } func NewDapperQueryClient(cc *grpc.ClientConn) DapperQueryClient { return &dapperQueryClient{cc} } func (c *dapperQueryClient) ListServiceName(ctx context.Context, in *ListServiceNameReq, opts ...grpc.CallOption) (*ListServiceNameReply, error) { out := new(ListServiceNameReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/ListServiceName", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) ListOperationName(ctx context.Context, in *ListOperationNameReq, opts ...grpc.CallOption) (*ListOperationNameReply, error) { out := new(ListOperationNameReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/ListOperationName", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) ListSpan(ctx context.Context, in *ListSpanReq, opts ...grpc.CallOption) (*ListSpanReply, error) { out := new(ListSpanReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/ListSpan", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) Trace(ctx context.Context, in *TraceReq, opts ...grpc.CallOption) (*TraceReply, error) { out := new(TraceReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/Trace", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) RawTrace(ctx context.Context, in *RawTraceReq, opts ...grpc.CallOption) (*RawTraceReply, error) { out := new(RawTraceReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/RawTrace", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) OperationNameRank(ctx context.Context, in *OperationNameRankReq, opts ...grpc.CallOption) (*OperationNameRankReply, error) { out := new(OperationNameRankReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/OperationNameRank", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) DependsRank(ctx context.Context, in *DependsRankReq, opts ...grpc.CallOption) (*DependsRankReply, error) { out := new(DependsRankReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/DependsRank", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) SpanSeries(ctx context.Context, in *SpanSeriesReq, opts ...grpc.CallOption) (*SpanSeriesReply, error) { out := new(SpanSeriesReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/SpanSeries", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) SamplePoint(ctx context.Context, in *SamplePointReq, opts ...grpc.CallOption) (*SamplePointReply, error) { out := new(SamplePointReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/SamplePoint", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) CltStatus(ctx context.Context, in *CltStatusReq, opts ...grpc.CallOption) (*CltStatusReply, error) { out := new(CltStatusReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/CltStatus", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) DependsTopology(ctx context.Context, in *DependsTopologyReq, opts ...grpc.CallOption) (*DependsTopologyReply, error) { out := new(DependsTopologyReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/DependsTopology", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) OpsLog(ctx context.Context, in *OpsLogReq, opts ...grpc.CallOption) (*OpsLogReply, error) { out := new(OpsLogReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/OpsLog", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *dapperQueryClient) ServiceDepend(ctx context.Context, in *ServiceDependReq, opts ...grpc.CallOption) (*ServiceDependReply, error) { out := new(ServiceDependReply) err := c.cc.Invoke(ctx, "/dapper.query.v1.DapperQuery/ServiceDepend", in, out, opts...) if err != nil { return nil, err } return out, nil } // DapperQueryServer is the server API for DapperQuery service. type DapperQueryServer interface { // ListServiceName 列出所有 service ListServiceName(context.Context, *ListServiceNameReq) (*ListServiceNameReply, error) // ListOperationName 列出某一 service 下所有 operation_name 仅 span.kind 为 server 的 operation_name ListOperationName(context.Context, *ListOperationNameReq) (*ListOperationNameReply, error) // ListSpan 列出一个 service_name 某一 operation_name 所有采样到 Span ListSpan(context.Context, *ListSpanReq) (*ListSpanReply, error) // Trace 查询一个 Trace Trace(context.Context, *TraceReq) (*TraceReply, error) // RawTrace 原始 Trace 数据 RawTrace(context.Context, *RawTraceReq) (*RawTraceReply, error) // OperationNameRank 查询 OperationName 排名列表 OperationNameRank(context.Context, *OperationNameRankReq) (*OperationNameRankReply, error) // DependsRank 查询某一个 service_name:operation_name 下所有依赖组件排名 DependsRank(context.Context, *DependsRankReq) (*DependsRankReply, error) // SpanSeries 获取 span 的时间序列数据 SpanSeries(context.Context, *SpanSeriesReq) (*SpanSeriesReply, error) // SamplePoint 获取采样点数据 SamplePoint(context.Context, *SamplePointReq) (*SamplePointReply, error) // CltStatus 获取 collector 信息 CltStatus(context.Context, *CltStatusReq) (*CltStatusReply, error) // DependsTopology 获取依赖拓扑图 DependsTopology(context.Context, *DependsTopologyReq) (*DependsTopologyReply, error) // OpsLog 获取 通过 trace-id 获取 opslog 记录 // 如果请求的 trace-id 没有被记录到, 则需要提供 service_name operation_name 和 timestamp 进行模糊查询 OpsLog(context.Context, *OpsLogReq) (*OpsLogReply, error) // ServiceDepend 查询服务的直接依赖 // TODO: 通过最近收集的到3 个 span 实时计算的,在当前查询的服务出现不正常的时候,查询结果可能不准确 ServiceDepend(context.Context, *ServiceDependReq) (*ServiceDependReply, error) } func RegisterDapperQueryServer(s *grpc.Server, srv DapperQueryServer) { s.RegisterService(&_DapperQuery_serviceDesc, srv) } func _DapperQuery_ListServiceName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListServiceNameReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).ListServiceName(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/ListServiceName", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).ListServiceName(ctx, req.(*ListServiceNameReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_ListOperationName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListOperationNameReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).ListOperationName(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/ListOperationName", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).ListOperationName(ctx, req.(*ListOperationNameReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_ListSpan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSpanReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).ListSpan(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/ListSpan", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).ListSpan(ctx, req.(*ListSpanReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_Trace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TraceReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).Trace(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/Trace", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).Trace(ctx, req.(*TraceReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_RawTrace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RawTraceReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).RawTrace(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/RawTrace", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).RawTrace(ctx, req.(*RawTraceReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_OperationNameRank_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OperationNameRankReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).OperationNameRank(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/OperationNameRank", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).OperationNameRank(ctx, req.(*OperationNameRankReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_DependsRank_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DependsRankReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).DependsRank(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/DependsRank", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).DependsRank(ctx, req.(*DependsRankReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_SpanSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SpanSeriesReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).SpanSeries(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/SpanSeries", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).SpanSeries(ctx, req.(*SpanSeriesReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_SamplePoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SamplePointReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).SamplePoint(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/SamplePoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).SamplePoint(ctx, req.(*SamplePointReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_CltStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CltStatusReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).CltStatus(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/CltStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).CltStatus(ctx, req.(*CltStatusReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_DependsTopology_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DependsTopologyReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).DependsTopology(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/DependsTopology", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).DependsTopology(ctx, req.(*DependsTopologyReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_OpsLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OpsLogReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).OpsLog(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/OpsLog", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).OpsLog(ctx, req.(*OpsLogReq)) } return interceptor(ctx, in, info, handler) } func _DapperQuery_ServiceDepend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ServiceDependReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DapperQueryServer).ServiceDepend(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/dapper.query.v1.DapperQuery/ServiceDepend", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DapperQueryServer).ServiceDepend(ctx, req.(*ServiceDependReq)) } return interceptor(ctx, in, info, handler) } var _DapperQuery_serviceDesc = grpc.ServiceDesc{ ServiceName: "dapper.query.v1.DapperQuery", HandlerType: (*DapperQueryServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ListServiceName", Handler: _DapperQuery_ListServiceName_Handler, }, { MethodName: "ListOperationName", Handler: _DapperQuery_ListOperationName_Handler, }, { MethodName: "ListSpan", Handler: _DapperQuery_ListSpan_Handler, }, { MethodName: "Trace", Handler: _DapperQuery_Trace_Handler, }, { MethodName: "RawTrace", Handler: _DapperQuery_RawTrace_Handler, }, { MethodName: "OperationNameRank", Handler: _DapperQuery_OperationNameRank_Handler, }, { MethodName: "DependsRank", Handler: _DapperQuery_DependsRank_Handler, }, { MethodName: "SpanSeries", Handler: _DapperQuery_SpanSeries_Handler, }, { MethodName: "SamplePoint", Handler: _DapperQuery_SamplePoint_Handler, }, { MethodName: "CltStatus", Handler: _DapperQuery_CltStatus_Handler, }, { MethodName: "DependsTopology", Handler: _DapperQuery_DependsTopology_Handler, }, { MethodName: "OpsLog", Handler: _DapperQuery_OpsLog_Handler, }, { MethodName: "ServiceDepend", Handler: _DapperQuery_ServiceDepend_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "api/v1/api.proto", } func init() { proto.RegisterFile("api/v1/api.proto", fileDescriptor_api_f0d39efb13fd4b71) } var fileDescriptor_api_f0d39efb13fd4b71 = []byte{ // 2209 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x39, 0xbd, 0x8f, 0xdb, 0xc8, 0xf5, 0xa6, 0xa8, 0x2f, 0x3e, 0x69, 0x3f, 0x3c, 0xb7, 0xb6, 0x65, 0xed, 0xda, 0xd4, 0xce, 0xda, 0xb7, 0xbb, 0x67, 0x68, 0x85, 0xb5, 0x0f, 0xe7, 0x83, 0xef, 0x57, 0xf8, 0x64, 0x9f, 0x61, 0xff, 0x60, 0xd8, 0x39, 0x7a, 0x93, 0xe2, 0x1a, 0x85, 0x96, 0x46, 0x3a, 0xc6, 0x14, 0x49, 0x93, 0x94, 0xce, 0xeb, 0x24, 0xcd, 0x35, 0x01, 0xd2, 0xa4, 0x48, 0x8a, 0x74, 0x69, 0x52, 0xa5, 0xc8, 0x3f, 0x93, 0x54, 0x01, 0x22, 0x20, 0x48, 0x8a, 0x20, 0xe9, 0xd4, 0x07, 0x08, 0xe6, 0x0d, 0x29, 0x91, 0xe2, 0x48, 0x5e, 0x24, 0x5e, 0x04, 0x41, 0x3a, 0xf1, 0xbd, 0x37, 0xf3, 0xbe, 0xbf, 0x46, 0xb0, 0x69, 0x7a, 0x56, 0x6b, 0x7c, 0xdc, 0x32, 0x3d, 0xeb, 0xc8, 0xf3, 0xdd, 0xd0, 0x25, 0x1b, 0x3d, 0xd3, 0xf3, 0x98, 0x7f, 0xf4, 0x7a, 0xc4, 0xfc, 0xd3, 0xa3, 0xf1, 0x71, 0x7d, 0x67, 0xe0, 0xba, 0x03, 0x9b, 0x71, 0x92, 0x96, 0xe9, 0x38, 0x6e, 0x68, 0x86, 0x96, 0xeb, 0x04, 0x82, 0xbc, 0xde, 0x1c, 0x58, 0xe1, 0xd7, 0xa3, 0x97, 0x47, 0x5d, 0x77, 0xd8, 0x1a, 0xb8, 0x03, 0xb7, 0x85, 0xe0, 0x97, 0xa3, 0x3e, 0x7e, 0xe1, 0x07, 0xfe, 0x12, 0xe4, 0x74, 0x0b, 0xc8, 0x53, 0x2b, 0x08, 0x5f, 0x30, 0x7f, 0x6c, 0x75, 0xd9, 0x33, 0x73, 0xc8, 0x0c, 0xf6, 0x9a, 0x7e, 0x06, 0x5b, 0x19, 0xa8, 0x67, 0x9f, 0x92, 0x3d, 0x58, 0x0b, 0x04, 0xac, 0xe3, 0x98, 0x43, 0x16, 0xd4, 0x94, 0x86, 0x7a, 0xa0, 0x19, 0xd5, 0x60, 0x4e, 0x18, 0xd0, 0xbe, 0x38, 0xfc, 0xdc, 0x63, 0x3e, 0x4a, 0x16, 0x5d, 0x4a, 0x9e, 0x41, 0x35, 0x79, 0xb8, 0xa6, 0x34, 0x94, 0x03, 0xad, 0x7d, 0x6b, 0x3a, 0xd1, 0xf7, 0xfb, 0xae, 0x3f, 0xbc, 0x47, 0x93, 0x58, 0xda, 0x18, 0x9b, 0xb6, 0xd5, 0x33, 0x43, 0x76, 0x8f, 0xfa, 0xec, 0xf5, 0xc8, 0xf2, 0x59, 0x8f, 0x1a, 0x95, 0x04, 0x23, 0xfa, 0x39, 0x5c, 0x96, 0xf0, 0xe1, 0x62, 0xee, 0xc3, 0x86, 0x1b, 0x43, 0x53, 0x82, 0xae, 0xbb, 0x49, 0xe2, 0x80, 0xfe, 0x56, 0x85, 0x0a, 0x2a, 0xea, 0x99, 0xce, 0x39, 0x88, 0x48, 0x4e, 0x60, 0x3d, 0x2d, 0x48, 0x2d, 0x87, 0x37, 0x36, 0xa7, 0x13, 0xfd, 0x50, 0xdc, 0x98, 0xc6, 0xcb, 0xef, 0x5c, 0x4b, 0x89, 0x4d, 0x3e, 0x84, 0x42, 0x10, 0x9a, 0x7e, 0x58, 0x53, 0x1b, 0xca, 0x81, 0xda, 0xde, 0x9c, 0x4e, 0xf4, 0x6a, 0x24, 0x1e, 0x07, 0x53, 0x43, 0xa0, 0x49, 0x03, 0x54, 0xe6, 0xf4, 0x6a, 0x79, 0xa4, 0x5a, 0x9f, 0x4e, 0x74, 0x10, 0x54, 0xcc, 0xe9, 0x51, 0x83, 0xa3, 0xf8, 0x4d, 0xae, 0xdf, 0x63, 0x7e, 0xad, 0x80, 0x62, 0x25, 0x6e, 0x42, 0x30, 0x35, 0x04, 0x9a, 0x7c, 0x0c, 0xe0, 0x3a, 0xf6, 0x69, 0x87, 0xf9, 0xbe, 0xeb, 0xd7, 0x8a, 0x0d, 0xe5, 0xa0, 0xdc, 0xbe, 0x34, 0x9d, 0xe8, 0x17, 0x23, 0xe2, 0x19, 0x8e, 0x1a, 0x1a, 0xff, 0xf8, 0x82, 0xff, 0x26, 0x87, 0x50, 0x74, 0xfb, 0xfd, 0x80, 0x85, 0xb5, 0x52, 0x43, 0x39, 0x28, 0xb4, 0x2f, 0x4e, 0x27, 0xfa, 0x5a, 0x74, 0x02, 0xe1, 0xd4, 0x88, 0x08, 0xb8, 0x20, 0xb6, 0x35, 0xb4, 0xc2, 0x5a, 0x19, 0x29, 0x13, 0x82, 0x20, 0x98, 0x1a, 0x02, 0x4d, 0xff, 0xaa, 0x42, 0x95, 0x3b, 0x8b, 0x3b, 0xed, 0x49, 0xc8, 0x86, 0xe4, 0x2a, 0x94, 0x43, 0xdf, 0xec, 0xb2, 0x8e, 0xd5, 0x13, 0xde, 0x32, 0x4a, 0xf8, 0xfd, 0xa4, 0x47, 0xae, 0x40, 0x29, 0xf0, 0x4c, 0x87, 0x63, 0xd0, 0xea, 0x46, 0x91, 0x7f, 0x3e, 0xe9, 0x91, 0x6d, 0xd0, 0x3c, 0xd3, 0x67, 0x4e, 0xc8, 0x51, 0x2a, 0xa2, 0xca, 0x02, 0xf0, 0xa4, 0x47, 0x76, 0x17, 0x42, 0x20, 0x8f, 0xf8, 0x94, 0x57, 0x6f, 0x66, 0xbc, 0x8a, 0xe6, 0x5b, 0x74, 0xd3, 0x35, 0x00, 0xf4, 0x43, 0x27, 0xb4, 0x86, 0x0c, 0x8d, 0xa6, 0x19, 0x1a, 0x42, 0x4e, 0xac, 0x21, 0x23, 0x75, 0x28, 0xf7, 0x46, 0x82, 0x1c, 0xed, 0xa3, 0x19, 0xb3, 0x6f, 0xf2, 0x19, 0xe4, 0x43, 0x73, 0x10, 0xd4, 0xaa, 0x0d, 0xf5, 0xa0, 0x72, 0x7b, 0xff, 0x68, 0xa1, 0x04, 0x1c, 0x25, 0x4d, 0x70, 0x74, 0x62, 0x0e, 0x82, 0x2f, 0x9c, 0xd0, 0x3f, 0x35, 0xf0, 0x10, 0x37, 0x89, 0x15, 0x44, 0xae, 0xe2, 0xe6, 0x2c, 0x1b, 0x25, 0x2b, 0x10, 0x1e, 0xd9, 0x85, 0x6a, 0xd7, 0x75, 0x42, 0xd3, 0x72, 0x98, 0xdf, 0xb1, 0xbc, 0x9a, 0x26, 0x94, 0x9b, 0xc1, 0x9e, 0x78, 0x44, 0x87, 0x8a, 0xcf, 0x06, 0x5c, 0xb3, 0xb7, 0xae, 0xc3, 0x6a, 0x80, 0x14, 0x20, 0x40, 0x5f, 0xb9, 0x0e, 0x23, 0x04, 0xf2, 0x43, 0xd3, 0x7f, 0x55, 0xab, 0x20, 0x06, 0x7f, 0xd7, 0x0d, 0xd0, 0x66, 0x52, 0x90, 0x4d, 0x50, 0x5f, 0xb1, 0xd3, 0xc8, 0x1b, 0xfc, 0x27, 0x69, 0x41, 0x61, 0x6c, 0xda, 0x23, 0x11, 0xfd, 0x95, 0xdb, 0x57, 0x33, 0xfa, 0x9c, 0x98, 0x83, 0xef, 0x71, 0x02, 0x43, 0xd0, 0xdd, 0xcb, 0x7d, 0xaa, 0xd0, 0x1f, 0x42, 0xf9, 0x84, 0x7b, 0x92, 0xe7, 0x65, 0x7b, 0xd1, 0xcb, 0xed, 0xfd, 0xe9, 0x44, 0xdf, 0x13, 0x11, 0x12, 0x63, 0xe4, 0xb9, 0x33, 0x0b, 0x87, 0x5b, 0x0b, 0xe1, 0xd0, 0x26, 0xd3, 0x89, 0xbe, 0x1e, 0xe5, 0x8d, 0x40, 0xd0, 0x38, 0x44, 0xe8, 0x97, 0x50, 0x31, 0xcc, 0x6f, 0xde, 0x27, 0x7f, 0xfa, 0x7f, 0xb0, 0x36, 0xbf, 0x92, 0x57, 0xa9, 0x5b, 0x50, 0xb0, 0x42, 0x36, 0x14, 0xb5, 0xa9, 0x72, 0xfb, 0x92, 0xd4, 0xcb, 0x86, 0xa0, 0xa1, 0xbf, 0x52, 0xa0, 0x1c, 0x5b, 0x89, 0xec, 0x41, 0x35, 0x08, 0x7d, 0xcb, 0x19, 0x74, 0xe6, 0x66, 0xd5, 0x1e, 0x5f, 0x30, 0x2a, 0x02, 0x2a, 0x88, 0x76, 0xa1, 0x62, 0x39, 0xe1, 0x27, 0x1f, 0x47, 0x34, 0x58, 0x2b, 0x1e, 0x5f, 0x30, 0x00, 0x81, 0x82, 0x44, 0x07, 0x78, 0xe9, 0xba, 0x76, 0x44, 0xc1, 0x23, 0xbd, 0xfc, 0xf8, 0x82, 0xa1, 0x71, 0xd8, 0xec, 0x8e, 0xbe, 0xed, 0x9a, 0x61, 0x44, 0xc1, 0xc3, 0x3c, 0xc7, 0xef, 0x40, 0x20, 0x92, 0xb4, 0x4b, 0x91, 0x6f, 0x69, 0x0b, 0x0a, 0x8f, 0x2c, 0x66, 0xf7, 0x24, 0xfe, 0xdf, 0x4a, 0xfa, 0x5f, 0x8b, 0x9c, 0x4c, 0x5f, 0x80, 0xfa, 0xd4, 0x1d, 0x90, 0x1d, 0xd0, 0x78, 0x82, 0x04, 0xa1, 0x39, 0xf4, 0xf0, 0x90, 0x6a, 0xcc, 0x01, 0xe4, 0x08, 0x8a, 0x7d, 0x7e, 0x6b, 0x50, 0xcb, 0xa1, 0x95, 0x2e, 0x67, 0xac, 0x84, 0x4c, 0x8d, 0x88, 0x8a, 0xfe, 0x5e, 0x85, 0x3c, 0xb7, 0x5b, 0x26, 0x8f, 0x95, 0xb3, 0xe4, 0x71, 0x4e, 0x96, 0xc7, 0xc9, 0x12, 0xa3, 0x2e, 0x2d, 0x31, 0xf9, 0xe5, 0x25, 0xa6, 0xb0, 0x50, 0x62, 0xb2, 0x85, 0x41, 0x5d, 0x55, 0x18, 0xd4, 0x44, 0x61, 0xb8, 0x13, 0x15, 0x86, 0x32, 0x1a, 0x43, 0x97, 0x86, 0x4c, 0xa6, 0x20, 0x1c, 0x40, 0xde, 0x76, 0x07, 0x41, 0x4d, 0xc3, 0x43, 0x5b, 0x99, 0x43, 0x4f, 0xdd, 0x81, 0x81, 0x14, 0xdc, 0x51, 0x36, 0x1b, 0x33, 0x1b, 0xd3, 0xbe, 0x60, 0x88, 0x0f, 0xd2, 0x84, 0x62, 0xf7, 0x6b, 0x8b, 0xfb, 0xa0, 0xb2, 0x2a, 0x52, 0x23, 0xa2, 0x73, 0x29, 0x06, 0xbf, 0x54, 0x00, 0x12, 0xa9, 0x93, 0x98, 0x43, 0xba, 0xee, 0xc8, 0x09, 0xf1, 0xfe, 0xc2, 0x6c, 0x0e, 0x79, 0xc0, 0x61, 0x68, 0x66, 0xee, 0x1c, 0x41, 0x91, 0x43, 0x0a, 0x8d, 0x43, 0x04, 0x7a, 0x1b, 0xb4, 0xa1, 0xf9, 0xa6, 0x23, 0xf4, 0x55, 0x11, 0x5b, 0x1e, 0x9a, 0x6f, 0x9e, 0xa2, 0xca, 0x87, 0x90, 0xf7, 0x5d, 0x37, 0x44, 0xaf, 0x2e, 0x55, 0x18, 0x49, 0xe8, 0x43, 0x58, 0x9b, 0x8f, 0x10, 0x5c, 0xb8, 0x3b, 0x71, 0x5e, 0x8b, 0x88, 0xbd, 0xb6, 0xb2, 0x7a, 0xc7, 0xf9, 0xfd, 0x67, 0x05, 0xb6, 0xd2, 0x93, 0x8c, 0xe9, 0xbc, 0x3a, 0x8f, 0x91, 0x64, 0x36, 0x3c, 0xe4, 0xce, 0x34, 0x3c, 0xa8, 0xcb, 0x87, 0x87, 0x63, 0xd0, 0x7c, 0xd3, 0x79, 0xd5, 0x09, 0x4f, 0xbd, 0xa8, 0x4d, 0xb6, 0xb7, 0xa6, 0x13, 0x7d, 0x53, 0xd0, 0xcd, 0x50, 0xd4, 0x28, 0xf3, 0xdf, 0x27, 0xfc, 0xe7, 0x0f, 0xa0, 0xcc, 0xf5, 0xc2, 0xce, 0xfd, 0xfe, 0x12, 0x74, 0x56, 0x5e, 0xb8, 0xb0, 0x4a, 0x5c, 0x5e, 0xfa, 0x70, 0x59, 0x62, 0x50, 0xee, 0xa0, 0xed, 0xa4, 0xe0, 0x82, 0xed, 0x4c, 0x44, 0x1e, 0x9e, 0x49, 0xef, 0x65, 0xc3, 0x33, 0x56, 0x20, 0xf6, 0xdc, 0x1f, 0x15, 0x58, 0x7f, 0xc8, 0x3c, 0xe6, 0xf4, 0x82, 0x73, 0xf7, 0xd9, 0xbf, 0x3d, 0xf0, 0xa5, 0x7c, 0x56, 0x38, 0x93, 0xcf, 0xbe, 0x0f, 0x9b, 0x29, 0xf5, 0xde, 0xbf, 0x05, 0x7f, 0x93, 0x83, 0x35, 0x9e, 0x13, 0x2f, 0x98, 0x6f, 0xb1, 0xe0, 0x7f, 0x71, 0x0e, 0x3f, 0x9c, 0x75, 0x39, 0x1c, 0x13, 0x93, 0x93, 0x72, 0xd4, 0xd7, 0x66, 0x0d, 0xee, 0x11, 0x80, 0xb0, 0x13, 0x26, 0xd1, 0x16, 0x14, 0x10, 0x1e, 0x39, 0x41, 0x7c, 0x10, 0x0a, 0x45, 0xcc, 0x01, 0xe1, 0x02, 0xb5, 0x0d, 0x7f, 0x98, 0xe8, 0xc5, 0x8f, 0xb0, 0xf1, 0x1b, 0x11, 0x86, 0x8e, 0x61, 0x23, 0x69, 0x73, 0xee, 0xd5, 0x3a, 0x94, 0x2d, 0x27, 0x64, 0xfe, 0xd8, 0xb4, 0x31, 0x36, 0x54, 0x63, 0xf6, 0xcd, 0x19, 0x61, 0x53, 0x8e, 0x16, 0x29, 0xf1, 0x41, 0x8e, 0xd3, 0xae, 0xde, 0xce, 0x96, 0xba, 0x99, 0xa8, 0xb1, 0xb3, 0xd7, 0xa1, 0xfa, 0xc0, 0x0e, 0x5f, 0x84, 0x66, 0x38, 0xe2, 0xae, 0xa6, 0x7d, 0x28, 0x3e, 0xb0, 0x2d, 0xe6, 0x84, 0x7c, 0xb0, 0x34, 0x7b, 0x3d, 0x3f, 0x52, 0x05, 0x7f, 0xf3, 0x40, 0x63, 0xbe, 0x9f, 0x28, 0xe1, 0xaa, 0x51, 0x66, 0xbe, 0x2f, 0x2a, 0x38, 0x81, 0xbc, 0x6f, 0x86, 0xd1, 0x68, 0x63, 0xe0, 0x6f, 0xde, 0x91, 0x47, 0x9e, 0x68, 0xac, 0x68, 0x6f, 0xa3, 0x38, 0xf2, 0x78, 0x57, 0xa5, 0x43, 0x28, 0x3d, 0xb0, 0xc3, 0x67, 0x6e, 0x0f, 0x27, 0x58, 0xc7, 0xed, 0xc5, 0x81, 0x8b, 0xbf, 0x39, 0xa3, 0xd7, 0x23, 0x36, 0x62, 0x1d, 0x9b, 0x39, 0x31, 0x23, 0x04, 0x3c, 0x65, 0x0e, 0x39, 0x86, 0x52, 0x17, 0x65, 0x0c, 0x6a, 0x2a, 0x2a, 0x7a, 0x25, 0xa3, 0xa8, 0xd0, 0xc1, 0x88, 0xe9, 0xe8, 0x7d, 0x58, 0x4f, 0xa8, 0xc9, 0xad, 0x7b, 0x04, 0x05, 0xce, 0x29, 0x1e, 0xf7, 0x6a, 0x92, 0x2b, 0x50, 0x3c, 0x43, 0x90, 0xd1, 0xbf, 0xe5, 0x60, 0xfd, 0x85, 0x39, 0xf4, 0x6c, 0xf6, 0x1d, 0xd7, 0x72, 0xc2, 0xff, 0x9e, 0xb4, 0x48, 0x2f, 0x8b, 0xea, 0x19, 0x97, 0xc5, 0x07, 0x8b, 0xc1, 0x97, 0x1c, 0xb1, 0x63, 0x8c, 0x9c, 0xff, 0x3c, 0x4a, 0xef, 0x42, 0x7e, 0xbe, 0x6c, 0xb5, 0xf7, 0xa6, 0x13, 0x5d, 0x8f, 0x66, 0x74, 0x6b, 0x99, 0xf0, 0x78, 0x80, 0xfe, 0x08, 0x36, 0x12, 0xb6, 0xfe, 0x97, 0x37, 0xcb, 0xe4, 0xe8, 0xa6, 0x2e, 0x8c, 0x6e, 0xc9, 0xb5, 0x2c, 0x9f, 0x5a, 0xcb, 0xe8, 0xff, 0xc3, 0x66, 0xca, 0xd3, 0x3c, 0x5c, 0x3e, 0x49, 0x6f, 0x07, 0x8d, 0x6c, 0x6a, 0xa5, 0xe5, 0x8d, 0xf3, 0x6b, 0x0b, 0x48, 0x54, 0xae, 0x4f, 0x5c, 0xcf, 0xb5, 0xdd, 0xc1, 0x29, 0xcf, 0xb2, 0xef, 0xc2, 0x07, 0x0b, 0xd0, 0xb3, 0xf6, 0xe0, 0x6d, 0xd0, 0x7a, 0x78, 0xb2, 0xe3, 0x3a, 0x91, 0xb6, 0x65, 0x01, 0x78, 0xee, 0x50, 0x03, 0xb6, 0x32, 0xcc, 0xb8, 0xf0, 0xf7, 0xd2, 0xc2, 0xdf, 0xc8, 0x08, 0x2f, 0x11, 0x26, 0x56, 0xe0, 0x1f, 0x39, 0xd0, 0x9e, 0x7b, 0x01, 0x1f, 0x4a, 0xff, 0x03, 0x9b, 0x1f, 0xb9, 0x0b, 0x15, 0x71, 0xad, 0xa8, 0xab, 0x38, 0xf0, 0xb7, 0x2f, 0x4f, 0x27, 0x3a, 0x49, 0xf2, 0x44, 0x24, 0x35, 0x00, 0xbf, 0xc4, 0xda, 0x73, 0x4f, 0xf6, 0x70, 0xd0, 0xbe, 0x32, 0x9d, 0xe8, 0x1f, 0x48, 0x92, 0x33, 0x6d, 0xe4, 0xfb, 0xf2, 0x17, 0x85, 0xf6, 0xd5, 0xe9, 0x44, 0xbf, 0x24, 0x4d, 0xc4, 0xa5, 0xbd, 0xa8, 0x78, 0xa6, 0x5e, 0x54, 0x5a, 0xda, 0x8b, 0xe8, 0xdf, 0x15, 0xa8, 0xc6, 0xf6, 0xef, 0xba, 0x7e, 0x8f, 0x97, 0x4b, 0x4c, 0xaa, 0xa8, 0x5c, 0xf2, 0xdf, 0xe4, 0xf3, 0x85, 0xb5, 0xec, 0x30, 0xe3, 0xe1, 0xe4, 0x15, 0x62, 0x47, 0x8b, 0x76, 0x92, 0xe8, 0xe0, 0x7c, 0xd7, 0x10, 0x3b, 0x55, 0xb4, 0x6b, 0xd4, 0xa0, 0x34, 0x64, 0x41, 0x60, 0x0e, 0xe2, 0x97, 0x97, 0xf8, 0xb3, 0x7e, 0x02, 0x95, 0xc4, 0x35, 0xef, 0x6b, 0xb1, 0x78, 0x04, 0x95, 0x58, 0x52, 0x1e, 0xb8, 0x77, 0xa1, 0xe4, 0xa3, 0xc8, 0x71, 0xe8, 0x5e, 0x5b, 0xa9, 0x98, 0x11, 0x53, 0xd3, 0x5f, 0x2b, 0xb0, 0x19, 0x3d, 0x97, 0x8a, 0xd8, 0x3e, 0x8f, 0x7a, 0x7d, 0x7f, 0x49, 0xbd, 0x3e, 0x73, 0x98, 0xd0, 0x67, 0x40, 0x16, 0xa4, 0xe4, 0x5a, 0x7f, 0x9a, 0x4e, 0x57, 0x2a, 0x6b, 0xe3, 0xf3, 0x33, 0xc9, 0x64, 0xfd, 0x31, 0x5c, 0xcc, 0xe0, 0xce, 0x52, 0x55, 0x76, 0x40, 0xeb, 0xba, 0x43, 0xcf, 0x75, 0x58, 0xd4, 0xd7, 0x35, 0x63, 0x0e, 0x90, 0xbd, 0xdf, 0xaa, 0xb2, 0xf7, 0xdb, 0xdb, 0x7f, 0xaa, 0x42, 0xe5, 0x21, 0xca, 0xfa, 0x25, 0x17, 0x95, 0xfc, 0x44, 0x81, 0x8d, 0x85, 0x87, 0x6b, 0xb2, 0x97, 0xdd, 0x77, 0x33, 0x0f, 0xde, 0xf5, 0x9b, 0xef, 0x26, 0xf2, 0xec, 0x53, 0x7a, 0xf0, 0xed, 0xef, 0xfe, 0xf2, 0xf3, 0x1c, 0x25, 0x8d, 0xd6, 0x9b, 0x16, 0x36, 0x1d, 0xc7, 0xb4, 0x5b, 0xe2, 0x64, 0x2b, 0x52, 0xaf, 0x89, 0xf2, 0x92, 0x9f, 0x29, 0x70, 0x31, 0xf3, 0x3a, 0x4d, 0xe4, 0x6c, 0x16, 0x5f, 0xca, 0xeb, 0xfb, 0x67, 0x21, 0xe3, 0xf2, 0x7c, 0x84, 0xf2, 0xdc, 0x20, 0x54, 0x22, 0xcf, 0xcc, 0x54, 0x91, 0x44, 0x0e, 0x94, 0xe3, 0x3d, 0x95, 0xec, 0xc8, 0xd5, 0x15, 0xaf, 0xe0, 0xf5, 0xeb, 0x2b, 0xb0, 0x9c, 0xeb, 0x0d, 0xe4, 0x7a, 0x9d, 0xec, 0x48, 0xb8, 0xda, 0x56, 0x10, 0x36, 0x79, 0x29, 0x25, 0x26, 0x14, 0x70, 0x63, 0x27, 0x92, 0x44, 0x8c, 0xde, 0xd5, 0xea, 0xdb, 0xcb, 0x50, 0x9c, 0x4d, 0x03, 0xd9, 0xd4, 0x49, 0x4d, 0xc2, 0x06, 0xeb, 0x2e, 0x57, 0x29, 0x7e, 0x52, 0x93, 0xa8, 0x94, 0x78, 0xc0, 0x93, 0xa8, 0x94, 0x7a, 0x8b, 0x5b, 0xa9, 0x92, 0x6f, 0x7e, 0xd3, 0x14, 0xfc, 0x7e, 0xa1, 0xc0, 0xc5, 0xcc, 0x4e, 0x29, 0x71, 0xaa, 0x6c, 0x91, 0x97, 0x38, 0x55, 0xbe, 0x9e, 0xd2, 0x16, 0xca, 0x72, 0x48, 0xf6, 0xdf, 0xed, 0xd4, 0x26, 0x5f, 0xba, 0xc8, 0x5b, 0xa8, 0x24, 0x36, 0x34, 0xa2, 0x2f, 0xeb, 0xb6, 0xb1, 0x24, 0xbb, 0xab, 0x09, 0xb8, 0x0c, 0xfb, 0x28, 0xc3, 0x2e, 0xd1, 0x25, 0x32, 0x88, 0xee, 0x1f, 0xf1, 0x1e, 0x03, 0xcc, 0xd7, 0x08, 0x72, 0x5d, 0xfa, 0xd6, 0x31, 0xdb, 0xeb, 0xea, 0x8d, 0x95, 0x78, 0xce, 0xf8, 0x43, 0x64, 0xdc, 0x20, 0xd7, 0x65, 0x19, 0xe6, 0x99, 0x4e, 0x33, 0x10, 0x9c, 0xde, 0x42, 0x25, 0x31, 0x00, 0x49, 0x74, 0x4e, 0x8f, 0xce, 0x12, 0x9d, 0x17, 0x27, 0xae, 0x95, 0x3a, 0x07, 0x48, 0xdc, 0xf4, 0x90, 0x99, 0x0f, 0xda, 0x6c, 0xb6, 0x27, 0xd7, 0x64, 0x73, 0xfc, 0x6c, 0xbd, 0xa9, 0xeb, 0xab, 0xd0, 0x9c, 0xeb, 0x4d, 0xe4, 0xaa, 0x93, 0x6b, 0x12, 0xae, 0x5d, 0x3b, 0x6c, 0x06, 0x82, 0xcd, 0x4f, 0x15, 0xd8, 0x58, 0x18, 0x9a, 0x24, 0x95, 0x2d, 0x3b, 0xf9, 0x49, 0x2a, 0x9b, 0x6c, 0x62, 0xa3, 0xb7, 0x50, 0x8c, 0x9b, 0x64, 0x6f, 0x85, 0xc3, 0xc3, 0x98, 0x71, 0x1f, 0x8a, 0xa2, 0x0b, 0x92, 0xfa, 0xd2, 0xf6, 0xf8, 0xba, 0xbe, 0xb3, 0x14, 0xc7, 0x19, 0x52, 0x64, 0xb8, 0x43, 0xea, 0xd2, 0x28, 0x0f, 0x9a, 0xb6, 0x3b, 0x20, 0xdf, 0x2a, 0xb0, 0x96, 0x6a, 0x2f, 0x64, 0x77, 0x75, 0x6b, 0xe2, 0x6c, 0xf7, 0xde, 0x45, 0xc2, 0xb9, 0x1f, 0x22, 0xf7, 0x3d, 0xb2, 0xbb, 0xa2, 0x90, 0x0b, 0xb5, 0xdb, 0xf9, 0xaf, 0x72, 0xe3, 0xe3, 0x97, 0x45, 0xfc, 0xbb, 0xf4, 0xce, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x63, 0x88, 0x46, 0xf5, 0xa0, 0x1d, 0x00, 0x00, }