api

package
v0.0.0-...-7983b3b Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 55 Imported by: 0

Documentation

Index

Constants

View Source
const OpenTelemetrySource = "openTelemetry"

OpenTelemetrySource Source Identifier for Open Telemetry

Variables

This section is empty.

Functions

func NewMeasuredListener

func NewMeasuredListener(ln net.Listener, name string) net.Listener

NewMeasuredListener wraps ln and emits metrics every 10 seconds. The metric name is datadog.trace_agent.receiver.<name>. Additionally, a "status" tag will be added with potential values "accepted", "timedout" or "errored".

Types

type HTTPReceiver

type HTTPReceiver struct {
	Stats       *info.ReceiverStats
	RateLimiter *rateLimiter
	// contains filtered or unexported fields
}

HTTPReceiver is a collector that uses HTTP protocol and just holds a chan where the spans received are sent one by one

func NewHTTPReceiver

func NewHTTPReceiver(conf *config.AgentConfig, dynConf *sampler.DynamicConfig, out chan *Payload, statsProcessor StatsProcessor) *HTTPReceiver

NewHTTPReceiver returns a pointer to a new HTTPReceiver

func (*HTTPReceiver) Languages

func (r *HTTPReceiver) Languages() string

Languages returns the list of the languages used in the traces the agent receives.

func (*HTTPReceiver) Start

func (r *HTTPReceiver) Start()

Start starts doing the HTTP server and is ready to receive traces

func (*HTTPReceiver) Stop

func (r *HTTPReceiver) Stop() error

Stop stops the receiver and shuts down the HTTP server.

type OTLPReceiver

type OTLPReceiver struct {
	// contains filtered or unexported fields
}

OTLPReceiver implements an OpenTelemetry Collector receiver which accepts incoming data on two ports for both plain HTTP and gRPC.

func NewOTLPReceiver

func NewOTLPReceiver(out chan<- *Payload, cfg *config.OTLP) *OTLPReceiver

NewOTLPReceiver returns a new OTLPReceiver which sends any incoming traces down the out channel.

func (*OTLPReceiver) Export

Export implements otlppb.TraceServiceServer

func (*OTLPReceiver) ServeHTTP

func (o *OTLPReceiver) ServeHTTP(w http.ResponseWriter, req *http.Request)

ServeHTTP implements http.Handler

func (*OTLPReceiver) Start

func (o *OTLPReceiver) Start()

Start starts the OTLPReceiver, if any of the servers were configured as active.

func (*OTLPReceiver) Stop

func (o *OTLPReceiver) Stop()

Stop stops any running server.

type Payload

type Payload struct {
	// Source specifies information about the source of these traces, such as:
	// language, interpreter, tracer version, etc.
	Source *info.TagStats

	// TracerPayload holds the incoming payload from the tracer.
	TracerPayload *pb.TracerPayload

	// ClientComputedTopLevel specifies that the client has already marked top-level
	// spans.
	ClientComputedTopLevel bool

	// ClientComputedStats reports whether the client has computed and sent over stats
	// so that the agent doesn't have to.
	ClientComputedStats bool

	// ClientDroppedP0s specifies the number of P0 traces chunks dropped by the client.
	ClientDroppedP0s int64
}

Payload specifies information about a set of traces received by the API.

func (*Payload) Chunk

func (p *Payload) Chunk(i int) *pb.TraceChunk

Chunk returns a chunk in TracerPayload by its index

func (*Payload) Chunks

func (p *Payload) Chunks() []*pb.TraceChunk

Chunks returns chunks in TracerPayload

func (*Payload) RemoveChunk

func (p *Payload) RemoveChunk(i int)

RemoveChunk removes a chunk in TracerPayload by its index

type StatsProcessor

type StatsProcessor interface {
	// ProcessStats takes a stats payload and consumes it. It is considered to be originating
	// from the given lang.
	ProcessStats(p pb.ClientStatsPayload, lang, tracerVersion string)
}

StatsProcessor implementations are able to process incoming client stats.

type Version

type Version string

Version is a dumb way to version our collector handlers

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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