トランザクションは、単一の作業単位を構成する関数呼び出しとメソッド呼び出しのグループです。 トランザクションは URL にマップされることがよくありますが、常にそうとは限りません。 では、 Transactionsタブで特定のエンティティのすべての取引を表示できます。 [トランザクション] タブで特定のトランザクションをクリックすると、全期間にわたるすべてのユーザーのデータが表示されます。
ただし、特定のインスタンス中に特定のユーザーに何が起こったのかを詳しく知りたい場合は、Transaction traces使用する必要があります。 Trace details タブでは、次のことができます。
- 低速セグメントの特定: 合計トレース時間の 25% 以上を占めたセグメントは「低速スパン」としてマークされ、潜在的なボトルネックに注意を向けます。
- トランザクションを視覚化する: データベース呼び出し、外部呼び出し、コード実行などのさまざまなセグメントの継続時間を示す、現場のタイムラインのグラフィック表現を確認します。
- 効率的なトラブルシューティング: データをフィルタリングして、遅いスパンのみに焦点を当てます。
使い方
Transactions タブで特定の取引を選択すると、Transaction details タブが開きます。 そこから、Transaction traceテーブルでトランザクションを選択し、Trace details pageページを開きます。 Trace details ページでは、単一インスタンスでのトランザクションに関する1 人のユーザーのエクスペリエンスを詳細に調べることができます。 タイムライン、レイテンシー、ウォーターフォールの 3 つのビューのいずれかを使用してデータを探索します。

に行く one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions > (select a transaction trace) > Trace details.
トレース タイムライン ビューには、トレースのインタラクティブな凝縮された視覚表示が含まれています。 このビューに表示されるノードの色は、各セグメントのカテゴリのウォーターフォールの凡例と一致します。
このビューでノードの上にマウスを置くと、タイムラインの上にセグメント名が表示されます。 このビュー内のノードをクリックすると、ウォーターフォール内の同じノードが選択され、セグメントの詳細ペインが開きます。 このビューを水平方向にドラッグすると、ウォーターフォール内に表示されるノードがフィルタリングされ、選択したウィンドウ内に発生するノードが表示されます。 緑色のスクラバーを手動で移動するか、 Reset timelineボタンをクリックすることで、フィルターされたウィンドウを変更できます。

