trace

package
v0.52.0-rc.7 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 14 Imported by: 30

Documentation

Overview

Package trace defines the types and functions to encode/decode traces.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)
View Source
var File_datadog_trace_agent_payload_proto protoreflect.FileDescriptor
View Source
var File_datadog_trace_span_proto protoreflect.FileDescriptor
View Source
var File_datadog_trace_stats_proto protoreflect.FileDescriptor
View Source
var File_datadog_trace_tracer_payload_proto protoreflect.FileDescriptor

Functions

func MetaHook

func MetaHook() (hook func(k, v string) string, ok bool)

MetaHook returns the active meta hook. A MetaHook is a function which is ran for each span.Meta[k] = v value and has the opportunity to alter the final v.

func SetMetaHook

func SetMetaHook(hook func(k, v string) string)

SetMetaHook registers a callback which will run upon decoding each map entry in the span's Meta field. The hook has the opportunity to alter the value that is assigned to span.Meta[k] at decode time. By default, if no hook is defined, the behaviour is span.Meta[k] = v.

Types

type AgentPayload

type AgentPayload struct {

	// hostName specifies hostname of where the agent is running.
	HostName string `protobuf:"bytes,1,opt,name=hostName,proto3" json:"hostName,omitempty"`
	// env specifies `env` set in agent configuration.
	Env string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
	// tracerPayloads specifies list of the payloads received from tracers.
	TracerPayloads []*TracerPayload `protobuf:"bytes,5,rep,name=tracerPayloads,proto3" json:"tracerPayloads,omitempty"`
	// tags specifies tags common in all `tracerPayloads`.
	Tags map[string]string `` /* 149-byte string literal not displayed */
	// agentVersion specifies version of the agent.
	AgentVersion string `protobuf:"bytes,7,opt,name=agentVersion,proto3" json:"agentVersion,omitempty"`
	// targetTPS holds `TargetTPS` value in AgentConfig.
	TargetTPS float64 `protobuf:"fixed64,8,opt,name=targetTPS,proto3" json:"targetTPS,omitempty"`
	// errorTPS holds `ErrorTPS` value in AgentConfig.
	ErrorTPS float64 `protobuf:"fixed64,9,opt,name=errorTPS,proto3" json:"errorTPS,omitempty"`
	// rareSamplerEnabled holds `RareSamplerEnabled` value in AgentConfig
	RareSamplerEnabled bool `protobuf:"varint,10,opt,name=rareSamplerEnabled,proto3" json:"rareSamplerEnabled,omitempty"`
	// contains filtered or unexported fields
}

AgentPayload represents payload the agent sends to the intake.

func (*AgentPayload) Descriptor deprecated

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

Deprecated: Use AgentPayload.ProtoReflect.Descriptor instead.

func (*AgentPayload) GetAgentVersion

func (x *AgentPayload) GetAgentVersion() string

func (*AgentPayload) GetEnv

func (x *AgentPayload) GetEnv() string

func (*AgentPayload) GetErrorTPS

func (x *AgentPayload) GetErrorTPS() float64

func (*AgentPayload) GetHostName

func (x *AgentPayload) GetHostName() string

func (*AgentPayload) GetRareSamplerEnabled

func (x *AgentPayload) GetRareSamplerEnabled() bool

func (*AgentPayload) GetTags

func (x *AgentPayload) GetTags() map[string]string

func (*AgentPayload) GetTargetTPS

func (x *AgentPayload) GetTargetTPS() float64

func (*AgentPayload) GetTracerPayloads

func (x *AgentPayload) GetTracerPayloads() []*TracerPayload

func (*AgentPayload) MarshalMsg

func (z *AgentPayload) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*AgentPayload) MarshalToSizedBufferVT

func (m *AgentPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*AgentPayload) MarshalToVT

func (m *AgentPayload) MarshalToVT(dAtA []byte) (int, error)

func (*AgentPayload) MarshalVT

func (m *AgentPayload) MarshalVT() (dAtA []byte, err error)

func (*AgentPayload) Msgsize

func (z *AgentPayload) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*AgentPayload) ProtoMessage

func (*AgentPayload) ProtoMessage()

func (*AgentPayload) ProtoReflect

func (x *AgentPayload) ProtoReflect() protoreflect.Message

func (*AgentPayload) Reset

func (x *AgentPayload) Reset()

func (*AgentPayload) SizeVT

func (m *AgentPayload) SizeVT() (n int)

func (*AgentPayload) String

func (x *AgentPayload) String() string

func (*AgentPayload) UnmarshalMsg

func (z *AgentPayload) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*AgentPayload) UnmarshalVT

func (m *AgentPayload) UnmarshalVT(dAtA []byte) error

type ClientGroupedStats

