summaryrefslogtreecommitdiff
path: root/vendor/jonahgeorge/jaeger-client-php/src/Jaeger/Sampler/SamplerInterface.php
blob: b6d44e78367c0937889409ad574b814c16327e54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

namespace Jaeger\Sampler;

/**
 * Sampler is responsible for deciding if a new trace should be sampled and captured for storage.
 *
 * @package Jaeger\Sampler
 */
interface SamplerInterface
{
    /**
     * Whether or not the new trace should be sampled.
     *
     * Implementations should return an array in the format [$decision, $tags].
     *
     * @param string $traceId   The traceId on the span.
     * @param string $operation The operation name set on the span.
     * @return array
     */
    public function isSampled(string $traceId, string $operation);

    /**
     * Release any resources used by the sampler.
     *
     * @return void
     */
    public function close();
}