PHP APM のランタイムサポートポリシー

PHP Datadog Trace ライブラリはオープンソースです。詳細については、GitHub リポジトリをご覧ください。

Datadog APM for PHP は、ホスト OS や PHP ランタイム、特定の PHP ライブラリ、 Datadog Agent や API の特定のバージョンで定義される依存関係に基づいて構築されています。 これらのバージョンがメンテナによってサポートされなくなった場合、 Datadog APM for PHP はこれらのサポートにも制限をかけます。

サポートレベル

レベルサポート内容
非対応実装していません。特別なご要望はカスタマーサポートチームにお問い合わせください
ベータ版初期実装です。まだすべての機能が含まれていない可能性があります。新機能のサポート、バグやセキュリティの修正は、ベストエフォートで提供されます。
一般提供 (GA)全機能の完全実装。新機能、バグ、セキュリティフィックスを完全サポート。
メンテナンス既存機能の完全実装。新機能は受けません。バグフィックス、セキュリティフィックスのみの対応となります。
レガシーレガシーな実装。機能は限定されますが、メンテナンスは提供されません。[特別なご要望がある場合は、サポートチームにお問い合わせください。
サポート終了 (EOL)サポートなし。このバージョンはまだ使用可能ですが、バグ修正は提供されません。

PHP APM は以下のバージョンの PHP (ZTS と NTS の両方) に対応しています。

注: PHP 5.x はバージョン 0.75.0 まで完全にサポートされています。現在はメンテナンスモードに移行しており、2023 年 12 月 31 日までセキュリティや重要なバグの修正でサポートされています。
もし、アプリケーションで PHP 5.x バージョンを使用していて、ビジネスニーズにとって重要な機能要求がある場合は、Datadog サポートにご連絡ください。
PHP は公式にサポートされているバージョン、特に 7.4、8.0、8.1 を使用することが推奨されています。
PHP バージョンサポートレベルパッケージバージョン
8.2.x一般提供> 0.82.0+
8.1.x一般提供> 0.66.0+
8.0.x一般提供> 0.52.0+
7.4.x一般提供すべて
7.3.x一般提供すべて
7.2.x一般提供すべて
7.1.x一般提供すべて
7.0.x一般提供すべて
5.6.xメンテナンス (2023 年 12 月 31 日まで)すべて
5.5.xメンテナンス (2023 年 12 月 31 日まで)すべて
5.4.xメンテナンス (2023 年 12 月 31 日まで)すべて

PHP APM は以下の SAPI に対応しています。

SAPIサポートの種類
apache2handler完全対応
cli完全対応
fpm-fcgi完全対応
cgi-fcgi完全対応

対応プロセッサアーキテクチャー

PHP APM は以下のアーキテクチャに対応しています。

プロセッサアーキテクチャーサポートレベルパッケージバージョン
Linux GNU amd64 (x86-64-linux-gnu)GAすべて
Linux MUSL amd64 (x86-64-linux-musl)GAすべて
Linux GNU arm64 (aarch64-linux-gnu)GA> 0.78.0
Linux MUSL arm64 (aarch64-linux-musl)GA> 0.78.0

インテグレーション

Web フレームワークの互換性

Datadog はデフォルトで、すべての PHP Web フレームワークをサポートし、フレームワークレベルのインスツルメンテーション、または一般的な Web トレースを行うことができます。

フレームワークレベルのインスツルメンテーションには、内部メソッドのトレースとフレームワーク固有のタグ付けが含まれます。

一般的な Web トレースには、データベースや HTTP クライアントなどのサポートされたライブラリのスパンに加えて、コールから発生したレイテンシーやエラーを追跡するための web.request スパンが含まれています。

次の表は、Datadog が正常にトレースするフレームワークとバージョンの一部を示しています。

ウェブフレームワーク:

モジュールバージョンサポートの種類インスツルメンテーションレベル
CakePHP2.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
CodeIgniter2.xPHP 7+フレームワークレベルのインスツルメンテーション
CodeIgniter3.xPHP 7+一般的な Web トレース
Drupalサポートされているすべての PHP バージョン一般的な Web トレース
FuelPHP1.1PHP 7+一般的な Web トレース
Laminasサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Laravel4.2、5.x、6.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Laravel 88.x (トレーサー 0.52.0+)サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Lumen5.2+サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Magento1、2サポートされているすべての PHP バージョン一般的な Web トレース
Neos Flow1.1サポートされているすべての PHP バージョン一般的な Web トレース
Phalcon1.3、3.4サポートされているすべての PHP バージョン一般的な Web トレース
RoadRunner2.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Slim2.x、3.x、4.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Symfony2.x、3.3、3.4、4.x、5.x、6.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
WordPress4.x、5.xPHP 7+フレームワークレベルのインスツルメンテーション
Yii1.1、2.0サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Zend Framework1.12、1.21サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Zend Framework2.xサポートされているすべての PHP バージョン一般的な Web トレース

このリストにウェブフレームワークがない場合でも、トレーサーの最新リリースではそのまま使用できます。

Datadog では、PHP ウェブフレームワークのより詳細なトレースのためのサポートを継続的に追加しています。スパンメタデータおよびフレームワーク内部に対するさらなるサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

CLI ライブラリの互換性

デフォルトで、CLI SAPI からのトレースは無効になっています。PHP CLI スクリプトのトレースを有効にするには、DD_TRACE_CLI_ENABLED=true とします。

モジュールバージョンサポートの種類
CakePHP Console2.x完全対応
Laravel Artisan5.x、8.x完全対応
Symfony CLI4.x、5.x、6.x完全対応

追加 CLI ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

データストアの互換性

モジュールバージョンサポートの種類
Amazon RDS (PDO または MySQLi 使用)(対応する PHP)完全対応
Elasticsearch1+完全対応
EloquentLaravel 対応バージョン完全対応
Laravel キューLaravel 対応バージョン完全対応
Memcache(対応する PHP)完全対応
Memcached(対応する PHP)完全対応
MongoDB - mongo 拡張機能を使用1.4.x完全対応
MySQLi(対応する PHP)完全対応
PDO(対応する PHP)完全対応
PhpRedis3、4、5PHP 7、8
Predis1.1完全対応
SQLSRV(対応する PHP)完全対応

追加データストアに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

ライブラリの互換性

モジュールバージョンサポートの種類
Amqp2.x、3.xPHP 7.1+
Curl(対応する PHP)完全対応
Guzzle5.x、6.x、7.x完全対応

ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

PHP 5 の深いコールスタック

コールスタックは PHP 5 のみに限定されます。詳細は深いコールスタックのトラブルシューティングページを参照してください。

ジェネレータ

ジェネレータのインスツルメントは、PHP 5 および PHP 7 ではサポートされていません。

PCNTL

Datadog は、pcntl を使ってフォークされたプロセスのトレースをサポートしています。pcntl_fork のコールが検出されると、専用のスパンが作成され、フォークされたプロセスがインスツルメントされます。これは DD_TRACE_FORKED_PROCESS で無効にすることができます。詳細については、ライブラリの構成ページを参照してください。

アプリケーションが pcntl_unshare(CLONE_NEWUSER); を実行し、トレーサーがインストールされている場合、アプリケーションは致命的にクラッシュします。これは、CLONE_NEWUSER を持つ unshare がプロセスをスレッド化しないことを要求し、PHP トレーサーが別スレッドを使用してメインプロセスをブロックせずに Datadog Agent にトレースを送信するために起こります。

その他の参考資料

お役に立つドキュメント、リンクや記事: