diff options
Diffstat (limited to 'vendor/open-telemetry/api/Instrumentation/ContextKeys.php')
-rw-r--r-- | vendor/open-telemetry/api/Instrumentation/ContextKeys.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/vendor/open-telemetry/api/Instrumentation/ContextKeys.php b/vendor/open-telemetry/api/Instrumentation/ContextKeys.php new file mode 100644 index 000000000..ea1a66416 --- /dev/null +++ b/vendor/open-telemetry/api/Instrumentation/ContextKeys.php @@ -0,0 +1,58 @@ +<?php + +declare(strict_types=1); + +namespace OpenTelemetry\API\Instrumentation; + +use OpenTelemetry\API\Logs\LoggerProviderInterface; +use OpenTelemetry\API\Metrics\MeterProviderInterface; +use OpenTelemetry\API\Trace\TracerProviderInterface; +use OpenTelemetry\Context\Context; +use OpenTelemetry\Context\ContextKeyInterface; +use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface; + +/** + * @internal + */ +final class ContextKeys +{ + /** + * @return ContextKeyInterface<TracerProviderInterface> + */ + public static function tracerProvider(): ContextKeyInterface + { + static $instance; + + return $instance ??= Context::createKey(TracerProviderInterface::class); + } + + /** + * @return ContextKeyInterface<MeterProviderInterface> + */ + public static function meterProvider(): ContextKeyInterface + { + static $instance; + + return $instance ??= Context::createKey(MeterProviderInterface::class); + } + + /** + * @return ContextKeyInterface<TextMapPropagatorInterface> + */ + public static function propagator(): ContextKeyInterface + { + static $instance; + + return $instance ??= Context::createKey(TextMapPropagatorInterface::class); + } + + /** + * @return ContextKeyInterface<LoggerProviderInterface> + */ + public static function loggerProvider(): ContextKeyInterface + { + static $instance; + + return $instance ??= Context::createKey(LoggerProviderInterface::class); + } +} |