open-telemetry/opentelemetry-propagation-server-timing
最新稳定版本:0.2.0
Composer 安装命令:
composer require open-telemetry/opentelemetry-propagation-server-timing
包简介
OpenTelemetry server-timing propagator.
README 文档
README
This is a read-only subtree split of https://github.com/open-telemetry/opentelemetry-php-contrib.
OpenTelemetry ServerTiming Propagator
This package provides a Server-Timing propagator to inject the current span context into Response datastructures.
The main goal is to allow client-side technology (Real User Monitoring, HTTP Clients) to record the server side context in order to allow referencing it.
Server-Timing response headers are especially useful for this approach, as they are accessible on the client side, even for the initial page load.
Requirements
- OpenTelemetry SDK and exporters (required to actually export traces)
Optional:
- OpenTelemetry extension (Some instrumentations can automatically use the
TraceResponsePropagator)
Usage
Assuming there is an active SpanContext, you can inject it into your response as follows:
// your framework probably provides a datastructure to model HTTP responses // and allows you to hook into the end of a request / listen to a matching event. $response = new Response(); // get the current scope, bail out if none $scope = Context::storage()->scope(); if (null === $scope) { return; } // create a PropagationSetterInterface that knows how to inject response headers $propagationSetter = new class implements OpenTelemetry\Context\Propagation\PropagationSetterInterface { public function set(&$carrier, string $key, string $value) : void { $carrier->headers->set($key, $value); } }; $propagator = new ServerTimingPropagator(); $propagator->inject($response, $propagationSetter, $scope->context());
Installation via composer
$ composer require open-telemetry/opentelemetry-propagation-server-timing
Installing dependencies and executing tests
From TraceResponse subdirectory:
$ composer install $ ./vendor/bin/phpunit tests
统计信息
- 总下载量: 160.48k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 8
- 推荐数: 7
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2023-11-26