type ClientGroupedStats struct {
	Service        string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
	Name           string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Resource       string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
	HTTPStatusCode uint32 `protobuf:"varint,4,opt,name=HTTP_status_code,json=HTTPStatusCode,proto3" json:"HTTP_status_code,omitempty"`
	Type           string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`
	DBType         string `protobuf:"bytes,6,opt,name=DB_type,json=DBType,proto3" json:"DB_type,omitempty"`        // db_type might be used in the future to help in the obfuscation step
	Hits           uint64 `protobuf:"varint,7,opt,name=hits,proto3" json:"hits,omitempty"`                         // count of all spans aggregated in the groupedstats
	Errors         uint64 `protobuf:"varint,8,opt,name=errors,proto3" json:"errors,omitempty"`                     // count of error spans aggregated in the groupedstats
	Duration       uint64 `protobuf:"varint,9,opt,name=duration,proto3" json:"duration,omitempty"`                 // total duration in nanoseconds of spans aggregated in the bucket
	OkSummary      []byte `protobuf:"bytes,10,opt,name=okSummary,proto3" json:"okSummary,omitempty"`               // ddsketch summary of ok spans latencies encoded in protobuf
	ErrorSummary   []byte `protobuf:"bytes,11,opt,name=errorSummary,proto3" json:"errorSummary,omitempty"`         // ddsketch summary of error spans latencies encoded in protobuf
	Synthetics     bool   `protobuf:"varint,12,opt,name=synthetics,proto3" json:"synthetics,omitempty"`            // set to true on spans generated by synthetics traffic
	TopLevelHits   uint64 `protobuf:"varint,13,opt,name=topLevelHits,proto3" json:"topLevelHits,omitempty"`        // count of top level spans aggregated in the groupedstats
	SpanKind       string `protobuf:"bytes,15,opt,name=span_kind,json=spanKind,proto3" json:"span_kind,omitempty"` // value of the span.kind tag on the span
	// peer_tags are supplementary tags that further describe a peer entity
	// E.g., `grpc.target` to describe the name of a gRPC peer, or `db.hostname` to describe the name of peer DB
	PeerTags []string `protobuf:"bytes,16,rep,name=peer_tags,json=peerTags,proto3" json:"peer_tags,omitempty"`
	// contains filtered or unexported fields
}

ClientGroupedStats aggregate stats on spans grouped by service, name, resource, status_code, type

func (*ClientGroupedStats) DecodeMsg

func (z *ClientGroupedStats) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*ClientGroupedStats) Descriptor deprecated

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

Deprecated: Use ClientGroupedStats.ProtoReflect.Descriptor instead.

func (*ClientGroupedStats) EncodeMsg

func (z *ClientGroupedStats) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*ClientGroupedStats) GetDBType

func (x *ClientGroupedStats) GetDBType() string

func (*ClientGroupedStats) GetDuration

func (x *ClientGroupedStats) GetDuration() uint64

func (*ClientGroupedStats) GetErrorSummary

func (x *ClientGroupedStats) GetErrorSummary() []byte

func (*ClientGroupedStats) GetErrors

func (x *ClientGroupedStats) GetErrors() uint64

func (*ClientGroupedStats) GetHTTPStatusCode

func (x *ClientGroupedStats) GetHTTPStatusCode() uint32

func (*ClientGroupedStats) GetHits

func (x *ClientGroupedStats) GetHits() uint64

func (*ClientGroupedStats) GetName

func (x *ClientGroupedStats) GetName() string

func (*ClientGroupedStats) GetOkSummary

func (x *ClientGroupedStats) GetOkSummary() []byte

func (*ClientGroupedStats) GetPeerTags added in v0.49.0

func (x *ClientGroupedStats) GetPeerTags() []string

func (*ClientGroupedStats) GetResource

func (x *ClientGroupedStats) GetResource() string

func (*ClientGroupedStats) GetService

func (x *ClientGroupedStats) GetService() string

func (*ClientGroupedStats) GetSpanKind

func (x *ClientGroupedStats) GetSpanKind() string

func (*ClientGroupedStats) GetSynthetics

func (x *ClientGroupedStats) GetSynthetics() bool

func (*ClientGroupedStats) GetTopLevelHits

func (x *ClientGroupedStats) GetTopLevelHits() uint64

func (*ClientGroupedStats) GetType

func (x *ClientGroupedStats) GetType() string

func (*ClientGroupedStats) MarshalMsg

func (z *ClientGroupedStats) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*ClientGroupedStats) MarshalToSizedBufferVT

func (m *ClientGroupedStats) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ClientGroupedStats) MarshalToVT

func (m *ClientGroupedStats) MarshalToVT(dAtA []byte) (int, error)

func (*ClientGroupedStats) MarshalVT

func (m *ClientGroupedStats) MarshalVT() (dAtA []byte, err error)

func (*ClientGroupedStats) Msgsize

func (z *ClientGroupedStats) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*ClientGroupedStats) ProtoMessage

func (*ClientGroupedStats) ProtoMessage()

func (*ClientGroupedStats) ProtoReflect

func (x *ClientGroupedStats) ProtoReflect() protoreflect.Message

func (*ClientGroupedStats) Reset

func (x *ClientGroupedStats) Reset()

func (*ClientGroupedStats) SizeVT

func (m *ClientGroupedStats) SizeVT() (n int)

func (*ClientGroupedStats) String

func (x *ClientGroupedStats) String() string

func (*ClientGroupedStats) UnmarshalMsg

func (z *ClientGroupedStats) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*ClientGroupedStats) UnmarshalVT

func (m *ClientGroupedStats) UnmarshalVT(dAtA []byte) error

type ClientStatsBucket

type ClientStatsBucket struct {
	Start    uint64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`       // bucket start in nanoseconds
	Duration uint64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // bucket duration in nanoseconds
	// @gotags: json:"stats,omitempty" msg:"Stats,omitempty"
	Stats []*ClientGroupedStats `protobuf:"bytes,3,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"`
	// AgentTimeShift is the shift applied by the agent stats aggregator on bucket start
	// when the received bucket start is outside of the agent aggregation window
	AgentTimeShift int64 `protobuf:"varint,4,opt,name=agentTimeShift,proto3" json:"agentTimeShift,omitempty"`
	// contains filtered or unexported fields
}

