ビジネストランザクションの管理

start_bt(name,correlation_header=None)

指定した名前のビジネストランザクションを開始します。

スレッドごとに1つのアクティブなビジネストランザクションのみが存在することができます。同じスレッドで次のビジネストランザクションを開始しようとすると、Noneを返します。

トランザクションの開始時にBtHandleを返し、トランザクションが開始しない場合はNoneを返します。

name:文字列

開始するビジネストランザクションの名前。以下の文字はトランザクション名に使用することができません。 { } [ ] | & ;

correlation_header:文字列(オプション)

指定した場合、別のAppDynamicsエージェントが生成し、このエージェントに文字列として渡した相関ヘッダー。相関ヘッダーは、このトランザクションとアップストリームにあるトランザクションとの相関を可能にするための情報を提供します。

end_bt(bt_handle,exc=None)

bt_handleが特定するビジネストランザクションを終了します。

bt_handle:BtHandle

終了するビジネストランザクションを特定します。ハンドルは start_bt() により返されます。

exc:例外(例外のリスト)(オプション)

exc:例外(例外のリスト)(オプション)

try-except ブロックで取得したこのビジネストランザクションの処理中に例外が発生し、この例外をビジネストランザクションの一部として報告する場合は、例外を exc として渡します。

複数の例外が同じビジネストランザクションに含まれており、それらすべてを報告する場合は、例外のリストを exc として渡します。

add_snapshot_data(bt_handle,key,value)

で指定するビジネストランザクション用に生成されたトランザクション スナップショットにカスタムデータを添付します。

カスタムデータは、コントローラ UI のトランザクション スナップショット詳細の [USER DATA] タブに表示されます。

カスタムデータはビジネストランザクションに追加されますが、トランザクションスナップショットが生成された場合にのみ報告されます。サポートされている SFP および SFP+ モジュールのリストについては、 トランザクション スナップショットが生成されるタイミングについては、「トランザクション スナップショットを使用したビジネス トランザクション パフォーマンスのトラブルシューティング」を参照してください。

bt_handle:BtHandle

カスタムデータを追加するビジネストランザクションを識別します。ハンドルは start_bt() により返されます。

key:バイトまたは unicode

スナップショットに報告されるデータ項目の名前。

バイトとして渡す場合、バッファは UTF-8 エンコードの文字列を表す必要があります。

value:任意

データの値。

バイトとして渡す場合、データの文字列はUTF-8のエンコードで取り扱われます。Unicodeとして渡された場合は直接報告されます。

その他すべてのオブジェクトは、str(value) に変換されます。

get_active_bt_handle(request)

要求オブジェクトに関連付けられたビジネストランザクションへのBtHandleを返します。ビジネストランザクションが見つからない場合は、Noneを返します。

これは、ビジネストランザクションが API でなくデフォルトの Python エージェント インストゥルメンテーションによって作成された場合、start_exit_call() などの別の API 関数にビジネス トランザクション ハンドルを渡す場合に役立ちます。

request object

アクティブなビジネストランザクションに関連付けられた要求オブジェクト。ビジネストランザクションを開始したフレームワークにより異なります。

要求オブジェクトを取得する方法については、該当するフレームワークのドキュメンテーションを参照してください。

フレームワーク要求オブジェクトのドキュメンテーション
Flask https://flask-cn-doc.readthedocs.io/en/latest/reqcontext.html
Django https://docs.djangoproject.com/en/1.8/ref/request-response/
CherryPy https://cherrypy.readthedocs.io/en/latest/basics.html
WSGI environ https://www.python.org/dev/peps/pep-0333/