レイテンシービュー
[レイテンシー ビュー] セクションでは、全体のトレース期間に影響を及ぼしている 6 つの最も遅いサービスまたはコンポーネントと、それらの個々の影響および遅いノード数がインサイトに表示されます。
注意すべき重要な点:
ウォーターフォールには、呼び出しパスごとに分岐に配置されたセグメントのノード ツリーが表示されます。 各セグメントには、サービス名、セグメント タイプ、セグメント期間など、発信元のサービスに関する情報が表示されます。
滝を移動する
ウォーターフォール ビューには、関心のあるセグメントを簡単に見つけられるようにするためのいくつかのコントロールがあります。
- 展開/折りたたみ: 矢印を使用して、個々のセグメントまたはブランチ全体を簡単に表示または非表示にします。 
- 遅いスパンに焦点を当てる: トレースに遅いスパンがある場合は、チェックボックスをクリックして他のセグメントを除外し、潜在的なボトルネックに即座に焦点を当てます。 
- 凡例: 凡例内の任意の色をクリックすると、そのサービス カテゴリに属するセグメントの詳細が表示されます。 - 滝の伝説- 滝はさまざまなセグメントに分かれています。 - 黄色: 合計プレイタイムの 25% 以上がこのセグメントに費やされました。  - ストライプ: エージェントの現在の設定でインストゥルメントが行われていないクラスとメソッドを含むセグメント。  - ウォーターフォールの各セグメントには、トレース期間に対する相対的な期間を表すバーが表示されます。 このバーの色は、セグメントがアプリケーション コード、データベース呼び出し、または外部呼び出しに属しているかどうかを示します。  - ウォーターフォールセグメントのプロパティ- これらのアイコンは各セグメントを識別できます。 - セグメントプロパティ - 指標 - 説明 - サービス  - このアイコンは、サービスのエントリ ポイントであるノードを表します。 - インプロセス  - このアイコンは、(プロセス間ノードではなく) プロセス内で発生するノードであるインプロセス ノードを表します。 例には、ミドルウェア インストゥルメンテーションやユーザー作成ノードが含まれます。 - データストア  - このアイコンは、データストアへのセグメント呼び出しを表します。 - 外部の  - このアイコンは、HTTP 経由で行われた外部サービスへの呼び出しを表すカテゴリを表します。 - ブラウザアプリ  - このアイコンはブラウザ アプリケーション セグメントを表します。 - ラムダ  - このアイコンは、 Lambda関数のノードを表します。 - ウォーターフォールセグメントのグループ化ルール- New Relic は、ウォーターフォール内で高速に繰り返されるメソッド呼び出しを自動的にグループ化し、複雑なテラストレースを理解しやすくします。 セグメントをグループ化すると、セグメントが多すぎて混乱することなく、潜在的に問題のある領域に焦点を当てることができます。 - 仕組みは次のとおりです。 
- 高速呼び出し: - fast callsというタイトルのセグメントが表示された場合、New Relic が複数の呼び出しをグループ化し、迅速に (それぞれ 7.5 ミリ秒未満) 完了したことを意味します。 通常、これらはパフォーマンスの問題ではありませんが、必要に応じてグループを展開して個々のセグメントを表示できます。
- 同一の呼び出し: 4 つ以上の連続した同一の呼び出しは N+1 の問題を示すことが多いため、New Relic はそれらを折りたたんで潜在的な問題を強調表示します。 折りたたまれたグループを展開すると、分析対象の最初の 3 つの呼び出しが表示されます。 
データをさらに深く掘り下げる
遅いスパン
低速スパンとしてマークされたノードは、次の基準を満たします。
- セグメントはリーフ ノードまたは出口ノードであり、このノードには子が存在しないことを意味します。
- セグメントには、合計トレース期間の 25% 以上の排他期間があります。
アプリケーションコードのトレース
セグメントが表内でApplication codeとしてリストされている場合、コードのそのセクションがインストゥルメントされなかったことを示します。 カスタムインストゥルメンテーションを使用すると、コードのその部分の詳細を取得できます。 セグメントは、 部分トレース の Application code としてリストされることがよくあります。
部分的な痕跡
パフォーマンス上の理由から、APM は、遺跡トレースの最初の 2,000 セグメント (Node.js の場合は 900) のみをキャプチャします。 段階トレースがそのセグメント数を超える場合、エージェントは段階トレースを切り捨て、 Detailsページの上部にメッセージを表示します。
This is a partial trace.
セグメントを切り詰めるタイミングについては、APMエージェントによってルールが異なります。
| APMエージェント | セグメントルールの切り捨て | 
|---|---|
| Go | セグメント期間は、Goセグメント構成で設定された | 
| Java、.NET、Ruby | これらのエージェントは、トレースを時系列に切り詰めます。詳細については、 Java 、 .NET 、 Ruby のトランザクショントレーサーのドキュメントを参照してください。 | 
| Node.js | Node.jsエージェントは、トランザクション・トレースの最初の900セグメントのみをキャプチャします。詳細については、 Node.js トランザクショントレーサの設定 を参照してください。 | 
| PHP | セグメントの長さに基づいて切り捨てます。最も遅い 2,000 セグメントがトレース用にキャプチャされます。詳細については、 PHP トランザクション トレーサの設定を参照してください。 | 
| Python | セグメントの継続時間に基づいて切り捨てられ、最も遅い2,000セグメントがトレースに取り込まれます。詳細については、 Python トランザクショントレーサの設定 を参照してください。 | 
分散型トレース
トランザクション追跡が分散トレース データに基づいている場合、ページ ヘッダーの分散トレース リンクをクリックすると、完全な分散トレースを表示できます。
注意すべき点:
- すべての属性は、3 つのデフォルトのプロパティ タイプに分割されるのではなく、単一のAttributesセクションにグループ化されます。
- セグメント メトリクス名は、ディストリビューティッド(分散)トレーシングとモーショントレースでは若干異なる場合があります。
- スタックトレースはセグメント属性には表示されません。
- トレースの代わりにディストリビューティッド(分散)トレーシングを表示すると、トレースの詳細ページに若干異なる情報が表示されます。
セグメントの詳細を使用したトラブルシューティング
セグメントを選択すると、3 つの個別のセグメント詳細ページを含むペインが開きます。 これらのタブは、パフォーマンスの問題のトラブルシューティングに役立ちます。
- 「パフォーマンス」タブ: - パフォーマンスの傾向を視覚化する: セグメントのオペレーションの平均期間とスループットをグラフで示し、パターンと潜在的な外れ値を明らかにします。
- 比較対照: この特定のセグメントのパフォーマンスが平均と比べてどのように上昇しているかを確認し、注意が必要な可能性のある領域を特定します。
 
- 「属性」タブ: - さらに詳しく調べる: 属性の意味と潜在的なトラブルシューティングへの影響を理解します。 データ辞書を使用してさらに詳しく知ることができます。
 
- 「詳細」タブ: - 基本情報: セグメントの完全名、データ ソース、関連メタデータなどの重要な詳細を表示します。 詳細については、ディストリビューティッド(分散)トレーシング ドキュメントをご覧ください。
- カスタマイズされたインサイト: データストア セグメントのデータベースなど、トラブルシューティングに重要なセグメント固有の情報を発見します。
 
- ログタブ: - ログを調べる:コンテキスト内のログを使用すると、トレースに関連するログメッセージをアプリのUIで直接確認できます。
 
セグメントは、セグメント タイプに基づいて日付を表示します。 たとえば、データストア セグメントの詳細には、データベースクエリが含まれます。
