構文
newrelic_set_error_group_callback($callback)
独自のカスタム定義のフィンガープリンティング コールバック関数を使用してエラーをグループ化します。
要件
エージェントのバージョン 10.12 以降。
説明
この API を使用すると、アプリケーションでエラーが発生したときに呼び出されるカスタム コールバック関数を PHP エージェントに登録できます。
コールバックはエージェントから 2 つの PHP 配列を提供します。1 つはトランザクション データを含み、もう 1 つはエラー データを含みます。
コールバックは、提供されたコンテキスト情報を使用して、エラー受信トレイ UI に表示されるエラー グループ名として機能するユーザー定義のロジックに基づいて空ではない文字列を返す必要があります。
重要
- 1 つのトランザクションでこの関数への呼び出しが複数ある場合、PHP エージェントは最後の呼び出しからのコールバックのみを保持します。
- コールバックはリクエストごとに登録されます。この API は、リクエストごとに実行されることが保証されているコード パスで呼び出す必要があります。そうしないと、コールバックは呼び出されません。
- コールバック関数をできるだけ最小限に抑えることを強くお勧めします。CPU を集中的に使用するコールバック (データベース呼び出しなど) やその他の複雑なロジックは、アプリケーションのパフォーマンスに影響を与えます。
パラメーター
この API は、単一の関数タイプのコールバックを引数として受け入れます。提供されたコールバックは 2 つのパラメータを受け入れる必要があります。
APIパラメータ | 説明 |
---|---|
| 必須。PHP エージェントに登録されるコールバック関数を提供します。 |
コールバックパラメータ | 説明 |
---|---|
| 必須。PHP エージェントによってコールバックに提供されるトランザクション データの配列。 |
| 必須。PHP エージェントによってコールバックに提供されるエラー データの配列。 |
配列のキーと値のペア
$transaction_data
- コールバックに提供される PHP エージェントのトランザクション データ
鍵 | 価値 |
---|---|
「リクエスト_ウリ」 | (文字列) リクエストURI |
"パス" | (文字列) ファイルパス |
"方法" | ( string ) HTTP メソッド ( |
「ステータスコード」 | ( int ) HTTP ステータス コード ( |
$error_data
- コールバックに提供される PHP エージェントのエラー データ
鍵 | 価値 |
---|---|
「クラス」 | (文字列) クラス名 |
"メッセージ" | (文字列) エラーメッセージ |
"ファイル" | (文字列) ファイルパス |
"スタック" | (文字列) JSONエラートラックトレース |
重要
- すべてのキーに値が含まれることが保証されているわけではありません。これは、ユーザーのアプリケーションとエラーの性質に大きく依存します。
- 配列キーは、空の値が含まれているかどうかに関係なく、常に設定されます。
戻り値
API はコールバックが正常に登録された場合はtrue
を返し、それ以外の場合はfalse
を返します。
例
if (extension_loaded('newrelic')) { // Ensure PHP agent is available $callback = function(array $transaction_data, array $error_data) { $fingerprint = "";
// // Add custom code to parse array data //
// Example code if ($error_data["klass"] == "E_USER_ERROR") { $fingerprint = "USER ERROR"; };
return $fingerprint; // Non-empty string error group name };
newrelic_set_error_group_callback($callback);};