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

Breadcrumb

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

class Configurator

Same name in this branch
  1. 11.1.x vendor/open-telemetry/sdk/Common/InstrumentationScope/Configurator.php \OpenTelemetry\SDK\Common\InstrumentationScope\Configurator

Configures the global (context scoped) instrumentation instances.

Hierarchy

  • class \OpenTelemetry\API\Instrumentation\Configurator implements \OpenTelemetry\Context\ImplicitContextKeyedInterface

Expanded class hierarchy of Configurator

See also

Configurator::activate()

3 files declare their use of Configurator
Globals.php in vendor/open-telemetry/api/Globals.php
SdkAutoloader.php in vendor/open-telemetry/sdk/SdkAutoloader.php
SdkBuilder.php in vendor/open-telemetry/sdk/SdkBuilder.php
4 string references to 'Configurator'
FileLoader::registerClasses in vendor/symfony/dependency-injection/Loader/FileLoader.php
Registers a set of classes as services using PSR-4 for discovery.
XmlDumper::addService in vendor/symfony/dependency-injection/Dumper/XmlDumper.php
XmlFileLoader::parseDefinition in vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
Parses an individual Definition.
YamlFileLoader::parseDefinition in vendor/symfony/dependency-injection/Loader/YamlFileLoader.php

File

vendor/open-telemetry/api/Instrumentation/Configurator.php, line 27

Namespace

OpenTelemetry\API\Instrumentation
View source
final class Configurator implements ImplicitContextKeyedInterface {
    private ?TracerProviderInterface $tracerProvider = null;
    private ?MeterProviderInterface $meterProvider = null;
    private ?TextMapPropagatorInterface $propagator = null;
    private ?LoggerProviderInterface $loggerProvider = null;
    private ?EventLoggerProviderInterface $eventLoggerProvider = null;
    private function __construct() {
    }
    
    /**
     * Creates a configurator that uses parent instances for not configured values.
     */
    public static function create() : Configurator {
        return new self();
    }
    
    /**
     * Creates a configurator that uses noop instances for not configured values.
     */
    public static function createNoop() : Configurator {
        return self::create()->withTracerProvider(new NoopTracerProvider())
            ->withMeterProvider(new NoopMeterProvider())
            ->withPropagator(new NoopTextMapPropagator())
            ->withLoggerProvider(NoopLoggerProvider::getInstance())
            ->withEventLoggerProvider(new NoopEventLoggerProvider());
    }
    public function activate() : ScopeInterface {
        return $this->storeInContext()
            ->activate();
    }
    public function storeInContext(?ContextInterface $context = null) : ContextInterface {
        $context ??= Context::getCurrent();
        if ($this->tracerProvider !== null) {
            $context = $context->with(ContextKeys::tracerProvider(), $this->tracerProvider);
        }
        if ($this->meterProvider !== null) {
            $context = $context->with(ContextKeys::meterProvider(), $this->meterProvider);
        }
        if ($this->propagator !== null) {
            $context = $context->with(ContextKeys::propagator(), $this->propagator);
        }
        if ($this->loggerProvider !== null) {
            $context = $context->with(ContextKeys::loggerProvider(), $this->loggerProvider);
        }
        if ($this->eventLoggerProvider !== null) {
            $context = $context->with(ContextKeys::eventLoggerProvider(), $this->eventLoggerProvider);
        }
        return $context;
    }
    public function withTracerProvider(?TracerProviderInterface $tracerProvider) : Configurator {
        $self = clone $this;
        $self->tracerProvider = $tracerProvider;
        return $self;
    }
    public function withMeterProvider(?MeterProviderInterface $meterProvider) : Configurator {
        $self = clone $this;
        $self->meterProvider = $meterProvider;
        return $self;
    }
    public function withPropagator(?TextMapPropagatorInterface $propagator) : Configurator {
        $self = clone $this;
        $self->propagator = $propagator;
        return $self;
    }
    public function withLoggerProvider(?LoggerProviderInterface $loggerProvider) : Configurator {
        $self = clone $this;
        $self->loggerProvider = $loggerProvider;
        return $self;
    }
    public function withEventLoggerProvider(?EventLoggerProviderInterface $eventLoggerProvider) : Configurator {
        $self = clone $this;
        $self->eventLoggerProvider = $eventLoggerProvider;
        return $self;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
Configurator::$eventLoggerProvider private property
Configurator::$loggerProvider private property
Configurator::$meterProvider private property
Configurator::$propagator private property
Configurator::$tracerProvider private property
Configurator::activate public function Adds `$this` to the {the new {
{
This method is equivalent to `Context::getCurrent().with($value).activate();`.
Overrides ImplicitContextKeyedInterface::activate
Configurator::create public static function Creates a configurator that uses parent instances for not configured values.
Configurator::createNoop public static function Creates a configurator that uses noop instances for not configured values.
Configurator::storeInContext public function Returns a new { Overrides ImplicitContextKeyedInterface::storeInContext
Configurator::withEventLoggerProvider public function
Configurator::withLoggerProvider public function
Configurator::withMeterProvider public function
Configurator::withPropagator public function
Configurator::withTracerProvider public function
Configurator::__construct private function
RSS feed
Powered by Drupal