model

package
v1.34.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2022 License: Apache-2.0 Imports: 20 Imported by: 872

Documentation

Overview

Package model describes the internal data model for Trace and Span

Index

Constants

View Source
const (
	// StringType indicates the value is a unicode string
	StringType = ValueType_STRING
	// BoolType indicates the value is a Boolean encoded as int64 number 0 or 1
	BoolType = ValueType_BOOL
	// Int64Type indicates the value is an int64 number
	Int64Type = ValueType_INT64
	// Float64Type indicates the value is a float64 number stored as int64
	Float64Type = ValueType_FLOAT64
	// BinaryType indicates the value is binary blob stored as a byte array
	BinaryType = ValueType_BINARY
)

These constants are kept mostly for backwards compatibility.

View Source
const (
	// SampledFlag is the bit set in Flags in order to define a span as a sampled span
	SampledFlag = Flags(1)
	// DebugFlag is the bit set in Flags in order to define a span as a debug span
	DebugFlag = Flags(2)
	// FirehoseFlag is the bit in Flags in order to define a span as a firehose span
	FirehoseFlag = Flags(8)
)
View Source
const (
	// ChildOf span reference type describes a reference to a parent span
	// that depends on the response from the current (child) span
	ChildOf = SpanRefType_CHILD_OF

	// FollowsFrom span reference type describes a reference to a "parent" span
	// that does not depend on the response from the current (child) span
	FollowsFrom = SpanRefType_FOLLOWS_FROM
)
View Source
const (
	// JaegerDependencyLinkSource describes a dependency diagram that was generated from Jaeger traces.
	JaegerDependencyLinkSource = "jaeger"
)

Variables

View Source
var (
	ErrInvalidLengthModel        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowModel          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupModel = fmt.Errorf("proto: unexpected end of group")
)
View Source
var SpanRefType_name = map[int32]string{
	0: "CHILD_OF",
	1: "FOLLOWS_FROM",
}
View Source
var SpanRefType_value = map[string]int32{
	"CHILD_OF":     0,
	"FOLLOWS_FROM": 1,
}
View Source
var ValueType_name = map[int32]string{
	0: "STRING",
	1: "BOOL",
	2: "INT64",
	3: "FLOAT64",
	4: "BINARY",
}
View Source
var ValueType_value = map[string]int32{
	"STRING":  0,
	"BOOL":    1,
	"INT64":   2,
	"FLOAT64": 3,
	"BINARY":  4,
}

Functions

func DurationAsMicroseconds

func DurationAsMicroseconds(d time.Duration) uint64

DurationAsMicroseconds converts time.Duration to microseconds, which is the format the Duration field is stored in the Span.

func EpochMicrosecondsAsTime

func EpochMicrosecondsAsTime(ts uint64) time.Time

EpochMicrosecondsAsTime converts microseconds since epoch to time.Time value.

func HashCode

func HashCode(o Hashable) (uint64, error)

HashCode calculates a FNV-1a hash code for a Hashable object.

func MicrosecondsAsDuration

func MicrosecondsAsDuration(v uint64) time.Duration

MicrosecondsAsDuration converts duration in microseconds to time.Duration value.

func SortSpan added in v0.5.2

func SortSpan(span *Span)

SortSpan deep sorts a span: this sorts its tags, logs by timestamp, tags in logs, and tags in process.

func SortTrace added in v0.5.2

func SortTrace(trace *Trace)

SortTrace deep sorts a trace's spans by SpanID.

func SortTraceIDs added in v1.12.0

func SortTraceIDs(traceIDs []*TraceID)

SortTraceIDs sorts a list of TraceIDs

func SortTraces added in v0.5.2

func SortTraces(traces []*Trace)

SortTraces deep sorts a list of traces by TraceID.

func TimeAsEpochMicroseconds

func TimeAsEpochMicroseconds(t time.Time) uint64

TimeAsEpochMicroseconds converts time.Time to microseconds since epoch, which is the format the StartTime field is stored in the Span.

Types

type Batch added in v1.6.0

type Batch struct {
	Spans                []*Span  `protobuf:"bytes,1,rep,name=spans,proto3" json:"spans,omitempty"`
	Process              *Process `protobuf:"bytes,2,opt,name=process,proto3" json:"process,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Note that both Span and Batch may contain a Process. This is different from the Thrift model which was only used for transport, because Proto model is also used by the backend as the domain model, where once a batch is received it is split into individual spans which are all processed independently, and therefore they all need a Process. As far as on-the-wire semantics, both Batch and Spans in the same message may contain their own instances of Process, with span.Process taking priority over batch.Process.

func (*Batch) Descriptor added in v1.6.0

func (*Batch) Descriptor() ([]byte, []int)

func (*Batch) GetProcess added in v1.6.0

func (m *Batch) GetProcess() *Process

func (*Batch) GetSpans added in v1.6.0

func (m *Batch) GetSpans() []*Span

func (*Batch) Marshal added in v1.6.0

func (m *Batch) Marshal() (dAtA []byte, err error)

func (*Batch) MarshalTo added in v1.6.0

func (m *Batch) MarshalTo(dAtA []byte) (int, error)

func (*Batch) MarshalToSizedBuffer added in v1.24.0

func (m *Batch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Batch) ProtoMessage added in v1.6.0

func (*Batch) ProtoMessage()

func (*Batch) Reset added in v1.6.0

func (m *Batch) Reset()

func (*Batch) Size added in v1.6.0

func (m *Batch) Size() (n int)

func (*Batch) String added in v1.6.0

func (m *Batch) String() string

func (*Batch) Unmarshal added in v1.6.0

func (m *Batch) Unmarshal(dAtA []byte) error

func (*Batch) XXX_DiscardUnknown added in v1.12.0

func (m *Batch) XXX_DiscardUnknown()

func (*Batch) XXX_Marshal added in v1.12.0

func (m *Batch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Batch) XXX_Merge added in v1.12.0

func (m *Batch) XXX_Merge(src proto.Message)

func (*Batch) XXX_Size added in v1.12.0

func (m *Batch) XXX_Size() int

func (*Batch) XXX_Unmarshal added in v1.12.0

func (m *Batch) XXX_Unmarshal(b []byte) error
type DependencyLink struct {
	Parent               string   `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	Child                string   `protobuf:"bytes,2,opt,name=child,proto3" json:"child,omitempty"`
	CallCount            uint64   `protobuf:"varint,3,opt,name=call_count,json=callCount,proto3" json:"call_count,omitempty"`
	Source               string   `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (DependencyLink) ApplyDefaults added in v1.10.0

func (d DependencyLink) ApplyDefaults() DependencyLink

ApplyDefaults applies defaults to the DependencyLink.

func (*DependencyLink) Descriptor added in v1.12.0

func (*DependencyLink) Descriptor() ([]byte, []int)

func (*DependencyLink) GetCallCount added in v1.12.0

func (m *DependencyLink) GetCallCount() uint64

func (*DependencyLink) GetChild added in v1.12.0

func (m *DependencyLink) GetChild() string

func (*DependencyLink) GetParent added in v1.12.0

func (m *DependencyLink) GetParent() string

func (*DependencyLink) GetSource added in v1.12.0

func (m *DependencyLink) GetSource() string

func (*DependencyLink) Marshal added in v1.12.0

func (m *DependencyLink) Marshal() (dAtA []byte, err error)

func (*DependencyLink) MarshalTo added in v1.12.0

func (m *DependencyLink) MarshalTo(dAtA []byte) (int, error)

func (*DependencyLink) MarshalToSizedBuffer added in v1.24.0

func (m *DependencyLink) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DependencyLink) ProtoMessage added in v1.12.0

func (*DependencyLink) ProtoMessage()

func (*DependencyLink) Reset added in v1.12.0

func (m *DependencyLink) Reset()

func (*DependencyLink) Size added in v1.12.0

func (m *DependencyLink) Size() (n int)

func (*DependencyLink) String added in v1.12.0

func (m *DependencyLink) String() string

func (*DependencyLink) Unmarshal added in v1.12.0

func (m *DependencyLink) Unmarshal(dAtA []byte) error

func (*DependencyLink) XXX_DiscardUnknown added in v1.12.0

func (m *DependencyLink) XXX_DiscardUnknown()

func (*DependencyLink) XXX_Marshal added in v1.12.0

func (m *DependencyLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DependencyLink) XXX_Merge added in v1.12.0

func (m *DependencyLink) XXX_Merge(src proto.Message)

func (*DependencyLink) XXX_Size added in v1.12.0

func (m *DependencyLink) XXX_Size() int

func (*DependencyLink) XXX_Unmarshal added in v1.12.0

func (m *DependencyLink) XXX_Unmarshal(b []byte) error

type Flags

type Flags uint32

Flags is a bit map of flags for a span

func (Flags) IsDebug

func (f Flags) IsDebug() bool

IsDebug returns true if the Flags denote debugging Debugging can be useful in testing tracing availability or correctness

func (Flags) IsFirehoseEnabled added in v1.14.0

func (f Flags) IsFirehoseEnabled() bool

IsFirehoseEnabled returns true if firehose is enabled Firehose is used to decide whether to index a span or not

func (Flags) IsSampled

func (f Flags) IsSampled() bool

IsSampled returns true if the Flags denote sampling

func (*Flags) SetDebug

func (f *Flags) SetDebug()

SetDebug set the Flags as sampled

func (*Flags) SetFirehose added in v1.14.0

func (f *Flags) SetFirehose()

SetFirehose set the Flags as firehose enabled

func (*Flags) SetSampled

func (f *Flags) SetSampled()

SetSampled sets the Flags as sampled

type Hashable

type Hashable interface {
	Hash(w io.Writer) error
}

Hashable interface is for type that can participate in a hash computation by writing their data into io.Writer, which is usually an instance of hash.Hash.

type KeyValue

type KeyValue struct {
	Key                  string    `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	VType                ValueType `protobuf:"varint,2,opt,name=v_type,json=vType,proto3,enum=jaeger.api_v2.ValueType" json:"v_type,omitempty"`
	VStr                 string    `protobuf:"bytes,3,opt,name=v_str,json=vStr,proto3" json:"v_str,omitempty"`
	VBool                bool      `protobuf:"varint,4,opt,name=v_bool,json=vBool,proto3" json:"v_bool,omitempty"`
	VInt64               int64     `protobuf:"varint,5,opt,name=v_int64,json=vInt64,proto3" json:"v_int64,omitempty"`
	VFloat64             float64   `protobuf:"fixed64,6,opt,name=v_float64,json=vFloat64,proto3" json:"v_float64,omitempty"`
	VBinary              []byte    `protobuf:"bytes,7,opt,name=v_binary,json=vBinary,proto3" json:"v_binary,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func Binary

func Binary(key string, value []byte) KeyValue

Binary creates a Binary-typed KeyValue

func Bool

func Bool(key string, value bool) KeyValue

Bool creates a Bool-typed KeyValue

func Float64

func Float64(key string, value float64) KeyValue

Float64 creates a Float64-typed KeyValue

func Int64

func Int64(key string, value int64) KeyValue

Int64 creates a Int64-typed KeyValue

func String

func String(key string, value string) KeyValue

String creates a String-typed KeyValue

func (*KeyValue) AsString

func (kv *KeyValue) AsString() string

AsString returns a string representation of the value.

func (*KeyValue) AsStringLossy added in v1.16.0

func (kv *KeyValue) AsStringLossy() string

AsStringLossy returns a potentially lossy string representation of the value.

func (*KeyValue) Binary

func (kv *KeyValue) Binary() []byte

Binary returns the blob ([]byte) value stored in this KeyValue or nil if it stores a different type. The caller must check VType before using this method.

func (*KeyValue) Bool

func (kv *KeyValue) Bool() bool

Bool returns the Boolean value stored in this KeyValue or false if it stores a different type. The caller must check VType before using this method.

func (*KeyValue) Compare added in v1.6.0

func (this *KeyValue) Compare(that interface{}) int

func (*KeyValue) Descriptor added in v1.6.0

func (*KeyValue) Descriptor() ([]byte, []int)

func (*KeyValue) Equal

func (this *KeyValue) Equal(that interface{}) bool

func (*KeyValue) Float64

func (kv *KeyValue) Float64() float64

Float64 returns the Float64 value stored in this KeyValue or 0 if it stores a different type. The caller must check VType before using this method.

func (*KeyValue) GetKey added in v1.6.0

func (m *KeyValue) GetKey() string

func (*KeyValue) GetVBinary added in v1.6.0

func (m *KeyValue) GetVBinary() []byte

func (*KeyValue) GetVBool added in v1.6.0

func (m *KeyValue) GetVBool() bool

func (*KeyValue) GetVFloat64 added in v1.6.0

func (m *KeyValue) GetVFloat64() float64

func (*KeyValue) GetVInt64 added in v1.6.0

func (m *KeyValue) GetVInt64() int64

func (*KeyValue) GetVStr added in v1.6.0

func (m *KeyValue) GetVStr() string

func (*KeyValue) GetVType added in v1.6.0

func (m *KeyValue) GetVType() ValueType

func (KeyValue) Hash

func (kv KeyValue) Hash(w io.Writer) error

Hash implements Hash from Hashable.

func (*KeyValue) Int64

func (kv *KeyValue) Int64() int64

Int64 returns the Int64 value stored in this KeyValue or 0 if it stores a different type. The caller must check VType before using this method.

func (*KeyValue) IsLess

func (kv *KeyValue) IsLess(two *KeyValue) bool

IsLess compares KeyValue object with another KeyValue. The order is based first on the keys, then on type, and finally on the value.

func (*KeyValue) Marshal added in v1.6.0

func (m *KeyValue) Marshal() (dAtA []byte, err error)

func (*KeyValue) MarshalTo added in v1.6.0

func (m *KeyValue) MarshalTo(dAtA []byte) (int, error)

func (*KeyValue) MarshalToSizedBuffer added in v1.24.0

func (m *KeyValue) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*KeyValue) ProtoMessage added in v1.6.0

func (*KeyValue) ProtoMessage()

func (*KeyValue) Reset added in v1.6.0

func (m *KeyValue) Reset()

func (*KeyValue) Size added in v1.6.0

func (m *KeyValue) Size() (n int)

func (*KeyValue) String added in v1.6.0

func (m *KeyValue) String() string

func (*KeyValue) Unmarshal added in v1.6.0

func (m *KeyValue) Unmarshal(dAtA []byte) error

func (*KeyValue) Value

func (kv *KeyValue) Value() interface{}

Value returns typed values stored in KeyValue as interface{}.

func (*KeyValue) XXX_DiscardUnknown added in v1.12.0

func (m *KeyValue) XXX_DiscardUnknown()

func (*KeyValue) XXX_Marshal added in v1.12.0

func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KeyValue) XXX_Merge added in v1.12.0

func (m *KeyValue) XXX_Merge(src proto.Message)

func (*KeyValue) XXX_Size added in v1.12.0

func (m *KeyValue) XXX_Size() int

func (*KeyValue) XXX_Unmarshal added in v1.12.0

func (m *KeyValue) XXX_Unmarshal(b []byte) error

type KeyValues

type KeyValues []KeyValue

KeyValues is a type alias that exposes convenience functions like Sort, FindByKey.

func (KeyValues) Equal

func (kvs KeyValues) Equal(other KeyValues) bool

Equal compares KeyValues with another list. Both lists must be already sorted.

func (KeyValues) FindByKey

func (kvs KeyValues) FindByKey(key string) (KeyValue, bool)

FindByKey scans the list of key-values searching for the first one with the given key. Returns found tag and a boolean flag indicating if the search was successful.

func (KeyValues) Hash

func (kvs KeyValues) Hash(w io.Writer) error

Hash implements Hash from Hashable.

func (KeyValues) Len

func (kvs KeyValues) Len() int

func (KeyValues) Less

func (kvs KeyValues) Less(i, j int) bool

func (KeyValues) Sort

func (kvs KeyValues) Sort()

Sort does in-place sorting of KeyValues, then by value type, then by value.

func (KeyValues) Swap

func (kvs KeyValues) Swap(i, j int)

type Log

type Log struct {
	Timestamp            time.Time  `protobuf:"bytes,1,opt,name=timestamp,proto3,stdtime" json:"timestamp"`
	Fields               []KeyValue `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (*Log) Descriptor added in v1.6.0

func (*Log) Descriptor() ([]byte, []int)

func (*Log) GetFields added in v1.6.0

func (m *Log) GetFields() []KeyValue

func (*Log) GetTimestamp added in v1.6.0

func (m *Log) GetTimestamp() time.Time

func (*Log) Marshal added in v1.6.0

func (m *Log) Marshal() (dAtA []byte, err error)

func (*Log) MarshalTo added in v1.6.0

func (m *Log) MarshalTo(dAtA []byte) (int, error)

func (*Log) MarshalToSizedBuffer added in v1.24.0

func (m *Log) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Log) ProtoMessage added in v1.6.0

