PHP オープン標準

OpenTracing

PHP トレーサーは、Composer と共にインストールされる opentracing/opentracing ライブラリを介して OpenTracing をサポートします。

composer require opentracing/opentracing:1.0.0-beta5

自動インスツルメンテーションが有効になっている場合、OpenTracing 互換のトレーサーがグローバルトレーサーとして利用可能になります。

<?php
// Composer autoload.php のインポート後すぐにグローバルトレーサーを設定します。
$otTracer = new \DDTrace\OpenTracer\Tracer(\DDTrace\GlobalTracer::get());
\OpenTracing\GlobalTracer::set($otTracer);

// スパンが必要なすべての場所に
$scope = $otTracer->startActiveSpan('web.request');
$span = $scope->getSpan();
$span->setTag('service.name', 'service_name');
$span->setTag('resource.name', 'resource_name');
$span->setTag('span.type', 'web');
$span->setTag('http.method', $_SERVER['REQUEST_METHOD']);
// ...既定の方法で OpenTracing を使用します
$scope->close();
?>
ddtrace のバージョン 0.46.0 以前では、OpenTracing に互換性のあるトレーサーが OpenTracing\GlobalTracer::get() から自動で返されます。グローバルトレーサーの手動設定は不要です。