ClientStatsBucket is a time bucket containing aggregated stats.

func (*ClientStatsBucket) DecodeMsg

func (z *ClientStatsBucket) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*ClientStatsBucket) Descriptor deprecated

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

Deprecated: Use ClientStatsBucket.ProtoReflect.Descriptor instead.

func (*ClientStatsBucket) EncodeMsg

func (z *ClientStatsBucket) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*ClientStatsBucket) GetAgentTimeShift

func (x *ClientStatsBucket) GetAgentTimeShift() int64

func (*ClientStatsBucket) GetDuration

func (x *ClientStatsBucket) GetDuration() uint64

func (*ClientStatsBucket) GetStart

func (x *ClientStatsBucket) GetStart() uint64

func (*ClientStatsBucket) GetStats

func (x *ClientStatsBucket) GetStats() []*ClientGroupedStats

func (*ClientStatsBucket) MarshalMsg

func (z *ClientStatsBucket) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*ClientStatsBucket) MarshalToSizedBufferVT

func (m *ClientStatsBucket) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ClientStatsBucket) MarshalToVT

func (m *ClientStatsBucket) MarshalToVT(dAtA []byte) (int, error)

func (*ClientStatsBucket) MarshalVT

func (m *ClientStatsBucket) MarshalVT() (dAtA []byte, err error)

func (*ClientStatsBucket) Msgsize

func (z *ClientStatsBucket) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*ClientStatsBucket) ProtoMessage

func (*ClientStatsBucket) ProtoMessage()

func (*ClientStatsBucket) ProtoReflect

func (x *ClientStatsBucket) ProtoReflect() protoreflect.Message

func (*ClientStatsBucket) Reset

func (x *ClientStatsBucket) Reset()

func (*ClientStatsBucket) SizeVT

func (m *ClientStatsBucket) SizeVT() (n int)

func (*ClientStatsBucket) String

func (x *ClientStatsBucket) String() string

func (*ClientStatsBucket) UnmarshalMsg

func (z *ClientStatsBucket) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*ClientStatsBucket) UnmarshalVT

func (m *ClientStatsBucket) UnmarshalVT(dAtA []byte) error

type ClientStatsPayload

type ClientStatsPayload struct {

	// Hostname is the tracer hostname. It's extracted from spans with "_dd.hostname" meta
	// or set by tracer stats payload when hostname reporting is enabled.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Env      string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`         // env tag set on spans or in the tracers, used for aggregation
	Version  string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // version tag set on spans or in the tracers, used for aggregation
	// @gotags: json:"stats,omitempty" msg:"Stats,omitempty"
	Stats         []*ClientStatsBucket `protobuf:"bytes,4,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"`
	Lang          string               `protobuf:"bytes,5,opt,name=lang,proto3" json:"lang,omitempty"`                   // informative field not used for aggregation
	TracerVersion string               `protobuf:"bytes,6,opt,name=tracerVersion,proto3" json:"tracerVersion,omitempty"` // informative field not used for aggregation
	RuntimeID     string               `protobuf:"bytes,7,opt,name=runtimeID,proto3" json:"runtimeID,omitempty"`         // used on stats payloads sent by the tracer to identify uniquely a message
	Sequence      uint64               `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"`          // used on stats payloads sent by the tracer to identify uniquely a message
	// AgentAggregation is set by the agent on tracer payloads modified by the agent aggregation layer
	// characterizes counts only and distributions only payloads
	AgentAggregation string `protobuf:"bytes,9,opt,name=agentAggregation,proto3" json:"agentAggregation,omitempty"`
	// Service is the main service of the tracer.
	// It is part of unified tagging: https://docs.datadoghq.com/getting_started/tagging/unified_service_tagging
	Service string `protobuf:"bytes,10,opt,name=service,proto3" json:"service,omitempty"`
	// ContainerID specifies the origin container ID. It is meant to be populated by the client and may
	// be enhanced by the agent to ensure it is unique.
	ContainerID string `protobuf:"bytes,11,opt,name=containerID,proto3" json:"containerID,omitempty"`
	// Tags specifies a set of tags obtained from the orchestrator (where applicable) using the specified containerID.
	// This field should be left empty by the client. It only applies to some specific environment.
	Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"`
	// The git commit SHA is obtained from a trace, where it may be set through a tracer <-> source code integration.
	GitCommitSha string `protobuf:"bytes,13,opt,name=git_commit_sha,json=gitCommitSha,proto3" json:"git_commit_sha,omitempty"`
	// The image tag is obtained from a container's set of tags.
	ImageTag string `protobuf:"bytes,14,opt,name=image_tag,json=imageTag,proto3" json:"image_tag,omitempty"`
	// contains filtered or unexported fields
}

