class Configurator
Same name in this branch
- 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
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\InstrumentationView 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 |