トランザクション相関管理

appd.parseCorrelationInfo(source)

  • source: 文字列または HttpRequest

相関するアップストリーム トランザクションについて記述します。HttpRequest オブジェクトが渡される際には、トランザクション相関ヘッダーが添付されている必要があります。

成功すると、startTransaction() が使用できる CorrelationHeader オブジェクトを返し、source で記述されるアップストリーム トランザクションと相関するトランザクションを作成します。source を解析できない場合は false を返します。これが起こるのは、ソースが相関ヘッダーが添付されていないHTTP要求であるか、文字列パラメータが相関ヘッダーとして認識されない場合です。

標準 http.request() API を使用して作成された HTTP 要求には、相関情報が自動的に追加されます。受信した要求を source として渡すことにより、別の Node.js プロセスからの HTTP 要求に応じて作成されたカスタムトランザクションを相互に関連付けることができます。

他の exit コールタイプの場合は、相関情報が元のトランザクションにどのように添付され、ダウンストリームトランザクションで抽出されるかを定義する必要があります。

TimePromise.prototype.createCorrelationInfo(exitCall, doNotResolve)

  • exitCall: ExitCall
  • doNotResolve:オプション、true|false

入力 exitCall は、次のいずれかになります。

  • カスタム exit コールの場合は、startExitCall() が返す値
  • 自動検出の exit コールの場合は、beforeExitCall() コールバックに入力するパラメータ

バックエンドをティアに転換したくない場合は、doNotResolve パラメータを true に設定します。デフォルトではfalseであり、つまりバックエンドは呼び出し側のティアに転換されます。メッセージキューなど、サービスの受け取り側と提供側の間に1:1の関係がないサービスへの exit コールなどにこの値を設定するのが良いでしょう。詳細については、「リモートサービスのティアへの転換」を参照してください。

ダウンストリームトランザクションがこのトランザクションとの相関に使用できる文字列エンコード相関ヘッダーを返します。