ClientStatsPayload is the first layer of span stats aggregation. It is also the payload sent by tracers to the agent when stats in tracer are enabled.

func (*ClientStatsPayload) DecodeMsg

func (z *ClientStatsPayload) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*ClientStatsPayload) Descriptor deprecated

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

Deprecated: Use ClientStatsPayload.ProtoReflect.Descriptor instead.

func (*ClientStatsPayload) EncodeMsg

func (z *ClientStatsPayload) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*ClientStatsPayload) GetAgentAggregation

func (x *ClientStatsPayload) GetAgentAggregation() string

func (*ClientStatsPayload) GetContainerID

func (x *ClientStatsPayload) GetContainerID() string

func (*ClientStatsPayload) GetEnv

func (x *ClientStatsPayload) GetEnv() string

func (*ClientStatsPayload) GetGitCommitSha added in v0.52.0

func (x *ClientStatsPayload) GetGitCommitSha() string

func (*ClientStatsPayload) GetHostname

func (x *ClientStatsPayload) GetHostname() string

func (*ClientStatsPayload) GetImageTag added in v0.52.0

func (x *ClientStatsPayload) GetImageTag() string

func (*ClientStatsPayload) GetLang

func (x *ClientStatsPayload) GetLang() string

func (*ClientStatsPayload) GetRuntimeID

func (x *ClientStatsPayload) GetRuntimeID() string

func (*ClientStatsPayload) GetSequence

func (x *ClientStatsPayload) GetSequence() uint64

func (*ClientStatsPayload) GetService

func (x *ClientStatsPayload) GetService() string

func (*ClientStatsPayload) GetStats

func (x *ClientStatsPayload) GetStats() []*ClientStatsBucket

func (*ClientStatsPayload) GetTags

func (x *ClientStatsPayload) GetTags() []string

func (*ClientStatsPayload) GetTracerVersion

func (x *ClientStatsPayload) GetTracerVersion() string

func (*ClientStatsPayload) GetVersion

func (x *ClientStatsPayload) GetVersion() string

func (*ClientStatsPayload) MarshalMsg

func (z *ClientStatsPayload) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*ClientStatsPayload) MarshalToSizedBufferVT

func (m *ClientStatsPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ClientStatsPayload) MarshalToVT

func (m *ClientStatsPayload) MarshalToVT(dAtA []byte) (int, error)

func (*ClientStatsPayload) MarshalVT

func (m *ClientStatsPayload) MarshalVT() (dAtA []byte, err error)

func (*ClientStatsPayload) Msgsize

func (z *ClientStatsPayload) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*ClientStatsPayload) ProtoMessage

func (*ClientStatsPayload) ProtoMessage()

func (*ClientStatsPayload) ProtoReflect

func (x *ClientStatsPayload) ProtoReflect() protoreflect.Message

func (*ClientStatsPayload) Reset

func (x *ClientStatsPayload) Reset()

func (*ClientStatsPayload) SizeVT

func (m *ClientStatsPayload) SizeVT() (n int)

func (*ClientStatsPayload) String

func (x *ClientStatsPayload) String() string

func (*ClientStatsPayload) UnmarshalMsg

func (z *ClientStatsPayload) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*ClientStatsPayload) UnmarshalVT

func (m *ClientStatsPayload) UnmarshalVT(dAtA []byte) error

type Span

