mindbreak / jaeger-php
Jaeger的PHP客户端
0.1.0
2021-04-17 16:53 UTC
Requires
- php: >=8.0
- ext-sockets: *
- opentracing/opentracing: ^1.0
- packaged/thrift: 0.13.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-09-18 18:42:33 UTC
README
⚠️ 不稳定 - 进行中
jaeger-php
安装
通过composer安装。
composer config minimum-stability dev
composer require mindbreak/jaeger-php
初始化Jaeger-php
$config = Config::getInstance(); $tracer = $config->initTracer('example', '0.0.0.0:6831');
128位
$config->gen128bit();
从全局变量中提取
$spanContext = $tracer->extract(Formats\TEXT_MAP, $_SERVER);
启动Span
$serverSpan = $tracer->startSpan('example HTTP', ['child_of' => $spanContext]);
分布式上下文传播
$serverSpan->addBaggageItem("version", "2.0.0");
注入到全局变量中
$clientTrace->inject($clientSpan1->spanContext, Formats\TEXT_MAP, $_SERVER);
标签和日志
// tags are searchable in Jaeger UI $span->setTag('http.status', '200'); // log record $span->log(['error' => 'HTTP request timeout']);
关闭Tracer
$config->setDisabled(true);
Zipkin B3传播
不支持 分布式上下文传播
$config::$propagator = \Jaeger\Constants\PROPAGATOR_ZIPKIN;
完成span并刷新Tracer
$span->finish(); $config->flush();
更多示例
功能
-
传输
- 通过UDP上的Thrift
-
采样
- 恒定采样器
- 概率采样器