TraceIdRatioBasedSampler
in package
implements
SamplerInterface
This implementation of the SamplerInterface records with given probability.
Example:
use OpenTelemetry\API\Trace\TraceIdRatioBasedSampler;
$sampler = new TraceIdRatioBasedSampler(0.01);
Table of Contents
Interfaces
- SamplerInterface
- This interface is used to organize sampling logic.
Properties
- $probability : float
Methods
- __construct() : mixed
- getDescription() : string
- Returns the sampler name or short description with the configuration.
- shouldSample() : SamplingResult
- Returns `SamplingResult` based on probability. Respects the parent `SampleFlag` {@inheritdoc}
Properties
$probability read-only
private
float
$probability
Methods
__construct()
public
__construct(float $probability) : mixed
Parameters
- $probability : float
-
Probability float value between 0.0 and 1.0.
getDescription()
Returns the sampler name or short description with the configuration.
public
getDescription() : string
This may be displayed on debug pages or in the logs. Example: "TraceIdRatioBasedSampler{0.000100}"
Return values
stringshouldSample()
Returns `SamplingResult` based on probability. Respects the parent `SampleFlag` {@inheritdoc}
public
shouldSample(ContextInterface $parentContext, string $traceId, string $spanName, int $spanKind, AttributesInterface $attributes, array<string|int, mixed> $links) : SamplingResult
Parameters
- $parentContext : ContextInterface
-
Context with parent Span. The Span's SpanContext may be invalid to indicate a root span.
- $traceId : string
-
TraceId of the Span to be created. It can be different from the TraceId in the SpanContext. Typically in situations when the Span to be created starts a new Trace.
- $spanName : string
-
Name of the Span to be created.
- $spanKind : int
-
Span kind.
- $attributes : AttributesInterface
-
Initial set of Attributes for the Span being constructed.
- $links : array<string|int, mixed>
-
Collection of links that will be associated with the Span to be created. Typically, useful for batch operations. @see https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/overview.md#links-between-spans