トランザクション追跡の収集および分析
診断担当者、問題切り分け担当者、または管理者は、トランザクション追跡コンポーネントに関する詳細情報を確認します。この情報は、アプリケーション パフォーマンスの問題の根本原因を識別するのに役立ちます。トランザクション追跡では、自動または手動で収集されたトランザクション追跡を検査できます。これらの追跡には、メソッドなどのトランザクション コンポーネントに関する詳細情報が表示されます。PBD を使用してメソッドをインスツルメントした場合、またはスマート インスツルメンテーションが有効である場合に、情報が表示されます。
apmdevops102jp
診断担当者、問題切り分け担当者、または管理者は、トランザクション追跡コンポーネントに関する詳細情報を確認します。この情報は、アプリケーション パフォーマンスの問題の根本原因を識別するのに役立ちます。トランザクション追跡では、自動または手動で収集されたトランザクション追跡を検査できます。これらの追跡には、メソッドなどのトランザクション コンポーネントに関する詳細情報が表示されます。PBD を使用してメソッドをインスツルメントした場合、またはスマート インスツルメンテーションが有効である場合に、情報が表示されます。
2
2
この図は、トランザクション コンポーネントに関する詳細情報を確認して、アプリケーションのパフォーマンス問題の根本原因を特定する方法を示しています。

