トランザクション メトリック

トランザクション メトリックは、トランザクションの特定の部分を測定します。システム アーキテクチャによっては、以下の Java メトリックが Investigator に表示される場合があります。ほとんどはメトリック ブラウザ ツリーに表示されますが、一部のメトリックは問題切り分けマップ ツリーに表示されます。
apmdevops104jp
トランザクション メトリックは、トランザクションの特定の部分を測定します。システム アーキテクチャによっては、以下の Java メトリックが Investigator に表示される場合があります。ほとんどはメトリック ブラウザ ツリーに表示されますが、一部のメトリックは問題切り分けマップ ツリーに表示されます。
注:
データベースや XML など、これらのメトリックの一部は NET エージェントにも適用されます。
EJB
Enterprise JavaBeans (EJB)がアーキテクチャの一部である場合、以下のタイプになります。
  • EJB entity
  • EJB session
  • EJB message driven
これらの各タイプについて、以下の 2 つのメトリックが表示されます。
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
EJB タイプの下に子ノードとして表示される、各 EJB のクラスまたはメソッドに関して、Enterprise Manager は 5 つの BlamePoint メトリックをレポートします。
  • Average Response Time (ms)
  • Concurrent Invocations
  • Errors Per Interval
  • Responses Per Interval
  • Stall Count
Servlets
サーブレット ノードは、一般的に監視されるアプリケーションにより呼び出される各サーブレットの 5 つの BlamePoint メトリックを表示します。
  • Average Response Time (ms)
  • Concurrent Invocations
  • Errors Per Interval
  • Responses Per Interval
  • Stall Count
JSP(Java サーバ ページ)
Average Response Time (ms)
JVM ですべての JSP が実行する
_jspService()
 メソッドの平均応答時間。すべての個々の JSP の応答時間の平均が求められて、この値が計算されます。
Responses Per Interval
過去 15 秒間に JVM ですべての JSP が実行した
_jspService
 メソッドで、完了した呼び出しの数。
Average Response Time (ms) by class name
クラス名により識別される JSP の平均応答時間をミリ秒単位で表したもの。
_jspService()
 メソッドの各呼び出しでの時間が測定され、平均が計算されてこの値が求められます。
Responses Per Interval
直前の 15 秒間にクラス名で識別された JSP の 
_jspService()
メソッドで、完了した呼び出しの数。
Responses Per Second
JVM ですべての JSP が実行する
_jspService()
 メソッドが完了するレート。
Responses Per Second by class name
特定のクラス名で識別される JSP の
_jspService()
 メソッドの呼び出しが完了するレート。
Stalled Methods by class name and by method name
_jspService()
 メソッドの実行を完了するために、定義されたしきい値よりも長い時間がかかる JSP の数。
Concurrent Invocations
_jspService()
 メソッドを実行中のスレッドの数。
JSP タグ ライブラリ(JSP TagLib)
タグ ライブラリは、カスタム アクションを起動する JSP ページで使用されるカスタム タグの集合です。カスタム アクションは JSP 仕様向けの 6 つの標準アクションのセットに含まれていない任意のアクションです。カスタム アクションにより起動されるタスクの例として、データベース、電子メールおよびフロー制御などの外部システムにアクセスするフォーム制御が挙げられます。
以下のメトリックが JSP タグ ライブラリで使用可能です。
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name and method name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Interval by class name and method name
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Method Invocations Per Second by class name and method name
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name
  • Concurrent Method Invocations by class name and method name
  • Stalled Methods over 30 seconds by class name and method name
  • Average Method Invocation Time (ms)
JSP IO TagLibrary
  • Warning Count
  • Exception Count
RMI (リモート メソッド呼び出し)
リモート メソッド呼び出しは、分散 Java オブジェクトのメソッドの呼び出しです。つまり、複数のホストにある Java オブジェクトです。
以下のメトリックは、RMI クライアントと RMI サーバの両方に使用できます。
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Stalled Methods over 30 seconds
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name
データベース メトリック(SQL)
各データベース バックエンドは、以下のメトリックをレポートするように設定できます。
  • Commits: 完了した各クエリ/応答トランザクションは、
    commit
    と呼ばれます。5 つの標準的なメトリックは、一定の間隔中にコミットするすべてのトランザクションに対して収集され、表示されます。たとえば、以下のスクリーンショットでは、円で囲まれたデータ ポイントが、その間隔中にコミットされたすべてのデータベース トランザクションの平均応答時間を表しています。
The illustration shows a typical chart for Average Response Time for the Commits metric
  • Rollbacks: rollback は、正常に完了しなかったクエリ/応答トランザクションです。5 つの標準的なメトリックは、一定の間隔中にロールバックするすべてのトランザクションに対して収集され、表示されます。
  • SQL
