exit コールの管理

exitCall.addAnalyticsData(キー、値)

  • key: 追加される分析データのキー
  • value: このキーに追加される値

このトランザクション用に生成された既存の分析データを exit コールに付加します。

このトランザクション用に生成された分析にカスタムデータを添付します。アプリケーションにトランザクションハンドルがある場合は、txn.addAnalyticsData(key, value) を呼び出すことができます。有効でない場合は、appd.addAnalyticsData(key, value) を使用します。

この機能を有効にするには、require ステートメントの分析設定を設定する必要があります。Node.js設定参考資料Node.js設定参考資料

TimePromise.prototype.startExitCall(exitCallInfo)

  • exitCallInfoobject

exitCallInfo オブジェクトには次の必須プロパティがあります。

  • exitType:文字列。終了コールのタイプ。「EXIT_HTTP」、「EXIT_DB」、「EXIT_CACHE」、「EXIT_RABBITMQ」、「EXIT_WEB_SERVICE」のいずれか
  • label:文字列。コントローラ UI の exit コールのラベル。
  • backendName:文字列。バックエンド リモート システムまたはサービスの名前
  • identifyingProperties:オブジェクト。呼び出されるリモートシステムまたはサービスを独自に識別する名前/値ペアのハッシュ。バックエンドを識別するプロパティバックエンドを識別するプロパティ

exitCallInfo オブジェクトが記述するカスタム終了コールを作成し開始します。

必須プロパティに加え、追加の識別プロパティを提供することができます。

ExitCall を返します。exit コールのプロパティexit コールのプロパティ

MySQL の exitCallInfo オブジェクトのサンプル

{
exitType: “EXIT_DB”,
label: "New SQL",
backendName: "NewDB"
identifyingProperties: {
“HOST”: “database-server”,
“PORT”: “12345”,
“DATABASE”: “my-database”,
"VENDOR" = “MYSQL"
},
…etc...
}

TimePromise.prototype.endExitCall(exitCall, error)

  • exitCallstartExitCall() によって返される ExitCall インスタンス
  • error: any; optional

カスタム exit コールを終了し、このトランザクションに添付します。

error が渡されると、エラーが終了コールに関連付けられ、終了コールがエラー状態であるというフラグが立てられます。

TimePromise.prototype.beforeExitCall(exitCall)

  • exitCall: ExitCall

ExitCall を返します。

自動検出された(カスタムでない)exit コールを変更するためのオプションのコールバック。

コールバック関数が使用できる場合、アプリケーションが exit コールを行う直前に、エージェントはこの API を呼び出します。コールバックを使用して以下を行うことができます。

  • コントローラに報告された exit コールの変更。
  • 何も返さず、exit コールのすべての報告を抑制。
  • ダウンストリームトランザクションの相関情報を作成するために exit コールを取得。

以下は、コントローラに報告される exit コールの変更の例です。

txn.beforeExitCall = function customExitCallHandler(exitCall) {
// don't report database access for this transaction
if (exitCall.isSql) return;
// customize label for all other exit calls in this transaction
exitCall.label += " (my custom transaction)";
return exitCall;
}

TimePromise.prototype.exitCallCompleted(exitCall)

exitCall:ExitCall

オプション。ExitCallを返します。startExitCall() により作成されたカスタム終了コール、または終了コール完了時に自動検出された終了コールの変更のためのコールバック。

コールバック関数を指定すると、エージェントは exit コールが完了した直後にこの API を呼び出します。

exitCallCompleted() を使用して、変更された終了コールを返すことにより終了コールがコントローラに報告される方法を変更します。このコールバックを使用してバックエンド識別プロパティを変更しないでください。

以下のコードは、コントローラに報告される exit コールの変更の例です。

txn.exitCallCompleted = function customExitCallPostProcessor(exitCall) {
// report MongoDB read and write operations as distinct exit calls
if (exitCall.backendName === "MongoDB")
exitCall.label += " " + exitCall.category;
}