トランザクション追跡の概要
トランザクション追跡は、個別のトランザクションがサポートされるエージェントの境界を通過する際のアクティビティを監視します。たとえば、Java 仮想マシン(JVM)、Microsoft .NET の共通言語ランタイム(CLR)、および PHP を監視するエージェントです。
トランザクション追跡を収集するには以下の 4 つの方法があります。
- Introscope がトランザクション追跡を自動的に収集する。スマート インスツルメンテーションが有効な場合、Introscope はいくつかの状況で、トランザクション追跡を自動的に収集します。スマート インスツルメンテーションは、Java エージェントでのみ使用可能であり、.NET エージェントでは使用できません。
- Introscope が、サンプル トランザクション追跡を定期的に収集する。
- CEM が低速インシデントを生成し、Enterprise Manager トランザクション追跡セッション開始要求を送信する。
- トランザクション追跡を手動で収集する。追跡セッションを実行するには、トランザクションが追跡されるエージェント、およびデータを収集する期間を指定します。フィルタを指定して、トランザクションがしきい値の実行時間を超えた場合、パラメータ値に一致した場合、またはエラーを含んでいる場合に、トランザクションの追跡を制限します。トランザクション追跡セッションを開始すると、フィルタ条件に一致するトランザクションがトランザクション テーブルに表示されます。トランザクション イベントには、トランザクション追跡とエラーが含まれます。
[トランザクション追跡]タブですべての情報を表示できます。
自動的に収集されたトランザクション追跡
スマート インスツルメンテーションを有効にすると、以下の場合に Introscope がトランザクション追跡を自動的に収集します。
- エラーの発生時
- 差異分析によるアプリケーションの不安定な状態の検出注:差異分析からの自動トランザクション追跡には、エージェント バージョン 10.0 以上が必要です。
- ComponentTimeAutoTraceTriggerTracerトレーサが展開されている状態で、コンポーネント応答時間を超過した場合
- API がカスタム基準に基づいて自動トランザクション追跡をトリガした場合。詳細については、CA Technologies プロフェッショナル サービスにお問い合わせください。
高度に最適化されたオーバーヘッドの少ないトレーサにより、自動トランザクション追跡が収集されます。自動追跡のパフォーマンス オーバーヘッドは、手動実行、サンプル、およびその他のトランザクション追跡よりはるかに小さくなっています。このようなその他のトランザクション追跡のタイプでは、エージェント フィルタリングを使用するため、オーバーヘッドが増えます。自動トランザクション追跡では、その他のタイプのトランザクション追跡で表示されるコンポーネントの詳細プロパティがすべて表示される訳ではありません。
自動トランザクション追跡には、以下の特性があります。
- PBD でインスツルメントされたすべてのコンポーネントには、関連付けられているメトリックが Investigator ツリーにあります。高深度可視性コンポーネントには、関連付けられているメトリックはありません。
- 高深度可視性コンポーネントには、クラス名、メソッド名、および期間のみが含まれます。フロントエンドおよびバックエンド(サーブレット、Web サービス、SQL コールなど)の名前は、PBD 設定に基づいてフォーマットされます。
- 以下のプロパティが[コンポーネントの詳細]に表示されます。
- [Trace Type]は「Normal」です。
- エラーによってトランザクション追跡が起動された場合、例外をスローしたコンポーネントにはそのコンポーネントのプロパティが含まれます。
- トランザクション追跡の最初のコンポーネントには、Auto Trace Trigger Criteriaプロパティが表示されます。
自動トランザクション追跡が表示されない場合は、以下のいずれかの理由が原因である可能性があります。
- スマート インスツルメンテーションが有効になっていない。
- レガシー モードのエージェントが JVM を監視している。レガシー モードでは、スマート インスツルメンテーション機能はサポートされていません。
- 間隔あたりの自動トランザクション追跡の数(agent.deep.automatic.trace.clampプロパティ)の clamp の値が超過している。Deep Tracing|Auto Tracing: Clamped: Clamped Tracesサポータビリティ メトリックを表示します。
追跡を手動で実行していて、手動フィルタのいずれかが自動追跡と一致する場合、Introscope は手動トレースのみを収集します。
アプリケーションの不安定に基づくトランザクション追跡の自動収集
差異分析は、アプリケーションの安定性を追跡します。差異分析では、デフォルトでフロントエンドの平均応答時間とビジネス トランザクション メトリックの大きな変化を検出します。差異分析マップは、多数のアプリケーションの安定性と応答性を視覚的に示します。マップの各ストリップは、単一のメトリックに対応します。変化の穏やかな安定期間には、ストリップは淡色になります。不安定になると、ストリップの色は、不安定さの度合いに応じて段階的に濃くなります。このため、1 つのストリップで 1 つのアプリケーションまたはビジネス トランザクションの一定期間にわたる安定性を確認できます。マップの上部には最も不安定なストリップがソートされます。
アプリケーションがわずかに不安定になると、差異分析により、関連する自動トランザクション追跡を収集する準備ができているエージェントに通知されます。通常、エージェントは、アプリケーションが不安定になるまでのトランザクション追跡を収集します。ただし、不安定な期間が短い場合はエージェントでトランザクション追跡を収集しないように選択することができます。これらのトランザクション追跡を表示して、安定性の変更に固有の詳細情報を確認し、根本原因を把握します。
注:
差異分析からの自動トランザクション追跡には、エージェント バージョン 10.0 以上が必要です。以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。APM WebView が表示されます。
- [Investigator] - [メトリック ブラウザ]をクリックします。ツリーに、システムの階層ビューが表示されます。
- ツリーで、パフォーマンス情報を参照するエージェントを選択します。次の例を参照してください。SuperDomain | Host | Process | Agent | Frontends | Apps | App Name
- [差異分析]タブをクリックします。マップに、パフォーマンス データがグラフィカルに表示され、最後の 8 分間のデータが示されます。不安定さが大きい順に 100 の問題のあるメトリックが表示されます。クエリ、期間の変更、または別のノードの選択を実行すると、データが更新されます。
- マップで、目的のストリップをクリックします。差異分析のチャートが表示されます。このグラフにより、ストリップが表すタイムラインに含まれるメトリックの安定性を容易に把握することができます。このグラフに示される監視対象コンポーネントのステータスにより、正常なパフォーマンスと異常なパフォーマンスを迅速に検出できます。線は、実際のメトリックの値を表します。網掛けされている領域は、標準偏差バンドの 1、2、3 に対応しています。バンドの色が濃いほど、予測値からの偏差は高くなります。白色のメトリックは、予測より優れています。下部の白色の領域の上に表示されるメトリックは、予測値を超えています。たとえば、メトリックが一番上のバンドを超えると、標準偏差の 3 倍を超えています。
- 行にマウス カーソルを合わせます。メトリックおよびその他の情報を含むヒントが表示されます。
- 平均応答時間など、目的のメトリックのハイパーリンクをクリックします。
- メトリック ブラウザで、メトリックのすぐ上のフォルダ ノードをクリックし、[追跡]タブをクリックします。不安定な状態によって生成された、自動トランザクション追跡を表示することができます。
- (オプション)その他のノードをクリックして、差異分析によって生成されたトランザクション追跡を表示します。たとえば、[フロントエンド]ノードをクリックして、[追跡]タブをクリックし、すべてのフロントエンド アプリケーションの自動追跡を表示します。
エントリ ポイントおよびその他のアプリケーション メトリックの差異分析を設定することができます。
コンポーネント応答時間を超過した場合の自動トランザクション追跡のトリガ
コンポーネント応答時間を超過した場合に、トランザクション追跡を自動的にトリガするように PBD を展開できます。この自動追跡を収集するトレーサを持つ PBD エントリを作成します。たとえば、特定のサーブレットの応答時間が 10 秒を超えた場合に追跡を収集します。この機能を設定するには、
ComponentTimeAutoTraceTriggerTracer
トレーサ オプションを使用します。詳細:
自動トランザクション追跡
手動でのトランザクション追跡の収集
トランザクション追跡セッションを手動で実行するには、トランザクションが追跡されるエージェント、およびデータを収集する期間を指定します。フィルタ オプションを指定して、特定のトランザクションの追跡を制限することができます。トランザクションがしきい値の実行時間を超えた場合、パラメータ値に一致した場合、またはエラーを含んでいる場合に、それらのトランザクションを確認できます。
トランザクション追跡セッションを開始すると、フィルタ条件に一致するトランザクションがトランザクション テーブルに表示されます。トランザクション イベントには、トランザクション追跡とエラーが含まれます。
新しいトランザクション追跡セッションを実行するには、run_tracer 権限が必要です。
以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。APM WebView が表示されます。
- [ツール]-[トランザクション追跡]をクリックします。
- [追跡セッションを開始]をクリックします。
- [追跡トランザクション]領域で以下の操作を行います。
- トランザクション追跡の最小期間を指定します。ドロップダウン リストから[ミリ秒]または[秒]を選択します。デフォルトは 5000 ミリ秒です。
- (オプション)トランザクション追跡のための以下のいずれかのフィルタ条件を指定します。
- 次と等しい文字列に一致するパラメータ値を追跡します。
- 次と等しくない指定された文字列に一致しないパラメータ値を追跡します。フィルタを適用するパラメータを含まないトランザクションも追跡されます。
- 次の値を含む指定された文字列が含まれるパラメータ値を追跡します。
- 次で始まる指定された文字列で始まるパラメータ値を追跡します。
- 次で終わる指定された文字列で終わるパラメータ値を追跡します。
- 存在するフィルタを適用するパラメータを含むトランザクションを、そのパラメータ値にかかわらず追跡します。
- 存在しないフィルタを適用するパラメータを含まないトランザクションを追跡します。
- 追跡セッション継続時間を入力します。
- [追跡エージェント]領域で、トランザクションを追跡するエージェントを 1 つ以上選択します。
- エージェントをすべて追跡するには、[サポート対象のエージェントを全て追跡]をクリックします。このオプションを選択すると、現在接続されているサポート対象エージェントと、追跡セッション中に接続されたエージェントのすべてが追跡されます。
- 選択されたエージェントを追跡するには、[選択したエージェントを追跡]をクリックし、リストからエージェントを選択します(複数のエージェントを選択するには、Ctrl キーを押しながらクリックします)。
- [OK]をクリックして、トランザクション追跡セッションを開始します。セッションの開始後、下部パネルのステータス バーに以下の情報が表示されます。
- 追跡されたトランザクションの数および追跡設定の簡単な説明。
- セッションの残り時間。
トランザクション追跡セッションの停止、再開、または切り替え
[トランザクション追跡]タブから、追跡セッションを以下のように管理できます。
- [追跡を停止]をクリックして、セッションを終了します。
- [追跡を再開]をクリックし、同じ条件を使用して、ターゲット エージェントでトランザクションの追跡を続行します。トランザクション追跡セッションの再開は、以下の場合に行うことができます。
- セッションがタイムアウトになった後
- 停止したセッションを再起動するとき
- 進行中のセッションをやり直すとき
- [追跡を切替]をクリックして、実行する別の追跡セッションを選択します。
関連する追跡の検索
アプリケーションの問題に関する情報を収集するために単一の追跡を調査します。
以下の手順に従います。
- トランザクション テーブルの追跡セッションの追跡アクティビティ情報を分析します。詳細を表示するには、テーブルの行を選択します。
- 必要に応じて、新規追跡セッションを実行するか、または追跡セッションを停止、再開、切り替えます。
- 下部ペインの[サマリ ビュー]、[追跡ビュー]、および[ツリー ビュー]タブを確認します。これらの情報は、アプリケーションの問題やパフォーマンスの問題を診断して切り分けるのに役立ちます。
エントリ ポイントについて
自動のエントリ ポイントの検出では、ProbeBuilder ディレクティブを手動で設定することがなく、Java アプリケーションを迅速に監視し、問題を切り分けることができます。
スマート インスツルメンテーションとエントリ ポイントの検出を有効にすると、Introscope はクライアント ソケット コールのトランザクションに関係するスレッドを監視します。デフォルトでは、スマート インスツルメンテーションとエントリ ポイントの検出が有効に設定されています。
エントリ ポイント
は、トランザクションの開始ポイントです。エージェントのルール エンジンは、エントリ ポイント候補を識別します。エージェントは、トランザクション スレッドで最も古いエントリ ポイント候補をインスツルメント化し監視します。インストール ディレクトリを共有しているすべてのエージェントが監視できるように、エージェントが検出して保持するエントリ ポイントは、すべて有効です。ただし、複数のエージェントがインスツルメンテーションを共有する場合、メトリックのレポートは同じコードまたはフレームワークのクラスを実行するアプリケーション サーバ JVM に応じて異なります。エントリ ポイント検出が自動的に可視性を提供するトランザクションの例を以下に示します。
- Introscope のインスツルメンテーションがまだ監視していない技術スタックとフレームワーク
- カスタムまたは専用の api コール
- クリティカルなリソースを消費し、アプリケーション全体のパフォーマンスに影響するバックグラウンド スレッド
エージェントは、<
Agent_Home
>\core\config\hotdeploy ディレクトリに保持される AutoPersist.pbd にエントリ ポイントを保存します。重要:
アプリケーション サーバを実行するシステム ユーザには、hotdeploy ディレクトリへの読み取り/書き込みアクセスが必要です。これらの権限により、エージェントが AutoPersist.pbd にデータを書き込むことができます。エントリ ポイントは、フロントエンドとは異なります。Java エージェントは、トランザクション コール パスの開始ポイントに近いエントリ ポイントを自動的に検出します。フロントエンドは、手動で PBD で定義され、トランザクション コール パスの任意の場所にすることができます。
重要:
AutoPersist.pbd に手動で変更を加えないでください。ただし、検出されたエントリ ポイントをコピーし、別の PBD で使用できます。エントリ ポイント メトリックは、エージェント ノードの自動エントリ ポイント サブノード内のエージェント セントリック ツリーに表示されます。
注:
必ず IntroscopeAgent.profile の introscope.autoprobe.dynamicinstrument.enabled プロパティを true に設定します。この設定により、アプリケーションの再起動を必要とせずに、エージェントがエントリ ポイント メトリックをレポートできます。Introscope は、エントリ ポイントごとに 5 つの標準的な Blame メトリックをレポートします。エントリ ポイントはトランザクション追跡に表示されますが、アプリケーション問題切り分けマップには表示されません。エントリ ポイント名は、エントリ ポイント <
class name _ method name
> としてフォーマットされます。Introscope はエントリ ポイント サポータビリティ メトリックをレポートします。エントリ ポイントの収集を設定することができます。たとえば、構成プロパティは、AutoPersist.pbd が保持できるエントリ ポイントの数を制限します。
高深度可視性コンポーネントの理解
スマート インスツルメンテーションが有効な場合、エージェントはトランザクション コンポーネントに関する詳細情報をメソッド レベルまで自動的に検出および収集します。エージェントは、ProbeBuilder ディレクティブ(PBD)を使用せずに、高深度可視性コンポーネントの検出および自動インスツルメントを実行します。 Introscope では、メソッドの複雑さが分析され、高深度可視性コンポーネントとしてインスツルメントおよび表示される呼び出しおよびコンポーネントが決定されます。
注:
スマート インスツルメンテーションは、Java エージェントでのみ使用可能であり、.NET エージェントでは使用できません。高深度可視性コンポーネントに関する留意事項
- 稲妻アイコンは高深度可視性コンポーネントを表します。このようなコンポーネントにマウス ポインターを置くと、ツールチップに「高深度追跡コンポーネント」のラベルが表示されます。
- 高深度可視性コンポーネントには、メトリックへのリンクは含まれていません。Investigator ツリーまたはアプリケーション問題切り分けマップにメトリック データは表示されません。
- クラス名、メソッド名および期間のみが含まれます。
- 以下のプロパティが[コンポーネントの詳細]に表示されます。
- Instrumentation Level: トランザクションが検出されたスマート インスツルメンテーションのレベル。
- Method Score Level: Introscope のスコアリング アルゴリズムによって高深度可視性コンポーネント メソッドに割り当てられるスコアに関係する、スマート インスツルメンテーション レベルです。Introscope では、トランザクション追跡、エラー、またはストール内の、スコアの異なる高深度可視性コンポーネントのメソッドを表示できます。たとえば、「中」レベルを使用して検出されたトランザクションでは、「中」と「低」の両方のメソッド レベルのスコアを持つメソッドを表示できます。
これらのプロパティを使用して、トランザクション追跡およびトレース内のメソッドの、スマート インスツルメンテーションの可視性の深度を理解します。たとえば、スマート インスツルメンテーションが検出したメソッドの数を、2 つの異なるインスツルメンテーション レベルで比較できます。Introscope が特定のメソッドにスコアを付けるスマート インスツルメンテーション レベルを確認できます。オーバーヘッドと可視性のバランスをとって、求められている監視の可視性を提供するように監視ソリューションを調整できます。
トランザクション追跡セッションを介した場合、またはコマンド ライン Workstation を使用してトランザクション追跡が開始された場合に、標準のインスツルメンテーション コンポーネントと高深度可視性コンポーネントの両方が、CEM インシデントに基づいて表示されます。
要件および環境に応じて、スマート インスツルメンテーションの可視性の深度を設定できます。
追跡ビューでの個別コンポーネントの詳細の表示
トランザクション コンポーネントをスタック表示します。コンポーネントを上から下まで検査して、期間内のコールのシーケンスを理解し、パフォーマンスを評価します。
以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。
- [ツール]-[トランザクション追跡]をクリックします。注:[ツール]-[履歴イベント ビューア]からクエリを実行してこの情報にアクセスすることもできます。
- テーブル内のトランザクション追跡を選択します。
- 下部ペインで、[追跡ビュー]タブをクリックします。注:Live モードでは、[追跡]タブに、過去 20 分のトランザクション追跡イベントがリストされます。20 分より前のトランザクション追跡イベントは、ライブ モードでは表示されません。選択したトランザクションのコンポーネントがスタック表示で表示されます。
- エージェント ステータス領域で、以下のデータを含む情報を確認します。タイムスタンプルート コンポーネントの呼び出し開始時刻(エージェントのシステム クロックによる)を表示します。継続時間ルート コンポーネントの実行時間(ミリ秒単位)を表示します。
- データ ビューアで、スタック表示のコンポーネントを上から下に確認し、アプリケーション パフォーマンスを評価します。ヒント:右向きの青色の三角形をクリックすると、グラフィカル表示が展開し、個別トランザクション コンポーネントが表示されます。以下の図では、Servlets|PlaceOrderという名前のコンポーネントの例でこの三角形を示しており、ツールヒントにはコンポーネント名が表示されています。
以下の図では、三角形がクリックされています。稲妻のアイコンで示されている高深度可視性コンポーネントは、Servlets|PlaceOrder メソッドのコンポーネントとして表示されています。
グラフィカルなスタック ビューには以下の情報が表示されます。- バーの形状で表示される、トランザクション内の各コンポーネント
- コンポーネント間の呼び出し関係コンポーネントのバーは、呼び出し順に上から下に表示されます。
- トランザクションの時間的な順序左から右のコンポーネントの位置は、時間的な順序を示します。トランザクションの上部には、継続時間を示す目盛り(ミリ秒単位)が表示されます。
- トランザクション内のエラートランザクション スタック表示で示される赤色の部分は、トランザクション内のエラーを表しています。
- プロセスおよび JVM にまたがるトランザクション データCA APM では、一意の識別子(相関 ID)を使用して、追跡したフロントエンド トランザクションおよびバックエンド トランザクションがリンクされます。この順序は、トランザクション内でフロントエンドがバックエンドをコールする順番に基づいています。複数のスタック表示がビューアに表示される場合、Introscope は、選択した追跡イベントに関連するプロセスを検出して追跡しています。異なるエージェントで追跡されたプロセスは、グレー表示された異なる領域に表示されます。トランザクション追跡でリンクされたコンポーネントを調べることによって、プロセスまたは JVM にまたがるトランザクションを確認できます。たとえば、特定のトランザクションがあるプロセスから離れて、別のプロセスに入っているかどうかを確認します。また、遅いトランザクションやストールしたトランザクションのソースが、どの呼び出しであるかを推測できます。
- 高深度可視性コンポーネントは稲妻のアイコン付きで表示され、ツールチップには「高深度可視性コンポーネント」というラベルが表示されます。
- エントリ ポイントが検出された場合、通常、トランザクションの最初のコンポーネントとして表示されます。トランザクションがビジネス トランザクションである場合、エントリ ポイントが後続する最初のコンポーネントとしてビジネス トランザクションが表示されます。
- Tab キーを使用して、スタック表示内のコンポーネントから別のコンポーネントに移動します。
- 右上隅のズーム スライダを使用して、必要に応じて表示をズーム インおよびズーム アウトします。1 から 10 の値を指定できます。スライダ内の各値は、グラフィカル表示の幅に 2 を掛けたものです。デフォルト値は 1 です。
- コンポーネントにマウス カーソルを合わせると、詳細情報を含むヒントを表示できます。
- [コンポーネントの詳細]領域で、以下の情報を表示します。タイプ上位コンポーネント(EJB、サーブレット、Java の JSP、および .NET の ASPX など)を表示します。名前コンポーネントの名前を表示します。パスコンポーネントの完全なリソース名を表示します。継続時間選択したコンポーネントの実行時間を表示します。デフォルトの単位はミリ秒です。タイムスタンプ(相対)エージェント開始時刻を表示します。合計トランザクション時間の割合トランザクション時間の合計に占めるパーセンテージを表示します。プロパティコンポーネントのオプションのプロパティのリストを表示します。注:高深度可視性コンポーネントに関するすべての情報が取得できるわけではありません。
オプションのプロパティ
以下の表では、追跡ビューに表示されるオプションのプロパティ(コンポーネントに関する詳細情報)について説明します。
プロパティ | 説明 |
User ID (サーブレット、JSP、ASPX) | HTTP サーブレット要求を呼び出したユーザのユーザ ID |
URL (サーブレット、JSP、ASPX) | サーブレットまたは JSP に渡された URL のうち、クエリ文字列(URL で区切り文字「?」の後に指定されたテキスト)を除く部分 |
URL Query(サーブレット、JSP、ASPX) | HTTP 要求内の URL のうち、クエリ パラメータが指定されている部分(URL で区切り文字「?」の後に指定されたテキスト) |
Session ID (サーブレット、JSP、ASPX) | サーブレット要求に関連付けられている HTTP セッション ID (存在しない場合もあります) |
Dynamic SQL (動的 JDBC または ADO.NET ステートメント。SQL エージェントがインストール済みの場合) | SQL エージェントで見られる集約化した SQL ステートメントのように一般化された動的 SQL |
Callable SQL (呼び出し可能 JDBC または ADO.NET ステートメント。SQL エージェントがインストール済みの場合) | 呼び出し可能 SQL (「?」とそれ以後の部分も含む) |
Prepared SQL (準備済み JDBC または ADO.NET ステートメント。SQL エージェントがインストール済みの場合) | 準備済み SQL (「?」とそれ以後の部分も含む) |
Method (Blamed Tracer。Java では サーブレット、JSP、および JDBC ステートメントは除き、.NET では ASPX および ADO.NET は除きます) | 追跡されるメソッドの名前 |
Is Unmonitored | スマート インスツルメンテーションがコンポーネントを検出しました。このコンポーネントのメトリックは収集されません。 |
Trace Truncated | トランザクション追跡は、追跡内の最後のメソッドで切り捨てられます。トランザクションの切り捨ては一般的に、ネストが深い再帰呼び出しが原因で発生します。 |
Auto Trace Trigger Criteria | Introscope が自動トランザクション追跡を収集するトリガです。たとえば、 ComponentTimeAutoTraceTriggerTracer トレーサが展開されている場合の、エラーまたはコンポーネント応答時間の超過です。
ComponentTimeAutoTraceTriggerTracer がトリガされると、[Auto Trace Trigger Criteria]に「Response time of <component name> exceeds threshold <value >」と表示されます。 |
Instrumentation Level | トランザクションが検出されるスマート インスツルメンテーションのレベル。 |
Method Level Score | Introscope のスコアリング アルゴリズムによって高深度可視性コンポーネント メソッドに割り当てられるスコアに関係する、スマート インスツルメンテーション レベルです。Introscope では、トランザクション追跡、エラー、またはストール内の、スコアの異なる高深度可視性コンポーネントのメソッドを表示できます。たとえば、「中」レベルを使用して検出されたトランザクションでは、「中」と「低」の両方のメソッド レベルのスコアを持つメソッドを表示できます。 |
サマリ ビューでのコンポーネント サマリ情報の表示
[サマリ ビュー]タブには、エージェントおよびトランザクションに関する情報が、ソート可能な列に表示されます。トランザクション追跡中に行われた特定のトランザクション コールの回数およびコールの総数に関する情報を表示できます。
以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。APM WebView が表示されます。
- [ツール]-[トランザクション追跡]をクリックします。
- テーブル内のトランザクション追跡を選択します。[サマリ ビュー]タブが下部ペインに表示されます。
- エージェント ステータス バーで、以下のデータを含む情報を確認します。タイムスタンプルート コンポーネントの呼び出し開始時刻(エージェントのシステム クロックによる)を表示します。継続時間ルート コンポーネントの実行時間(ミリ秒単位)を表示します。
- トランザクション テーブルには、以下の情報が表示されます。パスメトリック パスを表示します。呼び出し数呼び出し数を表示します。コール時間(ミリ秒)呼び出しの長さをミリ秒単位で表示します。最小最小呼び出し時間を表示します。平均平均呼び出し時間を表示します。最大最大呼び出し時間を表示します。高深度可視性コンポーネントは、稲妻のアイコン付きで表示されます。
- 列の項目で行を並べ替えるには、列ヘッダをクリックします。
- トランザクション追跡ステータス バーには、以下の情報が表示されます。
- セッションで収集されたトランザクション数。
- トランザクション追跡セッションのフィルタ条件。
- 現在のセッションがタイムアウトになるまでの残り時間。
ツリー ビューでのコンポーネント階層情報の表示
ツリー ビューにコンポーネントが階層コール順に表示されます。このビューでは、コンポーネント期間が合計トランザクション期間の大部分を占めている時期を示します。特定のコンポーネントに移動して、パフォーマンスの問題を特定します。
以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。APM WebView が表示されます。
- WebView で、[ツール]-[トランザクション追跡]をクリックします。
- テーブル内のトランザクション追跡を選択します。
- 下部ペインで、[ツリー ビュー]タブをクリックします。
- ツリーでノードを展開します。ツリー内の各ノードに、コンポーネント、名前、期間、およびトランザクション期間の合計に占めるパーセンテージが表示されます。円アイコンの色は期間を表しています。
- 赤: コンポーネント期間 > 合計期間の 25 パーセント
- 黄: 合計期間の 9 パーセント < コンポーネント期間 < 合計期間の 25 パーセント
- 緑: コンポーネント期間 <= 合計期間の 9 パーセント
- より詳細に表示するには、以下の図に示されているようにコンポーネントを選択します。
以下の点に注意してください。- 赤の円形インジケータに従ってツリーをたどることができます。トランザクション時間の大部分を占めるメソッドを確認できます。たとえば、AxisServer::invokeメソッドは、トランザクションの実行に 37 ms の 95 パーセントを要しました。
- トランザクションの実行時間にあまり影響しない追跡コンポーネントは、緑のアイコンで色分けされます。
- 高深度可視性コンポーネントには稲妻のアイコンが付いています。
- メソッドを選択すると、[コンポーネントの詳細]ペイン内のメソッドに関するさらに詳細な情報が表示されます。以下の情報を確認します。
- コンポーネント タイプ、名前、およびパス。
- 期間、タイムスタンプ、およびトランザクション時間の合計。
- 異常に長いコンポーネント トランザクション時間は、問題の根本原因を示している可能性があります。収集した情報をサポート、または開発に提供して、修正方法の特定を支援することができます。
履歴イベントのクエリ
トランザクション追跡セッションの結果は、自動的にイベント データベースに保存されます。トランザクション イベントには、トランザクション追跡、エラー メッセージ、およびストールが含まれます。アーカイブされた履歴イベントのクエリでは、これらの履歴イベントにより迅速にアクセスできます。
履歴クエリ機能は、以下の構文をサポートします。
- 大文字と小文字の区別なしクエリ文字列またはクエリ オプションの値に適用されます。
- アスタリスク(*)ワイルドカード文字検索用語の一部を入力し、最後にアスタリスクを入力します。(検索用語の入力をアスタリスク文字で開始することはできません)。たとえば、名前に「Shopping」という文字列が含まれるコンポーネントのエラーを検索するには、「Shopping*」というクエリ文字列を使用します。
- ブール演算子検索用語には、「AND」、「OR」、「NOT」、および「()」グループなどのブール論理を使用できます。
- 除外条件「+JDBC -CICS」を使用すると、JDBC のトランザクションが検索されますが、CICS のトランザクションは検索されません。
- クエリ オプションクエリのオプションおよび構文を使用して、特定のタイムフレーム、ユーザ、またはホスト環境に対するクエリ エラー イベントを制限します。
注:
履歴クエリを使用する場合は、あらかじめトランザクション追跡セッションを実行して、クエリ対象のデータを用意しておきます。以下の手順に従います。
- APM Team Center で、[WebView]をクリックします。APM WebView が表示されます。
- WebView で、[ツール]-[履歴イベント ビューア]をクリックします。履歴イベント ビューアが開きます。[クエリ]フィールド ドロップダウン リストには、このセッションからの前の検索、または前のセッションが表示されます。
- [クエリ]検索フィールドで、以下の情報を入力します。
- クエリ オプション タイプ指定したタイプに一致するすべてのトランザクション イベントを含める場合に使用します。
- クエリ文字列文字列が含まれるかまたは文字列と一致するエラーを検索する場合に使用します。クエリ文字列を入力しない場合は、すべてのエラー イベントが返されます。
- クエリ オプションイベント パラメータを使用して検索を絞り込みむ場合に使用します。
Example: type:errorsnapshot - [時間ウィンドウ]ドロップダウン リストから、履歴ビューの時間範囲([24 時間]など)を選択します。リストには、その時間範囲のデータが表示されます。このリストでは、ユーザが選択した期間を使用して、終了時刻を現在の時刻に設定します。時間範囲を選択しない場合は、クエリはデフォルトですべてのデータを使用します。
- [実行]をクリックします。クエリに一致するトランザクションがイベント リストに表示されます。このテーブルの列には、以下の情報が表示されます。
- タイプ追跡行内の情報のタイプを以下のように表示します。
- トランザクション追跡(T)
- エラー(E)
- サンプリング(R)無作為抽出によって選択されたトランザクション
- アスタリスクタイプの記号の後にアスタリスクがある場合は、トランザクション内のコンポーネントの一部が省略されたことを意味しています。
- ドメイン追跡対象のエージェントがマップされているドメインを表示します。
- Host追跡対象のエージェントが実行されているホストを表示します。
- プロセスエージェント プロセス名を表示します。
- エージェントエージェント名を表示します。
- タイムスタンプルート コンポーネントの呼び出し開始時刻(エージェントのシステム クロックによる)を表示します。
- 継続時間ルート コンポーネントの実行継続時間を表示します。
- 説明このトランザクションを開始する URL、またはトランザクションを開始したコンポーネントへのパスを表示します。
- ユーザ IDトランザクションを実行しているログイン ユーザの ID。
- 列の内容によって行を並べ替えるには、列の見出しをクリックします。
- イベントに関する詳細を表示するには、テーブルの行をクリックします。
- 下部ペインの[サマリ ビュー]、[追跡ビュー]、および[ツリー ビュー]タブを使用して、T と R のイベント タイプを確認します。
クエリのオプションおよび構文
クエリでは、Lucene 正規表現の構文を使用してテキスト文字列を検索して置き換えます。Lucene 構文の詳細については、Lucene Web サイト(lucene.apache.org)を参照し、「query syntax」を検索してください。
これらの特殊文字がクエリに含まれている場合、Lucene 構文ではバックスラッシュ(\)文字を使用してこれらをエスケープできます。
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \
たとえば、(1+1):2 を検索する場合、以下のようにクエリを使用します。
\(1\+1\)\:2
注:
「*」(アスタリスク)および「?
」(疑問符)は、クエリの先頭ではサポートされていません。フィールド | 説明 | 例 |
agent | 特定のエージェントによって報告されるイベントに検索を制限します。 | agent:ControlledRangeAgent |
domain | 指定のドメイン内の 1 つ以上のコンポーネントに関連するイベントに検索を制限します。 | domain:AcmeWest |
fullAgent | 完全パスで指定された特定のエージェントによって報告されるイベントに検索を制限します。
domain|process|host|agent | fullAgent:AcmeWest| Custom Metric Host|
ControlledRange
エージェント |
host | 特定のホストで発生したイベントに検索を制限します。 | host:Wmiddle01 |
traceID | 検索を、指定した追跡 ID を持つイベントに制限します。 | traceID:1340419311156\:3957
注: 2 番目のコロン(:)の前には円記号(\)が必要です。 |
process | 指定のアプリケーション内の 1 つ以上のコンポーネントに関連するエラーに検索を制限します。 | process:Custom Metric Host |
root | メトリック パスで指定された、1 つ以上の特定のコンポーネントに関連付けられているイベントのみを検索します。 | root:servlets|accountServlet |
type | クエリ対象とするイベントの種類を指定します。
errorsnapshot エラー イベントに検索を制限します。
normal ユーザによって開始されたトランザクション追跡で取得されたトランザクション イベントを返します。
sampled Introscope のデフォルトのトランザクション サンプリングの結果として取得されたトランザクション イベントを返します。
これらのタイプの結果では、[タイプ]列に、「E」、「T」、「R」というコードがそれぞれ含まれます。このコードのセットは、ライブ モードのトランザクション追跡ビューアで利用可能なコードとは、わずかに異なります。 | type:errorsnapshot
type:normal
type:sampled |
url | 指定されたトランザクション URL のパスのプレフィックスに関連付けられているイベントのみを検索します。
パスのプレフィックスは、URL のホスト名に続く部分です。以下の URL があるとします。
http://burger1.com/bWar/burgerServlet? ViewItem&category=11776&item=55562630&rd=1
... ここでは、以下がパスのプレフィクスです。
/bWar/burgerServlet | url:/bWar/burgerServlet |
urlParams | 指定したトランザクション URL パラメータに関連付けられているイベントに検索を制限します。
URL パラメータは、URL で疑問符(?)に続く部分です。以下の URL があるとします。
http://ubuy.com/ws/shoppingServlet?
category=734&item=3772&tc=photo
URL パラメータは以下の部分です。
?category=734&item=3772&tc=photo
注 :
の先頭には、ワイルドカード文字を使用できません。 | urlParams:category=734* |
user | 指定したユーザ名に関連付けられているトランザクションのイベントに検索を制限します。 | user:jdoe |