バックグラウンド トランザクションの追跡
典型的なWebアプリケーションでは、訪問者はアプリケーションとHTTPリクエストで通信します。リクエストはアプリケーション サーバーにアクセスし、ユーザーに戻ってきたリクエスト データがレンダリングされることとなります。これらのWebトランザクションとは別に、アプリケーションでは多数のトランザクションが実行されていることがあります。ユーザーから起動がかかったトランザクションではなくても、アプリケーションが適正に稼働するうえで重要です。一般に、ユーザーの視界に入らぬトランザクションは、バックグラウンド トランザクションと呼ばれます。
たとえば、バックグラウンド トランザクションには、メンテナンス、スケジューラー、メッセージング、データのアーカイブなどがあります。これらのトランザクションはバックグラウンドで実行されるため、パフォーマンス監視上、見逃されがちです。重大な問題が発生し、アプリケーション全体が泥沼となるまで、バックグラウンド トランザクションの成否すら把握していないことも多々あります。すばやいデバッグには、バックグラウンド トランザクションの監視が必要なのは、まさに、そのためです。APMインサイトはこれらのトランザクションも捕捉し、ダッシュボードのバックグラウンド タブに表示します。
エージェントでバックグラウンド トランザクションの追跡を行うには、background_transaction.confファイルで有効にしてください。下記、詳細を説明します。
メモ:この機能は、.NETとJavaのエージェントでのみサポートしています。
設定 | 説明 | デフォルト値 |
---|---|---|
bgtransaction.tracking.enabled |
|
true |
bgtransaction.trace.enabled |
|
true |
bgtransaction.trace.threshold |
|
5(秒) |
bgtransaction.record.cputime.enabled |
|
false |
bgtransaction.record.memory.allocation.enabled |
|
true |
bgtransaction.trace.external.components.count.threshold |
|
40 |
bgtransaction.tracking.request.interval |
|
Javaでは1、.NETでは5 |
メモ:
- これらの値は、Javaエージェントでは実行時の変更ができません。変更を有効にするには、サーバー再起動が必要です。
- .NETエージェントでは再起動不要で、値は実行中に更新されます。