func (*Log) ProtoMessage()

func (*Log) Reset added in v1.6.0

func (m *Log) Reset()

func (*Log) Size added in v1.6.0

func (m *Log) Size() (n int)

func (*Log) String added in v1.6.0

func (m *Log) String() string

func (*Log) Unmarshal added in v1.6.0

func (m *Log) Unmarshal(dAtA []byte) error

func (*Log) XXX_DiscardUnknown added in v1.12.0

func (m *Log) XXX_DiscardUnknown()

func (*Log) XXX_Marshal added in v1.12.0

func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Log) XXX_Merge added in v1.12.0

func (m *Log) XXX_Merge(src proto.Message)

func (*Log) XXX_Size added in v1.12.0

func (m *Log) XXX_Size() int

func (*Log) XXX_Unmarshal added in v1.12.0

func (m *Log) XXX_Unmarshal(b []byte) error

type Process

type Process struct {
	ServiceName          string     `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	Tags                 []KeyValue `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func NewProcess

func NewProcess(serviceName string, tags []KeyValue) *Process

NewProcess creates a new Process for given serviceName and tags. The tags are sorted in place and kept in the same array/slice, in order to store the Process in a canonical form that is relied upon by the Equal and Hash functions.

func (*Process) Descriptor added in v1.6.0

func (*Process) Descriptor() ([]byte, []int)

func (*Process) Equal

func (p *Process) Equal(other *Process) bool

Equal compares Process object with another Process.

func (*Process) GetServiceName added in v1.6.0

func (m *Process) GetServiceName() string

func (*Process) GetTags added in v1.6.0

func (m *Process) GetTags() []KeyValue

func (*Process) Hash

func (p *Process) Hash(w io.Writer) (err error)

Hash implements Hash from Hashable.

func (*Process) Marshal added in v1.6.0

func (m *Process) Marshal() (dAtA []byte, err error)

func (*Process) MarshalTo added in v1.6.0

func (m *Process) MarshalTo(dAtA []byte) (int, error)

func (*Process) MarshalToSizedBuffer added in v1.24.0

func (m *Process) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Process) ProtoMessage added in v1.6.0

