agent

package
v0.41.0 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2022 License: Apache-2.0 Imports: 23 Imported by: 4

Documentation

Index

Constants

View Source
const (
	// MaxTypeLen the maximum length a span type can have
	MaxTypeLen = 100
)

Variables

View Source
var (
	// Year2000NanosecTS is an arbitrary cutoff to spot weird-looking values
	Year2000NanosecTS = time.Date(2000, time.January, 1, 0, 0, 0, 0, time.UTC).UnixNano()
)

Functions

func Truncate

func Truncate(s *pb.Span)

Truncate checks that the span resource, meta and metrics are within the max length and modifies them if they are not

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

func (a *Agent) Process(p *api.Payload)

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

func (a *Agent) SetGlobalTagsUnsafe(tags map[string]string)

SetGlobalTagsUnsafe sets global tags to the agent configuration. Unsafe for concurrent use.

Jump to

Keyboard shortcuts

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