ビジネストランザクションの作成
appd_bt_begin() コールと appd_bt_end() コールの間に、モニター対象のリクエストで構成されるコードを囲んでビジネストランザクションを定義します。そのビジネストランザクションが影響を受ける後続のルーチンで使用されるハンドルが appd_bt_begin() から返されます。
アップストリームのビジネストランザクションと相関するビジネストランザクションを作成する場合は、アップストリームのトランザクションの相関ヘッダーを渡して、作成を新しいトランザクションと関連付けることができます。「C/C++ SDK 参考資料」の「appd_exitcall_get_correlation_header()」を参照してください。別のトランザクションと相関さえる必要がないトランザクションの場合は、相関ヘッダーパラメータとして NULL を渡します。
オプションで、ビジネス トランザクション ハンドルを GUID とともにグローバル ハンドル レジストリに格納すると、後で appd_bt_store() を使用して簡単に取得できます。appd_bt_get() を使用して、グローバル ハンドル レジストリからハンドルを取得します。
次に、ビジネストランザクションの設定例を示します。
// start the "Checkout" transaction
appd_bt_handle btHandle = appd_bt_begin("Checkout", NULL);
// Optionally store the handle in the global registry
appd_bt_store(btHandle, my_bt_guid);
...
// Retrieve a stored handle from the global registry
appd_bt_handle myBtHandle = appd_bt_get(my_bt_guid);
...
// end the transaction
appd_bt_end(btHandle);
トランザクションの開始と終了の間に、ビジネストランザクションへのエラーの追加、トランザクション スナップショット属性の定義、バックエンドと exit コールの追加などの操作を実行できます。
appd_bt_end() へのコールによってビジネストランザクションが終了すると、エージェントはビジネストランザクションのメトリックの報告を停止します。