jcchavezs / dd-trace
0.2.4
2017-05-19 19:01 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- jcchavezs/nanotime: ^0.3.1
- jcchavezs/tracing-context: ^0.1.0
- psr/http-message: ^1.0
- psr/log: ^1.0
- rybakit/msgpack: ^0.2.2
- symfony/polyfill-php70: ^1.2
Requires (Dev)
- phpunit/phpunit: ~5.7.19
README
此库包含Datadog的跟踪客户端。它用于跟踪请求在Web服务器、数据库和微服务之间流动,以便开发者可以了解瓶颈和有问题的请求。
跟踪器有两个核心对象:跟踪器和跨度。跨度代表一段计算时间。它们具有名称、持续时间、时间戳和其他元数据。跟踪器用于在请求中创建跨度的层次结构,缓冲并提交到服务器。
跟踪客户端可以执行跟踪采样。虽然跟踪代理已经采样跟踪以减少带宽使用,但客户端采样可以减少性能开销。
安装
DD Trace可以通过composer安装
composer require jcchavezs/dd-trace
示例
use DdTrace\Tracer; use GuzzleHttp\Exception\RequestException; $tracer = Tracer::noop(); $client = new GuzzleHttp\Client(); $span = $tracer->createRootSpan("http.client.request", "example.com", "/user/{id}"); $url = "http://example.com/user/123"; try { $response = $client->get($url); $span->setMeta("http.status", $response->getStatusCode()); $span->setMeta("http.url", $url); } catch (RequestException $e) { $span->setError($e); } $span->finish();
单元测试
在源文件夹中运行
make test