Probekit の概説

Probekit は、スクリプト記述可能なバイトコード・インスツルメンテーション (BCI: byte-code instrumentation) によるフレームワークです。これを使用して、Java コード・フラグメントを作成し、これをプログラムに挿入することで、プログラムを実行しながらプログラムに関する情報を提供することができます。

Probekit ファイルには、1 つまたは複数のプローブを格納でき、各プローブを 1 つ以上のプローブ・フラグメントから構成することができます。指定されたプログラムで使用するプローブと、プローブ・フラグメントを実行する時期を指定することができます。

プローブ・フラグメントは一連の Java メソッドとしてまとめられ、その後コンパイルされます。プローブがコンパイルされると、プローブのコード・フラグメントが標準のボイラー・プレートと結合され、新しいクラス用の Java ソース・コードが生成されます。 プローブ・フラグメントから生成された関数は、生成されたプローブ・クラスの静的メソッドとして出力されます。

プローブが適用されると、BCI エンジンがプローブとそのターゲット・パターンのリストを参照して、プローブ・フラグメント・メソッドの呼び出しをターゲット・プログラムに挿入します。ターゲット・メソッドに呼び出しステートメントを挿入するプロセスを「インスツルメンテーション」と呼びます。 プローブ・フラグメントによって要求されるデータ項目 (例えば、メソッド名や引き数) は、引き数として渡されます。このシステムの利点の 1 つは、少ないオーバーヘッドで多数のターゲット・メソッドにプローブを挿入できることです。

クラス内のいずれかのメソッドがフィルター・ルールを満たし、インスツルメンテーションに適格であるとき、そのクラスを「プローブ実行済みクラス」と呼びます。

プローブ・フラグメントは、次の場合に実行できます (すべてのフラグメント・タイプのリストは フラグメント・プローブ・オブジェクト にあります)。:
プローブ・フラグメントは、プローブ・フラグメントが挿入されるメソッドに関する以下のタイプの情報にアクセスすることができます。

親トピック: ユーザー定義プローブを使用したランタイム・データの収集

関連概念
メソッド・プローブ対呼び出しサイト・プローブ

関連資料
Probekit の例

使用条件 | フィードバック
(C) Copyright IBM Corporation 2004. All Rights Reserved. (C) Copyright IBM Japan 2004