APMでは、トランザクショントレースtransaction traceでアプリケーション内における単一のトランザクションの詳細なスナップショットを提供します。トランザクショントレースでは、使用可能な関数の呼び出し、データベース呼び出し、外部呼び出しを記録します。トランザクショントレースを使用することで、パフォーマンス問題をトラブルシューティングしたり、アプリケーションの稼働状況を詳細に把握したりできます。
どのトランザクションがトレーシングを記録するのか
APMでは、トランザクションを構成するセグメントをトランザクショントレースで記録します。詳細な情報が得られることから、トランザクショントレースはパフォーマンスに関する問題の分析やトラブルシューティングに使用できます。
以下は、New Relicエージェントがどのトランザクションを追跡するかを決定するデフォルトの規則です。
- 1分間の収集サイクルで、閾値(Apdex T値の4倍または特定の秒数)に違反するすべてのトランザクションは、トランザクションプールに追加されます。
- New Relicエージェントはその1分間が終わると同時に、プール内で最も遅いトランザクションを選択し、そのトランザクションに対してトランザクショントレースを実行します。
これらは一般的な規則ですが、エージェント特有の違いもあります。例:
- Javaエージェントは、低速でないトランザクションを収集することがあります。
- 1つのトランザクションが頻繁に追跡されると、一部のエージェントはより多様なサプリングを行うために、他のトランザクションを選択します。
お使いのアカウントでトレースが表示されない場合は、必要な条件を満たすトランザクションが存在しない可能性があります。この場合は、トランザクショントレース設定を調整して、一部のトランザクションを確実にトレースします。
合成モニタリングを使用する場合は、合成モニタートレースが表示される可能性があります。Syntheticsのトレースは、APMのトレースよりも頻繁に実行される場合があります(1分あたり複数回の可能性)。
さらに、アプリケーションでディストリビューティッド(分散)トレーシングが有効になっている場合は、分散トレースデータから派生したトランザクションが表示されます。ディストリビューティッド(分散)トレースから派生したこれらのトランザクションの1つを表示すると、サービス内のトランザクションを示すプロセス内のスパンのみが表示されます。サービスにわたるディストリビューティッド(分散)トレース全体を表示するには、「ディストリビューティッド(分散)トレースを表示」をクリックします。
トランザクショントレースを設定する
トレース設定を構成または編集するには、以下の手順を参照してください:
UIでトランザクショントレースを検索する
トランザクショントレースを表示するには:
one.newrelic.com > All capabilities > APM & Services
に移動します。アプリを選択し、
Monitor
セクションで
Transactions
をクリックします。
Transaction traces
セクションで、トランザクショントレースをクリックして追加の詳細を表示します。
トレースの詳細についてログを調べる
ログとアプリケーションのデータを統合して、トラブルシューティングをより簡単かつ迅速に行うことができます。コンテキストのログでは、エラーとトレースに関連するログメッセージをアプリケーションのUIで直接表示できます。
Transactions
ページからトレースをクリックして
ページに移動します。
トレースの詳細ページで、
See logs
をクリックします。
各ログメッセージに関連する詳細を表示するには、メッセージを直接クリックしてください。
また、Kubernetesクラスタなど、インフラストラクチャデータのコンテキストでログを表示することもできます。別のUIページに切り替える必要はありません。
トランザクショントレースの問題をトラブルシューティングする
トランザクショントレースが表示されることを想定していたにも関わらず、これが表示されない場合は、トラブルシューティング手順に従ってください。
トランザクショントレース、スロークエリ、サービスマップを使用してパフォーマンスに関する問題を解決するための詳細については、 パフォーマンスに関する問題を分析するをご覧ください。