• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

トランザクションのトレースです。トレースの詳細ページ

APM において、 Trace details タブは、 トランザクショントレース における個々のセグメントのタイミングを表示します。このドキュメントでは、 Trace details タブのセクションと機能について説明します。

トレース詳細ページの機能

one.newrelic.com > APM> (select an app)> Monitor> Transactions> (select a transaction trace)> Trace details.

Trace details ページでは、トランザクション内のセグメントのタイミングデータを表にして表示するほか、その他の機能も紹介しています。

トレースの詳細ページ

説明

プライマリートレースデータ、機能

各トランザクションのトレースUIページの上部には、トレース時間、応答時間、可能であればCPU情報など、いくつかの主要なデータが表示されます。また、時にはUIが 部分的なトレース を示すこともあります。

使用可能な機能:

  • このトレースを削除します。トレースを削除すると、そのトレースは検索できなくなります。
  • Track as key transaction.

期間欄

各セグメントおよびサブセグメントの時間は、ミリ秒単位で表示され、トランザクション時間全体に対する割合も表示されます。特に遅いセグメントは 色分けされています

セグメント欄

セグメント カラムには、セグメント名とカウントが表示されます。速い通話や繰り返しの通話は、 自動的にグループ化されることがあります。アプリケーションコード がセグメントやサブセグメントの名前として表示されている場合もあります。

セグメントを拡張するには、以下のいずれかを使用します。

  • パフォーマンスの問題を展開する ページの上部にあるボタン
  • セグメントの横にあるドロップダウン矢印は、拡大と縮小が可能です。

ドリルダウンカラム

Drilldown column には、追加の取引データがある場合、そのデータにリンクするアイコンが表示されることがあります。

タイムスタンプ欄

[タイムスタンプ]列には、トランザクションの開始を基準にした、セグメントまたはサブセグメントの開始時刻が表示されます。たとえば、値3.150 sは、そのセグメントがトランザクションの3.15秒後に開始されたことを示します。

ドリルダウンのオプション

Drilldown カラムでは、アイコンは追加データが利用可能であることを示しています。

アイコン

説明

データベースクエリ

データベース アイコンは、そのクエリセグメントの生のデータベースクエリにリンクしています。 トランザクショントレースの設定 に応じて、このクエリは生データとして表示されるか、難読化されたデータとして表示されます。セグメントの合計時間が設定したクエリプランのしきい値を超えた場合は、コード内の呼び出しの正確な位置を示すスタックトレースとともに、クエリ分析も表示されます。

スタックトレース

虫眼鏡 スタックトレースの詳細へのリンクです。

トランザクションの詳細を集約する

このアイコンは、クロスアプリケーショントレースの詳細が利用できないことを示しています。しかし、このアイコンを選択すると、 複数のトランザクションの呼び出しに渡って集約されたトランザクション情報 を表示することができます。

トレースの詳細についてログを調べる

ログとアプリケーションのデータを統合して、トラブルシューティングをより簡単かつ迅速に行うことができます。コンテキストのログでは、エラーとトレースに関連するログメッセージをアプリケーションのUIで直接表示できます。

  1. Transactionsページでトレースをクリックして、Trace detailsページに移動します。
  2. トレースの詳細ページで、See logsをクリックします。
  3. 各ログメッセージに関連する詳細を表示するには、メッセージを直接クリックしてください。

また、Kubernetesクラスターなどのインフラストラクチャデータのコンテキストでログを表示することもできます。別のUIページに切り替える必要はありません。

セグメントデュレーションデータの色分け

Trace details テーブルの Duration カラムは色分けされています。

赤:合計トランザクション時間の25%以上がこのセグメントで費やされました。

黄色:合計トランザクション時間の5%以上がこのセグメントで費やされました。

色分けされた持続時間は必ずしも問題を示すものではありません。そのタイミングが実際に問題であるかどうかは、あなたのアプリケーションにとって何が正常で許容範囲であるかによります。

アプリケーションコードのトレース

表の中で、セグメントが アプリケーションコード と表示されている場合は、コードのその部分がインスツルメンテーションされていないことを示しています。 カスタムインスツルメンテーション を使用して、コードのその部分についての詳細を得ることができます。 Application code として記載されているセグメントは、 Partial Traces の場合が多いです。

部分的な痕跡

パフォーマンス上の理由から、APM はトランザクショントレースの最初の 2,000 セグメント(Node.js の場合は 900 セグメント)のみをキャプチャします。トランザクショントレースがこのセグメント数を超えた場合、エージェントはトランザクショントレースを切り捨て、 Details ページの上部にメッセージを表示します。

This is a partial trace.

セグメントを切り詰めるタイミングについては、APMエージェントによってルールが異なります。

APMエージェント

セグメントルールの切り捨て

C SDK

セグメントの優先順位に基づいて切り捨てます。

  • ルートセグメントの優先順位が最も高い。

  • 配布されたトレースアクティビティが見られたセグメントは、2番目に高い優先度を持ちます。

  • 遅いセグメントは3番目に優先されます。

    詳細については、 GitHubのnewrelic_transaction_tracer_config_tに関するCSDKのドキュメントを参照してください。

Go

セグメント期間は、Goセグメント構成で設定されたTransactionTracer.SegmentThreshold値よりも大きくする必要があります。

Java、.NET、Ruby

これらのエージェントは、トレースを時系列に切り詰めます。詳細については、 Java.NETRuby のトランザクショントレーサーのドキュメントを参照してください。

Node.js

Node.jsエージェントは、トランザクション・トレースの最初の900セグメントのみをキャプチャします。詳細については、 Node.js トランザクショントレーサの設定 を参照してください。

PHP

セグメントの長さに基づいて切り詰めます。最も遅い 2,000 のセグメントがトレース用にキャプチャされます。詳細については、PHP トランザクショントレーサーの設定 を参照してください。

Python

セグメントの継続時間に基づいて切り捨てられ、最も遅い2,000セグメントがトレースに取り込まれます。詳細については、 Python トランザクショントレーサの設定 を参照してください。

セグメントのグルーピングルール

たくさんのセグメントがあるトランザクショントレースは、解釈が難しい場合があります。New Relic では、高速なメソッドコールや繰り返されるメソッドコールを自動的に 1 つのセグメントグループにまとめることができます。

たとえば、 7 fast method callsというタイトルのセグメントが表示される場合があります。これは、完了が速いため、New Relicはこれらの呼び出しが問題になる可能性は低いと想定し、グループ化したことを意味します。そのグループを展開して、個々のセグメントを表示できます。

セグメント別に分類する際のルールは以下の通りです。

  • 高速コール: New Relic が 7.5ms 以下の持続時間を持つ 4 つ以上の連続したセグメントを検出した場合、これらは 1 つの折りたたまれたヘッダーにまとめられます。
  • 同一のコール: New Relic が 4 つ以上の連続した同一のコールを検出した場合、これは通常 N+1 問題を示しています。これらのセグメントは折りたたまれています。折りたたまれたノードを展開すると、すべてのコールではなく、最初の 3 つのコールのみが表示されます。
Copyright © 2022 New Relic株式会社。