type Span struct {

	// service is the name of the service with which this span is associated.
	// @gotags: json:"service" msg:"service"
	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service" msg:"service"`
	// name is the operation name of this span.
	// @gotags: json:"name" msg:"name"
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name" msg:"name"`
	// resource is the resource name of this span, also sometimes called the endpoint (for web spans).
	// @gotags: json:"resource" msg:"resource"
	Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource" msg:"resource"`
	// traceID is the ID of the trace to which this span belongs.
	// @gotags: json:"trace_id" msg:"trace_id"
	TraceID uint64 `protobuf:"varint,4,opt,name=traceID,proto3" json:"trace_id" msg:"trace_id"`
	// spanID is the ID of this span.
	// @gotags: json:"span_id" msg:"span_id"
	SpanID uint64 `protobuf:"varint,5,opt,name=spanID,proto3" json:"span_id" msg:"span_id"`
	// parentID is the ID of this span's parent, or zero if this span has no parent.
	// @gotags: json:"parent_id" msg:"parent_id"
	ParentID uint64 `protobuf:"varint,6,opt,name=parentID,proto3" json:"parent_id" msg:"parent_id"`
	// start is the number of nanoseconds between the Unix epoch and the beginning of this span.
	// @gotags: json:"start" msg:"start"
	Start int64 `protobuf:"varint,7,opt,name=start,proto3" json:"start" msg:"start"`
	// duration is the time length of this span in nanoseconds.
	// @gotags: json:"duration" msg:"duration"
	Duration int64 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration" msg:"duration"`
	// error is 1 if there is an error associated with this span, or 0 if there is not.
	// @gotags: json:"error" msg:"error"
	Error int32 `protobuf:"varint,9,opt,name=error,proto3" json:"error" msg:"error"`
	// meta is a mapping from tag name to tag value for string-valued tags.
	// @gotags: json:"meta,omitempty" msg:"meta,omitempty"
	Meta map[string]string `` /* 171-byte string literal not displayed */
	// metrics is a mapping from tag name to tag value for numeric-valued tags.
	// @gotags: json:"metrics,omitempty" msg:"metrics,omitempty"
	Metrics map[string]float64 `` /* 182-byte string literal not displayed */
	// type is the type of the service with which this span is associated.  Example values: web, db, lambda.
	// @gotags: json:"type" msg:"type"
	Type string `protobuf:"bytes,12,opt,name=type,proto3" json:"type" msg:"type"`
	// meta_struct is a registry of structured "other" data used by, e.g., AppSec.
	// @gotags: json:"meta_struct,omitempty" msg:"meta_struct,omitempty"
	MetaStruct map[string][]byte `` /* 208-byte string literal not displayed */
	// span_links represents a collection of links, where each link defines a causal relationship between two spans.
	// @gotags: json:"span_links,omitempty" msg:"span_links,omitempty"
	SpanLinks []*SpanLink `protobuf:"bytes,14,rep,name=spanLinks,proto3" json:"span_links,omitempty" msg:"span_links,omitempty"`
	// contains filtered or unexported fields
}

func (*Span) Descriptor deprecated

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

Deprecated: Use Span.ProtoReflect.Descriptor instead.

func (*Span) GetDuration

func (x *Span) GetDuration() int64

func (*Span) GetError

func (x *Span) GetError() int32

func (*Span) GetMeta

func (x *Span) GetMeta() map[string]string

func (*Span) GetMetaStruct

func (x *Span) GetMetaStruct() map[string][]byte

func (*Span) GetMetrics

func (x *Span) GetMetrics() map[string]float64

func (*Span) GetName

func (x *Span) GetName() string

func (*Span) GetParentID

func (x *Span) GetParentID() uint64

func (*Span) GetResource

func (x *Span) GetResource() string

func (*Span) GetService

func (x *Span) GetService() string

func (*Span) GetSpanID

func (x *Span) GetSpanID() uint64
func (x *Span) GetSpanLinks() []*SpanLink

func (*Span) GetStart

func (x *Span) GetStart() int64

func (*Span) GetTraceID

func (x *Span) GetTraceID() uint64

func (*Span) GetType

func (x *Span) GetType() string

func (*Span) MarshalMsg

func (z *Span) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*Span) MarshalToSizedBufferVT

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

func (*Span) MarshalToVT

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

func (*Span) MarshalVT

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

func (*Span) Msgsize

func (z *Span) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Span) ProtoMessage

func (*Span) ProtoMessage()

func (*Span) ProtoReflect

func (x *Span) ProtoReflect() protoreflect.Message

func (*Span) Reset

func (x *Span) Reset()

func (*Span) ShallowCopy

func (s *Span) ShallowCopy() *Span

ShallowCopy returns a shallow copy of the copy-able portion of a Span. These are the public fields which will have a Get* method for them. The completeness of this method is enforced by the init function above. Instead of using pkg/proto/utils.ProtoCopier, which incurs heavy reflection cost for every copy at runtime, we use reflection once at startup to ensure our method is complete.

func (*Span) SizeVT

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

func (*Span) String

func (x *Span) String() string

func (*Span) UnmarshalMsg

func (z *Span) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*Span) UnmarshalMsgDictionary

func (z *Span) UnmarshalMsgDictionary(bts []byte, dict []string) ([]byte, error)

UnmarshalMsgDictionary decodes a span from the given decoder dc, looking up strings in the given dictionary dict. For details, see the documentation for endpoint v0.5 in pkg/trace/api/version.go

func (*Span) UnmarshalVT

func (m *Span) UnmarshalVT(dAtA []byte) error
type SpanLink struct {

	// @gotags: json:"trace_id" msg:"trace_id"
	TraceID uint64 `protobuf:"varint,1,opt,name=traceID,proto3" json:"trace_id" msg:"trace_id"` // Required.
	// @gotags: json:"trace_id_high" msg:"trace_id_high,omitempty"
	TraceIDHigh uint64 `protobuf:"varint,2,opt,name=traceID_high,json=traceIDHigh,proto3" json:"trace_id_high" msg:"trace_id_high,omitempty"` // Optional. The high 64 bits of a referenced trace id.
	// @gotags: json:"span_id" msg:"span_id"
	SpanID uint64 `protobuf:"varint,3,opt,name=spanID,proto3" json:"span_id" msg:"span_id"` // Required.
	// @gotags: json:"attributes,omitempty" msg:"attributes,omitempty"
	Attributes map[string]string `` // Optional. Simple mapping of keys to string values.
	/* 188-byte string literal not displayed */
	// @gotags: json:"tracestate,omitempty" msg:"tracestate,omitempty"
	Tracestate string `protobuf:"bytes,5,opt,name=tracestate,proto3" json:"tracestate,omitempty" msg:"tracestate,omitempty"` // Optional. W3C tracestate.
	// @gotags: json:"flags,omitempty" msg:"flags,omitempty"
	Flags uint32 `protobuf:"varint,6,opt,name=flags,proto3" json:"flags,omitempty" msg:"flags,omitempty"` // Optional. W3C trace flags. If set, the high bit (bit 31) must be set.
	// contains filtered or unexported fields
}

