Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Decision ¶
type Decision int32
Decision gives the status of sampling decision.
const ( // Unspecified indicates that the status of the decision was not set yet. Unspecified Decision = iota // Pending indicates that the policy was not evaluated yet. Pending // Sampled is used to indicate that the decision was already taken // to sample the data. Sampled // NotSampled is used to indicate that the decision was already taken // to not sample the data. NotSampled // Dropped is used to indicate that a trace should be dropped regardless of // all other decisions. Dropped // Error is used to indicate that policy evaluation was not succeeded. Error // InvertSampled is used on the invert match flow and indicates to sample // the data. InvertSampled // InvertNotSampled is used on the invert match flow and indicates to not // sample the data. InvertNotSampled )
type Evaluator ¶
type Evaluator interface {
// Evaluate looks at the trace data and returns a corresponding SamplingDecision.
Evaluate(ctx context.Context, traceID pcommon.TraceID, trace *TraceData) (Decision, error)
}
Evaluator implements a tail-based sampling policy evaluator, which makes a sampling decision for a given trace when requested.
type TraceData ¶
type TraceData struct {
sync.Mutex
// Arrival time the first span for the trace was received.
ArrivalTime time.Time
// DecisionTime time when sampling decision was taken.
DecisionTime time.Time
// SpanCount track the number of spans on the trace.
SpanCount *atomic.Int64
// ReceivedBatches stores all the batches received for the trace.
ReceivedBatches ptrace.Traces
// FinalDecision.
FinalDecision Decision
}
TraceData stores the sampling related trace data.
Click to show internal directories.
Click to hide internal directories.