kuiper / tracing-client
PHP OpenTracing API 绑定
v0.8.2
2023-04-18 08:24 UTC
Requires
- php: >=8.1
- kuiper/http-client: ^0.8
- opentracing/opentracing: ^1.0
Requires (Dev)
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-18 11:23:33 UTC
README
这是一个客户端库,可用于为分布式跟踪收集对PHP应用程序进行配置。有关详细信息,请参阅OpenTracing PHP API。
安装
可以通过Composer安装跟踪客户端
composer require kuiper/tracing-client
入门
配置
<?php return [ 'application' => [ 'tracing' => [ 'enabled' => env('TRACING_ENABLED') === 'true', 'debug_id_header_key' => env('TRACING_DEBUG_ID_HEADER', 'tracing-debug-id'), 'service_name' => env('TRACING_SERVICE_NAME'), 'tags' => env('TRACING_TAGS'), 'sampler' => [ 'type' => env('TRACING_SAMPLER_TYPE'), 'param' => env('TRACING_SAMPLER_PARAM') ], ], ] ]
采样器
支持的采样器列表,有关采样器的更多信息,请阅读Jaeger Sampling指南。
常量采样器
此采样器要么对所有内容进行采样,要么不进行采样。
配置
'sampler' => [
'type' => Jaeger\SAMPLER_TYPE_CONST,
'param' => true, // boolean wheter to trace or not
],
概率采样器
此采样器按给定比率采样请求。
配置
'sampler' => [
'type' => Jaeger\SAMPLER_TYPE_PROBABILISTIC,
'param' => 0.5, // float [0.0, 1.0]
],
速率限制采样器
每秒采样指定数量的跟踪(请求)。
要求
psr/cache
PSR-6 缓存组件,用于在请求之间存储和检索采样器状态。缓存组件通过其构造函数传递给Jaeger\Config
。hrtime()
函数,可以以纳秒为单位检索时间。您需要php 7.3
或PECL/hrtime 扩展。
配置
'sampler' => [
'type' => Jaeger\SAMPLER_TYPE_RATE_LIMITING,
'param' => 100 // integer maximum number of traces per second,
'cache' => [
'currentBalanceKey' => 'rate.currentBalance' // string
'lastTickKey' => 'rate.lastTick' // string
]
],
测试
测试位于 tests
目录中。请参阅 tests/README.md。