構文
newrelic_record_datastore_segment(callable $func, array $parameters)
データストアのセグメントを記録します。
要件
エージェントのバージョン 7.5.0.199 以上。
説明
データストア セグメントを記録します。 データストア セグメントは、New Relic UI のトランザクション ページのBreakdown tableタブとDatabasesタブに表示されます。
この関数は、サポートされていないデータストアを、PHPエージェントが サポートされているデータストアを自動的にインスツルメンテーションするのと同じように、インスツルメンテーションすることができます 。
パラメーター
パラメータ | 説明 |
---|---|
キャラブル | 必要です。データストア・セグメントを作成するために時間を設定する必要がある関数です。 |
アレイ | 必要です。データストアの呼び出しを説明するパラメータの連想配列です。 |
$parameters
配列でサポートされているキーは次のとおりです:
鍵 | 説明 |
---|---|
ストリング | 必須。使用されているデータストア製品の名前: たとえば、 |
ストリング | オプションです。使用または問い合わせを行うテーブルまたはコレクション。 |
ストリング | オプション。実行中の操作: たとえば、SQL SELECT クエリの場合は 操作名の大文字小文字は問いませんが、PHP エージェントの自動データストア計測機能で使用する操作名との整合性をとるために、New Relic では小文字を使用することを推奨します。 |
ストリング | オプションです。データストアのホスト名です。 |
ストリング | オプションです。データストアへの接続に使用するポートまたはソケットです。 |
ストリング | オプションです。使用中のデータベース名または番号です。 |
ストリング | オプションです。サーバーに送信されたクエリです。 セキュリティ上の理由から、この値は、サポートされているデータストアに |
ストリング | オプション。使用中の ORM の名前 (例: |
ストリング | オプションです。ORM に提供された入力クエリ。 セキュリティ上の理由から、 |
重要
$parameters
配列で使用される文字列引数には、特殊文字「/」を含めないでください。
戻り値
$callback
の戻り値が返されます。エラーが発生した場合、 false
が返され、 E_WARNING
レベルのエラーがトリガーされます。
例
サポートされていないNoSQLデータストアのインストゥルメント化
get
メソッドを公開するBucket
という架空の NoSQL データストアを計測するには、次のコードで New Relic UI に表示されるデータストア メトリックを作成します。
$bucket = new Bucket($host, $port);$id = 12345;
$value = newrelic_record_datastore_segment(function () use ($bucket, $id) { return $bucket->get($id);}, array( 'product' => 'Bucket', 'collection' => $id, 'operation' => 'get', 'host' => $host, 'portPathOrId' => $port,));
サポートされていないSQLクライアントライブラリのインストゥルメント化
サポートされていないMySQLクライアントライブラリのクエリを、難読化してセグメントに添付して記録する。
$sql = 'SELECT * FROM table';$stmt = $db->prepare($sql);
$result = newrelic_record_datastore_segment(function () use ($stmt) { return $stmt->execute();}, array( 'product' => 'MySQL', 'collection' => 'table', 'operation' => 'select', 'host' => $host, 'portPathOrId' => $port, 'databaseName' => 'dbname', 'query' => $query,));