特殊な管理 > サイトメンテナンス > Windchill MBean > MethodContexts (Monitors)
  
MethodContexts (Monitors)
MethodContexts MBean はメソッドサーバーのメソッドコンテキストを監視する MBean で、メソッドサーバーでのみインスタンス化されます。
この MBean を使用して、メソッドサーバーで記録するデータを確立します。
デフォルトでは、ContextLoggerOutputAttributes に以下の値が設定されます。
StartTime, Id, ParentId, IeContextIds, ServletRequestId, UserName,
RemoteAddr, TargetClass, TargetMethod, AccessLogDetail, Redirects,
JDBCQueryCalls, ElapsedJDBCSeconds, ElapsedTotalCpuSeconds, ElapsedTotalSeconds
* 
出力の属性を変更する場合、Windchill でのトレースに必要なデータを取得するには、ContextLoggerOutputAttributes に IeContextIds と ServletRequestId を含める必要があることに注意してください。
ContextLoggerLevel が INFO に設定されている場合、メソッドサーバーのログに以下のような情報が出力されます (ページに合わせて改行されています)。
2010-12-30 14:55:10,246 INFO [RMI TCP Connection(23)-132.253.12.51]
wt.method.MethodContextMonitor.contexts.rmi wcadmin - 2010-12-30 20:55:09.715
+0000, 10wdulv;gic4vdn7;5780;cplas;9, -, -, -, wcadmin, 132.253.12.51,
wt.query.template.ReportTemplateHelper$Server, hasModifyAccess, ,
0, 1, 0.233122646, 0.03125, 0.530067928
このサンプルにはデータフィールドの名前が表示されていません。ログエントリにフィールド名が繰り返し出力されるのを防ぐため、デフォルトの簡略形式ではフィールド名が省略されます (このデフォルト設定を変更するには、MethodContextMonitor MBean または Performance Feedback Settings を使用します)。
このサンプルに示されている項目は以下のとおりです (最初に、ログ時間、ログイベントレベル、スレッド、ロガー名、現在のユーザーが表示されます)。
StartTime - メソッドコンテキストの開始時刻: 2010-12-30 20:55:09.715 +0000
Id - メソッドコンテキストの ID: 10wdulv;gic4vdn7;5780;cplas;9
区切り記号がコンマであることに注意してください。セミコロンは contextId 文字列の一部と見なされます。
ParentId - 親メソッドコンテキストの ID: なし (-)
IeContextIds - 関連する Info*Engine コンテキストの ID: なし (-)
ServletRequestId - 関連するサーブレットリクエストの ID: なし (-)
UserName - このメソッドコンテキストを呼び出したユーザーの名前: wcadmin
RemoteAddr - メソッドコンテキストコールのリモート IP アドレス: 132.253.12.51
TargetClass - ターゲットクラス: wt.query.template.ReportTemplateHelper$Server
TargetMethod - ターゲットメソッド: hasModifyAccess
AccessLogDetail - その他の詳細: なし
Redirects - 呼び出しがリダイレクトされた回数: 0
JDBCQueryCalls - JDBC クエリー呼び出しのカウント: 1
ElapsedJDBCSeconds - JDBC 呼び出しの所要時間: 0.233122646
ElapsedTotalCpuSeconds - メソッドコンテキストで使用した CPU 時間: 0.03125
ElapsedTotalSeconds - メソッドコンテキストの経過時間: 0.530067928
* 
Operations ノードで、captureActiveContexts ボタンを使用して実行中のコンテキストを取り込むことができます。取り込んだ情報は MethodContexts MBean の下に表示されます。
wt.method.MethodContextMonitor.stats.summary によってメソッドサーバーログに記録される統計情報は、システムパフォーマンスを検証する場合に役立ちます。たとえば、メソッドサーバーログから抜粋した次のサンプル出力には (ページに合わせて改行されています)、指定の時間間隔 (ElapsedSeconds で指定) にわたって、このメソッドサーバーを使用するアクティブなメソッドコンテキストに関する情報が表示されています。
2010-12-10 17:48:50,290 INFO [wt.jmx.core.SharedScheduledExecutor.worker]
wt.method.MethodContextMonitor.stats.summary Administrator -
ElapsedSeconds=600.008322566, CompletedContexts=630, ErrorCount=0,
RedirectCount=0, ContextSecondsAverage=0.3671603731396825,
ContextSecondsMax=42.013152789, ContextCpuSecondsAverage=0.03640873015873016,
ContextUserSecondsAverage=0.03318452380952381,
ContextJDBCConnWaitSecondsAverage=1.294644634920635E-4,
ActiveContextsAverage=0.38546599761132355,
ActiveContextsMax=10, ActiveContextsStart=0, ActiveContextsEnd=0,
AverageJDBCCallsPerContext=3.212698412698413,
AverageJNDICallsPerContext=0.009523809523809525,
PercentageOfContextTimeInJDBCCalls=10.215606919069739,
PercentageOfContextTimeInJDBCConnWait=0.03526101207082334,
PercentageOfContextTimeInJNDICalls=0.008320770340035786
ほとんどのログ項目は特に説明はいりませんが、以下の補足説明を参照してください。
CompletedContexts: 指定した時間間隔内に実行を完了したメソッドコンテキストの数。
ContextCpuSecondsAverage: コンテキストに費やされた平均 CPU 時間 (秒数)。
ActiveContextsAverage: この時間間隔でのアクティブコンテキストの平均数。
ContextSecondsMax: この時間間隔内に実行されたコンテキストの最大所要時間 (秒数)。
ActiveContextsMax: この時間間隔内に同時に実行された最大コンテキスト数。
ActiveContextsStart: この時間間隔の開始時に実行されたコンテキストの数。
ActiveContextsEnd: この時間間隔の終了時に実行されたコンテキストの数。