(57)【要約】【課題】イベント・トレース・データを加工し有用で見易い表示を与える計算機動作の分析表示方法および測定分析表示装置を提供する。【解決手段】時系列データ中のプロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、前記時系列中のアプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することを特徴とする。【選択図】　図１
2004005198.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳに埋め込むカーネル・プローブと測定対象アプリケーションに埋め込むアプリケーション・プローブとを併用してイベント・トレース手法で収集した時系列データを分析表示する計算機動作の分析表示方法であって、前記時系列データ中のプロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、前記時系列中のアプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することを特徴とする計算機動作の分析表示方法。
【請求項２】
ＯＳに埋め込むカーネル・プローブと測定対象アプリケーションに埋め込むアプリケーション・プローブとを併用してイベント・トレース手法で収集した時系列データを分析表示する計算機動作の分析表示方法であって、前記時系列データ中の統計処理開始イベントとして指定されたアプリケーション・イベントを検出して前記時系列データ中のカーネル・プローブが検出したイベントを入力とする統計処理を開始し、前記時系列データ中の統計処理終了イベントとして指定されたアプリケーション・イベントを検出して前記統計処理を終了し、その統計処理結果を表示することを特徴とする計算機動作の分析表示方法。
【請求項３】
ＯＳに埋め込まれ、測定対象計算機上のプロセス切り換えイベントや入出力イベントを検出するカーネル・プローブと、測定対象アプリケーション・プログラムに埋め込まれ、アプリケーション内の処理フローを示すアプリケーション・イベントを検出するアプリケーション・プローブとを併用し、両プローブが検出したイベントの内容を示すイベント情報とイベント発生時刻とを時系列データであるイベント・トレース・データとして記録する測定装置と、その測定結果であるイベント・トレース・データを入力して測定対象計算機の動作を分析し、その結果を表示する分析表示装置とからなることを特徴とする計算機動作の測定分析表示装置。
【請求項４】
前記分析表示装置が、前記イベント・トレース・データ入力を受けて、プロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、アプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することを特徴とする請求項３に記載の計算機動作の測定分析表示装置。
【請求項５】
前記分析表示装置が、前記イベント・トレース・データ入力を受けて、統計処理開始イベントとして指定されたアプリケーション・イベントを検出して前記時系列データ中のカーネル・プローブが検出したイベントを入力とする統計処理を開始し、前記時系列データ中の統計処理終了イベントとして指定されたアプリケーション・イベントを検出して前記統計処理を終了し、その統計処理結果を表示することを特徴とする請求項３に記載の計算機動作の測定分析表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する分野】
本発明は、イベント・トレース手法で収集した計算機動作を分析表示する計算機動作の分析表示方法および測定分析表示装置に関するものである。
【０００２】
【従来の技術】
計算機動作を測定する手法の一つであるイベント・トレースは、計算機内で発生するイベントを時系列として記録するため、測定対象計算機がどのように動作したのかを逐一再現することが可能である。
この利点を活用し計算機動作をグラフィカルに表示するツールがこれまでに開発されている。
一例が、ＷｉｎｄＶｉｅｗ（ｈｔｔｐ：／／ｗｗｗ．ｗｉｎｄｒｉｖｅｒ．ｃｏｍ／ｐｒｏｄｕｃｔｓ／ｈｔｍｌ／ｗｉｎｄｖｉｅｗ２＿ｄｓ．ｈｔｍｌ）とＬｉｎｕｘ　Ｔｒａｃｅ　Ｔｏｏｌｋｉｔ（ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｒｓｙｓ．ｃｏｍ／ＬＴＴ／ｓｃｒｅｅｎｓｈｏｔｓ．ｈｔｍｌ）である。
これらは、横軸を時間、縦軸方向に測定対象システム内のプロセスを並べ、それらのプロセスが動作している期間をグラフィカルに表示するツールである。
これらのツールが表示するタイミング図において、横方向の線分はプロセスが動作している期間を表示するものである。
これらの図には、システムコール名やセマフォ操作など、ＯＳ（オペレーション・システム）のカーネル内に埋めこまれたソフトウエア・プローブが出力するイベント情報を表示する機能は用意されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の計算機動作の分析表示方法および測定分析表示装置においては次のような問題があった。
すなわち、測定装置にアプリケーション・プログラムからのイベント・データを扱う機能が備わっていないことから、アプリケーション・イベントの表示機能がなく、計算機動作をグラフィカル表示させた際、アプリケーション処理と表示とを対応させることが困難であった。
【０００４】
また、アプリケーション・プログラム内の二点間を実行する際の性能指標を求めるため、それらの点に測定点を設置し、測定操作開始点が実行されたときの時刻と測定操作終了点が実行されたときの時刻の差を計算することで、それらの測定点間の経過時間を得る方法はプログラマの間では常識となっている。
しかし、この方法で得られるのは経過時間であり、プログラム処理に要したＣＰＵ時間や入出力操作の回数や扱ったデータサイズといった性能指標を得ることはできなかった。
一方、このような性能指標は、カーネル・プローブにより得られるトレース・データを分析することにより得ることが可能であるが、この方法では、アプリケーション・プログラム内の特定の二点間におけるプログラム実行についての性能指標を得ることができない。
【０００５】
本発明は、以上の従来技術における問題に鑑みてなされたものであり、イベント・トレース・データを加工し有用で見易い表示を与える計算機動作の分析表示方法および測定分析表示装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前記課題を解決するために提供する本願第一の発明に係る計算機動作の分析表示方法は、ＯＳに埋め込むカーネル・プローブと測定対象アプリケーションに埋め込むアプリケーション・プローブとを併用してイベント・トレース手法で収集した時系列データを分析表示する計算機動作の分析表示方法であって、前記時系列データ中のプロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、前記時系列中のアプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することを特徴とする。
【０００７】
時系列データ中のプロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、時系列中のアプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することにより、対象アプリケーション・イベントを時間的基準として計算機動作を分析し、その結果をグラフィカルに表示する。
【０００８】
前記課題を解決するために提供する本願第二の発明に係る計算機動作の分析表示方法は、ＯＳに埋め込むカーネル・プローブと測定対象アプリケーションに埋め込むアプリケーション・プローブとを併用してイベント・トレース手法で収集した時系列データを分析表示する計算機動作の分析表示方法であって、前記時系列データ中の統計処理開始イベントとして指定されたアプリケーション・イベントを検出して前記時系列データ中のカーネル・プローブが検出したイベントを入力とする統計処理を開始し、前記時系列データ中の統計処理終了イベントとして指定されたアプリケーション・イベントを検出して前記統計処理を終了し、その統計処理結果を表示することを特徴とする。
【０００９】
時系列データ中の統計処理開始イベントとして指定されたアプリケーション・イベントを検出して時系列データ中のカーネル・プローブが検出したイベントを入力とする統計処理を開始し、時系列データ中の統計処理終了イベントとして指定されたアプリケーション・イベントを検出して前記統計処理を終了し、その統計処理結果を表示するにより、所望区間の計算機動作の統計が得られる。
【００１０】
前記課題を解決するために提供する本願第三の発明に係る計算機動作の測定分析表示装置は、ＯＳに埋め込まれ、測定対象計算機上のプロセス切り換えイベントや入出力イベントを検出するカーネル・プローブと、測定対象アプリケーション・プログラムに埋め込まれ、アプリケーション内の処理フローを示すアプリケーション・イベントを検出するアプリケーション・プローブとを併用し、両プローブが検出したイベントの内容を示すイベント情報とイベント発生時刻とを時系列データであるイベント・トレース・データとして記録する測定装置と、その測定結果であるイベント・トレース・データを入力して測定対象計算機の動作を分析し、その結果を表示する分析表示装置とからなることを特徴とする。
【００１１】
この構成により、対象アプリケーション・イベントを時間的基準として計算機動作を分析できる。
【００１２】
前記課題を解決するために提供する本願第四の発明に係る計算機動作の測定分析表示装置は、本願第三の発明に係る計算機動作の測定分析表示装置において、前記分析表示装置が、前記イベント・トレース・データ入力を受けて、プロセス切り換えイベントをもとに各プロセスについて走行期間と非走行期間とを示すプロセス動作表示データと、アプリケーション・イベントをもとに測定対象アプリケーションにおいて処理フローが到達したプローブ埋め込み点を示す情報と到達時刻との対から成るアプリケーション・イベント表示データとを作成すると共に、１つの軸を時間軸、もう１つの軸にプロセスを並べたタイムチャート上に、各プロセスについての走行期間と非走行期間を区別して表示し、処理フローが到達したプローブ埋め込み点を示す情報を到達時刻に対応する位置に表示することを特徴とする。
【００１３】
この構成により、対象アプリケーション・イベントを時間的基準として計算機動作を分析し、その結果をグラフィカルに表示できる。
【００１４】
前記課題を解決するために提供する本願第五の発明に係る計算機動作の測定分析表示装置は、本願第三の発明に係る計算機動作の測定分析表示装置において、前記分析表示装置が、前記イベント・トレース・データ入力を受けて、統計処理開始イベントとして指定されたアプリケーション・イベントを検出して前記時系列データ中のカーネル・プローブが検出したイベントを入力とする統計処理を開始し、前記時系列データ中の統計処理終了イベントとして指定されたアプリケーション・イベントを検出して前記統計処理を終了し、その統計処理結果を表示することを特徴とする。
【００１５】
この構成により、所望区間の計算機動作の統計が得られる。
【００１６】
【発明の実施の形態】
以下に、本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態における構成について図面を参照して説明する。
図１は、本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態における構成を示すブロック図である。
図１に示すように、本実施の計算機動作の測定分析表示装置は、測定装置１１と、分析表示装置１３とからなり、測定装置１１は、測定対象計算機１のオペレーティング・システム３内に埋め込まれるカーネル・プローブ（プロセス切り換えイベント検出用６、７および入出力イベント検出用８、９）と測定対象アプリケーション・プログラム２内に埋め込まれるアプリケーション・プローブ１４と、これらのソフトウエア・プローブが検出したイベント・データを記録するイベント・データ記録装置１０とから構成され、測定対象計算機１の動作に伴って発生するイベント（プロセス切り換えイベント、入出力イベント、アプリケーション・イベント）をその発生時刻と共に記録していくことでイベント・トレース（時系列）データ１２を生成する。
分析表示装置１３は、イベント・トレース・データ１２を入力して分析処理を行ない、その結果を表示する。
【００１７】
次に、本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態における動作について図面を参照して以下に説明する。
なお、図１中に示す測定装置１１の基本的な動作は、次の通りである。
被測定プログラムを測定対象計算機１で実行させると、各プローブ、すなわち、測定対象計算機のオペレーティング・システム内に埋め込まれるカーネル・プローブ６、７、８、９と測定対象アプリケーション・プログラム内に埋め込まれるアプリケーション・プローブ１４とが実行される毎に、イベント・データがイベント・データ記録手段１０に送られ、このイベント・データおよびイベント・データが出力された時刻を示す情報を逐次記録し、測定データ１２を作成する。以下、本実施形態の動作を、図２に示すクライアント・サーバ・システムにおけるサーバ処理の測定・分析・表示を行なう場合を例に説明する。
図２は、本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態におけるサーバ処理の動作を示すブロック図、図３は、本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態におけるサーバ・プログラムの動作を示すフローチャートである。
図２、図３に示すように、このサーバ・プログラムは、ｗｅｂサーバ２１をモデルとしたものであり、クライアント２２（ｗｅｂブラウザが典型例）からネットワーク接続要求およびファイル・データ転送要求メッセージを受け付けると（ステップ３０、３１）、要求されたファイル２３のデータを読み出し（ステップ３２）、要求したクライアント２２に送信（ステップ３３）した後、クライアントとのネットワーク接続を切断する（ステップ３４）、というループを繰り返すようになっている。クライアントからのネットワーク接続要求およびファイル・データ転送要求メッセージ受信のステップ（３０、３１）では、クライアントからの要求やメッセージが到着するまでサーバ・プログラムは待機するようになっている。
また、一連の処理が終わると再びクライアントからの接続要求を待つ処理を行なうようになっており、プログラムの実行終了点は存在しない。
そして、このサーバ・プログラムの処理フロー位置を検出するために、挿入位置ＩＤをもつ図１に示す各アプリケーション・プローブ１４が埋め込まれ実行されている（３５、３６、３７、３８、３９）。
【００１８】
測定対象計算機に埋め込んだプローブが出力するイベント・データは、図４、図５、図６に示すように、発生イベントを識別するための番号（イベントＩＤ）とイベントに応じた付加情報から構成されている。
図４は、測定対象計算機のオペレーティング・システム内に埋め込んだカーネル・プローブが検出するプロセス切り換えイベントについて記録される情報である。プロセス切り換えイベントであるＳＡＶＥ、ＲＥＳＵＭＥイベントの付加情報は、操作対象であるプロセスを識別するための情報（プロセスＩＤ）である。図５は、測定対象計算機のオペレーティング・システム内に埋め込んだカーネル・プローブが検出する入出力イベントについて記録される情報である。ネットワークの接続受付および切断イベントであるＡＣＣＥＰＴ、ＳＨＵＴＤＯＷＮイベントの付加情報は、操作対象であるネットワーク通信路を識別するための情報（通信路ＩＤ）であり、ネットワーク通信路を介した送信および受信イベントであるＳＥＮＤ、ＲＥＣＥＩＶＥイベントの付加情報は、操作対象であるネットワーク通信路を識別するための情報（通信路ＩＤ）と送信または受信したデータのサイズである。
また、入出力イベントの内、ファイル読み込み開始イベントであるＲＥＡＤ＿ＢＥＧＩＮイベントの付加情報は、ファイル読み込み操作を識別するための情報（アクセスＩＤ）、読み込んだデータのサイズ、操作対象であるファイルの存在位置を示す情報であり、ファイル読み込み終了イベントであるＲＥＡＤ＿ＥＮＤイベントの付加情報は、その読み込み処理を識別するための情報（アクセスＩＤ）である。
図６は、測定対象アプリケーション・プログラム内に埋め込まれるアプリケーション・プローブが検出するアプリケーション・イベント（ＡＰＰＬＩＣＡＴＩＯＮ）について記録される情報であり、その付加情報は、アプリケーション・プローブの埋め込み位置を示す情報（挿入位置ＩＤ）である。
【００１９】
クライアント・マシンからの要求を受けてサーバ・プロセスが動作したときの測定対象計算機を、上記のソフトウエア・プローブを用いた測定装置により測定して得られるイベント・トレース・データの例を図７に示す。
ここでは、プロセスＩＤが２０００のプロセスがサーバ・プロセスであり、プロセスＩＤが１０００のプロセスがサーバとは無関係に動作するｄａｅｍｏｎプロセスである。
【００２０】
そして、このイベント・トレース・データが、図１に示す分析表示装置１３に入力し、分析・表示される。以下、この分析表示装置の動作例を二例説明する。（分析表示装置例１）
本実施の分析装置が、上記のようにして得られた図７に示すイベント・トレース・データ入力を受けると、ＳＡＶＥイベントおよびＲＥＳＵＭＥイベントを元にプロセスＩＤが２０００と１０００のプロセスについて図８に示すプロセス動作表示データを作成する。
また、プロセスＩＤが２０００のプロセスが動作している期間中に挿入位置ＩＤが１から５のアプリケーション・イベントが出力されていることが分かるので、図９に示すアプリケーション・イベント表示データを作成する。
表示装置では、横軸を時間とし、また縦軸方向にプロセスを配置し、プロセス動作表示データをもとにプロセスの走行期間、すなわち、プロセスがＲＥＳＵＭＥされた時刻からＳＡＶＥされた時刻の間に線を引くことで、走行期間を示す。アプリケーション・イベントについては、アプリケーション・イベント表示データをもとに、アプリケーション・イベントが発生したプロセス内のイベント発生時刻点に、挿入位置ＩＤを示すマークを表示する。
図８に示すプロセス動作表示データおよび図９に示すアプリケーション・イベント表示データをもとに表示装置が描くタイミング図（測定対象計算機の動作を示す図）を図１０に示す。
ここでプロセスＩＤ２０００のプロセス中に示されている１〜５の数字と、それらの下にある縦棒が挿入位置ＩＤを示すマークである。
【００２１】
（分析表示装置例２）
本実施の分析装置が、上記のようにして得られた図７に示すイベント・トレース・データ入力を受けると、例えば、挿入位置ＩＤが１のアプリケーション・イベントが出力された時点から挿入位置ＩＤが２のアプリケーション・イベントが出力された時点については、図１１に示すアルゴリズムにより統計処理を行ない、統計処理結果をファイルに記録する。
この図において、従来技術による統計処理１１０では、カーネル・プローブが検出したイベントを入力して、プログラム実行により消費したＣＰＵ時間、ネットワーク送信処理および受信処理の回数および扱ったデータサイズ、ファイル読み込み処理および書き込み処理の回数および扱ったデータサイズ、といった性能指標が処理対象となる。
本実施の分析表示装置では、この統計処理部に与えるイベント・データを、図１１に示すアルゴリズムによって制御することで、アプリケーション・イベントによって区切られるアプリケーション実行の特定の区間についてのみ統計処理を行なうことを可能にしている。
この分析表示装置により、プロセスＩＤが２０００のサーバ・プロセスについて、測定開始時点から挿入位置ＩＤが１のアプリケーション・イベントが出力された時点、挿入位置ＩＤが１のアプリケーション・イベントが出力された時点から挿入位置ＩＤが１のアプリケーション・イベントが出力された時点、以下同様に、２から３、３から４、４から５、５から測定終了時点までの区間について統計処理を行なった結果を図１２に示す。
この結果に、途中で動作していたｄａｅｍｏｎプロセスの処理分が含まれないのは、カーネル・プローブが出力するプロセス切り換えイベントの情報を利用して統計処理を行なっているからである。
カーネル・プローブとアプリケーション・プローブを併用した測定を行なったことによる利点は、プロセス毎の性能指標を、アプリケーション実行に関連付けられた処理ステップ毎に得られる点である。
【００２２】
【発明の効果】
以上説明したように、本発明に係る計算機動作の分析表示方法および測定分析表示装置によれば、イベント・トレース・データを、ＯＳ・イベントとアプリケーション・イベントとを分離し互いを関連付けて加工することにより、有用で見易い計算機動作の分析表示を提供することができる。
【図面の簡単な説明】
【図１】本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態における構成を示すブロック図である。
【図２】本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態におけるサーバ処理の動作を示すブロック図である。
【図３】本発明に係る計算機動作の分析表示方法および測定分析表示装置の一実施の形態におけるサーバ・プログラムの動作を示すフローチャートである。
【図４】測定対象計算機のオペレーティング・システム内に埋め込んだカーネル・プローブが検出するプロセス切り換えイベントについて記録される情報を示す図である。
【図５】測定対象計算機のオペレーティング・システム内に埋め込んだカーネル・プローブが検出する入出力イベントについて記録される情報を示す図である。
【図６】測定対象アプリケーション・プログラム内に埋め込まれるアプリケーション・プローブが検出するアプリケーション・イベント（ＡＰＰＬＩＣＡＴＩＯＮ）について記録される情報を示す図である。
【図７】ソフトウエア・プローブを用いた測定装置により測定して得られるイベント・トレース・データの例を示す図である。
【図８】プロセス動作表示データを示す図である。
【図９】アプリケーション・イベント表示データを示す図である。
【図１０】プロセス動作表示データおよびアプリケーション・イベント表示データをもとに表示装置が描くタイミング図である。
【図１１】イベント・トレース・データに対して所望の統計処理を行うためのアルゴリズム例を示す図である。
【図１２】各区間について統計処理を行なった結果を示す図である。
【符号の説明】
１．測定対象計算機
２．アプリケーション・プログラム
３．オペレーティング・システム
４．プロセス切り換え機能
５．入出力機能
６．プロセスのｓａｖｅ操作を検出するソフトウエア・プローブ
７．プロセスのｒｅｓｕｍｅ操作を検出するソフトウエア・プローブ
８．プロセスのネットワークについての入出力操作を検出するソフトウエア・プローブ
９．プロセスのファイルについての入出力操作を検出するソフトウエア・プローブ
１０．イベント・データ記録装置
１１．測定装置
１２．イベント・トレース・データ
１３．分析表示装置
１４．アプリケーション・プローブ
【図１】
2004005198.tif 000003
【図２】
2004005198.tif 000004
【図３】
2004005198.tif 000005
【図４】
2004005198.tif 000006
【図５】
2004005198.tif 000007
【図６】
2004005198.tif 000008
【図７】
2004005198.tif 000009
【図８】
2004005198.tif 000010
【図９】
2004005198.tif 000011
【図１０】
2004005198.tif 000012
【図１１】
2004005198.tif 000013
【図１２】
2004005198.tif 000014