func (*SpanLink) Descriptor deprecated added in v0.52.0

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

Deprecated: Use SpanLink.ProtoReflect.Descriptor instead.

func (*SpanLink) GetAttributes added in v0.52.0

func (x *SpanLink) GetAttributes() map[string]string

func (*SpanLink) GetFlags added in v0.52.0

func (x *SpanLink) GetFlags() uint32

func (*SpanLink) GetSpanID added in v0.52.0

func (x *SpanLink) GetSpanID() uint64

func (*SpanLink) GetTraceID added in v0.52.0

func (x *SpanLink) GetTraceID() uint64

func (*SpanLink) GetTraceIDHigh added in v0.52.0

func (x *SpanLink) GetTraceIDHigh() uint64

func (*SpanLink) GetTracestate added in v0.52.0

func (x *SpanLink) GetTracestate() string

func (*SpanLink) MarshalMsg added in v0.52.0

func (z *SpanLink) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*SpanLink) MarshalToSizedBufferVT added in v0.52.0

func (m *SpanLink) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*SpanLink) MarshalToVT added in v0.52.0

func (m *SpanLink) MarshalToVT(dAtA []byte) (int, error)

func (*SpanLink) MarshalVT added in v0.52.0

func (m *SpanLink) MarshalVT() (dAtA []byte, err error)

func (*SpanLink) Msgsize added in v0.52.0

func (z *SpanLink) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*SpanLink) ProtoMessage added in v0.52.0

func (*SpanLink) ProtoMessage()

func (*SpanLink) ProtoReflect added in v0.52.0

func (x *SpanLink) ProtoReflect() protoreflect.Message

func (*SpanLink) Reset added in v0.52.0

func (x *SpanLink) Reset()

func (*SpanLink) SizeVT added in v0.52.0

func (m *SpanLink) SizeVT() (n int)

func (*SpanLink) String added in v0.52.0

func (x *SpanLink) String() string

func (*SpanLink) UnmarshalMsg added in v0.52.0

func (z *SpanLink) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*SpanLink) UnmarshalVT added in v0.52.0

func (m *SpanLink) UnmarshalVT(dAtA []byte) error

type StatsPayload

type StatsPayload struct {
	AgentHostname string `protobuf:"bytes,1,opt,name=agentHostname,proto3" json:"agentHostname,omitempty"`
	AgentEnv      string `protobuf:"bytes,2,opt,name=agentEnv,proto3" json:"agentEnv,omitempty"`
	// @gotags: json:"stats,omitempty" msg:"Stats,omitempty"
	Stats          []*ClientStatsPayload `protobuf:"bytes,3,rep,name=stats,proto3" json:"stats,omitempty" msg:"Stats,omitempty"`
	AgentVersion   string                `protobuf:"bytes,4,opt,name=agentVersion,proto3" json:"agentVersion,omitempty"`
	ClientComputed bool                  `protobuf:"varint,5,opt,name=clientComputed,proto3" json:"clientComputed,omitempty"`
	// splitPayload indicates if the payload is actually one of several payloads split out from a larger payload.
	// This field can be used in the backend to signal if re-aggregation is necessary.
	SplitPayload bool `protobuf:"varint,6,opt,name=splitPayload,proto3" json:"splitPayload,omitempty"`
	// contains filtered or unexported fields
}

StatsPayload is the payload used to send stats from the agent to the backend.

func (*StatsPayload) DecodeMsg

func (z *StatsPayload) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*StatsPayload) Descriptor deprecated

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

Deprecated: Use StatsPayload.ProtoReflect.Descriptor instead.

func (*StatsPayload) EncodeMsg

func (z *StatsPayload) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*StatsPayload) GetAgentEnv

func (x *StatsPayload) GetAgentEnv() string

func (*StatsPayload) GetAgentHostname

func (x *StatsPayload) GetAgentHostname() string

func (*StatsPayload) GetAgentVersion

func (x *StatsPayload) GetAgentVersion() string

func (*StatsPayload) GetClientComputed

func (x *StatsPayload) GetClientComputed() bool

func (*StatsPayload) GetSplitPayload added in v0.50.0

func (x *StatsPayload) GetSplitPayload() bool

func (*StatsPayload) GetStats

func (x *StatsPayload) GetStats() []*ClientStatsPayload

func (*StatsPayload) MarshalMsg

func (z *StatsPayload) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*StatsPayload) MarshalToSizedBufferVT

func (m *StatsPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*StatsPayload) MarshalToVT

func (m *StatsPayload) MarshalToVT(dAtA []byte) (int, error)