func (*Process) ProtoMessage()

func (*Process) Reset added in v1.6.0

func (m *Process) Reset()

func (*Process) Size added in v1.6.0

func (m *Process) Size() (n int)

func (*Process) String added in v1.6.0

func (m *Process) String() string

func (*Process) Unmarshal added in v1.6.0

func (m *Process) Unmarshal(dAtA []byte) error

func (*Process) XXX_DiscardUnknown added in v1.12.0

func (m *Process) XXX_DiscardUnknown()

func (*Process) XXX_Marshal added in v1.12.0

func (m *Process) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Process) XXX_Merge added in v1.12.0

func (m *Process) XXX_Merge(src proto.Message)

func (*Process) XXX_Size added in v1.12.0

func (m *Process) XXX_Size() int

func (*Process) XXX_Unmarshal added in v1.12.0

func (m *Process) XXX_Unmarshal(b []byte) error

type Span

type Span struct {
	TraceID              TraceID       `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3,customtype=TraceID" json:"trace_id"`
	SpanID               SpanID        `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3,customtype=SpanID" json:"span_id"`
	OperationName        string        `protobuf:"bytes,3,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"`
	References           []SpanRef     `protobuf:"bytes,4,rep,name=references,proto3" json:"references"`
	Flags                Flags         `protobuf:"varint,5,opt,name=flags,proto3,customtype=Flags" json:"flags"`
	StartTime            time.Time     `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3,stdtime" json:"start_time"`
	Duration             time.Duration `protobuf:"bytes,7,opt,name=duration,proto3,stdduration" json:"duration"`
	Tags                 []KeyValue    `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags"`
	Logs                 []Log         `protobuf:"bytes,9,rep,name=logs,proto3" json:"logs"`
	Process              *Process      `protobuf:"bytes,10,opt,name=process,proto3" json:"process,omitempty"`
	ProcessID            string        `protobuf:"bytes,11,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"`
	Warnings             []string      `protobuf:"bytes,12,rep,name=warnings,proto3" json:"warnings,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*Span) Descriptor added in v1.6.0

func (*Span) Descriptor() ([]byte, []int)

func (*Span) GetDuration added in v1.6.0

func (m *Span) GetDuration() time.Duration

func (*Span) GetLogs added in v1.6.0

func (m *Span) GetLogs() []Log

func (*Span) GetOperationName added in v1.6.0

func (m *Span) GetOperationName() string

func (*Span) GetProcess added in v1.6.0

func (m *Span) GetProcess() *Process

func (*Span) GetProcessID added in v1.6.0

func (m *Span) GetProcessID() string

func (*Span) GetReferences added in v1.6.0

func (m *Span) GetReferences() []SpanRef

func (*Span) GetSamplerParams added in v1.27.0

func (s *Span) GetSamplerParams(logger *zap.Logger) (string, float64)

GetSamplerParams returns the sampler.type and sampler.param value if they are valid.

func (*Span) GetSamplerType added in v1.13.0

func (s *Span) GetSamplerType() string

GetSamplerType returns the sampler type for span

func (*Span) GetSpanKind added in v1.16.0

func (s *Span) GetSpanKind() (spanKind string, found bool)

GetSpanKind returns value of `span.kind` tag and whether the tag can be found

func (*Span) GetStartTime added in v1.6.0

func (m *Span) GetStartTime() time.Time

func (*Span) GetTags added in v1.6.0

func (m *Span) GetTags() []KeyValue

func (*Span) GetWarnings added in v1.6.0

func (m *Span) GetWarnings() []string

func (*Span) HasSpanKind

func (s *Span) HasSpanKind(kind ext.SpanKindEnum) bool

HasSpanKind returns true if the span has a `span.kind` tag set to `kind`.

func (*Span) Hash

func (s *Span) Hash(w io.Writer) (err error)

Hash implements Hash from Hashable.

func (*Span) IsRPCClient

func (s *Span) IsRPCClient() bool

IsRPCClient returns true if the span represents a client side of an RPC, as indicated by the `span.kind` tag set to `client`.

func (*Span) IsRPCServer

func (s *Span) IsRPCServer() bool

IsRPCServer returns true if the span represents a server side of an RPC, as indicated by the `span.kind` tag set to `server`.

func (*Span) Marshal added in v1.6.0

func (m *Span) Marshal() (dAtA []byte, err error)

func (*Span) MarshalTo added in v1.6.0

func (m *Span) MarshalTo(dAtA []byte) (int, error)

func (*Span) MarshalToSizedBuffer added in v1.24.0

func (m *Span) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Span) NormalizeTimestamps

func (s *Span) NormalizeTimestamps()

NormalizeTimestamps changes all timestamps in this span to UTC.

func (*Span) ParentSpanID

func (s *Span) ParentSpanID() SpanID

ParentSpanID returns ID of a parent span if it exists. It searches for the first child-of reference pointing to the same trace ID.

func (*Span) ProtoMessage added in v1.6.0

func (*Span) ProtoMessage()

func (*Span) ReplaceParentID added in v1.5.0

func (s *Span) ReplaceParentID(newParentID SpanID)

ReplaceParentID replaces span ID in the parent span reference. See also ParentSpanID.

func (*Span) Reset added in v1.6.0

func (m *Span) Reset()

func (*Span) Size added in v1.6.0

func (m *Span) Size() (n int)

func (*Span) String added in v1.6.0

func (m *Span) String() string

func (*Span) Unmarshal added in v1.6.0

func (m *Span) Unmarshal(dAtA []byte) error

func (*Span) XXX_DiscardUnknown added in v1.12.0

func (m *Span) XXX_DiscardUnknown()

func (*Span) XXX_Marshal added in v1.12.0

func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Span) XXX_Merge added in v1.12.0

func (m *Span) XXX_Merge(src proto.Message)

func (*Span) XXX_Size added in v1.12.0

func (m *Span) XXX_Size() int

func (*Span) XXX_Unmarshal added in v1.12.0

func (m *Span) XXX_Unmarshal(b []byte) error

type SpanID

type SpanID uint64

SpanID is a random 64bit identifier for a span

func NewSpanID added in v1.6.0

func NewSpanID(v uint64) SpanID

NewSpanID creates a new SpanID from a 64bit unsigned int.

func SpanIDFromBytes added in v1.14.0

func SpanIDFromBytes(data []byte) (SpanID, error)

SpanIDFromBytes creates a SpandID from list of bytes

func SpanIDFromString

func SpanIDFromString(s string) (SpanID, error)

SpanIDFromString creates a SpanID from a hexadecimal string

func (SpanID) MarshalJSON added in v1.6.0

func (s SpanID) MarshalJSON() ([]byte, error)

MarshalJSON converts span id into a base64 string enclosed in quotes. Used by protobuf JSON serialization. Example: {1} => "AAAAAAAAAAE=".

func (SpanID) MarshalText

func (s SpanID) MarshalText() ([]byte, error)

MarshalText is called by encoding/json, which we do not want people to use.

func (*SpanID) MarshalTo added in v1.6.0

func (s *SpanID) MarshalTo(data []byte) (n int, err error)

MarshalTo converts span ID into a binary representation. Called by protobuf serialization.

func (*SpanID) Size added in v1.6.0

func (s *SpanID) Size() int

Size returns the size of this datum in protobuf. It is always 8 bytes.

func (SpanID) String

func (s SpanID) String() string

func (*SpanID) Unmarshal added in v1.6.0

func (s *SpanID) Unmarshal(data []byte) error

Unmarshal inflates span ID from a binary representation. Called by protobuf serialization.

func (*SpanID) UnmarshalJSON added in v1.6.0

func (s *SpanID) UnmarshalJSON(data []byte) error

UnmarshalJSON inflates span id from base64 string, possibly enclosed in quotes. User by protobuf JSON serialization.

There appears to be a bug in gogoproto, as this function is only called for numeric values. https://github.com/gogo/protobuf/issues/411#issuecomment-393856837

func (*SpanID) UnmarshalJSONPB added in v1.6.0

func (s *SpanID) UnmarshalJSONPB(_ *jsonpb.Unmarshaler, b []byte) error

UnmarshalJSONPB inflates span id from base64 string, possibly enclosed in quotes. User by protobuf JSON serialization.

TODO: can be removed once this ticket is fixed:

https://github.com/gogo/protobuf/issues/411#issuecomment-393856837

func (*SpanID) UnmarshalText

func (s *SpanID) UnmarshalText(text []byte) error

UnmarshalText is called by encoding/json, which we do not want people to use.

type SpanRef

type SpanRef struct {
	TraceID              TraceID     `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3,customtype=TraceID" json:"trace_id"`
	SpanID               SpanID      `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3,customtype=SpanID" json:"span_id"`
	RefType              SpanRefType `protobuf:"varint,3,opt,name=ref_type,json=refType,proto3,enum=jaeger.api_v2.SpanRefType" json:"ref_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func MaybeAddParentSpanID added in v1.5.0

func MaybeAddParentSpanID(traceID TraceID, parentSpanID SpanID, refs []SpanRef) []SpanRef

MaybeAddParentSpanID adds non-zero parentSpanID to refs as a child-of reference. We no longer store ParentSpanID in the domain model, but the data in the database or other formats might still have these IDs without representing them in the References, so this converts parent IDs to canonical reference format.

func NewChildOfRef added in v1.5.0

func NewChildOfRef(traceID TraceID, spanID SpanID) SpanRef

NewChildOfRef creates a new child-of span reference.

func NewFollowsFromRef added in v1.5.0

func NewFollowsFromRef(traceID TraceID, spanID SpanID) SpanRef

NewFollowsFromRef creates a new follows-from span reference.

func (*SpanRef) Descriptor added in v1.6.0

func (*SpanRef) Descriptor() ([]byte, []int)

func (*SpanRef) GetRefType added in v1.6.0

func (m *SpanRef) GetRefType() SpanRefType

func (*SpanRef) Marshal added in v1.6.0

func (m *SpanRef) Marshal() (dAtA []byte, err error)

func (*SpanRef) MarshalTo added in v1.6.0

func (m *SpanRef) MarshalTo(dAtA []byte) (int, error)

func (*SpanRef) MarshalToSizedBuffer added in v1.24.0

func (m *SpanRef) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SpanRef) ProtoMessage added in v1.6.0

func (*SpanRef) ProtoMessage()

func (*SpanRef) Reset added in v1.6.0

func (m *SpanRef) Reset()

func (*SpanRef) Size added in v1.6.0

func (m *SpanRef) Size() (n int)

func (*SpanRef) String added in v1.6.0

func (m *SpanRef) String() string

func (*SpanRef) Unmarshal added in v1.6.0

func (m *SpanRef) Unmarshal(dAtA []byte) error

func (*SpanRef) XXX_DiscardUnknown added in v1.12.0

func (m *SpanRef) XXX_DiscardUnknown()

func (*SpanRef) XXX_Marshal added in v1.12.0

func (m *SpanRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SpanRef) XXX_Merge added in v1.12.0

func (m *SpanRef) XXX_Merge(src proto.Message)

func (*SpanRef) XXX_Size added in v1.12.0

func (m *SpanRef) XXX_Size() int

func (*SpanRef) XXX_Unmarshal added in v1.12.0

func (m *SpanRef) XXX_Unmarshal(b []byte) error

type SpanRefType

type SpanRefType int32
const (
	SpanRefType_CHILD_OF     SpanRefType = 0
	SpanRefType_FOLLOWS_FROM SpanRefType = 1
)

func (SpanRefType) EnumDescriptor added in v1.6.0

func (SpanRefType) EnumDescriptor() ([]byte, []int)

func (SpanRefType) String

func (x SpanRefType) String() string

type Trace

type Trace struct {
	Spans                []*Span                `protobuf:"bytes,1,rep,name=spans,proto3" json:"spans,omitempty"`
	ProcessMap           []Trace_ProcessMapping `protobuf:"bytes,2,rep,name=process_map,json=processMap,proto3" json:"process_map"`
	Warnings             []string               `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (*Trace) Descriptor added in v1.6.0

func (*Trace) Descriptor() ([]byte, []int)

func (*Trace) FindSpanByID

func (t *Trace) FindSpanByID(id SpanID) *Span

FindSpanByID looks for a span with given span ID and returns the first one it finds (search order is unspecified), or nil if no spans have that ID.

func (*Trace) GetProcessMap added in v1.6.0

func (m *Trace) GetProcessMap() []Trace_ProcessMapping

func (*Trace) GetSpans added in v1.6.0

func (m *Trace) GetSpans() []*Span

func (*Trace) GetWarnings added in v1.6.0

func (m *Trace) GetWarnings() []string

func (*Trace) Marshal added in v1.6.0

func (m *Trace) Marshal() (dAtA []byte, err error)

func (*Trace) MarshalTo added in v1.6.0

func (m *Trace) MarshalTo(dAtA []byte) (int, error)

func (*Trace) MarshalToSizedBuffer added in v1.24.0

func (m *Trace) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Trace) NormalizeTimestamps

