JPH08314771A - アプリケーションの評価方法及びシステム - Google Patents

アプリケーションの評価方法及びシステム

Info

Publication number
JPH08314771A
JPH08314771A JP7111500A JP11150095A JPH08314771A JP H08314771 A JPH08314771 A JP H08314771A JP 7111500 A JP7111500 A JP 7111500A JP 11150095 A JP11150095 A JP 11150095A JP H08314771 A JPH08314771 A JP H08314771A
Authority
JP
Japan
Prior art keywords
call
module
applications
application
statistical information
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.)
Granted
Application number
JP7111500A
Other languages
English (en)
Other versions
JP2798364B2 (ja
Inventor
Katsuyoshi Yamamoto
勝義 山本
Kosuke Okamoto
康介 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP7111500A priority Critical patent/JP2798364B2/ja
Publication of JPH08314771A publication Critical patent/JPH08314771A/ja
Application granted granted Critical
Publication of JP2798364B2 publication Critical patent/JP2798364B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 アプリケーションの直接の外部モジュール呼
び出しを、別経路に換えることで、大規模アプリケーシ
ョン及び複数アプリケーションにわたる呼び出し処理の
統計情報の取得、保管が可能となった。 【構成】 本発明のアップリケーションを評価する方法
は、監視ステップを含む。前記監視ステップは、前記各
々のアプリケーションがモジュールを呼び出す際に、そ
のモジュールの呼び出しを受け取るステップと、前記呼
び出しを記憶するステップと、前記呼び出しに応じて、
前記モジュールの呼び出しをするステップとを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ムにおけるアプリケーション・プログラムの外部モジュ
ール呼び出しの統計情報を取得し、評価することに関す
るものである。
【0002】
【従来の技術】従来において、アプリケーションの外部
モジュール呼び出しの統計情報を取得し、評価するに
は、次のような2つの代表的なものがあった。
【0003】第1の手法は、アプリケーションのソース
コード上で、外部モジュールを呼び出している部分に直
接評価するためのコードを追加し、統計情報を得てそれ
によって評価する手法である。
【0004】第2の手法は、コンパイラ自身にプロファ
イル情報又はデバッグ情報の作成指示を直接与えて被評
価アプリケーションのソースコードをコンパイルし直
し、その作成されたプロファイル情報又はデバッグ情報
を元に被評価アプリケーションを評価する手法である。
【0005】
【発明が解決しようとする課題】第1の手法によれば、
被評価アプリケーションのソースコードを直接修正する
必要があり、そのため、被評価アプリケーションの規模
が増大するにしたがって前記修正の個所も増大し、統計
的解析及び評価を行うための手法としては現実的ではな
い。また、更に、被評価アプリケーションのソースコー
ドを直接修正するため、被評価アプリケーションのソー
スコードを入手することが必要となり、また、被評価ア
プリケーションのソースコードを修正後にコンパイルし
直さなければならず、かなりの労力を要することとな
る。
【0006】第2の方法によれば、被評価アプリケーシ
ョンの内部にプロファイル情報又はデバッグ情報を埋め
込む必要があるため、測定前にプロファイル情報又はデ
バッグ情報をコンパイラに与え、被評価アプリケーショ
ン全てのソースコードをコンパイルし直さなければなら
ない。更に、被評価アプリケーションの内部にプロファ
イル情報又はデバッグ情報を埋め込むため、被評価アプ
リケーションの内容が変化し正確な情報を得ることがで
きず、従ってその評価も正確には行えない。また、この
手法によれば、測定情報を被評価アプリケーションのメ
モリ領域に保持することとなるためメモリ使用量が増大
し、大規模なアプリケーションの評価をすることができ
ない。更に、相互に関連する複数のアプリケーションを
評価するにあたり、測定情報はアプリケーション毎の個
別の情報として得られるだけであり、複数アプリケーシ
ョンの総合的な評価をすることができない。
【0007】従って、本発明の目的は、上述の欠点を解
決し、大規模なアプリケーション及び複数のアプリケー
ションの総合的な評価を容易に可能とすることである。
【0008】
【課題を解決するための手段】本発明は上記の目的を達
成するため、外部モジュール等のモジュールを呼び出す
アプリケーションにおいて、本来の呼び出しを、観測手
段を経由する呼び出しに置き換える事で、本来の処理に
かかる統計情報を取得、保管すること、更に、経由する
観測手段を、独立した他のアプリケーションとの間で共
有することで、複数アプリケーションにわたり統計情報
を取得し、保管することとしている。
【0009】更に、本発明のアプリケーションの統計情
報取得手法においては、測定アプリケーションに測定開
始指示を与えてから測定終了指示を与えるまでの期間、
被評価アプリケーションの実行時における統計情報を観
測手段により取得し、測定アプリケーションの表示域に
結果を表示し、また、必要により前記結果を保存するこ
とにより前記目的を達成している。
【0010】
【実施例】以下、図面を参照して本発明を詳しく説明す
る。
【0011】図2は、統計情報の観測を必要としない、
アプリケーションの通常実行時の構成図である。アプリ
ケーション201は、外部サービス提供者103の提供
するサービス203を利用するために、外部モジュール
呼び出し204を行う。また、そのサービス203の結
果は戻り205としてアプリケーション201ヘと返さ
れる。
【0012】図3は、図2の構成に本発明を適用した観
測手段の構成を表す図である。図2の構成に加えて、外
部モジュール呼び出しの統計情報を取得、保存するため
の観測手段104と、外部モジュール呼び出しの呼び出
し先を観測手段104に強制的に変更する観測手段10
5が追加されている。観測手段104は、外部サービス
提供書103と同一のサービスを提供し、被評価アプリ
ケーション101と静的にリンクされている。
【0013】図8は、図3の構成における本発明の処理
内容を示す。被評価アプリケーション101が外部モジ
ュールの呼び出しを行ったとき(801)、観測手段1
05はその呼び出しが測定対象か否かを判断する(80
2)。呼び出しが測定対象でない場合には図2と同様の
処理を行う(820、807)。呼び出しが測定対象で
ある場合には、観測手段105は、被評価アプリケーシ
ョン101が行う外部サービス提供者103ヘの外部モ
ジュール呼び出し204を、観測手段106が提供する
サービス306ヘの外部モジュール呼び出し307に置
き換える(803)。観測手段104の提供するサービ
ス306は、各呼び出しごとに、その呼び出し回数の累
計を保存し、外部サービス提供者103が提供する本来
のサービス203を呼び出し309によって呼び出す
(804)。サービス203の処理結果は戻り310と
して、観測手段104へ返される(805)。観測手段
104は、サービス203に要した処理時間及びメモリ
使用量を計測し、必要に応じて、呼び出し回数、処理時
間、及びメモリ使用量を取得、保存する。その後、観測
手段104は、103から受け取った戻り310を被評
価アプリケーション101に、戻り311として返す
(806)。結果として、被評価アプリケーション10
1の外部モジュール呼び出し204は、観測手段105
によって、観測手段104を経由する外部モジュール呼
び出し307−309に置き換えられる。同様に、戻り
205は観測手段104を経由する戻り309−311
に置き換えられる。
【0014】観測手段105と104は着脱可能なアプ
リケーション部位であり、被評価アプリケーション10
1の作成時に静的にリンクされる。このため、使用者
は、統計情報を観測するにあたって、被評価アプリケー
ション101のソースコードあるいはオブジェクトコー
ドの変更をする必要はない。
【0015】図5は、複数の被評価アプリケーションが
動作する場合の構成図である。被評価プログラム101
と102は、共に外部サービス提供者103のサービス
を利用するアプリケーションである。図3と同様に、被
評価アプリケーション101と102に対して、それぞ
れ観測手段105と106を静的にリンクする。被評価
アプリケーション101と102から、外部サービス提
供者103ヘの外部モジュール呼び出し505と507
は、測定対象である場合には、それぞれ観測手段104
を経由する呼び出し509と510に置き換えられる。
こうして、観測手段104は複数の被評価アプリケーシ
ョンからの外部モジュール呼び出しの統計情報を統一的
に取得、保存することができる。図6は、その処理内容
の概略図を示している。
【0016】図4は、観測アプリケーション107と観
測手段104の構成図である。観測アプリケーション1
07は、観測手段104が取得、保持している統計情報
の表示を行う。また、観測手段104は、経由される全
呼び出しについて、制御変数を保持しており、その制御
変数の状態によって、統計情報の取得を行うか否か判断
することができる。使用者は、観測アプリケーション1
07を用いて、観測手段104の制御変数を変更するこ
とで、統計情報の取得状況を変更できる。図7は、その
処理内容を表している。
【0017】第1図は、本発明の一実施例を示す統計情
報取得手法の構成図である。第1図を参照すると、外部
モジュール呼び出しを行い、且つ、実行時の統計情報を
取得すべきアプリケーションである被評価アプリケーシ
ョン101及び102と、101及び102からの外部
モジュール呼び出しにより、これらの被評価アプリケー
ション101及び102にサービスを提供する外部サー
ビス提供者103と、101及び102から103ヘの
呼び出しの統計情報を取得し、保持する統計情報観測手
段104と、外部サービス提供者103ヘの呼び出しを
観測手段104を経由する呼び出しに強制的に置き換え
る観測手段105と106、観測手段104の制御と、
観測手段104が保持している統計情報の表示を行う観
測アプリケーション107から構成されている。
【0018】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0019】(1)コンピュータ・システムにおいて動
作する1以上のアップリケーションを評価する方法であ
って、前記方法は、監視ステップを含み、前記監視ステ
ップは、前記各々のアプリケーションがモジュールを呼
び出す際に、そのモジュールの呼び出しを受け取るステ
ップと、前記呼び出しを記憶するステップと、前記呼び
出しに応じて、前記モジュールの呼び出しをするステッ
プと、を含む、前記方法。 (2)前記監視ステップは、更に、前記モジュールの終
了を記憶するステップを含む(1)記載の方法。 (3)前記監視ステップは、更に、前記呼び出し回数を
計数するステップを含む(1)又は(2)記載の方法。 (4)前記監視ステップは、更に、前記モジュールの処
理時間を計数するステップを含む(1)乃至(3)のい
ずれかに記載の方法。 (5)前記監視ステップは、更に、前記モジュールのメ
モリ所要量を計数するステップを含む(1)乃至(4)
のいずれかに記載の方法。 (6)前記監視ステップは、更に、前記記憶した結果を
出力するステップを含む(1)乃至(5)のいずれかに
記載の方法。 (7)前記監視ステップは、更に、前記計数した結果を
出力するステップを含む(3)乃至(5)のいずれかに
記載の方法。 (8)前記監視ステップは、更に、前記記憶した結果及
び前記計数した結果を出力するステップを含む(3)乃
至(5)のいずれかに記載の方法。 (9)複数のアプリケーションが異なる複数のコンピュ
ータ・システムで動作するアプリケーションである、
(1)乃至(8)のいずれかに記載の方法。 (10)コンピュータ・システムにおいて動作する1以
上のアップリケーションを評価する監視システムであっ
て、前記各々のアプリケーションがモジュールを呼び出
す際に、そのモジュールの呼び出しを前記監視システム
を経由する呼び出しに置き換える手段と、前記呼び出し
を記憶する手段と、前記呼び出しに応じて、前記モジュ
ールの呼び出しをする手段と、から成る、複数のアプリ
ケーションで共有される前記システム。 (11)更に、前記モジュールの終了を記憶する手段を
含む(10)記載のシステム。 (12)更に、前記呼び出し回数を計数する手段を含む
(10)又は(11)記載のシステム。 (13)更に、前記モジュールの処理時間を計数する手
段を含む(10)乃至(12)のいずれかに記載のシス
テム。 (14)更に、前記モジュールのメモリ所要量を計数す
る手段を含む(10)乃至(13)のいずれかに記載の
システム。 (15)更に、前記記憶した結果を出力する手段を含む
(10)乃至(14)のいずれかに記載のシステム。 (16)更に、前記計数した結果を出力する手段を含む
(12)乃至(14)のいずれかに記載のシステム。 (17)更に、前記記憶した結果及び前記計数した結果
を出力する手段を含む(12)乃至(14)のいずれか
に記載のシステム。 (18)複数のアプリケーションが異なる複数のコンピ
ュータ・システムで動作する(10)乃至(17)のい
ずれかに記載のシステム。
【0020】
【発明の効果】上述のとうり、本発明によれば、アプリ
ケーションの統計情報取得及び評価手法において、アプ
リケーションの直接の外部モジュール呼び出しを、別経
路を経由する呼び出しに置き換える事で、呼び出し処理
にかかる統計情報を取得、保管することができ、更に、
経由するモジュールを、独立した他のアプリケーション
との間で共有することで、複数アプリケーションにわた
る統計情報の取得、保管が可能となった。
【0021】更に、規模の大きなアプリケーションに対
しても、外部モジュール呼び出しの統計情報を容易に取
得し、評価することができるようになった。
【0022】更に、複数の実行アプリケーションで構成
されているアプリケーションに対しても測定及び評価が
適切に行えるようになった。
【0023】更に、被評価アプリケーションのソースコ
ードを修正する必要がなく、またデバッグ情報も埋め込
まれないため、完成時の実行アプリケーションと同一な
結果を得ることができるようになった。
【0024】更に、統計情報を得るために、改めてアプ
リケーションをコンパイルする必要がないので、長時間
かかるコンパイルのための作業や時間を省くことができ
るようになった。
【図面の簡単な説明】
【図1】複数のアプリケーションに本発明を適用した一
実施例を表す構成図である。
【図2】アプリケーションの通常の実行時の構成図であ
る。
【図3】1つのアプリケーションに観測手段を付加した
構成図である。
【図4】観測手段と観測アプリケーションの構成図であ
る。
【図5】複数のアプリケーションと観測手段の構成図で
ある。
【図6】図5の構成の処理フローを示す。
【図7】図4の処理フローを示す。
【図8】図3の処理フローを示す。
【符号の説明】 101 被評価アプリケーション 102 被評価アプリケーション 103 外部サービス提供者 104 観測手段 105 観測手段 106 観測手段 107 観測アプリケーション 201 アプリケーション 203 サービス 204 呼び出し 205 戻り 306 サービス 307 呼び出し 309 呼び出し 310 戻り 311 戻り 505 呼び出し 507 呼び出し 509 戻り 510 戻り
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡本 康介 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムにおいて動作する
    1以上のアプリケーションを評価する方法であって、前
    記方法は、監視ステップを含み、 前記監視ステップは、 前記各々のアプリケーションがモジュールを呼び出す際
    に、そのモジュールの呼び出しを受け取るステップと、 前記呼び出しを記憶するステップと、 前記呼び出しに応じて、前記モジュールの呼び出しをす
    るステップと、 を含む、前記方法。
  2. 【請求項2】前記監視ステップは、更に、前記モジュー
    ルの終了を記憶するステップを含む請求項1記載の方
    法。
  3. 【請求項3】前記監視ステップは、更に、前記呼び出し
    回数を計数するステップを含む請求項1又は請求項2記
    載の方法。
  4. 【請求項4】前記監視ステップは、更に、前記モジュー
    ルの処理時間を計数するステップを含む請求項1乃至請
    求項3のいずれかに記載の方法。
  5. 【請求項5】前記監視ステップは、更に、前記モジュー
    ルのメモリ所要量を計数するステップを含む請求項1乃
    至請求項4のいずれかに記載の方法。
  6. 【請求項6】前記監視ステップは、更に、前記記憶した
    結果を出力するステップを含む請求項1乃至請求項5の
    いずれかに記載の方法。
  7. 【請求項7】前記監視ステップは、更に、前記計数した
    結果を出力するステップを含む請求項3乃至請求項5の
    いずれかに記載の方法。
  8. 【請求項8】前記監視ステップは、更に、前記記憶した
    結果及び前記計数した結果を出力するステップを含む請
    求項3乃至請求項5のいずれかに記載の方法。
  9. 【請求項9】複数のアプリケーションが異なる複数のコ
    ンピュータ・システムで動作するアプリケーションであ
    る、請求項1乃至請求項8のいずれかに記載の方法。
  10. 【請求項10】コンピュータ・システムにおいて動作す
    る1以上のアップリケーションを評価する監視システム
    であって、 前記各々のアプリケーションがモジュールを呼び出す際
    に、そのモジュールの呼び出しを前記監視システムを経
    由する呼び出しに置き換える手段と、 前記呼び出しを記憶する手段と、 前記呼び出しに応じて、前記モジュールの呼び出しをす
    る手段と、 から成る、複数のアプリケーションで共有される前記シ
    ステム。
  11. 【請求項11】更に、前記モジュールの終了を記憶する
    手段を含む請求項10記載のシステム。
  12. 【請求項12】更に、前記呼び出し回数を計数する手段
    を含む請求項10又は請求項11記載のシステム。
  13. 【請求項13】更に、前記モジュールの処理時間を計数
    する手段を含む請求項10乃至請求項12のいずれかに
    記載のシステム。
  14. 【請求項14】更に、前記モジュールのメモリ所要量を
    計数する手段を含む請求項10乃至請求項13のいずれ
    かに記載のシステム。
  15. 【請求項15】更に、前記記憶した結果を出力する手段
    を含む請求項10乃至請求項14のいずれかに記載のシ
    ステム。
  16. 【請求項16】更に、前記計数した結果を出力する手段
    を含む請求項12乃至請求項14のいずれかに記載のシ
    ステム。
  17. 【請求項17】更に、前記記憶した結果及び前記計数し
    た結果を出力する手段を含む請求項12乃至請求項14
    のいずれかに記載のシステム。
  18. 【請求項18】複数のアプリケーションが異なる複数の
    コンピュータ・システムで動作する請求項10乃至請求
    項17のいずれかに記載のシステム。
JP7111500A 1995-05-10 1995-05-10 アプリケーションの評価方法及びシステム Expired - Lifetime JP2798364B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7111500A JP2798364B2 (ja) 1995-05-10 1995-05-10 アプリケーションの評価方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7111500A JP2798364B2 (ja) 1995-05-10 1995-05-10 アプリケーションの評価方法及びシステム

Publications (2)

Publication Number Publication Date
JPH08314771A true JPH08314771A (ja) 1996-11-29
JP2798364B2 JP2798364B2 (ja) 1998-09-17

Family

ID=14562878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7111500A Expired - Lifetime JP2798364B2 (ja) 1995-05-10 1995-05-10 アプリケーションの評価方法及びシステム

Country Status (1)

Country Link
JP (1) JP2798364B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351847B1 (en) 1998-04-22 2002-02-26 Nippon Telegraph And Telephone Corp. Method and device for acquiring usage data of application
JP2009540463A (ja) * 2006-06-16 2009-11-19 マイクロソフト コーポレーション Api性能プロファイルを収集し報告するための自動化された方法およびシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351847B1 (en) 1998-04-22 2002-02-26 Nippon Telegraph And Telephone Corp. Method and device for acquiring usage data of application
JP2009540463A (ja) * 2006-06-16 2009-11-19 マイクロソフト コーポレーション Api性能プロファイルを収集し報告するための自動化された方法およびシステム
US9027000B2 (en) 2006-06-16 2015-05-05 Microsoft Technology Licensing, Llc Automated method and system for collecting and reporting API performance profiles

Also Published As

Publication number Publication date
JP2798364B2 (ja) 1998-09-17

Similar Documents

Publication Publication Date Title
CN100538656C (zh) 在分布式调试器中调试计算机程序的方法和装置
FI102219B (fi) Parannettu virheraportointi käännetyn koodin suorittamiseksi
US5465258A (en) Binary image performance evaluation tool
US5528753A (en) System and method for enabling stripped object software monitoring in a computer system
US20030041316A1 (en) Dynamic CPU usage profiling and function call tracing
US20030028860A1 (en) Compiler and debugging device
KR970066861A (ko) 데이터 정밀도 모드 지시기를 갖는 다중 파이프라인 마이크로프로세서
Lorenzo et al. 3DyRM: a dynamic roofline model including memory latency information
CN100541421C (zh) 由专用指令配置的处理器和用于这种处理器的分配方法
JPH08314771A (ja) アプリケーションの評価方法及びシステム
JP2001125784A (ja) システム性能見積システム及びシステム性能見積方法
JP3419916B2 (ja) プロセス実行情報採取装置
CN113766312A (zh) 设备间的响应延迟计算方法、装置、设备及存储介质
Leopold et al. Programming for malleability with hybrid MPI-2 and OpenMP: Experiences with a simulation program for global water prognosis
JP2000235510A (ja) プロセッサおよびそのためのコンパイルプログラム記録媒体
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP3011115B2 (ja) デバッグシステム
CN112882960A (zh) 一种数据获取方法和装置
JP2731572B2 (ja) 論理シミュレーション方式
JP2009015734A (ja) プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム
KR19990025722A (ko) 동기식 전송장치의 유닛 경보 검출방법
JPS60252959A (ja) オンライン・トレ−ス制御方式
JP2795309B2 (ja) プロファイラ用コード追加方式
JPH05127945A (ja) プログラム実行状況解析方式
JPH04260943A (ja) トレース出力方式