Documentation ¶
Index ¶
Constants ¶
const (
// MaxTypeLen the maximum length a span type can have
MaxTypeLen = 100
)
Variables ¶
Functions ¶
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 EventProcessor *event.Processor TraceWriter *writer.TraceWriter StatsWriter *writer.StatsWriter // 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 spans, if non-nil. ModifySpan func(*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) *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.