func (t *Trace) NormalizeTimestamps()

NormalizeTimestamps changes all timestamps in this trace to UTC.

func (*Trace) ProtoMessage added in v1.6.0

func (*Trace) ProtoMessage()

func (*Trace) Reset added in v1.6.0

func (m *Trace) Reset()

func (*Trace) Size added in v1.6.0

func (m *Trace) Size() (n int)

func (*Trace) String added in v1.6.0

func (m *Trace) String() string

func (*Trace) Unmarshal added in v1.6.0

func (m *Trace) Unmarshal(dAtA []byte) error

func (*Trace) XXX_DiscardUnknown added in v1.12.0

func (m *Trace) XXX_DiscardUnknown()

func (*Trace) XXX_Marshal added in v1.12.0

func (m *Trace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Trace) XXX_Merge added in v1.12.0

func (m *Trace) XXX_Merge(src proto.Message)

func (*Trace) XXX_Size added in v1.12.0

func (m *Trace) XXX_Size() int

func (*Trace) XXX_Unmarshal added in v1.12.0

func (m *Trace) XXX_Unmarshal(b []byte) error

type TraceID

type TraceID struct {
	Low  uint64 `json:"lo"`
	High uint64 `json:"hi"`
}

TraceID is a random 128bit identifier for a trace