func (*StatsPayload) MarshalVT

func (m *StatsPayload) MarshalVT() (dAtA []byte, err error)

func (*StatsPayload) Msgsize

func (z *StatsPayload) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*StatsPayload) ProtoMessage

func (*StatsPayload) ProtoMessage()

func (*StatsPayload) ProtoReflect

func (x *StatsPayload) ProtoReflect() protoreflect.Message

func (*StatsPayload) Reset

func (x *StatsPayload) Reset()

func (*StatsPayload) SizeVT

func (m *StatsPayload) SizeVT() (n int)

func (*StatsPayload) String

func (x *StatsPayload) String() string

func (*StatsPayload) UnmarshalMsg

func (z *StatsPayload) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*StatsPayload) UnmarshalVT

func (m *StatsPayload) UnmarshalVT(dAtA []byte) error

type Trace

type Trace []*Span

Trace is a collection of spans with the same trace ID

func (Trace) MarshalMsg

func (z Trace) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Trace) Msgsize

func (z Trace) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Trace) UnmarshalMsg

func (z *Trace) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type TraceChunk

type TraceChunk struct {

	// priority specifies sampling priority of the trace.
	// @gotags: json:"priority" msg:"priority"
	Priority int32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority" msg:"priority"`
	// origin specifies origin product ("lambda", "rum", etc.) of the trace.
	// @gotags: json:"origin" msg:"origin"
	Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin" msg:"origin"`
	// spans specifies list of containing spans.
	// @gotags: json:"spans" msg:"spans"
	Spans []*Span `protobuf:"bytes,3,rep,name=spans,proto3" json:"spans" msg:"spans"`
	// tags specifies tags common in all `spans`.
	// @gotags: json:"tags" msg:"tags"
	Tags map[string]string `` /* 150-byte string literal not displayed */
	// droppedTrace specifies whether the trace was dropped by samplers or not.
	// @gotags: json:"dropped_trace" msg:"dropped_trace"
	DroppedTrace bool `protobuf:"varint,5,opt,name=droppedTrace,proto3" json:"dropped_trace" msg:"dropped_trace"`
	// contains filtered or unexported fields
}

TraceChunk represents a list of spans with the same trace ID. In other words, a chunk of a trace.

func (*TraceChunk) Descriptor deprecated

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

Deprecated: Use TraceChunk.ProtoReflect.Descriptor instead.

func (*TraceChunk) GetDroppedTrace

func (x *TraceChunk) GetDroppedTrace() bool

func (*TraceChunk) GetOrigin

func (x *TraceChunk) GetOrigin() string

func (*TraceChunk) GetPriority

func (x *TraceChunk) GetPriority() int32

func (*TraceChunk) GetSpans

func (x *TraceChunk) GetSpans() []*Span

func (*TraceChunk) GetTags

func (x *TraceChunk) GetTags() map[string]string

func (*TraceChunk) MarshalMsg

func (z *TraceChunk) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*TraceChunk) MarshalToSizedBufferVT

func (m *TraceChunk) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*TraceChunk) MarshalToVT

func (m *TraceChunk) MarshalToVT(dAtA []byte) (int, error)

func (*TraceChunk) MarshalVT

func (m *TraceChunk) MarshalVT() (dAtA []byte, err error)

func (*TraceChunk) Msgsize

func (z *TraceChunk) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*TraceChunk) ProtoMessage

func (*TraceChunk) ProtoMessage()

func (*TraceChunk) ProtoReflect

func (x *TraceChunk) ProtoReflect() protoreflect.Message

func (*TraceChunk) Reset

func (x *TraceChunk) Reset()

func (*TraceChunk) ShallowCopy

func (t *TraceChunk) ShallowCopy() *TraceChunk

ShallowCopy returns a shallow copy of the copy-able portion of a TraceChunk. These are the public fields which will have a Get* method for them. The completeness of this method is enforced by the init function above. Instead of using pkg/proto/utils.ProtoCopier, which incurs heavy reflection cost for every copy at runtime, we use reflection once at startup to ensure our method is complete.

func (*TraceChunk) SizeVT

func (m *TraceChunk) SizeVT() (n int)

func (*TraceChunk) String

func (x *TraceChunk) String() string

func (*TraceChunk) UnmarshalMsg

func (z *TraceChunk) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*TraceChunk) UnmarshalVT

func (m *TraceChunk) UnmarshalVT(dAtA []byte) error

type TracerPayload

