<?php declare(strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ use Zipkin\Samplers\BinarySampler; return [ 'default' => env('TRACER_DRIVER', 'zipkin'), 'enable' => [ 'guzzle' => env('TRACER_ENABLE_GUZZLE', false), 'redis' => env('TRACER_ENABLE_REDIS', false), 'db' => env('TRACER_ENABLE_DB', false), 'method' => env('TRACER_ENABLE_METHOD', false), ], 'tracer' => [ 'zipkin' => [ 'driver' => Hyperf\Tracer\Adapter\ZipkinTracerFactory::class, 'app' => [ 'name' => env('APP_NAME', 'skeleton'), // Hyperf will detect the system info automatically as the value if ipv4, ipv6, port is null 'ipv4' => '127.0.0.1', 'ipv6' => null, 'port' => 9501, ], 'options' => [ 'endpoint_url' => env('ZIPKIN_ENDPOINT_URL', 'http://localhost:9411/api/v2/spans'), 'timeout' => env('ZIPKIN_TIMEOUT', 1), ], 'sampler' => BinarySampler::createAsAlwaysSample(), ], 'jaeger' => [ 'driver' => Hyperf\Tracer\Adapter\JaegerTracerFactory::class, 'name' => env('APP_NAME', 'skeleton'), 'options' => [ /* * You can uncomment the sampler lines to use custom strategy. * * For more available configurations, * @see https://github.com/jonahgeorge/jaeger-client-php */ // 'sampler' => [ // 'type' => \Jaeger\SAMPLER_TYPE_CONST, // 'param' => true, // ],, 'local_agent' => [ 'reporting_host' => env('JAEGER_REPORTING_HOST', 'localhost'), 'reporting_port' => env('JAEGER_REPORTING_PORT', 5775), ], ], ], ], 'tags' => [ 'http_client' => [ 'http.url' => 'http.url', 'http.method' => 'http.method', 'http.status_code' => 'http.status_code', ], 'redis' => [ 'arguments' => 'arguments', 'result' => 'result', ], 'db' => [ 'db.query' => 'db.query', 'db.statement' => 'db.statement', 'db.query_time' => 'db.query_time', ], ], ];