func NewTraceID added in v1.6.0

func NewTraceID(high, low uint64) TraceID

NewTraceID creates a new TraceID from two 64bit unsigned ints.

func TraceIDFromBytes added in v1.14.0

func TraceIDFromBytes(data []byte) (TraceID, error)

TraceIDFromBytes creates a TraceID from list of bytes

func TraceIDFromString

func TraceIDFromString(s string) (TraceID, error)

TraceIDFromString creates a TraceID from a hexadecimal string

func (TraceID) MarshalJSON added in v1.6.0

func (t TraceID) MarshalJSON() ([]byte, error)

MarshalJSON converts trace id into a base64 string enclosed in quotes. Used by protobuf JSON serialization. Example: {high:2, low:1} => "AAAAAAAAAAIAAAAAAAAAAQ==".

func (TraceID) MarshalText

func (t TraceID) MarshalText() ([]byte, error)

MarshalText is called by encoding/json, which we do not want people to use.

func (*TraceID) MarshalTo added in v1.6.0

func (t *TraceID) MarshalTo(data []byte) (n int, err error)

MarshalTo converts trace ID into a binary representation. Called by protobuf serialization.

func (*TraceID) Size added in v1.6.0

func (t *TraceID) Size() int

Size returns the size of this datum in protobuf. It is always 16 bytes.

