(57)【特許請求の範囲】
【請求項１】
計測対象における第１ファイルのファイル名及びファイル識別子のうちの少なくとも一方と前記第１ファイルへアクセスするプロセスを識別可能なプロセス識別子との情報と、プロセスごとの前記第１ファイルへのアクセスの時刻の情報とが入力される入力手段と、
前記入力手段に入力される情報を用いて、前記計測対象の状態を表示するための処理を実行する表示制御手段と、
を具備し、
前記計測対象の状態は、一方の軸によりファイルを特定可能であって、他方の軸によりファイルへのアクセスの時刻が特定可能なグラフにより表示されるものであって、
前記一方の軸には、ファイルを特定可能な情報があわせて表示されるものであって、
前記ファイルを特定可能な情報は、前記入力手段にファイル名の情報が入力されない場合、ファイル識別子とプロセス識別子とを用いて変換して取得されるファイル名の情報が表示される、電子機器。
【請求項２】
前記プロセスごとの前記第１ファイルへのアクセスは、前記計測対象のオペレーティングシステムのシステムコールを単位とする請求項１に記載の電子機器。
【請求項３】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
計測対象における第１ファイルのファイル名及びファイル識別子のうちの少なくとも一方と前記第１ファイルへアクセスするプロセスを識別可能なプロセス識別子との情報と、プロセスごとの前記第１ファイルへのアクセスの時刻の情報とが入力される入力手段と、
前記入力手段に入力される情報を用いて、前記計測対象の状態を表示するための処理を実行する表示制御手段として動作させ、
前記計測対象の状態は、一方の軸によりファイルを特定可能であって、他方の軸によりファイルへのアクセスの時刻が特定可能なグラフにより表示されるものであって、
前記一方の軸には、ファイルを特定可能な情報があわせて表示されるものであって、
前記ファイルを特定可能な情報は、前記入力手段にファイル名の情報が入力されない場合、ファイル識別子とプロセス識別子とを用いて変換して取得されるファイル名の情報が表示される、プログラム。
【請求項４】
計測対象における第１ファイルのファイル名及びファイル識別子のうちの少なくとも一方と前記第１ファイルへアクセスするプロセスを識別可能なプロセス識別子との情報と、プロセスごとの前記第１ファイルへのアクセスの時刻の情報とを生成する計測手段と、
前記計測手段に生成される情報を用いて、前記計測対象の状態を表示するための処理を実行する表示制御手段と、
を具備し、
前記計測対象の状態は、一方の軸によりファイルを特定可能であって、他方の軸によりファイルへのアクセスの時刻が特定可能なグラフにより表示されるものであって、
前記一方の軸には、ファイルを特定可能な情報があわせて表示されるものであって、
前記ファイルを特定可能な情報は、前記計測手段によりファイル名の情報が生成されない場合、ファイル識別子とプロセス識別子とを用いて変換して取得されるファイル名の情報が表示される、状態表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータ等のシステムの状態を表示する電子機器、プログラム、及び状態表示システムに関する。
【背景技術】
【０００２】
従来、トレースシステムとしてコンピュータの状態を表示する状態表示装置が一般的に用いられている。状態表示装置は、計測対象における処理状態に基づいてトレースデータを作成する。状態表示装置は、作成したトレースデータに基づいて、計測対象の状態の表示を行うことができる。
【０００３】
状態表示装置は、作成したトレースデータをバッファなどに記憶する。状態表示装置は、リングバッファなどに記憶されるトレースデータを読み出し、計測対象に関するトレースデータのファイル（計測ファイル）を作成する。
【０００４】
また、状態表示装置は、例えば、計測対象における処理項目毎（プロセス毎）の状態変化をトレースデータとして記録する。この場合、状態表示装置は、トレースデータに基づいて、処理項目毎に計測対象の状態を表示することができる。また、状態表示装置は、ある処理項目に関する状態変化をスタック構造で管理することにより、例えば計測対象の一つ前の状態を表示する事ができる。
【０００５】
しかしながら既存のトレースファイルの表示技術では、ファイル単位で表示する機能がない。例えばファイルへのアクセスタイミングの表示は、デバッグ・チューニングのヒントになり要望されているが、かかる要望を実現するための手段は知られていない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３３７８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施の形態は、トレースシステムにおいてファイルへのアクセスタイミングを表示することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、実施形態によれば電子機器は、計測対象における第１ファイルのファイル名及びファイル識別子のうちの少なくとも一方と前記第１ファイルへアクセスするプロセスを識別可能なプロセス識別子との情報と、プロセスごとの前記第１ファイルへのアクセスの時刻の情報とが入力される入力手段と、前記入力手段に入力される情報を用いて、前記計測対象の状態を表示するための処理を実行する表示制御手段とを具備し、前記計測対象の状態は、一方の軸によりファイルを特定可能であって、他方の軸によりファイルへのアクセスの時刻が特定可能なグラフにより表示されるものであって、前記一方の軸には、ファイルを特定可能な情報があわせて表示されるものであって、前記ファイルを特定可能な情報は、前記入力手段にファイル名の情報が入力されない場合、ファイル識別子とプロセス識別子とを用いて変換して取得されるファイル名の情報が表示される。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係わる状態表示システムの構成例について説明するためのブロック図。
【図２】図１に示す状態表示システムの機能について説明する為の説明図。
【図３】同実施形態の表示装置２６０の表示画面のイメージを示す図。
【図４】同実施形態の表示装置２６０の表示画面のイメージを示す別の図。
【図５】同実施形態に用いられる動作プログラムの計測処理の様子を示す図。
【図６】同実施形態に用いられるテーブルを示す図。
【図７】同実施形態に用いられる計測ファイル４４０の一部の例を示す図。
【発明を実施するための形態】
【００１０】
以下、図を参照しながら、実施形態に係わる状態表示装置、プログラム、及び状態表示システムついて詳細に説明する。
【００１１】
まず図１は、実施形態の状態表示システム１の構成例について説明するためのブロック図である。
【００１２】
図１は本システムのハードウェア構成を示している。状態表示システム１は、計測対象となるシステム全体としての処理装置１００と、状態の表示処理を行う状態表示装置２００とを備える。
【００１３】
処理装置１００は、ＣＰＵ１１０、主記憶装置１２０、ＲＯＭ１３０、不揮発性メモリ１４０、及びインターフェース１５０を備える。インターフェース１５０にはＨＤＤやＵＳＢメモリなどのような外部記憶装置が接続されている。
【００１４】
ＣＰＵ１１０は、種々の演算処理を実行する演算素子などを備える。ＣＰＵ１１０は、ＲＯＭ１３０、または不揮発性メモリ１４０などに記憶されているプログラムを実行することにより種々の機能モジュールを実現する。
【００１５】
なお、処理装置１００は、ＲＯＭ１３０、または不揮発性メモリ１４０に格納されるプログラムの代わりに、上記機能モジュールに相当する機能を有するハードウェアを備えていても良い。
【００１６】
主記憶装置１２０は、ＣＰＵ１１０のワークメモリとして機能する。即ち、ＣＰＵ１１０は、演算処理の処理結果、ＲＯＭ１３０または不揮発性メモリ１４０から読み出したデータ、及び外部記憶装置３００に書き込むデータ、などを一時的に記憶する。
【００１７】
ＲＯＭ１３０は、処理装置１００を制御する制御プログラムを備える。また、ＲＯＭ１３０は、アプリケーションなどを実行する為の処理プログラムなどを備える。不揮発性メモリ１４０は、各種の設定情報などを記憶するメモリである。
【００１８】
インターフェース１５０は、種々の装置を接続可能なインターフェースである。例えば、インターフェース１５０は、ＵＳＢポート、Ｓ−ＡＴＡポート、ＬＡＮポート、またはメモリカードなどの各種の記憶媒体を接続することが出来るメモリリーダライタなどを備える。
【００１９】
外部記憶装置３００は、ＨＤＤ、ＵＳＢメモリ、またはメモリカードなどの記憶装置である。外部記憶装置３００は、処理装置１００のインターフェース１５０に接続される。これにより、ＣＰＵ１１０は、外部記憶装置３００に対してデータの書き込み、読み出し、または他の処理を行うことができる。なお、外部記憶装置３００は、不揮発性の記憶媒体であれば如何なるものであってもよい。
【００２０】
また、処理装置１００と状態表示装置２００とがそれぞれ互いに通信することができる通信インターフェースを備える場合、状態表示システム１は、外部記憶装置３００を、処理装置１００内に設置される記憶装置に置き換えることが出来る。例えば、ＬＡＮ上のＮＡＳ（Network Attached Storage）などのＨＤＤである。ＵＳＢメモリを用いる場合は、処理装置１００から状態表示装置２００へと抜き差しすればよい。
【００２１】
ＣＰＵ１１０は、ＲＯＭ１３０または不揮発性メモリ１４０などに記憶されているプログラム、またはプログラムに相当するハードウェアを実行することにより、種々の項目（プロセス）を起動（スタート）する。プロセスは、種々の状態に入る（状態入口と称する）、または種々の状態から出る（状態出口と称する）。
【００２２】
ＣＰＵ１１０は、後述する処理により、各項目における上記の状態入口と状態出口とを記憶し、トレースデータのファイル（計測ファイル）を作成する。
状態表示装置２００は、ＣＰＵ２１０、主記憶装置２２０、ＲＯＭ２３０、不揮発性メモリ２４０、インターフェース２５０、ＬＣＤなどの表示装置２６０、及びキーボードやマウスなどの入力装置２７０を備える。
【００２３】
ＣＰＵ２１０は、種々の演算処理を実行する演算素子などを備える。ＣＰＵ２１０は、ＲＯＭ２３０、または不揮発性メモリ２４０などに記憶されているプログラムを実行することにより種々の機能モジュールを実現する。
【００２４】
なお、状態表示装置２００は、ＲＯＭ２３０、または不揮発性メモリ２４０に格納されるプログラムの代わりに、上記機能モジュールに相当する機能を有するハードウェアを備えていても良い。
【００２５】
主記憶装置２２０は、ＣＰＵ２１０のワークメモリとして機能する。即ち、ＣＰＵ２１０は、演算処理の処理結果を主記憶装置２２０に一時的に記憶する。また、ＣＰＵ２１０は、ＲＯＭ２３０、不揮発性メモリ２４０、または外部記憶装置３００などから読み出したデータを主記憶装置２２０に一時的に記憶する。また、ＣＰＵ２１０は、外部記憶装置３００に書き込むデータなどを主記憶装置２２０に一時的に記憶する。
【００２６】
ＲＯＭ２３０は、状態表示装置２００を制御する制御プログラムを備える。また、ＲＯＭ２３０は、アプリケーションなどを実行する為の処理プログラムなどを備える。不揮発性メモリ２４０は、各種の設定情報などを記憶するメモリである。
【００２７】
インターフェース２５０は、種々の装置を接続可能なインターフェースである。例えば、インターフェース２５０は、ＵＳＢポート、Ｓ−ＡＴＡポート、ＬＡＮポート、またはメモリカードなどの各種の記憶媒体を接続することが出来るメモリリーダライタなどを備える。
【００２８】
即ち、処理装置１００に接続されていた外部記憶装置３００を状態表示装置２００のインターフェース２５０に接続することができる。外部記憶装置３００は、状態表示装置２００のインターフェース２５０に接続される場合、ＣＰＵ２１０は、外部記憶装置３００に対してデータの書き込み、読み出し、または他の処理を行うことができる。
【００２９】
表示装置２６０は、例えば、液晶表示装置、有機ＥＬディスプレイ、または映像信号に応じて映像を表示することができる他の表示装置などを備える表示手段である。表示装置２６０は、ＣＰＵ２１０から受信する信号に基づいて、映像を表示する。
【００３０】
入力装置２７０は、例えば、操作キー、キーボード、マウス、または操作入力に応じて操作信号を生成する事ができる他の入力装置などを備える入力手段である。入力装置２７０は、操作入力に応じて操作信号を生成する。入力装置２７０は、生成した操作信号をＣＰＵ２１０に供給する。
【００３１】
また、ＣＰＵ１１０及びＣＰＵ２１０は、レジスタなどを備えていても良い。この場合、ＣＰＵ１１０及びＣＰＵ２１０は、参照頻度の高いデータを主記憶装置１２０及び２２０の代わりにレジスタに格納しても良い。
【００３２】
図２は、図１に示す状態表示システム１の機能について説明する為の説明図である。
状態表示システム１は、処理装置１００のＣＰＵ１１０、または状態表示装置２００のＣＰＵ２１０により実行されることにより起動する種々のモジュールと、データを記憶する記憶領域とを備える。
【００３３】
状態表示システム１は、計測モジュール４１０、内部バッファ４２０、出力モジュール４３０、計測ファイル４４０を記憶する記憶領域、表示モジュール４５０、及び状態管理情報４６０を記憶する記憶領域を備える。
【００３４】
このうち計測モジュール４１０、内部バッファ４２０、出力モジュール４３０、計測ファイル４４０は、状態表示システム１における計測に関わるモジュールを示したものである。計測モジュール４１０は本例では他を経由して計測結果を計測ファイル４４０に書き出す。また表示モジュール４５０、及び状態管理情報４６０は状態表示システム１における表示に関わるモジュールを示す。表示モジュール４５０は計測ファイル４４０を読み出し、状態管理情報４６０を更新しながら、画面を表示する。
【００３５】
本実施形態では、処理装置１００が計測モジュール４１０、内部バッファ４２０、及び出力モジュール４３０を備え、状態表示装置２００が表示モジュール４５０、及び状態管理情報４６０を記憶する記憶領域を備えるとして説明するが、この構成に限定されない。上記の各機能は、処理装置１００と状態表示装置２００とのどちらが備えていても良い。さらに、処理装置１００と状態表示装置２００とが一体に形成されていてもよい。
【００３６】
計測モジュール４１０、内部バッファ４２０、出力モジュール４３０、計測ファイル４４０を記憶する記憶領域、表示モジュール４５０、及び状態管理情報４６０を記憶する記憶領域を備える。
【００３７】
計測モジュール４１０は、各項目における上記の状態入口及び状態出口などの状態遷移を計測する。計測モジュール４１０は、少なくとも、時刻をカウントする機能と計測対象において実行されるプロセスにおける状態を認識する機能とを備える。即ち、計測モジュール４１０は、ＣＰＵ１１０により実行される項目において状態が変化する場合、状態が変化した項目の名称、状態が変化した時刻、及び変化した状態の内容などのトレースデータを内部バッファ４２０に記憶する。
【００３８】
内部バッファ４２０は、例えば主記憶装置１２０内に割り当てられるリングバッファである。
出力モジュール４３０は、内部バッファ４２０からトレースデータを読み出し、外部記憶装置３００内にファイルとして保存する。即ち、出力モジュール４３０は、外部記憶装置３００内に計測ファイル４４０を作成する。
【００３９】
なお、ＣＰＵ１１０は、内部バッファ４２０上における書き込み位置と読み出し位置とをそれぞれ認識している。即ち、計測モジュール４１０は、認識されている書き込み位置からトレースデータの書き込みを行う。計測モジュール４１０は、書き込んだトレースデータの最後部に書き込み位置を示すライトポインタを移動させる。
【００４０】
また、出力モジュール４３０は、認識されている読み出し位置からトレースデータの読み出しを行う。出力モジュール４３０は、読み出したトレースデータの最後部に読み出し位置を示すリードポインタを移動させる。
【００４１】
図３は表示装置２６０の表示画面のイメージを示したものである。外部記憶装置３００には処理装置１００にて計測した計測ファイル４４０が含まれているものとし、計測ファイル４４０の内容に基づいて、複数のファイル項目（名）３２に対し、アクセスが発生した時刻を線で表すことにより、時間軸ごとのアクセスの様子を示すことができる(３１)。なお、時間軸３３には経過時間が示されるものとする。時間軸は任意にスケーリング可能であるように構成できるが、例えばマイクロ秒オーダーで表示する。
【００４２】
図４は図３と同様であるが、更にアクセスに関連するオペレーティングシステム側の動作区間(４１)を示すことが出来るようにしたものである。
図５に動作プログラムの計測処理の様子を示す。ここに示した通り、通常の処理（ステップＳ５１、ステップＳ５３）の中に計測ポイントが複数埋め込まれており（ステップＳ５２、ステップＳ５４）、計測ポイントを通過するごとに、上に示した計測モジュール４１０により、時刻、プロセス識別子、その他の情報が保存される。その他の情報とは、ファイル名、ファイル識別子といったものである。
【００４３】
図７には計測ファイル４４０の一部の例を示す。表示モジュール４５０では、例えば時刻1001の事象から、プロセス識別子100、ファイル識別子10から、ファイル名/tmp/aaaへ変換できると判定できるので、状態管理情報４６０として持っている図６に示すテーブルを更新する。
【００４４】
時刻1011の事象を表示する際には、図６に示すテーブルからファイル名を得て、ファイルに該当する行にプロットする。
図３の表示方法では、図７の例では、時刻1001のopen処理、時刻1011のread処理を縦線で表示する。
図４の表示方法では、図７の例では、時刻1000のopenシステムコール入口から時刻1003のopenシステムコール出口、時刻1010のreadシステムコール入口から時刻1020のreadシステムコール出口までの区間をそれぞれ矩形で表示する。
【００４５】
ファイル情報としてファイル名への変換ができない場合は、ファイル名の代わりにファイル識別子とプロセス識別子の組を表示する。イベント情報をうまく取り込めない、あるいは取り始めたときにopenが既に終わっているなどのケースがある。
【００４６】
従来縦軸にはCPU（下記（４）参照）やプロセスを並べるツールは存在するが、ファイルを並べるツールは存在しない。本実施形態によりファイルへのアクセスを切り口にした解析が可能になる。
【００４７】
（実施形態の補足）
（１）．計算機システムにおいて発生するさまざまな事象とその発生時刻を記録する方法、および記録したトレースファイルを表示する方法であり、トレースファイルにはファイルアクセスの事象としてファイル名またはファイル識別子とファイルへアクセスしたプロセス識別子とが記録されており、ファイル識別子とプロセス識別子からファイル名へ変換するテーブルを持ち、ファイル名が記録されていない場合にはファイル識別子とプロセス識別子からファイル名へ変換するステップを持ち、縦軸にファイル名、横軸に時刻を取り、ファイルアクセス時刻をプロットすることを特徴とするトレースファイル表示方法を採る。
【００４８】
（２）．（１）．においてファイル名への変換ができない場合は、ファイル名の代わりにファイル識別子とプロセス識別子の組を表示する。
（３）．（１）．において、計測対象となる計算機システム上で同一の実体に複数のファイル名がついている(例えばプログラムの事情でつくられたショートカットなどのリンクが張られている)場合、トレースファイルにリンク情報を記録するステップ、および、リンク情報を元に、実体が同じファイル群を1つの項目として表示する（例えば、図４における（ファイル２ａ）はファイル２のリンクである）。
【００４９】
（４）．ファイルは、普通のファイルのみでなく、オペレーティングシステムで用いる仮想的なファイルも含む。例えばデバイスドライバへアクセスするためのデバイスファイル（例えばＩＩＣに関わる/dev/i2c-* 但し＊は０，１，２などの整数）、システムの様々な情報をアクセスするための擬似ファイルシステムも含む。また各ＣＰＵの使用状態や割込タイミングをファイルアクセスを同時に俯瞰できるようにしてもよい。
【００５０】
（５）．ファイルアクセスの事象としては、オペレーティングシステムが提供するサービス(システムコール)を単位とする。
（６）．表示する際、システムコールの入口から出口までの区間を表示する。
なお、この発明は上記実施形態に限定されるものではなく、この外その要旨を逸脱しない範囲で種々変形して実施することができる。
また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係わる構成要素を適宜組み合わせても良いものである。
【符号の説明】
【００５１】
１…状態表示システム、１００…処理装置、１１０…ＣＰＵ、１２０…主記憶装置、１３０…ＲＯＭ、１４０…不揮発性メモリ、１５０…インターフェース、２００…状態表示装置、２１０…ＣＰＵ、２２０…主記憶装置、２３０…ＲＯＭ、２４０…不揮発性メモリ、２５０…インターフェース、２６０…表示装置、２７０…入力装置、３００…外部記憶装置、４１０…計測モジュール、４２０…内部バッファ、４３０…出力モジュール、４４０…計測ファイル、４５０…表示モジュール、４６０…状態管理情報。
【図１】
0005638635.tif 000002
【図２】
0005638635.tif 000003
【図３】
0005638635.tif 000004
【図４】
0005638635.tif 000005
【図５】
0005638635.tif 000006
【図６】
0005638635.tif 000007
【図７】
0005638635.tif 000008