type TracerPayload struct {

	// containerID specifies the ID of the container where the tracer is running on.
	// @gotags: json:"container_id" msg:"container_id"
	ContainerID string `protobuf:"bytes,1,opt,name=containerID,proto3" json:"container_id" msg:"container_id"`
	// languageName specifies language of the tracer.
	// @gotags: json:"language_name" msg:"language_name"
	LanguageName string `protobuf:"bytes,2,opt,name=languageName,proto3" json:"language_name" msg:"language_name"`
	// languageVersion specifies language version of the tracer.
	// @gotags: json:"language_version" msg:"language_version"
	LanguageVersion string `protobuf:"bytes,3,opt,name=languageVersion,proto3" json:"language_version" msg:"language_version"`
	// tracerVersion specifies version of the tracer.
	// @gotags: json:"tracer_version" msg:"tracer_version"
	TracerVersion string `protobuf:"bytes,4,opt,name=tracerVersion,proto3" json:"tracer_version" msg:"tracer_version"`
	// runtimeID specifies V4 UUID representation of a tracer session.
	// @gotags: json:"runtime_id" msg:"runtime_id"
	RuntimeID string `protobuf:"bytes,5,opt,name=runtimeID,proto3" json:"runtime_id" msg:"runtime_id"`
	// chunks specifies list of containing trace chunks.
	// @gotags: json:"chunks" msg:"chunks"
	Chunks []*TraceChunk `protobuf:"bytes,6,rep,name=chunks,proto3" json:"chunks" msg:"chunks"`
	// tags specifies tags common in all `chunks`.
	// @gotags: json:"tags" msg:"tags"
	Tags map[string]string `` /* 150-byte string literal not displayed */
	// env specifies `env` tag that set with the tracer.
	// @gotags: json:"env" msg:"env"
	Env string `protobuf:"bytes,8,opt,name=env,proto3" json:"env" msg:"env"`
	// hostname specifies hostname of where the tracer is running.
	// @gotags: json:"hostname" msg:"hostname"
	Hostname string `protobuf:"bytes,9,opt,name=hostname,proto3" json:"hostname" msg:"hostname"`
	// version specifies `version` tag that set with the tracer.
	// @gotags: json:"app_version" msg:"app_version"
	AppVersion string `protobuf:"bytes,10,opt,name=appVersion,proto3" json:"app_version" msg:"app_version"`
	// contains filtered or unexported fields
}

TracerPayload represents a payload the trace agent receives from tracers.

func (*TracerPayload) Cut

func (p *TracerPayload) Cut(i int) *TracerPayload

Cut cuts off a new tracer payload from the `p` with [0, i-1] chunks and keeps [i, n-1] chunks in the original payload `p`.

func (*TracerPayload) Descriptor deprecated

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

Deprecated: Use TracerPayload.ProtoReflect.Descriptor instead.

func (*TracerPayload) GetAppVersion

func (x *TracerPayload) GetAppVersion() string

func (*TracerPayload) GetChunks

func (x *TracerPayload) GetChunks() []*TraceChunk

func (*TracerPayload) GetContainerID

func (x *TracerPayload) GetContainerID() string

func (*TracerPayload) GetEnv

func (x *TracerPayload) GetEnv() string

func (*TracerPayload) GetHostname

func (x *TracerPayload) GetHostname() string

func (*TracerPayload) GetLanguageName

func (x *TracerPayload) GetLanguageName() string

func (*TracerPayload) GetLanguageVersion

func (x *TracerPayload) GetLanguageVersion() string

func (*TracerPayload) GetRuntimeID

func (x *TracerPayload) GetRuntimeID() string

func (*TracerPayload) GetTags

func (x *TracerPayload) GetTags() map[string]string

func (*TracerPayload) GetTracerVersion

func (x *TracerPayload) GetTracerVersion() string

func (*TracerPayload) MarshalMsg

func (z *TracerPayload) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*TracerPayload) MarshalToSizedBufferVT

func (m *TracerPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*TracerPayload) MarshalToVT

func (m *TracerPayload) MarshalToVT(dAtA []byte) (int, error)

func (*TracerPayload) MarshalVT

func (m *TracerPayload) MarshalVT() (dAtA []byte, err error)

func (*TracerPayload) Msgsize

func (z *TracerPayload) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*TracerPayload) ProtoMessage

func (*TracerPayload) ProtoMessage()

func (*TracerPayload) ProtoReflect

func (x *TracerPayload) ProtoReflect() protoreflect.Message

func (*TracerPayload) RemoveChunk

func (p *TracerPayload) RemoveChunk(i int)

RemoveChunk removes a chunk by its index.

func (*TracerPayload) Reset

func (x *TracerPayload) Reset()

func (*TracerPayload) SizeVT

func (m *TracerPayload) SizeVT() (n int)

func (*TracerPayload) String

func (x *TracerPayload) String() string

func (*TracerPayload) UnmarshalMsg

func (z *TracerPayload) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*TracerPayload) UnmarshalVT

func (m *TracerPayload) UnmarshalVT(dAtA []byte) error

type Traces

type Traces []Trace

Traces is a list of traces. This model matters as this is what we unpack from msgp.

func (Traces) MarshalMsg

func (z Traces) MarshalMsg(b []byte) (o []byte, err error)

MarshalMsg implements msgp.Marshaler

func (Traces) Msgsize

func (z Traces) Msgsize() (s int)

Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message

func (*Traces) UnmarshalMsg

func (z *Traces) UnmarshalMsg(bts []byte) (o []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

func (*Traces) UnmarshalMsgDictionary

func (t *Traces) UnmarshalMsgDictionary(bts []byte) error

UnmarshalMsgDictionary decodes a trace using the specification from the v0.5 endpoint. For details, see the documentation for endpoint v0.5 in pkg/trace/api/version.go

Jump to

Keyboard shortcuts

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