Metric browser tree expanded to show individual queries under the Dynamic and Prepared nodes.
間隔中にデータベースによって処理された各ステートメントについて、エージェントは次の 6 つのメトリックをレポートします。
  • Average Response Time (ms)
  • Concurrent Invocations
  • Errors Per Interval
  • Active Connection Object Count
  • Responses Per Interval
  • Stall Count
以下の点に注意してください。
  • これらのステートメントは、事前定義および動的のどちらであるかによって、サブノードごとに分離されます。
  • 各タイプの SQL ステートメント(GRANT、UPDATE、QUERY、REVOKE、DROP など)は、そのステートメント タイプのサブノードの下にリスト表示されます。
自動バックエンド
自動バックエンド メトリックは、メトリック パスが標準的なバックエンド メトリックと少し異なります
Backends|<
Java Package
>|<
classname
>
|<
method
>
例: Backends|com.mysql.jdbc|MysqlIO|sendCommand
同じ Java パッケージの異なるバックエンドにまたがるサマリ メトリックをここに示します。
Backends|<
Java Package
>
例: Backends|com.mysql.jdbc
Introscope は自動バックエンド サポータビリティ メトリックをレポートします。
XML(拡張マークアップ言語)
XML メトリックには、以下のタイプがあります。
SAX
  • SAX:Average Method Invocation Time (ms)
  • SAX:Method Invocations Per Interval
  • SAX:Average Method Invocation Time (ms) by class name
  • SAX:Method Invocations Per Interval by class name
  • SAX:Method Invocations Per Second
  • SAX:Method Invocations Per Second by class name
  • SAX:Stalled Methods over 30 seconds by class name and method name
  • SAX:Concurrent Method Invocations
  • SAX:Concurrent Method Invocations by class name
XSLT
  • XSLT:Average Method Invocation Time (ms)
  • XSLT:Method Invocations Per Interval
  • XSLT:Average Method Invocation Time (ms) by class name
  • XSLT:Method Invocations Per Interval by class name
  • XSLT:Method Invocations Per Second
  • XSLT:Method Invocations Per Second by class name
  • XSLT:Stalled Methods over 30 seconds by class name and method name
  • XSLT:Concurrent Method Invocations
  • XSLT:Concurrent Method Invocations by class name
JAXM
  • JAXM|Listener:Average Method Invocation Time (ms)
  • JAXM|Listener:Method Invocations Per Interval
  • JAXM|Listener:Average Method Invocation Time (ms) by class name
  • JAXM|Listener:Method Invocations Per Interval by class name
  • JAXM|Listener:Method Invocations Per Second
  • JAXM|Listener:Method Invocations Per Second by class name
  • JAXM|Listener: Stalled Methods over 30 seconds by class name and method name
  • JAXM|Listener:Concurrent Method Invocations
  • JAXM|Listener:Concurrent Method Invocations by class name
J2EE コネクタ
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name
  • Method Invocations Per Interval
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Stalled Method count over 30 seconds by class name and method name
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name
JTA (Java Transaction API)
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Stalled Methods over 30 seconds by class name and method name
  • Concurrent Method Invocations
JNDI(Java 名前付けおよびディレクトリ インターフェース)
JNDI メトリックには、次のものが含まれます。
JNDI Lookup
  • Lookup:Context Average Method Invocation Time (ms)
  • Lookup:Context Method Invocations Per Interval
  • Lookup:Context Average Method Invocation Time (ms) by class name
  • Lookup:Context Method Invocations Per Interval by class name
  • Lookup:Context Method Invocations Per Second
  • Lookup:Context Method Invocations Per Second by class name
  • Lookup:Context Stalled Methods over 30 seconds by class name and method name
  • Lookup:Context Concurrent Method Invocations
  • Lookup:Context Concurrent Method Invocations by class name
  • lookupLink:Context Average Method Invocation Time (ms)
  • lookupLink:Context Method Invocations Per Interval
  • lookupLink:Context Average Method Invocation Time (ms) by class name
  • lookupLink:Context Method Invocations Per Interval by class name
  • lookupLink:Context Method Invocations Per Second
  • lookupLink:Context Method Invocations Per Second by class name
  • lookupLink:Context Stalled Methods over 30 seconds by class name and method name
  • lookupLink:Context Concurrent Method Invocations
  • lookupLink:Context Concurrent Method Invocations by class name
JNDI Search
  • Search:Context Average Method Invocation Time (ms)
  • Search:Context Method Invocations Per Interval
  • Search:Context Average Method Invocation Time (ms) by class name
  • Search:Context Method Invocations Per Interval by class name
  • Search:Context Method Invocations Per Second
  • Search:Context Method Invocations Per Second by class name
  • Search:Context Stalled Methods over 30 seconds by class name and method name
  • Search:Context Concurrent Method Invocations
  • Search:Context Concurrent Method Invocations by class name
JNDI Called Metrics
  • File system I/O
JMS (Java メッセージング サービス)
JMS には、以下の 4 つのサブノードがあります。
  • message listener
  • message consumer
  • topic publisher
  • queue sender
