特定のアプリケーションでは、要求メトリック・フロー内でさらなる計測ポイントが必要な場合があります。
例えば、下の呼び出しグラフに見られるように、固有のバックエンド・システムに対する応答時間を理解したい場合があります。
HTTP request /trade/scenario ------------------------------> 172 ms
Servlet/trade/scenario --------------------------------> 130 ms
Servlet/call to unique back-end system -------------------------->38 ms
要求メトリックは、システムを介して各要求のフローをトレースする際、トークン または相関関係子 を使用します。この計測で上の呼び出しグラフを作成するには、ARM エージェントがデータを収集し、ARM ベンダーが呼び出しグラフを作成するように、その要求のフローに接続し、適切なアプリケーション応答測定 (ARM) API を実行する必要があります。
要求メトリックは相関サービス API を公開し、要求のフローに接続します。
次の例は、要求メトリック・フローに接続するために、装備されているアプリケーションが従う可能性がある標準的なフローの 1 つです。
- 新規 ArmTransaction オブジェクトを作成します。これは、開始または停止などのさまざまな計測呼び出しを実行します。
相関サービス Arm ラッパー (PmiRmArmTx) は、要求メトリック・フローに挿入される前に、このオブジェクトをカプセル化します。
- 適切な ArmCorrelator オブジェクトで ArmTransaction オブジェクトを取り込みます。
このオブジェクトは、実際の ARM 相関関係子のバイトをカプセル化します。
- ArmTransaction オブジェクトで start メソッドを実行し、装備されたメソッドの先頭にマークを付けます。
- PmiRmArmTxFactory クラスで静的メソッドを使用して、PmiRmArmTx オブジェクトのインスタンスを生成し、
それを上の ArmTransaction オブジェクトで取り込みます。
- PmiRmArmStack クラスで公開されたメソッドを使用して、
上の PmiRmArmTx オブジェクトを相関サービス・スタックにプッシュすることによって相関サービスに渡します。
- 装備されるメソッドが行う必要があるタスクを実行します。
相関サービスは、必要に応じて、ArmTransaction オブジェクトのフローを処理し、最終的に、
トランザクション時間の呼び出しグラフを表示することになります。
- 装備されたメソッドの最後に、PmiRmArmStack クラスで公開されたメソッドを使用して相関サービスから PmiRmArmTx オブジェクトにアクセスし、ArmTransaction オブジェクトにアクセスして、トランザクションの最後を示すために停止を実行します。