lvht / jaeger
Jaeger 的 PHP 客户端
v0.4.0
2017-12-03 13:12 UTC
Requires
- php: ^7
- lvht/jaeger-idl: ^0.9.0
- opentracing/opentracing: ^1.0.0-beta2
Requires (Dev)
- guzzlehttp/guzzle: ^6.3
- mockery/mockery: ^1.0
- php-coveralls/php-coveralls: ^1.0
- phpunit/phpunit: ^6.5
This package is not auto-updated.
Last update: 2024-09-10 11:17:19 UTC
README
Jaeger UDP 客户端,用于 PHP OpenTracing API。
基于 jukylin/jaeger-php 分支。
为什么分支?
Jukylin 的工作很棒。但是,它不与最新的 opentracing/opentracing-php 兼容。
此仓库修复了其问题,并进行了大量重构以提高简洁性和 psr。
请随意选择此仓库或 Jukylin 的。
安装
composer config minimum-stability dev
composer config prefer-stable 1
composer require lvht/jaeger
使用
<?php use Jaeger\Factory; use OpenTracing\Formats; // init factory $factory = Factory::getInstance(); // make OpenTracing\Tracer instance $tracer = $factory->initTracer('user', '127.0.0.1', 6831); // extract parent infomation from http header $carrier = $_SERVER['HTTP_UBER_TRACE_ID']; // extract the infomation and generate a new context // only support binary carrier now $context = $tracer->extract(Formats\BINARY, $carrier); // make a new span $span = $tracer->startSpan('foo', ['child_of' => $context]); // do your job here // finish the span $span->finish(); // report infomation to jaeger $tracer->flush();
示例
在 docker 中运行 jaeger
docker run --rm -d -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:latest
启动演示 http 服务器
cd example
php -S 0.0.0.0:8080 HTTP.php
运行 Hprose.php
cd example
php Hprose.php
因此,您可以在 http://127.0.0.1:16686 上看到 Jaeger UI
祝您好运 :)
特性
-
传输
- 通过 UDP 使用 Thrift
-
采样
- ConstSampler
- ProbabilisticSampler