func (TraceID) String

func (t TraceID) String() string

func (*TraceID) Unmarshal added in v1.6.0

func (t *TraceID) Unmarshal(data []byte) error

Unmarshal inflates this trace ID from binary representation. Called by protobuf serialization.

func (*TraceID) UnmarshalJSON added in v1.6.0

func (t *TraceID) UnmarshalJSON(data []byte) error

UnmarshalJSON inflates trace id from base64 string, possibly enclosed in quotes. User by protobuf JSON serialization.

func (*TraceID) UnmarshalText

func (t *TraceID) UnmarshalText(text []byte) error

UnmarshalText is called by encoding/json, which we do not want people to use.

type Trace_ProcessMapping added in v1.6.0

type Trace_ProcessMapping struct {
	ProcessID            string   `protobuf:"bytes,1,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"`
	Process              Process  `protobuf:"bytes,2,opt,name=process,proto3" json:"process"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Trace_ProcessMapping) Descriptor added in v1.6.0

func (*Trace_ProcessMapping) Descriptor() ([]byte, []int)

func (*Trace_ProcessMapping) GetProcess added in v1.6.0

func (m *Trace_ProcessMapping) GetProcess() Process

func (*Trace_ProcessMapping) GetProcessID added in v1.6.0

func (m *Trace_ProcessMapping) GetProcessID() string

func (*Trace_ProcessMapping) Marshal added in v1.6.0

func (m *Trace_ProcessMapping) Marshal() (dAtA []byte, err error)

func (*Trace_ProcessMapping) MarshalTo added in v1.6.0

func (m *Trace_ProcessMapping) MarshalTo(dAtA []byte) (int, error)

func (*Trace_ProcessMapping) MarshalToSizedBuffer added in v1.24.0

func (m *Trace_ProcessMapping) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Trace_ProcessMapping) ProtoMessage added in v1.6.0

func (*Trace_ProcessMapping) ProtoMessage()

func (*Trace_ProcessMapping) Reset added in v1.6.0

func (m *Trace_ProcessMapping) Reset()

func (*Trace_ProcessMapping) Size added in v1.6.0

func (m *Trace_ProcessMapping) Size() (n int)

func (*Trace_ProcessMapping) String added in v1.6.0

func (m *Trace_ProcessMapping) String() string

func (*Trace_ProcessMapping) Unmarshal added in v1.6.0

func (m *Trace_ProcessMapping) Unmarshal(dAtA []byte) error

func (*Trace_ProcessMapping) XXX_DiscardUnknown added in v1.12.0

func (m *Trace_ProcessMapping) XXX_DiscardUnknown()

func (*Trace_ProcessMapping) XXX_Marshal added in v1.12.0

func (m *Trace_ProcessMapping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Trace_ProcessMapping) XXX_Merge added in v1.12.0

func (m *Trace_ProcessMapping) XXX_Merge(src proto.Message)

func (*Trace_ProcessMapping) XXX_Size added in v1.12.0

func (m *Trace_ProcessMapping) XXX_Size() int

func (*Trace_ProcessMapping) XXX_Unmarshal added in v1.12.0

func (m *Trace_ProcessMapping) XXX_Unmarshal(b []byte) error

type ValueType

type ValueType int32
const (
	ValueType_STRING  ValueType = 0
	ValueType_BOOL    ValueType = 1
	ValueType_INT64   ValueType = 2
	ValueType_FLOAT64 ValueType = 3
	ValueType_BINARY  ValueType = 4
)

func (ValueType) EnumDescriptor added in v1.6.0

func (ValueType) EnumDescriptor() ([]byte, []int)

func (ValueType) String

func (x ValueType) String() string

Directories

Path Synopsis
Package adjuster contains various adjusters for model.Trace.
Package adjuster contains various adjusters for model.Trace.
Package converter contains various utilities for converting model.Trace to/from other data modes, like Thrift, or UI JSON.
Package converter contains various utilities for converting model.Trace to/from other data modes, like Thrift, or UI JSON.
json
Package json allows converting model.Trace to external JSON data model.
Package json allows converting model.Trace to external JSON data model.
thrift
Package thrift allows converting model.Trace to/from various thrift models.
Package thrift allows converting model.Trace to/from various thrift models.
thrift/jaeger
Package jaeger allows converting model.Trace to/from jaeger.thrift model.
Package jaeger allows converting model.Trace to/from jaeger.thrift model.
thrift/zipkin
Package zipkin allows converting model.Trace to/from zipkin.thrift model.
Package zipkin allows converting model.Trace to/from zipkin.thrift model.
Package json defines the external JSON representation for Jaeger traces.
Package json defines the external JSON representation for Jaeger traces.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL