Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SamplerFactory.php

function SamplerFactory::create

File

vendor/open-telemetry/sdk/Trace/SamplerFactory.php, line 20

Class

SamplerFactory

Namespace

OpenTelemetry\SDK\Trace

Code

public function create() : SamplerInterface {
    $name = Configuration::getString(Env::OTEL_TRACES_SAMPLER);
    if (str_contains($name, self::TRACEIDRATIO_PREFIX)) {
        $arg = Configuration::getRatio(Env::OTEL_TRACES_SAMPLER_ARG);
        switch ($name) {
            case Values::VALUE_TRACE_ID_RATIO:
                return new TraceIdRatioBasedSampler($arg);
            case Values::VALUE_PARENT_BASED_TRACE_ID_RATIO:
                return new ParentBased(new TraceIdRatioBasedSampler($arg));
        }
    }
    return match ($name) {    Values::VALUE_ALWAYS_ON => new AlwaysOnSampler(),
        Values::VALUE_ALWAYS_OFF => new AlwaysOffSampler(),
        Values::VALUE_PARENT_BASED_ALWAYS_ON => new ParentBased(new AlwaysOnSampler()),
        Values::VALUE_PARENT_BASED_ALWAYS_OFF => new ParentBased(new AlwaysOffSampler()),
        default => throw new InvalidArgumentException(sprintf('Unknown sampler: %s', $name)),
    
    };
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal