JPH0588948A - サンプリング性能分析方法及び装置 - Google Patents
サンプリング性能分析方法及び装置Info
- Publication number
- JPH0588948A JPH0588948A JP4073367A JP7336792A JPH0588948A JP H0588948 A JPH0588948 A JP H0588948A JP 4073367 A JP4073367 A JP 4073367A JP 7336792 A JP7336792 A JP 7336792A JP H0588948 A JPH0588948 A JP H0588948A
- Authority
- JP
- Japan
- Prior art keywords
- application
- selected application
- execution
- analysis
- function
- 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
Links
Classifications
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 アプリケーション間に高度の分離機能をもつ
多重スレッドオペレーティングシステム内の一つの選ば
れたアプリケーションについてのサンプリング性能分析
を行うための方法および装置。 【構成】 選ばれたアプリケーション内のメモリをアク
セスするための追跡機能をつくり、選択されたアプリケ
ーションの実行を制御するためにそれを利用する。次に
追跡機能は走行スレッドプログラムを、周期的な区切点
割込みを連続的に発生するこの選択されたアプリケーシ
ョンにそう入するために利用される。一つの区切点割込
みが走行スレッドプログラムにより発生されるたびに選
択されたアプリケーションの実行が中断され、その位置
カウンタを含むそのアプリケーションの現在の状態を検
査し記憶する。その後この選ばれたアプリケーションの
性能が検査され、過度の実行時間を必要とするそのアプ
リケーションのエリアが識別される。
多重スレッドオペレーティングシステム内の一つの選ば
れたアプリケーションについてのサンプリング性能分析
を行うための方法および装置。 【構成】 選ばれたアプリケーション内のメモリをアク
セスするための追跡機能をつくり、選択されたアプリケ
ーションの実行を制御するためにそれを利用する。次に
追跡機能は走行スレッドプログラムを、周期的な区切点
割込みを連続的に発生するこの選択されたアプリケーシ
ョンにそう入するために利用される。一つの区切点割込
みが走行スレッドプログラムにより発生されるたびに選
択されたアプリケーションの実行が中断され、その位置
カウンタを含むそのアプリケーションの現在の状態を検
査し記憶する。その後この選ばれたアプリケーションの
性能が検査され、過度の実行時間を必要とするそのアプ
リケーションのエリアが識別される。
Description
【0001】
【産業上の利用分野】本発明はソフトウェアアプリケー
ション分析の分野に関し、より詳細には、ソフトウェア
アプリケーション内でサンプリング性能分析を行うため
の方法及び装置に関する。更に詳細には、本発明はアプ
リケーション間に高度の分離を有する多重スレッドオペ
レーティングシステム内でサンプリング性能分析を行う
ための方法及び装置に関する。
ション分析の分野に関し、より詳細には、ソフトウェア
アプリケーション内でサンプリング性能分析を行うため
の方法及び装置に関する。更に詳細には、本発明はアプ
リケーション間に高度の分離を有する多重スレッドオペ
レーティングシステム内でサンプリング性能分析を行う
ための方法及び装置に関する。
【0002】
【従来の技術】データ処理システム内でのソフトウェア
アプリケーションの性能分析は周知の技術である。分析
には一般に二つの基本的技術が利用される。まず、タイ
ミング戦略がソフトウェアアプリケーションの分析に利
用される。システムクロックを用いて、アプリケーショ
ンのコード内にいわゆる「フック」を置き、これらフッ
クの夫々の生じる時点を記憶することによりアプリケー
ション内の選ばれたイベントをタイミングづける。
アプリケーションの性能分析は周知の技術である。分析
には一般に二つの基本的技術が利用される。まず、タイ
ミング戦略がソフトウェアアプリケーションの分析に利
用される。システムクロックを用いて、アプリケーショ
ンのコード内にいわゆる「フック」を置き、これらフッ
クの夫々の生じる時点を記憶することによりアプリケー
ション内の選ばれたイベントをタイミングづける。
【0003】この技術は有効であるがソフトウェア「フ
ック」をそう入するためにオペレーティングシステム内
のアプリケーションを変更出来なくてはならない。例え
ばIBM社のOS/2オペレーティングシステムのよう
な選ばれたオペレーティングシステムはその内部のアプ
リケーション間に高度の分離機能を有し、容易には変更
出来ない。そのようなオペレーティングシステムではユ
ーザはその内部でのアプリケーションの内部的ワーキン
グに気づくことはなく、アプリケーション内のコードを
容易に変更することが出来ない。
ック」をそう入するためにオペレーティングシステム内
のアプリケーションを変更出来なくてはならない。例え
ばIBM社のOS/2オペレーティングシステムのよう
な選ばれたオペレーティングシステムはその内部のアプ
リケーション間に高度の分離機能を有し、容易には変更
出来ない。そのようなオペレーティングシステムではユ
ーザはその内部でのアプリケーションの内部的ワーキン
グに気づくことはなく、アプリケーション内のコードを
容易に変更することが出来ない。
【0004】実行時間が過剰となるホットスポットまた
はホットエリアをきめるためにソフトウェアアプリケー
ションを分析する第2の技術はいわゆる「モンテカル
ロ」サンプリング性能分析であり、アプリケーション内
のコードの実行位置を周期的にとらえてそのアプリケー
ションの実行の統計的な分析を行うために用いる。この
モンテカルロ分析技術は、アプリケーション間に高度の
分離機能を含む多重スレッドオペレーティングシステム
内のソフトウェアアプリケーションには、そのシステム
の保護的性質により利用出来ない。かくしてモンテカル
ロ分析を行うに必要な情報が容易には利用出来ない。
はホットエリアをきめるためにソフトウェアアプリケー
ションを分析する第2の技術はいわゆる「モンテカル
ロ」サンプリング性能分析であり、アプリケーション内
のコードの実行位置を周期的にとらえてそのアプリケー
ションの実行の統計的な分析を行うために用いる。この
モンテカルロ分析技術は、アプリケーション間に高度の
分離機能を含む多重スレッドオペレーティングシステム
内のソフトウェアアプリケーションには、そのシステム
の保護的性質により利用出来ない。かくしてモンテカル
ロ分析を行うに必要な情報が容易には利用出来ない。
【0005】
【発明が解決しようとする課題】従って、アプリケーシ
ョン間に高度の分離性のある多重スレッドオペレーティ
ングシステム内での選ばれたアプリケーションの実行分
析を行うための方法及び装置が要求される。
ョン間に高度の分離性のある多重スレッドオペレーティ
ングシステム内での選ばれたアプリケーションの実行分
析を行うための方法及び装置が要求される。
【0006】それ故本発明の目的は改良されたソフトウ
ェアアプリケーション分析技術を提供することである。
ェアアプリケーション分析技術を提供することである。
【0007】本発明の他の目的はソフトウェアアプリケ
ーション内でサンプリング性能分析を行うための改良さ
れた方法及び装置を提供することである。
ーション内でサンプリング性能分析を行うための改良さ
れた方法及び装置を提供することである。
【0008】本発明の更に他の目的はアプリケーション
間に高度の分離性のある多重系オペレーティングシステ
ム内でサンプリング性能分析を行うための改良された方
法及び装置を提供することである。
間に高度の分離性のある多重系オペレーティングシステ
ム内でサンプリング性能分析を行うための改良された方
法及び装置を提供することである。
【0009】
【課題を解決するための手段】本発明の方法と装置はア
プリケーション間に高度の分離性のある多重スレッドオ
ペレーティングシステム内の選ばれたアプリケーション
についてのサンプリング性能分析を行うために利用しう
る。例えば周知のDosPtrace アプリケーションプログラ
ムインターフェースのような追跡機能が選ばれたアプリ
ケーションの実行を制御するためにつくられて利用され
る。この追跡機能は次に、周期的に区切点割込みを連続
的に発生する走行スレッドプログラムをそう入するため
に利用される。この走行スレッドプログラムにより一つ
の区切点割込みが発生するごとに、選ばれたプログラム
の実行が中断され、その位置カウンタを含む選ばれたア
プリケーションの現在の状態が検査されて記憶される。
選ばれたアプリケーションのこの状態のこれら記憶され
たインジケーションがそのアプリケーションについての
実行回数の分布を含む報告書を自動的に発生するために
用いられる。その後、選ばれたアプリケーションの性能
が検査されそして過度の実行時間を必要とするアプリケ
ーションのエリアが識別される。
プリケーション間に高度の分離性のある多重スレッドオ
ペレーティングシステム内の選ばれたアプリケーション
についてのサンプリング性能分析を行うために利用しう
る。例えば周知のDosPtrace アプリケーションプログラ
ムインターフェースのような追跡機能が選ばれたアプリ
ケーションの実行を制御するためにつくられて利用され
る。この追跡機能は次に、周期的に区切点割込みを連続
的に発生する走行スレッドプログラムをそう入するため
に利用される。この走行スレッドプログラムにより一つ
の区切点割込みが発生するごとに、選ばれたプログラム
の実行が中断され、その位置カウンタを含む選ばれたア
プリケーションの現在の状態が検査されて記憶される。
選ばれたアプリケーションのこの状態のこれら記憶され
たインジケーションがそのアプリケーションについての
実行回数の分布を含む報告書を自動的に発生するために
用いられる。その後、選ばれたアプリケーションの性能
が検査されそして過度の実行時間を必要とするアプリケ
ーションのエリアが識別される。
【0010】
【実施例】図1は本発明の方法及び装置を実施するため
に利用しうるデータ処理システム10を示す。図示のよ
うに、データ処理システム10はプロセッサ12を含
み、このプロセッサは周知のようにキーボード14とデ
ィスプレイ装置16に接続される。ディスプレイ装置1
6は表示スクリーン18を有する。データ処理システム
10はいわゆるパーソナルコンピュータまたは他の同様
の処理ユニットを含む適当なコンピュータを用いてつく
ることが出来る。そのようなデータ処理システムの一例
はIBMパーソナルコンピュータPS/2である。この
パーソナルコンピュータPS/2はOS/2のようなオ
ペレーティングシステムを用いて動作しうる。OS/2
オペレーティングシステムはアプリケーション間に高度
の分離機能をもち、従って容易には変更出来ない。
に利用しうるデータ処理システム10を示す。図示のよ
うに、データ処理システム10はプロセッサ12を含
み、このプロセッサは周知のようにキーボード14とデ
ィスプレイ装置16に接続される。ディスプレイ装置1
6は表示スクリーン18を有する。データ処理システム
10はいわゆるパーソナルコンピュータまたは他の同様
の処理ユニットを含む適当なコンピュータを用いてつく
ることが出来る。そのようなデータ処理システムの一例
はIBMパーソナルコンピュータPS/2である。この
パーソナルコンピュータPS/2はOS/2のようなオ
ペレーティングシステムを用いて動作しうる。OS/2
オペレーティングシステムはアプリケーション間に高度
の分離機能をもち、従って容易には変更出来ない。
【0011】図2は本発明による追跡機能および走行ス
レッドプログラムを用いてモニタされるソフトウェアア
プリケーションを示すものである。図示のように、アプ
リケーション30はモニタ機能32でモニタされる。モ
ニタ機能32は好適には実行分析が行われるようにアプ
リケーション30を制御するために利用される。アプリ
ケーション30の制御はそれがその実行の統計的分析の
ために頻繁に割込みうるようにする必要がある。モニタ
機能32は主プロセスが従プロセスの実行を制御して従
プロセスのメモリを直接にアクセスさせる、いわゆるDo
sPtrace と呼ばれる標準的なアプリケーションプログラ
ムインターフェース(API)を含む。
レッドプログラムを用いてモニタされるソフトウェアア
プリケーションを示すものである。図示のように、アプ
リケーション30はモニタ機能32でモニタされる。モ
ニタ機能32は好適には実行分析が行われるようにアプ
リケーション30を制御するために利用される。アプリ
ケーション30の制御はそれがその実行の統計的分析の
ために頻繁に割込みうるようにする必要がある。モニタ
機能32は主プロセスが従プロセスの実行を制御して従
プロセスのメモリを直接にアクセスさせる、いわゆるDo
sPtrace と呼ばれる標準的なアプリケーションプログラ
ムインターフェース(API)を含む。
【0012】周知のDosPtrace インターフェースはアプ
リケーション30間で重大なイベントが生じるまでモニ
タプログラムに制御をもどすことが出来ないから、それ
をいわゆるモンテカルロ分析技術を行うためには利用出
来ない。重大なイベントの例としては区切点、マスク不
能な割込み、1段階割込み、またはプログラムのエンド
である。
リケーション30間で重大なイベントが生じるまでモニ
タプログラムに制御をもどすことが出来ないから、それ
をいわゆるモンテカルロ分析技術を行うためには利用出
来ない。重大なイベントの例としては区切点、マスク不
能な割込み、1段階割込み、またはプログラムのエンド
である。
【0013】OS/2オペレーティングシステムの保護
的性質によりそのオペレーティングシステム内で行われ
るアプリケーション内に区切点をそう入することは困難
である。しかしながら、DosPtrace 機能はアプリケーシ
ョン30のメモリスペースにいわゆる「モール」プログ
ラムをそう入するために利用しうる。本発明によればモ
ニタアプリケーション32がアプリケーション30のメ
モリスペース34に、「モール」プログラム36の開始
に利用しうるスタートアップコードをそう入する。モー
ルプログラム36はそのとき周期的に区切点割込みを連
続的に発生するための走行スレッドプログラムとして利
用される。
的性質によりそのオペレーティングシステム内で行われ
るアプリケーション内に区切点をそう入することは困難
である。しかしながら、DosPtrace 機能はアプリケーシ
ョン30のメモリスペースにいわゆる「モール」プログ
ラムをそう入するために利用しうる。本発明によればモ
ニタアプリケーション32がアプリケーション30のメ
モリスペース34に、「モール」プログラム36の開始
に利用しうるスタートアップコードをそう入する。モー
ルプログラム36はそのとき周期的に区切点割込みを連
続的に発生するための走行スレッドプログラムとして利
用される。
【0014】従ってモールプログラム36が区切点を発
生するたびにアプリケーション30の実行が一時的に中
断され、モニタ機能32がアプリケーション30内のレ
ジスタの現在の状態を分析し実行の行われているところ
を決定するために利用される。図示の実施例でははじめ
の区切点でモールプログラム36がオペレーティングシ
ステム内の1つのスレッドとしてつくられそしてメモリ
スペース34内のアプリケーションコードがアプリケー
ション30を通常に動作させうるようにするために再書
込される。
生するたびにアプリケーション30の実行が一時的に中
断され、モニタ機能32がアプリケーション30内のレ
ジスタの現在の状態を分析し実行の行われているところ
を決定するために利用される。図示の実施例でははじめ
の区切点でモールプログラム36がオペレーティングシ
ステム内の1つのスレッドとしてつくられそしてメモリ
スペース34内のアプリケーションコードがアプリケー
ション30を通常に動作させうるようにするために再書
込される。
【0015】図3は本発明によるソフトウェアアプリケ
ーション分析を示すフローチャートである。図示のよう
に、このプロセスはブロック50でスタートする。ブロ
ック52でソフトウェアDos Start Session を利用して
アプリケーション30(図2)をスタートさせる。その
後、ブロック54でこのDosPtrace 機能を用いてアプリ
ケーション30のライブラリおよびコードセグメントを
とり出す。
ーション分析を示すフローチャートである。図示のよう
に、このプロセスはブロック50でスタートする。ブロ
ック52でソフトウェアDos Start Session を利用して
アプリケーション30(図2)をスタートさせる。その
後、ブロック54でこのDosPtrace 機能を用いてアプリ
ケーション30のライブラリおよびコードセグメントを
とり出す。
【0016】この時点で、DosPtrace 機能はブロック5
6でアプリケーション30のメモリスペース34内にい
わゆる「モール」スタートアップコードを入れるために
用いられる。その後、ブロック58でこのスタートアッ
プコードがDosPtrace を用いてアプリケーション30内
で実行される。
6でアプリケーション30のメモリスペース34内にい
わゆる「モール」スタートアップコードを入れるために
用いられる。その後、ブロック58でこのスタートアッ
プコードがDosPtrace を用いてアプリケーション30内
で実行される。
【0017】分析されるアプリケーション内の「モー
ル」スタートアップコードを実行した後、ブロック60
でアプリケーション30用の初期化ルーチンを呼び出
す。この初期化ルーチンは図2のブロック36に示すよ
うにブロック62で連続的に走行するモールスレッドを
つくるために用いられる。ブロック36で連続的に走行
するモールスレッドアプリケーションにより発生される
区切点の発生により、ブロック64に示すようにこのプ
ロセスはモニタ機能にもどる。上記のように、DosPtrac
e 機能は、区切点のような重要なイベントの発生により
研究中のアプリケーションからDosPtrace 機能に制御を
もどす。
ル」スタートアップコードを実行した後、ブロック60
でアプリケーション30用の初期化ルーチンを呼び出
す。この初期化ルーチンは図2のブロック36に示すよ
うにブロック62で連続的に走行するモールスレッドを
つくるために用いられる。ブロック36で連続的に走行
するモールスレッドアプリケーションにより発生される
区切点の発生により、ブロック64に示すようにこのプ
ロセスはモニタ機能にもどる。上記のように、DosPtrac
e 機能は、区切点のような重要なイベントの発生により
研究中のアプリケーションからDosPtrace 機能に制御を
もどす。
【0018】本発明によれば、はじめに発生した区切点
によりモニタ機能にもどった後にブロック66で予めメ
モリセクション34内に与えられたアプリケーション3
0(図2)のそのメモリセクションにコードセグメント
を回復する。このようにアプリケーション30はそれに
関連するオペレーティングシステムの他のスレッド内に
つくられた連続走行モールスレッドプログラムと共にそ
の元の条件にもどされる。
によりモニタ機能にもどった後にブロック66で予めメ
モリセクション34内に与えられたアプリケーション3
0(図2)のそのメモリセクションにコードセグメント
を回復する。このようにアプリケーション30はそれに
関連するオペレーティングシステムの他のスレッド内に
つくられた連続走行モールスレッドプログラムと共にそ
の元の条件にもどされる。
【0019】この時点でブロック68でアプリケーショ
ン30がDosPtrace 機能を用いてスタートされる。その
後、モニタ機能32(図2)内のDosPtrace 機能に制御
がもどるたびにその理由が検査される。上記のように、
一度スタートしてしまうと、従プロセスは、区切点、マ
スク不能な割込み、1段階割込み、あるいはプログラム
エンドのような重大な点となるたびにDosPtrace 機能を
用いて主プロセスに制御をもどす。
ン30がDosPtrace 機能を用いてスタートされる。その
後、モニタ機能32(図2)内のDosPtrace 機能に制御
がもどるたびにその理由が検査される。上記のように、
一度スタートしてしまうと、従プロセスは、区切点、マ
スク不能な割込み、1段階割込み、あるいはプログラム
エンドのような重大な点となるたびにDosPtrace 機能を
用いて主プロセスに制御をもどす。
【0020】次にブロック72でアプリケーション30
からDosPtrace 機能に制御をもどす理由は区切り点また
は終了であるかどうかを決定する。そうでなければブロ
ック68において反復を行う。もどす理由が区切点また
は終了である場合はにブロック74でアプリケーション
30内で現在のコードセクションと命令ポインタを検査
し記憶する。この情報はアプリケーション30の「モン
テカルロ」分析を発生するために利用しうることは当業
者には明らかである。次にブロック76でDosPtrace 機
能へのもどしの理由が終了であったかどうかを決定す
る。そうでなければブロック68にもどり反復する。
からDosPtrace 機能に制御をもどす理由は区切り点また
は終了であるかどうかを決定する。そうでなければブロ
ック68において反復を行う。もどす理由が区切点また
は終了である場合はにブロック74でアプリケーション
30内で現在のコードセクションと命令ポインタを検査
し記憶する。この情報はアプリケーション30の「モン
テカルロ」分析を発生するために利用しうることは当業
者には明らかである。次にブロック76でDosPtrace 機
能へのもどしの理由が終了であったかどうかを決定す
る。そうでなければブロック68にもどり反復する。
【0021】ブロック76におけるその理由がアプリケ
ーションの終了である場合にはブロック78ですべての
コードライブラリの検査とマッピングを行う。その後、
ブロック80でアプリケーション30の性能を分析する
リポートを自動的に発生する。そしてブロック82でこ
のプロセスが終了する。
ーションの終了である場合にはブロック78ですべての
コードライブラリの検査とマッピングを行う。その後、
ブロック80でアプリケーション30の性能を分析する
リポートを自動的に発生する。そしてブロック82でこ
のプロセスが終了する。
【0022】図4は本発明を用いたソフトウェアアプリ
ケーションのサンプリング出力報告書の一例を示すもの
である。図示のように、このサンプリング出力報告書は
アプリケーション30内の実行配布をモジュール90で
示すことによりアプリケーション30の分析を発生する
ために利用出来る。あるいはこの実行配布は機能92あ
るいは原始コードライン番号94により表わすことが出
来る。
ケーションのサンプリング出力報告書の一例を示すもの
である。図示のように、このサンプリング出力報告書は
アプリケーション30内の実行配布をモジュール90で
示すことによりアプリケーション30の分析を発生する
ために利用出来る。あるいはこの実行配布は機能92あ
るいは原始コードライン番号94により表わすことが出
来る。
【0023】
【発明の効果】以上から、アプリケーション間に高度の
分離機能を有するオペレーティングシステム内の一つの
アプリケーションにスタートアップコードを一時的にそ
う入することにより、周期的に区切点を連続的に発生す
るように連続的に走行するスレッドプログラムをつくる
ことが出来ることは当業者には明らかである。その後、
そのアプリケーション内に元のコードを再びつくりそし
てオペレーティングシステム内の別のスレッドについて
連続的に走行するスレッドプログラムを実行することに
より、分析中のアプリケーションが、そのモンテカルロ
分析の生じるように走行中に区切点を、オペレーティン
グシステムの保護的性質にも拘らず周期的に発生するこ
とが出来る。
分離機能を有するオペレーティングシステム内の一つの
アプリケーションにスタートアップコードを一時的にそ
う入することにより、周期的に区切点を連続的に発生す
るように連続的に走行するスレッドプログラムをつくる
ことが出来ることは当業者には明らかである。その後、
そのアプリケーション内に元のコードを再びつくりそし
てオペレーティングシステム内の別のスレッドについて
連続的に走行するスレッドプログラムを実行することに
より、分析中のアプリケーションが、そのモンテカルロ
分析の生じるように走行中に区切点を、オペレーティン
グシステムの保護的性質にも拘らず周期的に発生するこ
とが出来る。
【図1】本発明の方法および装置を実現するために利用
しうるデータ処理システムを示す図。
しうるデータ処理システムを示す図。
【図2】本発明によるトレース機能と走行スレッドプロ
グラムによりモニタされるソフトウェアアプリケーショ
ンを示す図。
グラムによりモニタされるソフトウェアアプリケーショ
ンを示す図。
【図3】本発明を用いて行われるソフトウェアアプリケ
ーョン分析を示すフローチャート。
ーョン分析を示すフローチャート。
【図4】本発明によるソフトウェアアプリケーション分
析のサンプリング出力報告書の一例を示す図。
析のサンプリング出力報告書の一例を示す図。
10 データ処理システム 12 プロセッサ 14 キーボード 16 ディスプレイ装置 18 表示スクリーン 30 アプリケーション 32 モニタ機能 34 メモリスペース 36 モールプログラム
Claims (4)
- 【請求項1】データ処理システムにおいて、アプリケー
ション間に高度の分離機能を有する多重スレッドオペレ
ーティングシステム内の選ばれた一つのアプリケーショ
ンについてサンプリング性能分析を行うサンプリング性
能分析方法であって、 一つの選ばれたアプリケーションの実行を制御して上記
選ばれたアプリケーション内のメモリをアクセスするた
めの追跡機能をつくるステップ、 周期的な区切点割込みを連続的に発生する走行スレッド
プログラムを上記追跡機能を用いて上記選ばれたアプリ
ケーションにそう入するステップ、 上記選ばれたアプリケーションの実行中に上記走行スレ
ッドプログラムにより発生される各区切点割込みに応じ
て上記選ばれたアプリケーショの実行を中断し、上記追
跡機能を用いて上記選ばれたアプリケーションを検査し
て上記中断の位置のインジケーションを記憶するステッ
プ、および上記選ばれたアプリケーションの実行を再開
するステップを有するサンプリング性能分析方法。 - 【請求項2】前記記憶された位置インジケーションの夫
々の分析を行うステップを更に有する請求項1の方法。 - 【請求項3】データ処理システムにおいて、アプリケー
ション間に高度の分離を有する多重スレッドオペレーテ
ィングシステム内の一つの選ばれたアプリケーションに
ついてのサンプリング性能分析を行うサンプリング性能
分析装置であって、 一つの選ばれたアプリケーションの実行を制御して上記
選ばれたアプリケーション内のメモリにアクセスするた
めの追跡手段、 周期的な区切点割込みを連続的に発生する走行スレッド
プログラムを上記追跡手段を用いて上記選ばれたアプリ
ケーションにそう入する手段、 上記選ばれたアプリケーションの実行中に上記走行スレ
ッドプログラムにより発生される各区切点割込みに応じ
て上記選ばれたアプリケーションの実行を中断し、上記
追跡手段を用いて上記選ばれたアプリケーションを検査
し上記中断の位置のインジケーションを記憶するための
手段、および上記選ばれたアプリケーションの実行を再
開する手段を備えたサンプリング性能分析装置。 - 【請求項4】前記記憶された位置インジケーションの夫
々の分析を行う手段を更に含む請求項3のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US685582 | 1984-12-24 | ||
| US07/685,582 US5297274A (en) | 1991-04-15 | 1991-04-15 | Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0588948A true JPH0588948A (ja) | 1993-04-09 |
| JPH0823837B2 JPH0823837B2 (ja) | 1996-03-06 |
Family
ID=24752826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4073367A Expired - Lifetime JPH0823837B2 (ja) | 1991-04-15 | 1992-02-25 | サンプリング性能分析方法及び装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5297274A (ja) |
| JP (1) | JPH0823837B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013526754A (ja) * | 2010-05-25 | 2013-06-24 | インテル コーポレイション | マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム |
Families Citing this family (72)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5394545A (en) * | 1992-08-07 | 1995-02-28 | International Business Machines Corporation | System for determination and display of memory used, dedicated, and shared by a process at a particular time |
| US5600789A (en) * | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
| DE4332993C1 (de) * | 1993-09-28 | 1994-11-24 | Siemens Ag | Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen |
| EP0721620B1 (de) * | 1993-09-28 | 1997-05-28 | Siemens Aktiengesellschaft | Tracer-system zur fehleranalyse in laufenden realzeitsystemen |
| US6263488B1 (en) * | 1993-12-03 | 2001-07-17 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
| JP2856681B2 (ja) * | 1994-01-27 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 外部事象を処理する方法およびシステム |
| US5418941A (en) * | 1994-01-28 | 1995-05-23 | International Business Machines Corporation | Method and apparatus for a dynamic application test facility |
| US5471526A (en) * | 1994-02-28 | 1995-11-28 | Telefonaktiebolaget L M Ericsson (Publ.) | Tracing with keys and locks on a telecommunication network |
| US5732273A (en) * | 1995-08-11 | 1998-03-24 | Digital Equipment Corporation | System for monitoring compute system performance |
| US5526485A (en) * | 1994-10-13 | 1996-06-11 | Microsoft Corporation | Just-in-time debugging system and methods under the windows 3.0 and windows 3.1 operating systems |
| US5594861A (en) * | 1995-08-18 | 1997-01-14 | Telefonaktiebolaget L M Ericsson | Method and apparatus for handling processing errors in telecommunications exchanges |
| US5752062A (en) * | 1995-10-02 | 1998-05-12 | International Business Machines Corporation | Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system |
| US5691920A (en) * | 1995-10-02 | 1997-11-25 | International Business Machines Corporation | Method and system for performance monitoring of dispatch unit efficiency in a processing system |
| US5729726A (en) * | 1995-10-02 | 1998-03-17 | International Business Machines Corporation | Method and system for performance monitoring efficiency of branch unit operation in a processing system |
| US5949971A (en) * | 1995-10-02 | 1999-09-07 | International Business Machines Corporation | Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system |
| US5797019A (en) * | 1995-10-02 | 1998-08-18 | International Business Machines Corporation | Method and system for performance monitoring time lengths of disabled interrupts in a processing system |
| US5748855A (en) * | 1995-10-02 | 1998-05-05 | Iinternational Business Machines Corporation | Method and system for performance monitoring of misaligned memory accesses in a processing system |
| US5751945A (en) * | 1995-10-02 | 1998-05-12 | International Business Machines Corporation | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system |
| US5787286A (en) * | 1995-10-10 | 1998-07-28 | International Business Machines Corporation | Method and system for tabulation of execution performance |
| US5774724A (en) * | 1995-11-20 | 1998-06-30 | International Business Machines Coporation | System and method for acquiring high granularity performance data in a computer system |
| EP0801348A1 (en) * | 1996-04-10 | 1997-10-15 | Hewlett-Packard Company | Method of monitoring the operation of a computer |
| GB9626412D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
| US5915114A (en) * | 1997-02-14 | 1999-06-22 | Hewlett-Packard Company | Dynamic trace driven object code optimizer |
| US5983366A (en) * | 1997-03-19 | 1999-11-09 | Optimay Corporation | Data processing system having monitoring of software activity |
| US6282701B1 (en) * | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
| US6002871A (en) * | 1997-10-27 | 1999-12-14 | Unisys Corporation | Multi-user application program testing tool |
| KR100280460B1 (ko) * | 1998-04-08 | 2001-02-01 | 김영환 | 데이터 처리 장치 및 이의 복수의 스레드 처리 방법 |
| US6954922B2 (en) * | 1998-04-29 | 2005-10-11 | Sun Microsystems, Inc. | Method apparatus and article of manufacture for time profiling multi-threaded programs |
| US6161196A (en) * | 1998-06-19 | 2000-12-12 | Lucent Technologies Inc. | Fault tolerance via N-modular software redundancy using indirect instrumentation |
| US6341338B1 (en) | 1999-02-04 | 2002-01-22 | Sun Microsystems, Inc. | Protocol for coordinating the distribution of shared memory |
| US6378124B1 (en) | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread synchronization control points |
| US6378125B1 (en) | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread identification points |
| US6587967B1 (en) | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
| US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
| US6681384B1 (en) * | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
| US7035989B1 (en) | 2000-02-16 | 2006-04-25 | Sun Microsystems, Inc. | Adaptive memory allocation |
| US6658650B1 (en) * | 2000-02-18 | 2003-12-02 | International Business Machines Corporation | Service entry point for use in debugging multi-job computer programs |
| US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
| US6963940B1 (en) * | 2000-03-30 | 2005-11-08 | International Business Machines Corporation | Measuring utilization of individual components of channels |
| US6802057B1 (en) | 2000-05-03 | 2004-10-05 | Sun Microsystems, Inc. | Automatic generation of fortran 90 interfaces to fortran 77 code |
| US6647546B1 (en) | 2000-05-03 | 2003-11-11 | Sun Microsystems, Inc. | Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code |
| US6910107B1 (en) | 2000-08-23 | 2005-06-21 | Sun Microsystems, Inc. | Method and apparatus for invalidation of data in computer systems |
| US6760905B1 (en) * | 2000-09-21 | 2004-07-06 | Curl Corporation | Lazy compilation of template-generated classes in dynamic compilation execution environments |
| US7406681B1 (en) | 2000-10-12 | 2008-07-29 | Sun Microsystems, Inc. | Automatic conversion of source code from 32-bit to 64-bit |
| US6957208B1 (en) | 2000-10-31 | 2005-10-18 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for performance analysis using semantic knowledge |
| US8312435B2 (en) * | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
| GB2374954B (en) * | 2001-04-26 | 2005-03-02 | Isis Innovation | Profiling computer programs |
| US20030066055A1 (en) * | 2001-04-26 | 2003-04-03 | Spivey John Michael | Profiling computer programs |
| US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
| US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
| US7415699B2 (en) * | 2003-06-27 | 2008-08-19 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling execution of a child process generated by a modified parent process |
| US7185320B2 (en) * | 2003-06-27 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | System and method for processing breakpoint events in a child process generated by a parent process |
| US20050273757A1 (en) * | 2004-06-07 | 2005-12-08 | Anderson Craig D | Methods, systems, and computer program products for summarizing operational behavior of a computer program |
| US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
| FR2872605B1 (fr) * | 2004-06-30 | 2006-10-06 | Meiosys Sa | Procede de gestion d'un processus logiciel, procede et systeme de redistribution ou de continuite de fonctionnement dans une architecture multi-ordinateurs |
| US8510596B1 (en) * | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
| US20080155339A1 (en) * | 2006-10-25 | 2008-06-26 | Gary S Lowe | Automated tracing |
| CN101295279B (zh) * | 2007-04-29 | 2012-05-09 | 国际商业机器公司 | 多线程环境下的调试程序的方法和系统 |
| US9384159B2 (en) * | 2007-05-24 | 2016-07-05 | International Business Machines Corporation | Creating a checkpoint for a software partition in an asynchronous input/output environment |
| US8418148B2 (en) * | 2009-02-27 | 2013-04-09 | Microsoft Corporation | Thread execution analyzer |
| CN102460408B (zh) | 2009-06-01 | 2014-08-06 | 惠普开发有限公司 | 用于收集应用性能数据的系统和方法 |
| US9594656B2 (en) | 2009-10-26 | 2017-03-14 | Microsoft Technology Licensing, Llc | Analysis and visualization of application concurrency and processor resource utilization |
| US9430353B2 (en) | 2009-10-26 | 2016-08-30 | Microsoft Technology Licensing, Llc | Analysis and visualization of concurrent thread execution on processor cores |
| US8601444B2 (en) | 2009-10-27 | 2013-12-03 | Microsoft Corporation | Analysis and timeline visualization of thread activity |
| US8990551B2 (en) | 2010-09-16 | 2015-03-24 | Microsoft Technology Licensing, Llc | Analysis and visualization of cluster resource utilization |
| WO2015038944A1 (en) | 2013-09-12 | 2015-03-19 | Virsec Systems, Inc. | Automated runtime detection of malware |
| US10223232B2 (en) * | 2014-05-30 | 2019-03-05 | Teracloud Sa | System and method for recording the beginning and ending of job level activity in a mainframe computing environment |
| US10354074B2 (en) | 2014-06-24 | 2019-07-16 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
| US9729671B2 (en) * | 2014-10-05 | 2017-08-08 | YScope Inc. | Systems and processes for computer log analysis |
| CN105550104B (zh) * | 2015-12-08 | 2018-04-20 | 北京奇虎科技有限公司 | 应用程序性能测试方法及装置 |
| EP3472746B1 (en) | 2016-06-16 | 2020-05-13 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
| US11562116B2 (en) | 2020-07-07 | 2023-01-24 | International Business Machines Corporation | Detecting deviations from targeted design performance in accelerator/emulator environment |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0291739A (ja) * | 1988-09-29 | 1990-03-30 | Nec Corp | 計算機システムの性能監視情報編集出力方式 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3644936A (en) * | 1970-01-23 | 1972-02-22 | Boole & Babbage Inc | Method for measuring performance of a general purpose digital computer |
| US5103394A (en) * | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
| US4821178A (en) * | 1986-08-15 | 1989-04-11 | International Business Machines Corporation | Internal performance monitoring by event sampling |
| US5127103A (en) * | 1987-10-14 | 1992-06-30 | North American Philips Corporation | Real-time tracing of dynamic local data in high level languages in the presence of process context switches |
| JP2678283B2 (ja) * | 1988-03-15 | 1997-11-17 | 株式会社日立製作所 | データ通信制御装置 |
| US5121489A (en) * | 1988-08-02 | 1992-06-09 | International Business Machines Corporation | Tracing method for identifying program execution paths using a trace points bit map with one-to-one correspondence with embedded trace points |
| US5121501A (en) * | 1989-12-27 | 1992-06-09 | International Business Machines Corporation | First processor inserting hooks into software and sending unique identifications to output bus and second processor associating data frames and time with these unique identifications |
| US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
-
1991
- 1991-04-15 US US07/685,582 patent/US5297274A/en not_active Expired - Fee Related
-
1992
- 1992-02-25 JP JP4073367A patent/JPH0823837B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0291739A (ja) * | 1988-09-29 | 1990-03-30 | Nec Corp | 計算機システムの性能監視情報編集出力方式 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013526754A (ja) * | 2010-05-25 | 2013-06-24 | インテル コーポレイション | マルチスレッドアプリケーションのパフォーマンスを解析する方法及びシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0823837B2 (ja) | 1996-03-06 |
| US5297274A (en) | 1994-03-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0588948A (ja) | サンプリング性能分析方法及び装置 | |
| EP0652518B1 (en) | Operating system based performance monitoring of programs | |
| US5528753A (en) | System and method for enabling stripped object software monitoring in a computer system | |
| CN110580226B (zh) | 操作系统级程序的目标码覆盖率测试方法、系统及介质 | |
| US8230399B2 (en) | Method for system call interception in user space | |
| US5630049A (en) | Method and apparatus for testing software on a computer network | |
| US6708326B1 (en) | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence | |
| US7047521B2 (en) | Dynamic instrumentation event trace system and methods | |
| US6374369B1 (en) | Stochastic performance analysis method and apparatus therefor | |
| US6026236A (en) | System and method for enabling software monitoring in a computer system | |
| US8949800B2 (en) | Time-based trace facility | |
| US7133820B2 (en) | Method and apparatus for debugging programs in a distributed environment | |
| US8903703B2 (en) | Dynamically adjusting speed versus accuracy of computer platform simulation | |
| US20090320001A1 (en) | System, method and program product for monitoring changes to data within a critical section of a threaded program | |
| KR19990077479A (ko) | 데이터처리시스템및애플리케이션의구조화된프로파일링방법및장치 | |
| KR19990077480A (ko) | 데이터처리시스템및애플리케이션의구조화된프로파일링방법및장치 | |
| US20030135720A1 (en) | Method and system using hardware assistance for instruction tracing with secondary set of interruption resources | |
| EP3340059A1 (en) | Debugging method | |
| JP5029245B2 (ja) | プロファイリング方法及びプログラム | |
| US20070234298A1 (en) | Profiling method and computer product | |
| US7100027B1 (en) | System and method for reproducing system executions using a replay handler | |
| Mueller et al. | MiThOS-a real-time micro-kernel threads operating system | |
| CN118312344A (zh) | 任务耗时检测方法、介质、装置和计算设备 | |
| US20080010555A1 (en) | Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost | |
| KR100303188B1 (ko) | 컴퓨터프로그램분석방법및장치 |