Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var MaxPayloadSize = 3200000 // 3.2MB is the maximum allowed by the Datadog API
MaxPayloadSize specifies the maximum accumulated payload size that is allowed before a flush is triggered; replaced in tests.
Functions ¶
This section is empty.
Types ¶
type SampledSpans ¶
type SampledSpans struct {
// Trace will contain a trace if it was sampled or be empty if it wasn't.
Traces []*pb.APITrace
// Events contains all APM events extracted from a trace. If no events were extracted, it will be empty.
Events []*pb.Span
// Size represents the approximated message size in bytes.
Size int
// SpanCount specifies the total number of spans found in Traces.
SpanCount int64
}
SampledSpans represents the result of a trace sampling operation.
type StatsWriter ¶
type StatsWriter struct {
// contains filtered or unexported fields
}
StatsWriter ingests stats buckets and flushes them to the API.
func NewStatsWriter ¶
func NewStatsWriter(cfg *config.AgentConfig, in <-chan pb.StatsPayload) *StatsWriter
NewStatsWriter returns a new StatsWriter. It must be started using Run.
func (*StatsWriter) FlushSync ¶ added in v0.9.0
func (w *StatsWriter) FlushSync() error
FlushSync blocks and sends pending payloads when syncMode is true
func (*StatsWriter) Run ¶
func (w *StatsWriter) Run()
Run starts the StatsWriter, making it ready to receive stats and report metrics.
func (*StatsWriter) SendPayload ¶ added in v0.9.0
func (w *StatsWriter) SendPayload(p pb.StatsPayload)
SendPayload sends a stats payload to the Datadog backend.
type TraceWriter ¶
type TraceWriter struct {
// In receives sampled spans to be processed by the trace writer.
// Channel should only be received from when testing.
In chan *SampledSpans
// contains filtered or unexported fields
}
TraceWriter buffers traces and APM events, flushing them to the Datadog API.
func NewTraceWriter ¶
func NewTraceWriter(cfg *config.AgentConfig) *TraceWriter
NewTraceWriter returns a new TraceWriter. It is created for the given agent configuration and will accept incoming spans via the in channel.
func (*TraceWriter) FlushSync ¶ added in v0.9.0
func (w *TraceWriter) FlushSync() error
FlushSync blocks and sends pending payloads when syncMode is true
func (*TraceWriter) Stop ¶
func (w *TraceWriter) Stop()
Stop stops the TraceWriter and attempts to flush whatever is left in the senders buffers.