JPH0810440B2 - アプリケーション イベント収集方法 - Google Patents
アプリケーション イベント収集方法Info
- Publication number
- JPH0810440B2 JPH0810440B2 JP3053231A JP5323191A JPH0810440B2 JP H0810440 B2 JPH0810440 B2 JP H0810440B2 JP 3053231 A JP3053231 A JP 3053231A JP 5323191 A JP5323191 A JP 5323191A JP H0810440 B2 JPH0810440 B2 JP H0810440B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- data
- software application
- facility
- collected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
ーション イベント コレクション(収集)システムに
関するものである。殆どのソフトウエア イベント コ
レクション システムは、“タイマ ベースト”であ
り、すなわち特定の時間間隔をもってアプリケーション
プログラムよりデータを収集する。任意の時間にはア
プリケーションのランダムの部分が遂行されているの
で、収集されたデータ内のイベントの実際の周波数は、
平均または推定の周波数をもって計算するを要する。一
方いわゆる“イベント ベースト”評価方式では、アプ
リケーション内の特定の位置のデータを収集する。従っ
てこの方式では、イベント(事象)の実際の周波数で収
集を行い、報告をし、決して見込み周波数に基づくもの
ではない。例えば、ソフトウエア デバッグ(デバッギ
ング)システムは、イベント ベースト評価システムの
一種である。デバッグ システムにおいては、デバッグ
すべきアプリケーションを、興味あるポイントにおいて
“インストルメント”を行い、実際のデバッグを行う他
のアプリケーション内にサービス ルーチンのコールと
共にこのインストルメントを行う。これらの興味ある点
(ポイント オブ インタレスト)は場合により“ブレ
ークポイント”とも称され、例えばサブルーチンの開始
点及び終了点を含んでいる。インストルメントされたサ
ブルーチンを実行する都度、イベントに関連するデータ
が評価(エバリュエーション)の一部として収集され
る。
ソフトウエア内に内蔵されるアプリケーション イベン
ト コレクタを特徴とし、以下にその好適実施例につい
て説明する多数の同時に対するイベント ベースト デ
ータを収集するものである。このコレクタは次の各ステ
ップに従って動作する。 (a) ソフトウエア アプリケーション内に埋入(内蔵)
されているイベントマーキング インストラクションの
デフィニションを記憶するステップ。各インストラクシ
ョンはエネーブルされたときは、イベント ベースト
データを収集し、かつ当該インストラクションが内蔵さ
れていたソフトウエア アプリケーションを識別するデ
フィニション並びにこのインストラクションによって収
集されるデータのタイプを収集することが可能である。 (b) アプリケーションの実行前または実行中において、
イベント マーキングインストラクションのサブセット
を選択し、これらのインストラクションをエネーブルす
るステップ。 (c) ソフトウエア アプリケーションの実行中エネーブ
ルされたイベント マーキング インストラクションを
検出し、かくエネーブルされたインストラクションによ
って規定されるデータを収集するステップ。
ーションを層に分割し、その各々にイベント マーキン
グ インストラクションを内蔵させる。これらのイベン
トマーキング イスントラクションは、データ アイテ
ムの一部またはすべてを選択的に収集することが可能で
あり、ユーザはこれらのうち何れのデータ アイテムを
収集すべきかを選択することができる。ユーザはさらに
データ アイテムの収集をディスエーブルすることがで
きる。この目的のため、イベント マーキング インス
トラクションのデフィニションはインストラクションが
内蔵されているソフトウエアの層の識別を含んでおり、
かつこのデフィニションはイベントマーキング インス
トラクションのクラス及び選択すべきデータ アイテム
(項目)を含む。
の利点の1つは“リアル・タイム”収集能力、すなわち
あるアプリケーションがその所期の運用環境において動
作中に、このアプリケーションよりイベント データを
収集する可能性である。このリアル・タイム収集は“モ
デルド”評価、すなわちアプリケーションがシミュレー
トした環境内で走行中にこのアプリケーションよりイベ
ント データを収集するものと全く逆である。このよう
なリアル・タイム収集の可能性は、ユーザによってスケ
ジュールされたユーザ インタフェースを介し特定され
たイベントのみを記録することができ、コレクタはラン
タイムにおける実際の周波数を捕捉することができる。
このため極めて重大なランタイム オーバーヘッド(計
算及び記憶の両者について)が省略できる。同様に本コ
レクタは、あるソフトウエア アプリケーション内の任
意の層の組合せよりイベント ベースト データを収集
することができる。
リケーション ランタイム パーフォーマンスの同調を
ベースとして作用するイベント ベースト データの収
集を可能とする。
ス(資源)の計画の基礎となる。(“キャパシティ プ
ラニング”とも云われる。)すなわち本コレクタはある
アプリケーションの計算及び記憶のニーズを決定するこ
とができる。結果として得られたデータは、例えば“DE
Ccp(出願人社名;コンピュータ プログラム)バージ
ョン1.1 容量のプラニング製品に入力することができ
る。
バッギング アプリケーションの基礎及びアプリケーシ
ョン内のロッギング エラーの基礎を提供する。最後に
本コレクタは、コレクタがデータを収集するアプリケー
ションに及ぼすパーフォーマンス インパクトを最小に
し、かつユーザは如何なるデータを収集するかを顧客注
文で決定できる。このため本コレクタは生産用にも研究
用にも何れにも使用することが可能である。
よるアプリケーション イベント コレクタ(以下“コ
レクタ”という)は、サービス ルーチン コールを含
む他の層状ソフトウエア アプリケーションからコレク
タに収集したイベント ベースト データに関して収集
を行い、フォーマット化し、報告を行う層状ソフトウエ
ア アプリケーションにおいて具現化される。アプリケ
ーションは1つまたはそれ以上の“層(レア)”により
形成される。例えばアプリケーション層はアプリケーシ
ョン コード(すなわち、顧客カード)または層状製品
コード(すなわち、VAX ACMS, VAX Rdb /VMS,3rd part
y softwareその他)とすることができる。図1は4つの
層を有するアプリケーション2をブロック状に示したも
ので、層の配置は階層状、すなわち、VAX ALL-in-1層3
で始まり、VAX ACMS(ApplicationControl Management S
ystem )層4に続き、顧客コード層5および VAX Rdb/V
MSデータベース層6に至る配置とすることができる。ア
プリケーションの各層内のソースコードは層からイベン
ト ベースト データを収集するため、後述のコレクシ
ョン サービス ルーチンへのコールでインストルメン
トする必要がある。いったん、層をインストルメントし
た後は、ユーザは図2に関して後述するスケジュール
ユーザ インタフェースを介してデータ収集の実現を行
うことができる。
して作動させるという目標(ゴール)はデータ収集をタ
ーン オンさせるときと同じく、データ コレクション
のターン オフ時にも重要であるので、アプリケーショ
ンの各層内のソース コードは、種々の“イベント コ
レクション フラッグ”によりどのイベントが現在収集
されているかを決定する。例えば、イベント コレクシ
ョン フラッグがセットされた場合は、アプリケーショ
ン層からコレクション サービス ルーチンへのコール
を発出させ、そうでない場合には、アプリケーション層
からサービス ルーチンへのコールを発出させないよう
にし、かくしてデータ コレクションのターン オフ時
におけるオーバーヘッドの最小化をはかっている。特
に、オーバーヘッドは2つのインストラクション、すな
わち、フラッグをセットするかどうかを決めるための
“比較”インストラクションとアプリケーション層の実
行を継続させるための“分岐”インストラクションとに
限定される。
データを収集できるか、また各層内でどのようなイベン
トおよびデータ アイテムを使用できるかを決定しうる
ようなシステムを与えることにより、オーバーヘッドを
最小にする目標を達成する。かくすれば、ユーザはユー
ザが興味を有する層のみからデータを収集することがで
きる。例えば、ユーザが現在の VAX Rdb/VMS データベ
ースに同調(tuning)させることに興味を有する場合
は、ユーザはアプリケーションの Rdb/VMSデータベース
層のみから収集されたデータを欲していると特定するこ
とができる。オーバーヘッドをさらに最小にするため、
ユーザは各層内で収集されるべき1つまたはそれ以上の
種々のイベント“クラス”を特定することができ、例え
ば、ユーザがVAX Rdb/VMS層からのワークロード デー
タのみを収集することに興味を有する場合は、ユーザは
ワークロード イベントおよびデータ アイテムのみを
含むデータのクラスを特定することができる。
ステム、すなわち、VAX クラスタ(VAX cluster )上で
どのようなアプリケーションが実行(ラン)されている
かを決定するのにコレクタを使用することができる。ど
のアプリケーションが実行されているかを決定した後、
ユーザは彼が特定したデータ収集をスケジュールするこ
とができる。さらに、ユーザは特定されたデータをどの
位の長さにわたって収集し、収集されたデータをどこに
記憶し、かつどの特定アプリケーションからデータを収
集するかをスケジュールすることができる。例えば、ユ
ーザが興味を有している VAX Rdb /VMS データベース
とインタフェースしているアプリケーションはなにかを
知っている場合は、ユーザはそれらのアプリケーション
のみからのデータ収集を特定することができる。また、
ユーザがデータを収集しようと所望するアプリケーショ
ンが標準的に午前8時から午後5時の間ランすることを
知っている場合は、ユーザはそれに応じて収集時間を制
限することができる。
プログラマが“ファシリティ ディフィニション(機
能限定)”を生成するシステム、換言すれば、アプリケ
ーション プログラマがイベントの数、各イベントに関
連するデータ アイテムの数ならびにプログラマのアプ
リケーションに含まれるイベントおよびデータ アイテ
ムのクラスの数を限定するシステムである。この場合、
プログラマはイベントベースト評価システムに共通な種
々のサービス ルーチン コールでアプリケーション
コードをインストルメントするのに加えてこれを実施す
る。ひとたび、ファシリティ ディフィニションが完了
した後は、ユーザは“ファシリティセクション(機能選
択)”を生成することが可能となり、換言すれば、多数
のアプリケーションに対する複数のファシリティ ディ
フィニションの間からイベント、データ アイテムおよ
びクラスを選択することができる。また、ユーザはファ
シリティ セクションをいつターン オンするか(すな
わち、選択されたアプリケーションに対していつデータ
収集を始めるか)、またファシリティ セレクションを
いつターン オフするか(すなわち、選択されたアプリ
ケーションに対していつデータ収集をストップするか)
を選択することができる。このアプリケーションの1つ
の利点は、ファシリティ セクションがターン オフさ
れたアプリケーションはオーバーヘッドを招来しないと
いうことで、換言すれば、アプリケーションそれ自体は
完全にインストルメントされているという事実にもかか
わらず、アプリケーションは実際にサービス ルーチン
コールを実行しないということである。
ケーション層12を有するソフトウエア アプリケーショ
ンを含む。アプリケーション層12の1つの例としては、
銀行用自動端末装置(ATM ;bank automatic teller ma
chine )用のソフトウエアがあげられる。各アプリケー
ション層12は複数の“イベント(events)”、すなわ
ち、1またはそれ以上のオペレーション(演算)の発生
を含む。前記イベントは2つのタイプ、すなわち、スタ
ートおよび終わりを有するイベント(“デュレーショ
ン”イベントという)および簡単に起こるイベント
(“ポイント”イベントという)に分割される。デュレ
ーション イベントの例としては、バランス(残高)の
チェック、資金の預入、資金の回収のようなATM トラン
ザクション(処理)があり、またATM アプリケーション
層におけるポイント イベントの例としては誤り処理手
順(error handling procedure)がある。
に複数のデータ アイテム、すなわち、以下のテーブル
1にリストアップされているような標準リソース利用ア
イテムに関連する。それは、ファシリティ ディフィニ
ションにおける各イベントに対して標準リソース利用ア
イテムを限定した場合はコレクタにより各イベントの実
行に際し収集されたこれらアイテムの各々に関係するデ
ータである。
ション層12はレジストラ プロセス(registrar proces
s )14に接続する。前記レジストラ プロセス14はアプ
リケーション層に対して収集されるべきイベントおよび
データ アイテムの記述を含むアドミニストレーション
データベース(事務管理データベース)16とアプリケ
ーション層との間の通信を取り扱う。アプリケーション
層12に対するイベントおよびデータ アイテムはアドミ
ニストレーション データベース16内に記憶された“フ
ァシリティ ディフィニション”内に限定される。同様
に、アドミニストレーション データベース16内に記憶
された“ファシリティ セクション”は、収集されたデ
ータをユーザに誂えることを可能にするため、ファシリ
ティ ディフィニション内に限定されたイベントおよび
データ アイテムのサブセットを限定する。
14を介してスケジュール ユーザインタフェース18に接
続し、前記インタフェース18をアドミニストレーション
データベース16に接続する。スケジュール ユーザ イ
ンタフェース18、アドミニストレーション データベー
ス16、レジストラ14およびアプリケーション層12間の通
信は、例えば、ファシリティ セクションがターン オ
ンされたとき、換言すれば、ユーザがアプリケーション
層にデータの収集を始めることを告知するようなコレク
ションをスケジュールしたとき、また、ファシリティ
セクションがターン オフされたとき、換言すれば、ユ
ーザがその予定終了時間前にコレクションを取消したと
き、制御されるようにする。この配置の1つの特点は、
データが収集されていないときのアプリケーション層12
における任意の性能の低下を最小にするということであ
る。
ァシリティ セクションにおいて特定されたイベントお
よびデータ アイテムに関連するデータはデータ収集フ
ァイル20内に格納される。ユーザはデータ収集ファイル
20内のデータをフォーマット化し、本明細書に後述する
ような種々のレポートを生成することができるが、まず
はじめに図3のフローチャートに関連して、アプリケー
ション層プログラマにより行われ、ユーザにより実行さ
れる収集プロセスの全体を以下に説明することにする。
ラマはデータを収集し、それをデータ収集ファイル20に
格納するサービス ルーチン コールで彼のアプリケー
ション層12を“インストルメント”する(ステップ100
)。このようなコールは、例えば、アプリケーション
層がいつ開始されるか、イベントがいつ始まるか、また
イベントがいつ終わるかを指示し、それが行われた場
合、アプリケーション層12は、どのイベントおよびデー
タ アイテムがアプリケーション層12用として選択され
たかを決定し、収集を開始する。また、収集のスタート
時に、レジストラ14は種々のサブルーチンで通信の制御
を行い、アプリケーション層12が収集しているデータを
どこに格納するかに関し、データ収集ファイル20内に記
録を設定する。
ション層12に対する“ファシリティディフィニション”
を生成し、このディフィニションをアドミニストレーシ
ョン データベース16内に格納する(ステップ102 )。
ユーザはこれらのファシリティ ディフィニションを見
てデータ収集のスケジューリングを支援する。次いで、
ユーザはファシリティ ディフィニション内の情報から
“ファシリティ セクション”を生成し、このファシリ
ティ セクションにおいて、ユーザは彼がデータを収集
することを所望する各ファシリティに対するイベントお
よびアイテムのクラスならびにファシリティに関し命名
を行う(ステップ104 )。このようなセクションを終了
すると、ユーザは次にスケジュール ユーザ インタフ
ェース18を介してデータ収集のスケジュールを行う(ス
テップ106 )。換言すれば、ステップ104 で生成された
ファシリティ セクションまたは前に生成されたファシ
リティ セクションを参照(reference )する。次に、
ユーザはスケジュールユーザ インタフェース18を介し
て収集をスケジュールしてアプリケーション層12を実行
し、アプリケーション層およびレジストラ14にステップ
100 で限定されたイベントに対するデータを収集させ、
データ収集ファイル20内にデータを格納させる(ステッ
プ108 )。最後に、ユーザはデータ収集ファイル20内に
格納されたデータをフォーマット化し(ステップ110
)、フォーマット化されたデータをレポート形状にプ
リントする(ステップ112 )。これらの各ステップの詳
細に関しては以下に詳述することにする。
ンティング 図3に関して上述したように、データ収集プロセスの第
1プロセスにおいて、アプリケーション プログラマは
アプリケーション層12のソースコードをサービス ルー
チン コールでインストルメントする。以下のテーブル
2はコレクタにより認識された各々異なる目的に適うサ
ービス ルーチン コールをリストアップしたもので、
例えば、INITサービス ルーチン コールは1つのアプ
リケーション層(ファシリティともいう)として識別
し、その層がデータを収集できることをレジストラ プ
ロセス14に報知する。このように、いったんアプリケー
ション層が識別されると、種々のEVENT サービス ルー
チン コールはアプリケーション層内のイベント、すな
わち、ポイント イベントの発生またはデコレーション
イベントのスタートおよび終わりを限定する。アプリ
ケーション層12からコレクタ サービス ルーチンを介
してレジストラ14に至る各コールはさらに複数の誤りチ
ェックを含み、レジストラがデータ収集を行うのに必要
なすべてのデータがアプリケーション層を通過しうるよ
うにしている。以下、図4ないし図13に関し、種々のサ
ービス ルーチン コールの特徴につき説明する。
チン コールの最初のものは各アプリケーション層12に
対する最初のイベントに先立ってインストルメントされ
るINITで、その目的はアプリケーション層12が実行中で
あり、データ収集が可能であることをレジストラ14に報
知することである。以下の“Code exampte1(コード例
1)”はアプリケーション コードの1セクションにお
いてインストルメントされたINITサービス ルーチン
コールの一例を示す。
ラ14で登録すること、換言すればアプリケーション層12
がランしており、データ収集が可能であることをレジス
トラに報知することである。図4のフローチャートはIN
ITを示す。まず、INITは、それがルーチンをコールした
ときアプリケーション層12により通過されるパラメータ
のリスト内の任意のエラーに応答するためエラー コン
ディション ハンドラーをエネーブルする(ステップ20
0 )。次に、INITはパラメータのリスト内の1つまたは
それ以上のパラメータの内容を妥当または有効(valid
)と認め(ステップ202 )、予期しないエラーにより
コレクションがアプリケーションに対して前にディスエ
ーブルされなかったことを確認して、コレクションがエ
ネーブルされたかどうかを決定し(ステップ204 )、か
つアプリケーション層12により通過されたファシリティ
ナンバー パラメータの内容が妥当(valid )である
かどうかを決定する。かくして、ステップ202 −206 に
おける任意のテストの結果が誤りである場合には、エラ
ーはアプリケーション層12に戻される(ステップ20
8)。これに対して、ステップ202 −206 における各テ
ストの結果が真実である場合は、INITはアプリケーショ
ン層12により通過されるファシリティ ナンバーパラメ
ータの内容をローカル バリアブル(local variable)
内に複写(コピー)し(ステップ210 )、ファシリティ
バージョン パラメータの内容を有効と認め(ステッ
プ212 )、かつファシリティ バージョン パラメータ
の内容をローカル バリアブル内に複写する(ステップ
214 )。しかし、この場合、ファシリティ バージョン
パラメータの内容が無効(invalid )であることが分
かった場合(ステップ212 )はINITはエラーをアプリケ
ーション層12に戻す(ステップ216 )。アプリケーショ
ン層12により通過される所要パラメータの内容を初期設
定し、妥当と認めると、INITは次にアプリケーション層
が初期設定されたかどうかを決定する(ステップ218
)。すなわち、アプリケーション層により通過される
ファシリティ ナンバーおよびファシリティ バージョ
ン パラメータの内容を使用して、INITがアプリケーシ
ョン層内の同じ層から2度コールされたかどうかを決定
する。この決定を支援するため、レジストラ プロセス
14はINITをコールし、かくしてレジストラと接続された
各アプリケーション層に対するファシリティエントリー
を含むファシリティ リストを保持する。INITがすでに
アプリケーション層が初期設定されていることを決定し
た場合、それはメッセージをアプリケーシン層に戻し
(ステップ220 )、INITがすでにアプリケーション層か
らコールされていることを表示する。次いで最後に、IN
ITはアプリケーション層12により通過されるレジストレ
ーション アイデンティフィケーション(登録識別)の
内容を有効と認め(ステップ222 )、その識別が妥当な
場合、INITはその内容をローカル バリアブル内に複写
して(ステップ224 )、その識別が無効の場合INITはエ
ラーをアプリケーション層に戻す(ステップ226 )。
めた後、INITはデータ収集からの情報を受信するため、
アプリケーション層12により通過される任意の残りのパ
ラメータの準備を行う。特にINITは各フラッグ内にゼロ
を書込み(ステップ228 )、ステータス パラメータを
クリアすること(ステップ230 )で、アプリケーション
層12により通過されるイベント フラッグおよびアイテ
ム フラッグ パラメータをクリアする。ステップ228
および230 の後、INITはアプリケーション層12からレジ
ストラ14にメッセージを通信するために使用するリソー
ス ネーム(図2)を構成する。
トラ14からのスタートおよびストップ メッセージ、す
なわち、データ収集をスタートまたはキャンセルさせる
メッセージを受信するアプリケーション層12用の一時的
メールボックスを生成する(ステップ234 )。かくし
て、ファシリティがファシリティ リスト内に入ってい
ない場合には、INITはファシリティ リストにファシリ
ティ エントリーを付加する(ステップ236 )。図5は
ファシリティ エントリーをブロック ダイヤグラム形
状に示すもので、ファシリティ ナンバー50、イベント
フラッグ52、イベント フラッグ用アドレス54、アイ
テム フラッグ56およびアイテム フラッグ用アドレス
58を含む。ついで、INITはイベント フラッグ52および
アイテムフラッグ56に対して値(value )を割当てる
(ステップ238 )。
エントリーを生成するため、INITはまず初めにエント
リーを生成し、エントリーのファシリティ ナンバー
フィールド50にファシリティ バージョン ナンバー
パラメータの内容を複写する。同様に、INITはエントリ
ー内のそれらの関連フィールドにアイテム フラッグの
アドレス、イベント フラッグ パラメータのアドレス
およびアイデンティフィケーション(識別)パラメータ
の内容を複写する。最後に、INITは、それがデータ収集
用に利用できるようエントリーを初期設定し、レジスト
ラにファシリティ エントリー情報を送出し、かつファ
シリティが登録(register)されたことを示すフラッグ
をセットする。
のためにターン オンされる場合は、ファシリティ エ
ントリーはすでにエグジット(exit)している。したが
って、INITは、ステップ238 におけるように現存のファ
シリティ エントリーを更新するか、あるいはステップ
236 におけるエントリーの生成後、イベント フラッグ
52の内容をセットし、アイテム フラッグ56の内容をセ
ットし、データ収集ファイル20にエントリーを書込み、
エントリーにファシリティ バージョンおよびアイデン
ティフィケーションの内容を複写する。最後に、INITは
ファシリティの状態およびそのデータ コレクションを
アプリケーション層に戻す。すなわち、サクセス(SUCC
ESS )またはディスエーブル(DISABLE )する(ステッ
プ240 )。
非同期ポイント イベントの発生時にインストルメント
されるサービス ルーチン コールでその目的はデータ
収集ファイル20内にポイント イベント データを記録
することである。以下の“コード例2”はアプリケーシ
ョン コードの1セクション内にインストルメントされ
たEVENT (イベント)サービス ルーチン コールの一
例を示す。
ルされた際のEVENT (イベント)の作動を図6のフロー
チャートに示す。まず最初に、EVENT (イベント)は、
それがルーチンをコールしたとき、アプリケーション層
12により通過されるパラメータ内の任意のエラーに応答
させるため、エラー コンディション ハンドラーをエ
ネーブルする(ステップ300 )。次に、EVENT (イベン
ト)はデータ コレクションがディスエーブルされたか
どうかを決定し(ステップ362 )、データ収集がディス
エーブルされた場合、EVENT はエラーをアプリケーショ
ン層12に戻し(ステップ304 )、そうでない場合、EVEN
T はパラメータのリスト内の所要のパラメータを妥当と
して(ステップ306 )、他のサービス ルーチンEVENTP
RVをコールし(ステップ308 )、パラメータの内容を妥
当と認め、その内容をファシリティ エントリーに書込
む(EVENTPRVについては図8に関して後述する)。最後
に、EVENT はコールの状態(status)をアプリケーショ
ン層に戻す(ステップ310)。これと同じように、EVENT
Wはアプリケーション層12内の各同期ポイント イベン
トの発生時にインストルメントされるサービス ルーチ
ン コールで、その目的はデータ収集ファイル20内に同
期ポイント イベント データを記録することである。
アプリケーション層コードの1セクション内にインスト
ルメントされたEVENTWサービス ルーチン コールの一
例を上記の“コード例2”に示す。さらに、アプリケー
ション層12によりコールされた際のEVENTWの作動を図7
のフローチャートにより以下に説明する。図7におい
て、EVENTWは最初に、それがルーチンをコールしたと
き、アプリケーション層12により通過されるパラメータ
内の任意のエラーに応答させるため、エラー コンディ
ション ハンドラーをエネーブルする(ステップ400
)。次に、EVENTWはデータ コレクションがディスエ
ーブルされたかどうかを決定し(ステップ402 )、デー
タ収集がディスエーブルされた場合、EVENTWはエラーを
アプリケーション層12に戻し(ステップ404 )、そうで
ない場合、EVENTWはパラメータのリスト内の1つまたは
それ以上のパラメータの内容を妥当として(ステップ40
6 )、サービス ルーチンEVENTPRVをコールし(ステッ
プ408 )、パラメータの内容を妥当と認め、その内容を
ファシリティ エントリーに書込む(EVENTRVについて
は図8に関して後述する)。最後に、EVENTWはコールの
状態をアプリケーション層に戻す(ステップ410 )。
るルーチンで、その目的はイベント サービス ルーチ
ンにおいて収集されたデータをファシリティエントリー
に入れることである。この目的のため、EVENTPRVは、そ
れがイベントサービス ルーチンから受信するパラメー
タの内容を取得して、それらを妥当と認め、ファシリテ
ィ エントリー内にそれらを複写する。以下図8のフロ
ーチャートに関してEVENTPRVの作動を説明する。
ベント サービス ルーチンにより通過されるパラメー
タ内の任意のエラーに応答させるため、エラー コンデ
ィション ハンドラーをエネーブルする(ステップ500
)。次に、EVENTPRVはファシリティ ナンバー パラ
メータの内容(ステップ502 )、イベント アイデンテ
ィフィケーションの内容(ステップ504 )および任意の
オプショナル パラメータの内容を妥当と認める。つい
で、EVENTPRVはオプショナル パラメータの各々を妥当
とし(ステップ508 )、妥当でない任意のパラメータに
対するイベントサービス ルーチンにエラーを戻す。
イベント サービス ルーチンにより通過されるファシ
リティ ナンバー パラメータに対応するファシリティ
エントリーの位置を捜し出し(ステップ510 )、もし
ファシリティ エントリーがない場合は、EVENTPRVはエ
ラーをイベント サービス ルーチンに戻す(ステップ
512 )。これに対して、ファシリティ エントリーがあ
る場合、EVENTPRVはイベントを収集すべきかどうか、す
なわち、イベントに対するフラッグをセットするかどう
かを決定する(ステップ514 )。かくして、イベントが
収集されるべきでない場合は、EVENTPRVはエラーをイベ
ント サービス ルーチンに戻し(ステップ516 )、そ
うでない場合、EVENTPRVは収集されたデータを保持する
に必要なレコードのサイズを決定し(ステップ518 )、
その記録に対してスペースを割当て(ステップ520 )、
レコードに時刻印(timestamp )を付す(ステップ522
)。このように、レコード(記録)を準備した後、EVE
NTPRVはイベント サービスルーチンにより通過される
パラメータの内容をレコード内に複写し(ステップ524
)、データ収集ファイル20にレコードを書込み(ステ
ップ526 )上首尾のステータス(successful status
)、すなわち、SUCCESS をイベント サービスルーチ
ンに戻す(ステップ528 )。
ビス ルーチン コール START EVENT (スタート イベント)はアプリケーショ
ン層12における各非同期デュレーション イベントのス
タート時にインストルメントされるサービスルーチン
コールで、その目的は、非同期デュレーション イベン
ト データをデータ収集ファイル20に記録することであ
る。アプリケーション コードの1セクションにおいて
インストルメントされたSTART EVENT (スタート イベ
ント)サービス ルーチン コールの一例を前述の“コ
ード例1”に示す。以下、図9のフローチャートに関
し、アプリケーション層12によりコールされた際のSTAR
TEVENT の作動につき説明する。
に、アプリケーション層12により通過されるパラメータ
内の任意のエラーに応答させるため、エラー コンディ
ション ハンドラーをエネーブルし(ステップ600 )、
次にSTART EVENT はデータコレクションがディスエーブ
ルされたかどうかを決定する(ステップ602 )。かくし
て、データ収集がディスエーブルされた場合は、START
EVENT はエラーをアプリケーション層12に戻し(ステッ
プ604 )、そうでない場合にはSTART EVENTは所要のパ
ラメータを妥当として(ステップ606 )、図11に関し後
述するルーチンSTART EVENTPRVをコールし(ステップ60
8 )、最後に、START EVENT はステータスをアプリケー
ション層12に戻す(ステップ610 )。
ョン層12における各同期デュレーション イベントのス
タート時にインストルメントされるサービス ルーチン
でその目的は同期デュレーション イベント データを
データ収集ファイル20に記録することである。アプリケ
ーション層コードの1セクションにおいてインストルメ
ントされたSTART EVENTWサービス ルーチン コールの
一例を前述の“コード例1”に示す。以下、図10のフロ
ーチャートに関し、アプリケーション層12によりコール
された際のSTART EVENTWの作動につき説明する。
に、アプリケーション層12により通過されるパラメータ
内の任意のエラーに応答させるため、エラー コンディ
ションハンドラーをエネーブルし(ステップ700 )、次
にSTART EVENTWはデータ コレクションがディスエーブ
ルされたかどうかを決定する(ステップ702 )。かくし
て、データ収集がディスエーブルされた場合は、START
EVENTWはエラーをアプリケーション層12に戻し(ステッ
プ704 )、そうでない場合には、START EVENTWは所要の
パラメータを妥当として(ステップ706 )、図11に関し
後述するルーチンSTART EVENTPRVをコールし(ステップ
708 )、最後にSTART EVENTPRVはステータスをアプリケ
ーション層12に戻す(ステップ710 )。
ル 図11においてSTART EVENTPRVはまず最初に、スタート
イベント サービスルーチンにより通過されるパラメー
タ内の任意のエラーに応答させるため、エラー コンデ
ィション ハンドラーをエネーブルする(ステップ800
)。次に、START EVENTPRVは所要のパラメータ、すな
わち、ファシリティ ナンバー パラメータの内容(ス
テップ802 )、イベント アイデンティフィケーション
の内容(ステップ804 )およびハンドルの内容(ステッ
プ806 )を妥当と認め、これらのテストに応じて、STAR
T EVENTPRVは妥当でない任意のこれらパラメータに対す
るスタート イベント サービス ルーチンにエラーを
戻す(ステップ808 )、次にSTART EVENTPRVはオペレー
ティング システムのイベント フラッグをクリアし
(ステップ810 )、任意のオプショナル パラメータの
内容を妥当と認める(ステップ812 )。
TPRVはイベント サービス ルーチンにより通過される
ファシリティ ナンバー パラメータに対応するファシ
リティ エントリーの位置を捜し出し(ステップ814
)、もし、ファシリティ エントリーがない場合は、S
TART EVENTPRVはエラーを、そのファシリティに対して
データが収集されていないことを示すイベント サービ
ス ルーチンに戻す(ステップ816 )。これに対して、
ファシリティ エントリーがある場合、START EVENTPRV
はイベントを収集すべきかどうか、すなわち、イベント
に対するフラッグをセットするかどうかを決定する(ス
テップ818 )。かくして、イベントが収集されるべきで
ない場合には、START EVENTPRVはエラーをイベント サ
ービス ルーチンに戻し(ステップ820 )、そうでない
場合、START EVENTPRVは収集されたデータを保持するに
必要なレコードのサイズを決定し(ステップ822 )、そ
のレコードに対してスペースを割当て(ステップ824
)、レコードに時刻印(timestamp )を付す(ステッ
プ826 )。このように、レコードを準備した後、START
EVENTPRVはイベント サービス ルーチンにより通過さ
れるパラメータの内容をレコード内に複写し(ステップ
828 )、データ収集ファイル20にレコードを書込み(ス
テップ830 )、上首尾のステータスス(successful sta
tus )、すなわち、SUCCESS をイベント サービス ル
ーチンに戻す(ステップ840 )。
レーション イベントの終わりにインストルメントされ
るサービス ルーチン コールで、その目的はデータ収
集ファイル20にデュレーション イベント データを記
録することである。アプリケーション層コードの1セク
ションにおいてインストルメントされたEND EVENT サー
ビス ルーチン コールの一例を前述の“コード例1”
に示す。以下、図12のフローチャートに関し、アプリケ
ーション層12によりコールされた際のEND EVENT の作動
につき説明する。
プリケーション層12により通過されるパラメータ内の任
意のエラーに応答させるため、エラー コンディション
ハンドラーをエネーブルし(ステップ900 )、次に、
END EVENT はデータ コレクションがディスエーブルさ
れたかどうかを決定する(ステップ902 )。かくして、
データ収集がディスエーブルされた場合は、END EVENT
はエラーをアプリケーション層12に戻し(ステップ904
)、そうでない場合にはEND EVENT は所要のパラメー
タを妥当と認める(ステップ906 )。ここで、所要のパ
ラメータが存在する場合は、END EVENT は図14に関し後
述するルーチンEND EVENTPRVをコールし(ステップ908
)、そうでない場合はEND EVENT はエラーをアプリケ
ーション層12に戻す(ステップ909 )。最後に、END EV
ENT はステータスをアプリケーション層12に戻す(ステ
ップ910 )。
ン層12における各同期デュレーション イベントの終わ
りにインストルメントされるサービス ルーチン コー
ルで、その目的はデータ収集ファイル20にデュレーショ
ン ポイント イベント データを記録することであ
る。アプリケーション コードの1セクションにおいて
インストルメントされたEND EVENTWサービス ルーチン
コールの一例を前述の“コード例1”に示す。以下、
図13のフローチャートに関し、アプリケーション層12に
よりコールされた際のEND EVENTWの作動につき説明す
る。
イベント サービス ルーチンにより通過されるパラメ
ータ内の任意のエラーに応答させるためエラー コンデ
ィション ハンドラーをエネーブル(enable)し(ステ
ップ1000)、次にEND EVENTWはデータ コレクションが
ディスエーブルされたかどうかを決定する(ステップ10
02)。かくして、データ収集がディスエーブルされた場
合は、END EVENTWはエラーをアプリケーション層12に戻
し(ステップ1004)、そうでない場合には、END EVENTW
は所要のパラメータの存在をチェックする(ステップ10
06)。ここで所要のパラメータが存在する場合は、END
EVENTWは図14に関し後述するルーチンEND EVENTPRVをコ
ールし(ステップ1008)、そうでない場合はEND EVENTW
はエラーをアプリケーション層12に戻す(ステップ100
9)。最後に、END EVENTWはステータスをアプリケーシ
ョン層に戻す(ステップ1010)。
END EVENTWによりコールされるサービス ルーチンで、
その目的はエンド イベント サービス ルーチンによ
り収集されたデータをファシリティ エントリーに格納
することである。これがため、END EVENTPRVはそれがエ
ンド イベント サービス ルーチンから受信するパラ
メータの内容を取得して、それらを妥当と認め、ファシ
リティエントリー内にそれらを複写する。以下、図14の
フローチャートに関してEND EVENTPRVの作動につき説明
する。図14において、END EVENTPRVはまず最初に、エン
ド イベント サービス ルーチンにより通過されるパ
ラメータ内の任意のエラーに応答させるため、エラーコ
ンディション ハンドラーをエネーブルする(ステップ
1100)。次に、ENDEVENTPRVはファシリティ ナンバー
パラメータの内容(ステップ1102)、イベント アイ
デンティフィケーションの内容(ステップ1104)および
ハンドルの内容(ステップ1106)を妥当と認め、END EV
ENTPRVは妥当でない任意のこれらパラメータ用のエンド
イベント サービス ルーチンにエラーを戻す(ステ
ップ1108)。次に、END EVENTPRVはイベント フラッグ
をクリアし(ステップ1110)、任意のオプショナル パ
ラメータの内容を妥当と認める(ステップ1112)。次
に、END EVENTPRVはイベント サービス ルーチンによ
り通過されるファシリティコード パラメータに対応す
るファシリティ エントリーの位置を捜し出す(ステッ
プ1114)。かくして、そこにファシリティ エントリー
がない場合は、END EVENTPRVはエラーをイベント サー
ビス ルーチンに戻し(ステップ1116)、そうでない場
合は、END EVENTPRVはイベントを収集すべきかどうか、
すなわち、イベントに対するフラッグをセットするかど
うかを決定する(ステップ1118)。ここで、イベントが
収集されるべきでない場合は、END EVENTPRVはエラーを
イベント サービス ルーチンに戻し(ステップ112
0)、そうでない場合、END EVENTPRVは収集されたデー
タを保持するに必要なレコードのサイズを決定し(ステ
ップ1122)、そのレコードに対してスペースを割当て
(ステップ1124)、レコードに時刻印(timestamp )を
付す(ステップ1126)。このようにレコードを準備した
後、END EVENTPRVはイベント サービス ルーチンによ
り通過されるパラメータの内容をレコード内に複写し
(ステップ1128)、データ収集ファイル20にレコードを
書込み(ステップ1130)、上首尾のステータス(succes
sful status )、すなわちSUCCESS をイベント サービ
ス ルーチンに戻す(ステップ1132)。
ルでインストルメントされる各アプリケーション層12は
アプリケーション層内のイベントを記述し、また各イベ
ントに対するデータ アイテムをも記述するファシリテ
ィ ディフィニションを与えるものでなければならな
い。ファシリティ ディフィニションはアドミニストレ
ーション データベース16内に格納され、データ収集の
ためレジストラ14およびスケジュール ユーザ インタ
フェース18を介してユーザによりアクセスされるように
する。ファシリティ ディフィニション(図15にブロッ
ク図で示す)はファシリティ名30、ファシリティのアイ
デンティフィケーション ナンバー32、ファシリティの
バージョン ナンバー34、イベント ディフィニション
のリスト36、各イベントに関連するデータ アイテム
ディフィニションのリスト38およびクラス ディフィニ
ションのリスト40を含む。ATM 用のアプリケーション層
の例においては、限定(define)されたイベント36は貸
借バランスのチェック、預金、資金回収(すべてデュレ
ーション イベント)およびエラー メッセージの表示
(ポイント イベント)であり、各イベントに対するコ
ードはその初めおよび終わりにサービス ルーチン コ
ールを置くことによりインストルメントされる。データ
アイテム38は各イベントに関するデータの一部(piec
e)である。ディフォールト(default ;不履行)によ
り各イベントに対して前述のテーブル1に示すアイテム
が収集されるが、ユーザは付加的アプリケーション層特
定アイテムを収集し、または任意の標準アイテムをスキ
ップするよう選択することができる。図16はデータ ア
イテムの構造を示す。各アイテムはそのデータ形式(可
能なデータ形式のリストに関する後記のテーブル3参
照)により一部定義されるほか、さらに、アイデンティ
ファイヤ50、アイテムのバイトにおける最大サイズを示
すサイズ52、レポートにおいてアイテムに名称を付すの
に用いるテスキトたるレポート ヘッダ54、レポート内
にアイテムを表示するためのスペース数を示す幅56、LE
VEL (レベル)、COUNTER (カウンタ)、PERCENT (パ
ーセント)、TEXT(テキスト)およびPRIVATE (ペライ
ベート)(使用形式のリストおよび説明に関する後記の
テーブル4参照)を含むいくつかの値の1つをとり得る
使用形式58、ならびに、例えばアイテムがプリント可能
か可能でないかを示すような特性(characteristic)60
により限定される。
ト40は、後述のファシリティ セレクションにおいてユ
ーザがファシリティ内のグループとして選択可能な組の
イベント ディフィニション36およびデータ アイテム
ディフィニション38を識別する。
がコレクション期間中に収集するイベントおよびアイテ
ムに対するデータを記述する。コレクションツール10は
最小のオーバヘッドおよびパフォーマンス インパクト
でデータ収集を行うが、オーバヘッドはユーザがデータ
を収集するため選択するファシリティの量が大きくなる
程、増加すること当然である。例えば、忙しい環境にお
いては、データ収集ファイル20はきわめて大となり、ア
プリケーション層に使用可能なディスク スペースを速
く使い果たせることを可能とする程になる。したがっ
て、ユーザはその収集をアプリケーション層の特定のフ
ァンクションまたは領域に限定するよう選択することが
でき、これを行うため、ユーザは上述のファシリティか
ら1またはそれ以上のクラスを選択する。ファシリティ
セレクションの構造は図17に示すとおりで、イベント
およびアイテムに関するデータを収集するファシリティ
ディフィニションのファシリティ名のリスト62、収集
の目的を記述するコメント64、ならびに各ファシリティ
からどのクラスを特定するかのオプションのリスト66を
含む。
に格納された情報は図18のフローチャートに示すファシ
リティ セレクション ルーチンによるファシリティ
セレクションの一部となる。ファシリティ セレクショ
ン プロセスへの入力はデータベース内に既にあるアイ
テムおよびアイテム グループ情報、ファシリティディ
フィニション、ファシリティのバージョン ナンバーへ
のポインタ、グループ名へのポインタおよびアイテムの
リストへのポインタである。ステップ1200において、グ
ループ名へのポインタが空白(または零)の場合は、ル
ーチンはエラーをユーザ インタフェースに戻し(ステ
ップ1202)、そうでない場合は、ルーチンはグループ名
の長さが妥当であるかどうかを決定し(ステップ120
4)、もしそうである場合、ルーチンはバージョン ナ
ンバーおよびクループ名を検索する(ステップ1208およ
び1210)。
を実行し、ファシリティに対してアイテム名が限定され
ない場合は(ステップ1212)、ルーチンはエラーをユー
ザインタフェースに戻す(ステップ1214)。同じよう
に、ファシリティに対してアイテム グループ名が限定
されない場合は(ステップ1216)、ルーチンはエラーを
戻す(ステップ1218)、最後に、アイテムのリストへの
ポインタが空白(または零)の場合には(ステップ122
0)、ルーチンはエラーをユーザ インタフェースに戻
す(ステップ1222)。
て、エラーチェックがエラーを戻さない場合は、ルーチ
ンはアイテムリストを検索し(ステップ1224)、リスト
内の各アイテムを妥当と認める(ステップ1226)、も
し、任意のアイテムがコレクタアイテム グループ(ス
テップ1228)の場合は、ルーチンはグループ内の各アイ
テムに対してアイテム リスト エントリーを生成す
る。これに対して、任意のアイテムがコレクタ アイテ
ム、すなわち、標準リソース アイテムの1つである場
合は、ルーチンはそのアイテムに対してアイテム テュ
ープル(item tuple)を生成し、そのテュープル(tupl
e )をファシリティ ディフィニションに内蔵させる
(ステップ1234)。かくして、任意のアイテムがグルー
プ名である場合には(ステップ1236)、ルーチンはアイ
テム レコードを検索してアイテムリスト内にエントリ
ーを生成し(ステップ1238)、かつファシリティ ディ
フィニション内にグループ テュープルを内蔵させる
(ステップ1240)。最後に、ルーチンはクラス オプシ
ョンがエンターされたかどうかを知るためのチェックを
行い、もうそしであれば、ルーチンはイベントの存在お
よびクラス名ならびに各イベントに関連させるべき任意
のアイテムを妥当とし、これらが存在する場合、ルーチ
ンはクラスに対するクラス テュープルおよびクラスに
対するイベントアイテム テュープルを生成し、クラス
がエンターされたかどうかによりイベントのすべておよ
びすべてのイベントに対するアイテムを含むディフォー
ルト クラス(default class )ALL が生成される。
びアプリケーション層からデータを収集するため、ユー
ザはスケジュール ユーザ インタフェース18(図2)
を介して収集(コレクション)をスケジュールする。ス
ケジュールされた収集において、ユーザはどのデータを
収集するか、どれだけのデータを収集するか、いつデー
タを収集するか、どこにデータを格納するかを規定す
る。収集されるデータの量はシステムの各ノード上でど
れだけのプロセスがデータを収集しているかに左右さ
れ、ユーザはこれらのプロセスすべてあるいは1つのサ
ブセットを選択することができる。サービス ルーチン
コールを含む各アプリケーション内の各層はプロセス
およびファシリティ情報を登録するINITへのコールを含
み、この情報はイメージ名、INITをコールしたファシリ
ティの名、プロセスに対するレジストレーション アイ
デンティファイヤ、プロセス アイデンティフィケーシ
ョン ナンバーおよびプロセスがランしているノード名
を含む。スケジュール情報は、さらに、収集されたデー
タに対する出力ファイル名、スタートおよび終わりの時
間、どのファシリティ セレクションを使用すべきか、
コンピュータ システム内のあらゆるノード、すなわち
VAXcluster(バックスクラスタ)内のあらゆるノードか
ら収集すべきか、単一のローカル ノードから収集すべ
きかに関する情報を含む。
ティ ディフィニションの輸出(export)に必要な1つ
のルーチンは、アドミニストレーション データベース
からファシリティ ディフィニションを入力し、そのデ
ィフィニションの表示を含むファイルを出力する図19の
フローチャートに示すようなファシリティ抽出ルーチン
(Facility Extract routine)である。始めに、ルーチ
ンはファシリティ バージョン ナンバーを複写し(ス
テップ1300)、抽出ファイルを生成し、オープンする
(ステップ1302)。次に、抽出ファイルを生成した後、
ルーチンはファイル内にバージョン レコードを生成し
(ステップ1304)、データベースからファイルにバージ
ョン レコードを書込む(ステップ1306)。
し(ステップ1308)、ユーザの特権が定義済みの標準に
充分合致する場合は、ルーチンはアドミニストレーショ
ンデータベース内のファシリティ ディフィニションの
位置を捜し出そうとこころみる(ステップ1310)。かく
して、ファシリティ ディフィニションがみつからない
場合は(ステップ1312)、ルーチンはエラーを戻し(ス
テップ1314)、ファシリティ ディフィニションが発見
された場合、ルーチンは再度ユーザ特権のチェックを行
う(ステップ1316)。ここで、特権が充分でない場合、
ルーチンはエラーを戻し(ステップ1318)、そうでない
場合にはルーチンは各ファシリティテーブルを処理し、
アイテム レコード、アイテム グループ レコード、
イベント レコード、イベント アイテム レコード、
クラス レコードおよびディフォールト クラス レコ
ードの各々に対するレコードをファイルに書込むことに
より(ステップ1322)、抽出ファイルにファシリティ
メイン レコードを書込む(ステップ1320)。
マッティング スケジュールされたデータ収集の終了後、データ収集フ
ァイル20は、前に生成されたデータ収集ファイルと組合
せて単一のデータファイル、すなわち Rdb/VMSデータベ
ース ファイルまたはVMS RMS ファイルを形成すること
ができる。かくして、ユーザは1つまたはそれ以上のコ
レクションに対してデータのすべてを便宜的に保持する
ことができる。また、コレクタはデータをフォーマット
化した後、フォーマット化データからいくつかのテーブ
ル形式のレポートを形成させることができる。例えば、
明細レポート(Detail Report )は、それがデュレーシ
ョン イベントまたはポイント イベントの各発生に対
する実際のアイテム値や、各イベントの起こる時間およ
び他のアイテム データを示すので、アプリケーション
プログラマにとってデバッギング目的用に有用であ
る。また、他のレポートとしては秒当たり、分当たりま
たは時間当たりの各イベントの発生数をリストアップし
た頻度レポート(Frequency Report)ならびに最大、最
小、平均、標準偏差(standard deviation)、カウント
(発生数)、トータルおよび95パーセンテイル(95th p
ercentile )を含む各アイテムに対する異なる統計をリ
ストアップした要約レポート(Summary Report)が含ま
れる。
ージョン3.0-031 およびVAX BLISS-32バージョン4.5-86
2 を可とし、また使用コンピュータはVAX 8820、オペレ
ーティング システムはVAX/VMS 5.2 を可とする。
対称となる材料を含んでいる。本著作権者は特許庁の文
書にあらわれた限りにおいては、本特許文書を複写する
ことに異議をはさまないが、その他については著作権を
留保するものとする。
施例に関し本発明の記載を行ってきたが、本発明は本明
細書に記載の実施例に限定されるものでなく、本発明は
他の変形をも包含するものである。
の一実施例の構成素子のブロック図、
の一般動作を説明するためのフローチャート、
ちINITの作動説明用フローチャート、
図、
ちEVENT の作動説明用フローチャート、
ちEVENTWの作動説明用フローチャート、
ちEVENTPRVの作動説明用フローチャート、
ちSTART EVENT の作動説明用フローチャート、
わちSTART EVENTWの作動説明用フローチャート、
わちSTART EVENTPRVの作動説明用フローチャート、
わちEND EVENT の作動説明用フローチャート、
わちEND EVENTWの作動説明用フローチャート、
わちEND EVENTPRVの作動説明用フローチャート、
造のブロック図、
局面であるグループ データ格納動作説明用フローチャ
ート、
局面であるファシリティ抽出動作説明用フローチャート
である。
Claims (6)
- 【請求項1】 ソフトウェア アプリケーションに対す
るイベント ベースのデータを収集するための、コンピ
ュータで実行する処理方法において、 該処理方法は、 ソフトウェア アプリケーションを実行するに先立っ
て: (a) 各々のイベント マーキング インストラクション
がイベント ベースのデータを収集するエネーブル(可
能化)状態とイベント ベースのデータを収集しないデ
ィスエーブル(不能化)状態とを持つイベント マーキ
ング インストラクションを、ソフトウェア アプリケ
ーション内にエンベッド(埋め込み内蔵)させるステッ
プと、 (b) ソフトウェア アプリケーション内にエンベッドさ
れている上記イベントマーキング インストラクション
の各々のデフィニションを記憶するステップであって、
該デフィニションは対応するイベント マーキング イ
ンストラクションがその中にエンベッドしているソフト
ウェア アプリケーションを同定し、該デフィニション
の各々は対応するイベント マーキング インストラク
ションにより収集され得るイベント ベースのデータの
可能なタイプのタイプ スーパーセットを同定し、該タ
イプの各々は上記各タイプに対して収集され得るイベン
トベースのデータの可能なアイテムの対応するアイテム
スーパーセットを含むものであるステップと を含んで成り; また、イベント マーキング インストラクションをソ
フトウェア アプリケーション内にエンベッドした後、
ソフトウェア アプリケーションの実行に先立ち、又は
実行中に: (c) イベント マーキング インストラクションのサブ
セットを選択するステップであって、該サブセットは1
つ又はそれ以上の、但しソフトウェア アプリケーショ
ン内に既にエンベッドされたイベント マーキング イ
ンストラクションの総数より少ない数のイベント マー
キング インストラクションを含むものであるステップ
と、 (d) 上記サブセット中の上記選択されたイベント マー
キング インストラクションの各々に対し、1つ又はそ
れ以上の、そして場合によっては、対応するデフィニシ
ョン中の上記タイプ スーパーセットから収集されよう
とするイベントベースのデータの上記可能なタイプの総
数より少ない数のタイプ選択を選定し、また、上記選択
されたタイプの各々に対し、1つ又はそれ以上の、そし
て場合によっては、対応するデフィニション中の上記ア
イテム スーパーセットから収集されようとするイベン
ト ベースのデータの上記可能なアイテムの総数より少
ない数のアイテム選択を選定するステップと、 (e) 上記サブセット中の上記選択されたイベント マー
キング インストラクションの各々に対し、イベント
ベースのデータの上記選択されたアイテムの収集に対す
る時間周期を選定するステップと、 (f) 上記選択されたイベント マーキング インストラ
クションの各々を上記エネーブル状態で上記サブセット
内に位置させるステップと を含んで成り; 更にまた、ソフトウェア アプリケーションの実行中
に: (g) 上記エネーブルされたサブセット内の上記選択され
たイベント マーキングインストラクションの各々を検
出し、そして上記タイプ選択及び上記アイテム選択によ
り特定されるイベント ベースのデータの上記選択され
たタイプの各々の上記選択されたアイテムの各々を、上
記選定された時間周期内に入って来る度毎に収集するス
テップ を含んで成ることを特徴とする処理方法。 - 【請求項2】 ソフトウェア アプリケーションに対す
るイベント ベースのデータを収集する処理方法を実行
するコンピュータ システムをエネーブルするコンピュ
ータ ソフトウェアにおいて、 該処理方法が、 ソフトウェア アプリケーションを実行するに先立っ
て: (a) ソフトウェア アプリケーション内にエンベッドさ
れている上記イベントマーキング インストラクション
のデフィニションを記憶するステップであって、上記イ
ベント マーキング インストラクションの各々はイベ
ント ベースのデータが収集されるエネーブル(可能
化)状態とイベント ベースのデータが収集されないデ
ィスエーブル(不能化)状態とを持ち、上記デフィニシ
ョンは対応するイベント マーキング インストラクシ
ョンがその中にエンベッドしているソフトウェア アプ
リケーションを同定し、上記デフィニションの各々は対
応するイベント マーキング インストラクションによ
り収集され得るイベント ベースのデータの可能なタイ
プのタイプ スーパーセットを同定し、また上記タイプ
の各々は上記各タイプに対して収集され得るイベント
ベースのデータの可能なアイテムの対応するアイテム
スーパーセットを含むものであるステップを含んで成
り; また、イベント マーキング インストラクションがソ
フトウェア アプリケーション内にエンベッドされた
後、且つソフトウェア アプリケーションの実行に先立
ち、又は実行中に: (b) イベント マーキング インストラクションのサブ
セットを選択するステップであって、該サブセットは1
つ又はそれ以上の、但しソフトウェア アプリケーショ
ン内に既にエンベッドされたイベント マーキング イ
ンストラクションの総数より少ない数のイベント マー
キング インストラクションを含むものであるステップ
と、 (c) 上記サブセット中の上記選択されたイベント マー
キング インストラクションの各々に対し、1つ又はそ
れ以上の、そして場合によっては、対応するデフィニシ
ョン中の上記タイプ スーパーセットから収集されよう
とするイベントベースのデータの上記可能なタイプの総
数より少ない数のタイプ選択を選定し、また、上記選択
されたタイプの各々に対し、1つ又はそれ以上の、そし
て場合によっては、対応するデフィニション中の上記ア
イテム スーパーセットから収集されようとするイベン
ト ベースのデータの上記可能なアイテムの総数より少
ない数のアイテム選択を選定するステップと、 (d) 上記サブセット中の上記選択されたイベント マー
キング インストラクションの各々に対し、イベント
ベースのデータの上記選択されたアイテムの収集に対す
る時間周期を選定するステップと、 (e) 上記選択されたイベント マーキング インストラ
クションの各々を上記エネーブル状態で上記サブセット
内に位置させるステップとを含んで成り; 更にまた、ソフトウェア アプリケーションの実行中
に: (f) 上記エネーブルされたサブセット内の上記選択され
たイベント マーキングインストラクションの各々を検
出し、そして上記タイプ選択及び上記アイテム選択によ
り特定されるイベント ベースのデータの上記選択され
たタイプの各々の上記選択されたアイテムの各々を、上
記選定された時間周期内に入って来る度毎に収集するス
テップを含んで成る処理方法である ことを特徴とするコンピュータ ソフトウェア。 - 【請求項3】 請求項1に記載の処理方法において、イ
ベント マーキングインストラクションは、収集をディ
スエーブルするインストラクションを含み、該収集をデ
ィスエーブルするインストラクションは、ソフトウェア
アプリケーション内にエンベッドされることができ、
当該アプリケーション内のすべてのイベント マーキン
グ インストラクションによるすべてのデータ アイテ
ムの収集をディスエーブルするためのものであることを
特徴とする処理方法。 - 【請求項4】 請求項1に記載の処理方法において、ソ
フトウェア アプリケーションは複数のソフトウェアの
層を有し、それらの層の各々はその中にエンベッドされ
るイベント マーキング インストラクションを持ち得
ること、及びイベント マーキング インストラクショ
ンのデフィニションは当該イベントマーキング インス
トラクションがその中にエンベッドされているソフトウ
ェアの層を同定することを含むことを特徴とする処理方
法。 - 【請求項5】 請求項1に記載の処理方法において、デ
フィニションは、上記イベント マーキング インスト
ラクションのクラスを含み、また選択され得るイベント
ベースのデータの上記タイプを含むことを特徴とする
処理方法。 - 【請求項6】 多重ソフトウェア アプリケーションに
対するイベント ベースのデータの収集に更に適合する
請求項1に記載の処理方法において、上記選定するステ
ップ、上記位置させるステップ、及び上記検出するステ
ップは、上記多重ソフトウェア アプリケーションに関
して別個に、同時に、及び選択的に実行されることを特
徴とする処理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US48537290A | 1990-02-26 | 1990-02-26 | |
| US07/485372 | 1990-02-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04218845A JPH04218845A (ja) | 1992-08-10 |
| JPH0810440B2 true JPH0810440B2 (ja) | 1996-01-31 |
Family
ID=23927898
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3053231A Expired - Fee Related JPH0810440B2 (ja) | 1990-02-26 | 1991-02-26 | アプリケーション イベント収集方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5446878A (ja) |
| EP (1) | EP0444315B1 (ja) |
| JP (1) | JPH0810440B2 (ja) |
| CA (1) | CA2033589C (ja) |
| DE (1) | DE69031538T2 (ja) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0586767A1 (en) | 1992-09-11 | 1994-03-16 | International Business Machines Corporation | Selective data capture for software exception conditions |
| US5499340A (en) * | 1994-01-12 | 1996-03-12 | Isogon Corporation | Method and apparatus for computer program usage monitoring |
| IT1275710B1 (it) * | 1995-03-31 | 1997-10-17 | Alcatel Italia | Metodo e sistema per la gestione dinamica in tempo reale della memorizzazione di errori di cui non si conoscano a priori quantita' |
| US6029145A (en) * | 1997-01-06 | 2000-02-22 | Isogon Corporation | Software license verification process and apparatus |
| US6189137B1 (en) | 1997-11-21 | 2001-02-13 | International Business Machines Corporation | Data processing system and method for simulating “include” files in javascript |
| US6061518A (en) * | 1997-11-25 | 2000-05-09 | International Business Machines Corporation | Data processing system and method for debugging a JavaScript program |
| US6748451B2 (en) * | 1998-05-26 | 2004-06-08 | Dow Global Technologies Inc. | Distributed computing environment using real-time scheduling logic and time deterministic architecture |
| US6532472B1 (en) * | 1998-09-29 | 2003-03-11 | Apple Computer, Inc. | Persistent state database for operating system services |
| US6163763A (en) * | 1998-10-06 | 2000-12-19 | Cadence Design Systems, Inc. | Method and apparatus for recording and viewing error data generated from a computer simulation of an integrated circuit |
| DE19901879A1 (de) | 1999-01-19 | 2000-07-27 | Siemens Ag | Verfahren zum Tracen von Daten |
| US6542932B1 (en) * | 1999-06-11 | 2003-04-01 | Sun Microsystems, Inc. | Domain access control for logging systems |
| US6532023B1 (en) * | 1999-08-12 | 2003-03-11 | International Business Machines Corporation | Recording selected applet events of a user interaction sequence |
| US6745383B1 (en) | 1999-12-29 | 2004-06-01 | Veritas Operating Corporation | Early warning mechanism for enhancing enterprise availability |
| US6748584B1 (en) * | 1999-12-29 | 2004-06-08 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
| US6804814B1 (en) | 1999-12-29 | 2004-10-12 | Veritas Operating Corporation | Method for simulating back program execution from a traceback sequence |
| US6792562B1 (en) * | 2000-03-06 | 2004-09-14 | Pc-Doctor, Inc. | Format for extensible error and event codes |
| US6959429B1 (en) * | 2000-05-16 | 2005-10-25 | Watterson-Prime Software, Inc. | System for developing data collection software applications |
| US20030005407A1 (en) * | 2000-06-23 | 2003-01-02 | Hines Kenneth J. | System and method for coordination-centric design of software systems |
| US7032214B1 (en) * | 2000-06-29 | 2006-04-18 | Microsoft Corporation | Performance markers to measure performance of features in a program |
| US7774790B1 (en) * | 2000-07-18 | 2010-08-10 | Apple Inc. | Event logging and performance analysis system for applications |
| US20050172275A1 (en) * | 2004-01-29 | 2005-08-04 | Thilo Opatemy | Execution of instructions in an automation system |
| US20090006156A1 (en) * | 2007-01-26 | 2009-01-01 | Herbert Dennis Hunt | Associating a granting matrix with an analytic platform |
| US20060070077A1 (en) * | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Providing custom product support for a software program |
| US20060123098A1 (en) * | 2004-11-11 | 2006-06-08 | Ipdev | Multi-system auto-failure web-based system with dynamic session recovery |
| US20060155753A1 (en) * | 2004-11-11 | 2006-07-13 | Marc Asher | Global asynchronous serialized transaction identifier |
| US20060155770A1 (en) * | 2004-11-11 | 2006-07-13 | Ipdev Co. | System and method for time-based allocation of unique transaction identifiers in a multi-server system |
| US7559055B2 (en) * | 2005-06-15 | 2009-07-07 | Research In Motion Limited | Controlling collection of debugging data |
| US20090006309A1 (en) * | 2007-01-26 | 2009-01-01 | Herbert Dennis Hunt | Cluster processing of an aggregated dataset |
| US8160984B2 (en) | 2007-01-26 | 2012-04-17 | Symphonyiri Group, Inc. | Similarity matching of a competitor's products |
| US20090006788A1 (en) * | 2007-01-26 | 2009-01-01 | Herbert Dennis Hunt | Associating a flexible data hierarchy with an availability condition in a granting matrix |
| US8504598B2 (en) | 2007-01-26 | 2013-08-06 | Information Resources, Inc. | Data perturbation of non-unique values |
| US9262503B2 (en) | 2007-01-26 | 2016-02-16 | Information Resources, Inc. | Similarity matching of products based on multiple classification schemes |
| US7916295B2 (en) * | 2008-09-03 | 2011-03-29 | Macronix International Co., Ltd. | Alignment mark and method of getting position reference for wafer |
| US20100312609A1 (en) * | 2009-06-09 | 2010-12-09 | Microsoft Corporation | Personalizing Selection of Advertisements Utilizing Digital Image Analysis |
| US9639446B2 (en) | 2009-12-21 | 2017-05-02 | International Business Machines Corporation | Trace monitoring |
| US9197522B1 (en) * | 2012-03-21 | 2015-11-24 | Emc Corporation | Native storage data collection using multiple data collection plug-ins installed in a component separate from data sources of one or more storage area networks |
| US8751499B1 (en) | 2013-01-22 | 2014-06-10 | Splunk Inc. | Variable representative sampling under resource constraints |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4462077A (en) | 1982-06-24 | 1984-07-24 | Bell Telephone Laboratories, Incorporated | Trace facility for use in multiprocessing environment |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3906454A (en) * | 1973-05-18 | 1975-09-16 | Bell Telephone Labor Inc | Computer monitoring system |
| US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
| US4813009A (en) * | 1984-11-02 | 1989-03-14 | Tektronix, Inc. | Method and apparatus for determining internal status of a processor |
| US4706080A (en) * | 1985-08-26 | 1987-11-10 | Bell Communications Research, Inc. | Interconnection of broadcast networks |
| US4937740A (en) * | 1985-09-18 | 1990-06-26 | Cadre Technologies, Inc. | Real time software analyzing system for storing selective m-bit addresses based upon correspondingly generated n-bit tags |
| JPS62214454A (ja) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | 入出力制御装置の事象記録方式 |
| US4802165A (en) * | 1986-10-08 | 1989-01-31 | Enteleki, Inc. | Method and apparatus of debugging computer programs |
| US5018137A (en) * | 1988-06-27 | 1991-05-21 | Digital Equipment Corporation | Transparent load sharing for parallel networks |
| US5119377A (en) * | 1989-06-16 | 1992-06-02 | International Business Machines Corporation | System and method for software error early detection and data capture |
| US5016244A (en) * | 1989-09-08 | 1991-05-14 | Honeywell Inc. | Method for controlling failover between redundant network interface modules |
-
1990
- 1990-12-28 DE DE69031538T patent/DE69031538T2/de not_active Expired - Fee Related
- 1990-12-28 EP EP90125724A patent/EP0444315B1/en not_active Expired - Lifetime
-
1991
- 1991-01-03 CA CA002033589A patent/CA2033589C/en not_active Expired - Fee Related
- 1991-02-26 JP JP3053231A patent/JPH0810440B2/ja not_active Expired - Fee Related
-
1994
- 1994-10-20 US US08/326,815 patent/US5446878A/en not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4462077A (en) | 1982-06-24 | 1984-07-24 | Bell Telephone Laboratories, Incorporated | Trace facility for use in multiprocessing environment |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04218845A (ja) | 1992-08-10 |
| DE69031538T2 (de) | 1998-05-07 |
| CA2033589C (en) | 1995-10-24 |
| EP0444315A3 (en) | 1992-06-03 |
| CA2033589A1 (en) | 1991-08-27 |
| DE69031538D1 (de) | 1997-11-06 |
| US5446878A (en) | 1995-08-29 |
| EP0444315A2 (en) | 1991-09-04 |
| EP0444315B1 (en) | 1997-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0810440B2 (ja) | アプリケーション イベント収集方法 | |
| US5999942A (en) | Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems | |
| EP0953908A2 (en) | Method, apparatus, and article of manufacture for time profiling multithreaded programs | |
| JPH06342386A (ja) | コンピュータシステムプロファイリングシステム及び方法 | |
| JPH0296839A (ja) | Tpキューレポジトリ用シングルキー式索引ファイル | |
| JP2000235511A (ja) | アプリケーションプログラムのパフォーマンス解析方法、アプリケーションプログラムのパフォーマンス解析に用いられるシステム及び装置 | |
| JPH0750441B2 (ja) | 規則ベース・システム管理装置および方法 | |
| CN114428733A (zh) | 基于静态程序分析与模糊测试的内核数据竞争检测方法 | |
| US20060195823A1 (en) | Memory debugging tool | |
| JPH0756794A (ja) | 文書管理装置 | |
| JP3205406B2 (ja) | 参照対象変数決定処理方法および翻訳処理システム | |
| Matthes et al. | Persistent threads | |
| Kraut et al. | Command use and interface design | |
| US6253194B1 (en) | System and method for performing database queries using a stack machine | |
| CN119473581A (zh) | 内存情况的分析方法、装置、电子设备及存储介质 | |
| US20070088871A1 (en) | Implementation of shared and persistent job queues | |
| US7996401B2 (en) | Inserting new transactions into a transaction stream | |
| Smith | Applying synthesis principles to create responsive software systems | |
| US20080040407A1 (en) | Identification of a cause of an allocation failure in a java virtual machine | |
| CA2065521A1 (en) | Extensible event-action system | |
| JP2002157386A (ja) | ワークフロー管理方法および装置並びにその処理プログラム並びにその処理プログラムを格納した記録媒体 | |
| JP3559581B2 (ja) | ジョブ実行制御方法 | |
| CN118210728B (zh) | 一种用于芯片验证代码调试的源码有效范围确定系统 | |
| JPH0659913A (ja) | バッチジョブスケジューリングシステム | |
| Smith | System support for design and development environments |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090131 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090131 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100131 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100131 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110131 Year of fee payment: 15 |
|
| LAPS | Cancellation because of no payment of annual fees |