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

Breadcrumb

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

function Globals::globals

@phan-suppress PhanTypeMismatchReturnNullable

File

vendor/open-telemetry/api/Globals.php, line 81

Class

Globals
Provides access to the globally configured instrumentation instances.

Namespace

OpenTelemetry\API

Code

private static function globals() : self {
    if (self::$globals !== null) {
        return self::$globals;
    }
    $configurator = Configurator::createNoop();
    $scope = $configurator->activate();
    try {
        foreach (self::$initializers as $initializer) {
            try {
                $configurator = $initializer($configurator);
            } catch (Throwable $e) {
                self::logWarning(sprintf("Error during opentelemetry initialization: %s\n%s", $e->getMessage(), $e->getTraceAsString()));
            }
        }
    } finally {
        $scope->detach();
    }
    $context = $configurator->storeInContext();
    $tracerProvider = $context->get(ContextKeys::tracerProvider());
    $meterProvider = $context->get(ContextKeys::meterProvider());
    $propagator = $context->get(ContextKeys::propagator());
    $loggerProvider = $context->get(ContextKeys::loggerProvider());
    $eventLoggerProvider = $context->get(ContextKeys::eventLoggerProvider());
    assert(isset($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator));
    return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator);
}
RSS feed
Powered by Drupal