NAME

OpenTelemetry::SDK::Trace::Sampler::Result - The result of a sampling decision

SYNOPSIS

...

DESCRIPTION

This object represents the result of a sampling decision made by a sampler created via OpenTelemetry::SDK::Trace::Sampler. It encapsulates the actual decision, as well as additional information the sampler wants to pass down to the caller, including a OpenTelemetry::Propagation::TraceContext::TraceState and a set of attributes.

Users are unlikely to have to create an instance of this class. Most commonly, it will be used as the return value of a sampler's should_sample|OpenTelemetry::SDK::Trace::Sampler/should_sample method. See that documentation for details.

METHODS

This class implements the OpenTelemetry::Attributes role. Please consult that module's documentation for details on the behaviours it provides.

new

$result = OpenTelemetry::SDK::Trace::Sampler::Result->new(
    trace_state => $trace_state,
    decision    => $decision,
);

Constructs a new result instance. It takes a mandatory OpenTelemetry::Propagation::TraceContext::TraceState object, and a value representing the decision. The decision is one of the values described in the CONSTANTS section below.

sampled

$bool = $result->sampled;

Returns true if this result indicates a span that should be sampled, or false otherwise.

recording

$bool = $result->recording;

Returns true if this result indicates a span that is recording, or false otherwise.

trace_state

$trace_state = $result->trace_state;

Returns the OpenTelemetry::Propagation::TraceContext::TraceState object associated to this sampling result.

CONSTANTS

These represent the sampling decisions in this result.

DROP

Do not record events or sample.

RECORD_ONLY

Record events but don't sample.

RECORD_AND_SAMPLE

Record events and sample.

SEE ALSO

OpenTelemetry::Attributes
OpenTelemetry::SDK::Trace::Sampler
OpenTelemetry::Propagation::TraceContext::TraceState
The specification for a sampler's should_sample method

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by José Joaquín Atria.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.