以下のメトリックは、上記のどのサブノードの下にも表示可能です。
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Stalled Methods over 30 seconds by class name and method name
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name
同期 JMS 受信 API の場合、Frontends investigator ノードに以下のメトリックが報告されます。
{queuename} および {topicname} の個々のメトリック値は、それぞれキューおよびトピック ノードの値に集計されます。
間隔ごとの受信メッセージ数
[間隔ごとの受信メッセージ数]メトリックは 
receive()
 メソッドが null 以外の値を返して正常に完了するたびに 1 つずつ増加します。
Errors Per Interval
[間隔ごとのエラー数]メトリックは、インスツルメントされたメソットのいずれかが例外を返す場合に 1 つずつ増加します。また、ErrorDetector は、エラー スナップショットを生成します。
注:
 IBM WebSphere MQ JMS
receive()
メソッドが MQRC_NO_MSG_AVAILABLE 例外で終了する場合、APM は一部の結果をレポートしません。[間隔ごとのエラー数]メトリックは増加せず、ErrorDetector はエラー スナップショットを生成しません。
予想メッセージ処理時間(ミリ秒)
[予想メッセージ処理時間]メトリックは、
receive()
 が null 以外の値を返して正常に完了してから、同じスレッド、同じコンシューマ オブジェクトで、次に
receive()
 メソッドを呼び出すまでのおおよその時間を示します。エージェントが後続の受信を特定できない場合、JMS トレーサは JMS 受信呼び出しの親メソッドに依存してメトリック値を計算します。この場合、メトリックの値は、現在の受信の終了から親メソッドの完了までの時間となります。Introscope エージェントは、JMS の親メソッドが特定され、
JMSReceiveParentTracer
 で正常にインスツルメントされる場合にのみ、メトリックの処理時間を示すトランザクション追跡を生成します。以下のセクションを参照してください。
親メソッド識別およびインスツルメンテーション
JMS Receive
 コールの親メソッドは、
JMS Receive
の呼び出しによって受信されたメッセージを処理するメソッドです。トレーサが現在の受信後の 
receive
呼び出しを見つけられない場合、メトリック値およびトランザクション追跡を提供するために、そのメソッドを識別する機能は極めて重要です。
親メソッド識別は、以下のように動作します。
  1. 受信メソッド トレーサで収集されるスタック トレースで、
    run
    または
    call
    メソッドでラベル付けされたクラス(すなわち、インターフェース
    java.lang.Runnable
     または
    java.lang.Callable のメソッドを実装するクラス
    )は、親メソッドとして識別されます。スタック トレース内に親メソッドが複数ある場合は、
    receive
    呼び出しに最も近いメソッドが親としてマークされます。
    注:
     スタック トレースから親クラスおよびメソッドを識別する場合、Introscope はさまざまなコンポーネントを無視します。Introscope はすべての JDK クラス(動的ラムダ メソッドおよびクラス、およびプロキシ クラス)を無視します。
  2. スタック トレースに、Introscope が親メソッドを識別するのに使用することができる 
    run
     または 
    call
     メソッドがない場合、Introscope は定数インデックス値の識別に基づきます。デフォルトでは、インデックス 7 のクラスが親メソッドとして識別されます。インデックス 7 のクラスが JDK、動的ラムダ、またはプロキシ クラスの場合、Introscope はそのクラスをスキップします。Introscope は、次に低いインデックスのクラス(
    receive
    呼び出しに近い)を考慮し、クラスを親としてマークされるまで繰り返します。
    <Agent_Home>/core/hotdeploy ディレクトリの JMSParentMethodPersist.pbd ファイルに格納されている識別された親を検索できます。
Java Mail
Java Mail には、以下の 2 つのサブノードがあります。
  • Java Mail (Send)
  • Java Mail (sendMessage)
以下のメトリックは、Send サブノードまたは sendMessage サブノードの下に表示可能です。
  • Transport:Average Method Invocation Time (ms)
  • Transport:Method Invocations Per Interval
  • Transport:Average Method Invocation Time (ms) by class name
  • Transport:Method Invocations Per Interval by class name
  • Transport:Method Invocations Per Second
  • Transport:Method Invocations Per Second by class name
  • Transport:Stalled Methods over 30 seconds by class name and method name
  • Transport:Concurrent Method Invocations
  • Transport:Concurrent Method Invocations by class name
CORBA
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Second
  • Stalled methods in any class over 30 seconds
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name
Struts
  • Average Method Invocation Time (ms)
  • Method Invocations Per Interval
  • Average Method Invocation Time (ms) by class name and method name
  • Method Invocations Per Interval by class name
  • Method Invocations Per Second
  • Method Invocations Per Second by class name
  • Stalled Methods over 30 seconds by class name and method name
  • Concurrent Method Invocations
  • Concurrent Method Invocations by class name