Documentation ¶
Overview ¶
Package agent implements the trace-agent.
Index ¶
- Constants
- Variables
- type Agent
- func (a *Agent) FlushSync()
- func (a *Agent) Process(p *api.Payload)
- func (a *Agent) ProcessStats(in *pb.ClientStatsPayload, lang, tracerVersion string)
- func (a *Agent) Run()
- func (a *Agent) SetGlobalTagsUnsafe(tags map[string]string)
- func (a *Agent) Truncate(s *pb.Span)
- func (a *Agent) TruncateResource(r string) (string, bool)
Constants ¶
const ( // MaxMetaKeyLen the maximum length of metadata key MaxMetaKeyLen = 200 // MaxMetaValLen the maximum length of metadata value MaxMetaValLen = 25000 // MaxMetricsKeyLen the maximum length of a metric name key MaxMetricsKeyLen = MaxMetaKeyLen )
const (
// MaxTypeLen the maximum length a span type can have
MaxTypeLen = 100
)
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct { Receiver *api.HTTPReceiver OTLPReceiver *api.OTLPReceiver Concentrator *stats.Concentrator ClientStatsAggregator *stats.ClientStatsAggregator Blacklister *filters.Blacklister Replacer *filters.Replacer PrioritySampler *sampler.PrioritySampler ErrorsSampler *sampler.ErrorsSampler RareSampler *sampler.RareSampler NoPrioritySampler *sampler.NoPrioritySampler ProbabilisticSampler *sampler.ProbabilisticSampler EventProcessor *event.Processor TraceWriter *writer.TraceWriter StatsWriter *writer.StatsWriter RemoteConfigHandler *remoteconfighandler.RemoteConfigHandler TelemetryCollector telemetry.TelemetryCollector DebugServer *api.DebugServer Statsd statsd.ClientInterface Timing timing.Reporter // DiscardSpan will be called on all spans, if non-nil. If it returns true, the span will be deleted before processing. DiscardSpan func(*pb.Span) bool // ModifySpan will be called on all non-nil spans of received trace chunks. // Note that any modification of the trace chunk could be overwritten by subsequent ModifySpan calls. ModifySpan func(*pb.TraceChunk, *pb.Span) // In takes incoming payloads to be processed by the agent. In chan *api.Payload // contains filtered or unexported fields }
Agent struct holds all the sub-routines structs and make the data flow between them
func NewAgent ¶
func NewAgent(ctx context.Context, conf *config.AgentConfig, telemetryCollector telemetry.TelemetryCollector, statsd statsd.ClientInterface) *Agent
NewAgent returns a new Agent object, ready to be started. It takes a context which may be cancelled in order to gracefully stop the agent.
func (*Agent) FlushSync ¶
func (a *Agent) FlushSync()
FlushSync flushes traces sychronously. This method only works when the agent is configured in synchronous flushing mode via the apm_config.sync_flush option.
func (*Agent) Process ¶
Process is the default work unit that receives a trace, transforms it and passes it downstream.
func (*Agent) ProcessStats ¶
func (a *Agent) ProcessStats(in *pb.ClientStatsPayload, lang, tracerVersion string)
ProcessStats processes incoming client stats in from the given tracer.
func (*Agent) Run ¶
func (a *Agent) Run()
Run starts routers routines and individual pieces then stop them when the exit order is received.
func (*Agent) SetGlobalTagsUnsafe ¶
SetGlobalTagsUnsafe sets global tags to the agent configuration. Unsafe for concurrent use.