open-telemetry/context
最新稳定版本:1.4.0
Composer 安装命令:
composer require open-telemetry/context
包简介
Context implementation for OpenTelemetry PHP.
README 文档
README
OpenTelemetry Context
Immutable execution scoped propagation mechanism, for further details see opentelemetry-specification.
Installation
composer require open-telemetry/context
Usage
Implicit propagation
$context = Context::getCurrent(); // modify context $scope = $context->activate(); try { // run within new context } finally { $scope->detach(); }
It is recommended to use a try-finally statement after ::activate() to ensure that the created scope is properly ::detach()ed.
Debug scopes
By default, scopes created by ::activate() warn on invalid and missing calls to ::detach() in non-production
environments. This feature can be disabled by setting the environment variable OTEL_PHP_DEBUG_SCOPES_DISABLED to a
truthy value. Disabling is only recommended for applications using exit / die to prevent unavoidable notices.
Async applications
Fiber support - automatic context propagation to newly created fibers
Requires an NTS build, ext-ffi, and setting the environment variable OTEL_PHP_FIBERS_ENABLED to a truthy value. Additionally vendor/autoload.php has to be preloaded for non-CLI SAPIs if ffi.enable is set to preload.
Event loops
Event loops have to restore the original context on callback execution. A basic implementation could look like the following, though implementations should avoid keeping unnecessary references to arguments if possible:
function bindContext(Closure $closure): Closure { $context = Context::getCurrent(); return static function (mixed ...$args) use ($closure, $context): mixed { $scope = $context->activate(); try { return $closure(...$args); } finally { $scope->detach(); } }; }
Contributing
This repository is a read-only git subtree split. To contribute, please see the main OpenTelemetry PHP monorepo.
统计信息
- 总下载量: 26.51M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 15
- 点击次数: 1
- 依赖项目数: 51
- 推荐数: 1
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2026-01-04