(57)【要約】【課題】通常処理に負担をかけずに、処理時間を計測する。【解決手段】実施形態に係る情報処理装置は、データ入力手段と、ログ取得フラグ更新手段と、データ処理手段と、データ出力手段とを備える。データ入力手段は、処理データを記憶装置に記憶する。ログ取得フラグ更新手段は、処理データがテスト系の処理データの場合、記憶装置に記憶されるログ取得フラグデータを、真に更新する。データ処理手段は、ログ取得フラグデータが真の場合、処理データを処理する命令を実行して結果データを生成するとともに、ログを取得する命令を実行して、当該ログを取得する命令を実行した時刻と、当該ログを取得する命令の識別子とを対応づけて一時記憶装置に記憶し、ログデータを生成する。データ出力手段は、ログ取得フラグデータが真でない場合、結果データを出力し、ログ取得フラグデータが真の場合、ログデータを出力する。【選択図】      図１
2013167929.tif 000002
【特許請求の範囲】
【請求項１】
処理データを記憶装置に記憶するデータ入力手段と、
前記処理データがテスト系の処理データの場合、前記記憶装置に記憶されるログ取得フラグデータを、真に更新するログ取得フラグ更新手段と、
前記ログ取得フラグデータが真でない場合、前記処理データを処理する命令を実行して結果データを生成し、
前記ログ取得フラグデータが真の場合、前記処理データを処理する命令を実行して結果データを生成するとともに、ログを取得する命令を実行して、当該ログを取得する命令を実行した時刻と、当該ログを取得する命令の識別子とを対応づけて一時記憶装置に記憶し、ログデータを生成するデータ処理手段と、
前記ログ取得フラグデータが真でない場合、前記結果データを出力し、
前記ログ取得フラグデータが真の場合、前記ログデータを出力するデータ出力手段
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、通信ネットワークを介して監視装置に接続し、
前記データ入力手段は、前記監視装置から入力された処理データを、前記記憶装置に記憶し、
前記データ出力手段は、前記結果データまたは前記ログデータを前記監視装置に送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ処理手段は、複数の処理手段を備え、
前記ログを取得する命令は、前記複数の処理手段のいずれかに属し、
前記データ処理手段は、  
前記ログを取得する命令を実行する際、実行した時刻と、当該ログを取得する命令の属する処理手段の識別子とを対応づけて一時記憶装置に記憶する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記データ処理手段は、前記複数の処理手段がそれぞれ実行する処理の開始時または終了時に、前記ログを取得する命令を実行する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
コンピュータに、
処理データを記憶装置に記憶する手順と、
前記処理データがテスト系の処理データの場合、前記記憶装置に記憶されるログ取得フラグデータを、真に更新する手順と、
前記ログ取得フラグデータが真でない場合、前記処理データを処理する命令を実行して結果データを生成する手順と、
前記ログ取得フラグデータが真でない場合、前記結果データを出力する手順と、
前記ログ取得フラグデータが真の場合、前記処理データを処理する命令を実行して結果データを生成するとともに、ログを取得する命令を実行して、当該ログを取得する命令を実行した時刻と、当該ログを取得する命令の識別子とを対応づけて一時記憶装置に記憶し、ログデータを生成する手順と、
前記ログ取得フラグデータが真の場合、前記ログデータを出力する手順
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置および情報処理プログラムに関する。
【背景技術】
【０００２】
一般的な情報処理プログラムの開発において、コンピュータにおける情報処理プログラムの処理時間が、予め定められた要求を満たしていることが重要になる。この処理時間は、コンピュータの性能ももちろん、単位時間あたりに処理するべきデータ量などによっても異なる。
【０００３】
そこで、所定のデータの処理において、処理時間を計測することが重要である。処理時間を計測するために、ログを取得することが有効である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−８９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、情報処理プログラムを実行する際、通常処理において常にログを取得することは、処理遅延にもつながり実用的ではない。
【０００６】
従って本発明の目的は、通常処理に負担をかけずに、処理時間を計測可能な情報処理装置および情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の実施形態に係る情報処理装置は、データ入力手段と、ログ取得フラグ更新手段と、データ処理手段と、データ出力手段とを備える。データ入力手段は、処理データを記憶装置に記憶する。ログ取得フラグ更新手段は、処理データがテスト系の処理データの場合、記憶装置に記憶されるログ取得フラグデータを、真に更新する。データ処理手段は、ログ取得フラグデータが真でない場合、処理データを処理する命令を実行して結果データを生成する。またデータ処理手段は、ログ取得フラグデータが真の場合、処理データを処理する命令を実行して結果データを生成するとともに、ログを取得する命令を実行して、当該ログを取得する命令を実行した時刻と、当該ログを取得する命令の識別子とを対応づけて一時記憶装置に記憶し、ログデータを生成する。データ出力手段は、ログ取得フラグデータが真でない場合、結果データを出力し、ログ取得フラグデータが真の場合、ログデータを出力する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態に係る情報処理装置のハードウェア構成と機能ブロックを説明する図である。
【図２】実施の形態に係るデータ処理手段の各処理の一例を説明する図である。
【図３】実施の形態に係る情報処理方法を説明するフローチャートである。
【図４】実施の形態に係るデータ処理方法を説明するフローチャートである。
【図５】実施の形態に係るログ取得命令の一例を説明する図である。
【図６】実施の形態に係るログデータのデータ構造とデータの一例を説明する図である。
【図７】実施の形態に係るログデータによる解析結果の一例を説明する図である。
【図８】実施の形態の変形例に係る情報処理装置および監視装置を説明する図である。
【発明を実施するための形態】
【０００９】
次に、図面を参照して、実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１０】
（実施の形態）
実施の形態に係る情報処理装置１は、図１に示すように、記憶装置１０、一時記憶装置２０、演算処理制御装置３０などを備える一般的なコンピュータである。情報処理装置１は、所定の手順を実行させるための情報処理プログラムを記憶する。一般的なコンピュータに情報処理プログラムがインストールされ、一般的なコンピュータがこの情報処理プログラムに従って所定の手順を実行することにより、コンピュータは、図１に示す各手段として機能する。
【００１１】
ここで、記憶装置１０はハードディスクなどであって、一時記憶装置２０は、ＲＡＭなどである。一時記憶装置２０は、記憶装置１０と比較して、より高速の読み書きを実現する記憶媒体である。
【００１２】
実施の形態に係る情報処理プログラムは、処理データ１１を処理して結果データ１３を出力するためのデータ処理命令（処理データを処理する命令）と、ログを取得してログデータ２１を生成するためのログ取得命令（ログを取得する命令）を含む。処理データ１１は、複数の処理手段による処理を経て処理される。ログ取得命令は、複数の処理手段のいずれかに属する。情報処理装置１は、ログ取得命令を実行したタイミングで、ログにイベントを書き出す。
【００１３】
情報処理プログラムは、入力されるデータによって、異なる手順を情報処理装置１に実行させる。具体的には、情報処理装置１は、処理データ１１が本番系の場合と、テスト系の場合とで、情報処理プログラムに基づいて異なる手順を実行する。本番系の処理データ１１を処理する場合、情報処理装置１は、情報処理プログラムに含まれるデータ処理命令に基づいて、処理データ１１を処理して結果データ１３を出力する。テスト系の処理データ１１を処理する際、情報処理装置１は、情報処理プログラムに含まれるデータ処理命令に基づいて、処理データ１１を処理して結果データ１３を出力するとともに、所定のタイミングでログ取得命令を実行する。ログ取得命令を実行すると、情報処理装置１は、実行した時刻を取得し、一時記憶装置２０に記憶する。
【００１４】
図１を参照して、実施の形態に係る情報処理装置１を詳述する。
【００１５】
記憶装置１０は、処理データ１１、ログ取得フラグデータ１２および結果データ１３を記憶する。また一時記憶装置２０は、ログデータ２１を記憶する。演算処理制御装置３０の各手段が、処理データ１１、結果データ１３およびログデータ２１を記憶装置１０に記憶する。ログ取得フラグデータ１２は、予め初期処理などで、デフォルトで「偽」に設定され、演算処理制御装置３０によって所定の条件で「真」に設定されるデータである。
【００１６】
演算処理制御装置３０は、データ入力手段３１、ログ取得フラグ更新手段３２、データ処理手段３３およびデータ出力手段３４を備える。
【００１７】
データ入力手段３１は、処理データ１１を記憶装置１０に記憶する。データ入力手段３１は、例えば、ＣＤ−ＲＯＭやＵＳＢメモリなどの外部記憶装置に記憶された処理データを、オペレータの操作によって記憶装置１０に記憶しても良い。また、例えば、予め記憶装置１０に記憶されたデータから、オペレータが処理データを特定することによって、データ入力手段３１が、処理データを取得しても良い。
【００１８】
実施の形態において処理データ１１は、本番系のデータと、テスト系のデータのいずれかである。例えば、処理データ１１は、処理データ１１の特定の場所に、本番系のデータであるか、テスト系のデータであるかを示すフラグを有する。この特定の場所以外は、本番系のデータもテスト系のデータも同様である。処理データが生成される際、情報処理プログラムを本番系で稼働させたい場合、処理データ１１の特定の場所に本番系のデータを示すフラグを設定する。一方、情報処理プログラムをテスト系で稼働させたい場合、処理データ１１の特定の場所にテスト系のデータを示すフラグを設定する。
【００１９】
ログ取得フラグ更新手段３２は、処理データ１１がテスト系の処理データの場合、記憶装置１０に記憶されるログ取得フラグデータ１２を、真に更新する。ログ取得フラグ更新手段３２は、処理データ入力手段３１が処理データ１１を入力すると、記憶装置１０から処理データ１１を読み出す。ログ取得フラグ更新手段３２は、例えば、処理データ１１の特定の場所のフラグを読み出して、この処理データ１１が本番系のデータか、テスト系のデータであるかを判定する。処理データ１１がテスト系のデータの場合、ログ取得フラグ更新手段３２は、ログ取得フラグデータ１２を「真」に更新する。なお、このログ取得フラグは、デフォルトで「偽」に設定される。
【００２０】
データ処理手段３３は、処理データ１１を処理する命令を実行する。データ処理手段３３は、複数の処理手段３３ａ、３３ｂ、３３ｃ…を備える。この各処理手段は、例えば、情報処理プログラムの実現する各種機能や各モジュールに対応するものである。
【００２１】
データ処理手段３３は、ログ取得フラグデータ１２が「真」でない場合、処理データ１１を処理するデータ処理命令を実行して結果データ１３を生成する。一方ログ取得フラグデータ１２が「真」の場合、データ処理手段３３は、処理データ１１を処理するデータ処理命令を実行して結果データ１３を生成する。さらにデータ処理手段３３は、ログ取得命令を実行して、当該ログ取得命令を実行した時刻と、当該ログ取得命令の識別子とを対応づけて一時記憶装置２０に記憶し、ログデータ２１を生成する。ここで、ログ取得命令の識別子は、情報処理プログラムにおいて、ログ取得命令が設けられた位置を特定する情報である。
【００２２】
一般的には、情報処理プログラムに、複数のログ取得命令を含む。各ログ取得命令は、複数の処理手段３３ａ、３３ｂ、３３ｃ…のいずれかに属する。この場合データ処理手段３３は、ログ取得命令を実行する際、実行した時刻と、当該ログ取得命令の属する処理手段の識別子とを対応づけて一時記憶装置２０に記憶する。この場合データ処理手段３３は、例えば、「第１の処理手段」など、処理手段の識別子と、ログ取得命令を実行した時間と対応づけてログデータ２１を更新する。また、データ処理手段３３が、複数のテスト系の処理データ１１を処理する場合、処理データ１１の識別子をさらに対応づけて、ログデータ２１を生成しても良い。
【００２３】
またデータ処理手段３３は、複数の処理手段３３ａ、３３ｂ、…がそれぞれ実行する処理の開始時または終了時に、ログ取得命令を実行することが好ましい。この場合データ処理手段３３は、例えば、「第１の処理手段の開始時」など、処理手段と開始時または終了時を含む識別子を、ログ取得命令を実行した時間と対応づけてログデータ２１を更新する。また、ログ取得命令を実行するタイミングは、各処理手段の開始時または終了時に限らない。各処理手段３３ａ、３３ｂ、３３ｃ…が、開始時と終了時の間でさらに１回ログ取得命令を実行するなど、一つの処理手段で３回以上、ログ取得命令を実行しても良い。
【００２４】
このように、情報処理装置１は、ログデータ２１により、情報処理プログラムにおいて、ログ取得命令を実行したタイミングを計測することができる。このログ取得命令を実行したタイミングをチェックポイントとして分析することにより、情報処理プログラムにおける各処理において、遅延が生じる処理を特定し、この処理を改善することにより、処理時間を効率的に短縮することができる。
【００２５】
各処理手段による処理の開始時と終了時にログ取得命令を実行する場合、各処理手段ごとに処理に要した時間を特定することができる。これにより例えば、処理が所定時間内に終了しない場合でも、時間を要した処理を特定することにより、その処理を中心に改善することができる。
【００２６】
ここで、データ処理手段３３が処理する結果データ１３は、入力である処理データ１１に対して、データ処理手段３３が処理した結果、出力するデータである。実施の形態において結果データ１３は、データ処理命令に基づいて処理されたデータである。一方、ログデータ２１は、ログ取得命令に基づいて処理されたデータである。
【００２７】
複数の処理データ１１を断続的に入力し、データ処理手段３３に各処理データを順次処理させる場合も考えられる。これにより、各処理データについて、各処理手段の処理時間の漸増や待ち行列の状態を把握することができる。この場合、データ処理手段３３は、入力された処理データ１１の識別子も対応づけて一時記憶装置２０に記憶する。
【００２８】
結果データ１３は、記憶装置１０に記憶され、ログデータ２１は、一時記憶装置２０に記憶される。一時記憶装置２０のデータの読み書きは高速である。ログデータ２１を一時記憶装置２０に記憶することにより、データ処理命令による処理時間に影響を与えることなく、ログデータ２１への書き出しによる時間ロスやＣＰＵの負荷を、最小限に抑えることができる。
【００２９】
データ出力手段３４は、ログ取得フラグデータ１２が「真」でない場合、結果データ１３を出力する。一方、ログ取得フラグデータ１２が「真」の場合、データ出力手段３４は、少なくともログデータ２１を出力する。データ出力手段３４は、テスト系の処理データ１１を処理した結果データ１３も出力しても良い。テスト系の処理データ１１を処理した結果データ１３も出力することにより、テスト系の処理データ１１に対する処理結果が正しいか否かも評価することができる。
【００３０】
図２を参照して、実施の形態に係る情報処理装置１が、ログを取得する処理の概要を説明する。データ入力手段３１は、処理データ１１をログ取得フラグ更新手段３２に入力する。ログ取得フラグ更新手段３２は、処理データ１１の特定の位置を参照して、この処理データが本番系かテスト系かを判定する。テスト系の場合、ログ取得フラグデータ１２を「真」に更新する。
【００３１】
その後、データ処理手段３３が、処理データ１１を処理する。図２に示す例においてデータ処理手段３３は、デシリアライズ処理、復号化処理、伸張処理、計算処理、圧縮処理、暗号化処理およびシリアライズ処理の各処理を実行するための各処理手段を備える。ここで、デシリアライズ処理、復号化処理および伸張処理は、処理データ１１を計算するための前処理である。圧縮処理、暗号化処理およびシリアライズ処理は、処理データ１１の計算結果を出力するための後処理である。
【００３２】
デシリアライズ処理は、処理データ１１がオブジェクトの場合、この処理データ１１をバイト列やＸＭＬフォーマットに変換する。復号化処理は、デシリアライズ処理の後のデータが暗号化されている場合、このデータを復号化する。伸張処理は、復号化処理の後のデータが圧縮されている場合、このデータを伸張する。
【００３３】
計算処理は、伸張処理の後のデータを、所定の計算ロジックに従って、算出する。圧縮処理は、計算処理の後のデータを圧縮する。暗号化処理は、圧縮処理後のデータを暗号化する。シリアライズ処理は、暗号化処理後のデータをシリアライズしてオブジェクトを生成する。このオブジェクトが、結果データ１３となる。
【００３４】
ここで、図２のデータ処理手段３３に示す各処理は、ログ取得命令を含む。ログ取得フラグデータ１２が「真」の場合、このログ取得命令を実行するタイミングで、データ処理手段３３は、ログデータ２１を更新する。
【００３５】
このログ取得命令が、各処理の開始時および終了時に実行される場合を説明する。データ処理手段３３は、ログデータ２１に、デシリアライズ処理の開始時および終了時の各時刻を記憶する。その後、データ処理手段３３は、ログデータ２１に、復号化処理の開始時および終了時の各時刻を記憶する。さらにデータ処理手段３３は、ログデータ２１に、伸張処理の開始時および終了時の各時刻を記憶する。さらにデータ処理手段３３は、ログデータ２１に、計算処理の開始時および終了時の各時刻を記憶する。さらにデータ処理手段３３は、ログデータ２１に、圧縮処理の開始時および終了時の各時刻を記憶する。さらにデータ処理手段３３は、ログデータ２１に、暗号化処理の開始時および終了時の各時刻を記憶する。さらにデータ処理手段３３は、ログデータ２１に、シリアライズ処理の開始時および終了時の各時刻を記憶する。図２に示すデータ処理手段３３の各処理の開始時および終了時にログ取得命令を実行する場合、ログデータ２１は、７つの処理について、それぞれ２つの時刻を記憶する。
【００３６】
データ出力手段３４は、本番系の場合、データ処理手段３３が出力する結果データ１３を出力する。また、テスト系の場合、データ出力手段３４は、一時記憶装置２０に記憶されたログデータ２１を出力するとともに、任意で結果データ１３も出力する。
【００３７】
図３を参照して、実施の形態に係る情報処理装置１による情報処理方法を説明する。
【００３８】
まずステップＳ１において情報処理装置１は、処理データ１１を入力する。ここで、情報処理装置１は、データ処理手段３３の処理対象である処理データ１１を特定する。次に、情報処理装置１は、処理データ１１がログ取得対象であるか否かを判定する。処理データ１１が本番系データでログ取得対象でない場合、ステップＳ４に進む。
【００３９】
一方、処理データ１１がテスト系データでログ取得対象の場合、ステップＳ３に進む。ステップＳ３において情報処理装置１は、ログ取得フラグデータ１２を「真」に設定する。ステップＳ４において情報処理装置１は、処理データ１１を処理する。ここで、ログ取得フラグデータ１２が「真」の場合、情報処理プログラムにおけるログ取得命令が有効となり、ログを出力する。
【００４０】
処理データ１１の処理が完了すると、ステップＳ５において情報処理装置１は、ログ取得フラグデータ１２が「真」であるか否かで処理を振り分ける。「真」でない場合、情報処理装置１は処理を終了する。
【００４１】
一方、ログ取得フラグデータ１２が「真」の場合、ステップＳ６において、ステップＳ４におけるデータ処理で書き出されたログデータを出力する。さらに、ステップＳ７においてログ取得フラグデータ１２を、デフォルトの「偽」に設定する。さらに、ステップＳ４で記憶されたログを消去し、一時記憶装置２０の記憶領域を初期化する。
【００４２】
図３のステップＳ４のデータ処理について、図４を参照して詳述する。データ処理において、ログ取得フラグデータ１２が「真」であるか否かで、処理が振り分けられる。
【００４３】
ログ取得フラグデータ１２が「真」の場合、情報処理装置１は、情報処理プログラムの各コマンドについて、ステップＳ５２ないしステップＳ５４の処理を繰り返すループを開始する。具体的には、ステップＳ５２においてコマンドが、ログ取得命令でない場合、ステップＳ５３において情報処理装置１は、その命令を実行して、処理データ１１を処理する。一方、ログ取得命令の場合、ステップＳ５４において情報処理装置１は、情報処理装置１は、このログ取得命令を識別する識別子と、この命令を実行した時刻とを対応づけたログを、一時記憶装置２０に保存する。
【００４４】
一方、ログ取得フラグデータ１２が「真」でない場合、情報処理装置１は、情報処理プログラムの各コマンドを実行するために、ステップＳ５５の処理を繰り返すループを開始する。ステップＳ５５において情報処理装置１は、各コマンドを実行して、処理データ１１を処理する。この場合、情報処理装置１は、ログを書き出すことはない。
【００４５】
図５ないし図７を参照して、実施の形態に係る情報処理装置１におけるログ取得命令と、ログデータ２１の具体例を説明する。図３に示す例は、データ処理手段３３が順次実行する命令を模式的に示したものである。具体的には、情報処理装置１は、第１の処理手段３３ａによる処理、第２の処理手段３３ｂによる処理、第３の処理手段３３ｃによる処理および第４の処理手段３３ｄによる処理を、順次実行する。
【００４６】
図５においては、第１の処理手段３３ａ、第２の処理手段３３ｂ、第３の処理手段３３ｃおよび第４の処理手段３３が、各コマンドを順次実行する。ここで、第１の処理手段３３ａの開始時に実行する命令が第１のログ取得命令で、終了時に実行する命令が第２のログ取得命令である。このように、第１の処理手段３３ａの開始時および終了時に、それぞれログ取得命令を実行することにより、第１の処理手段３３ａにおける処理に要した時刻を算出することができる。
【００４７】
同様に、第２の処理手段３３ｂの開始時に実行する命令が第３のログ取得命令で、終了時に実行する命令が第４のログ取得命令である。第３の処理手段３３ｃの開始時に実行する命令が第５のログ取得命令で、終了時に実行する命令が第６のログ取得命令である。第４の処理手段３３ｄの開始時に実行する命令が第７のログ取得命令で、終了時に実行する命令が第８のログ取得命令である。
【００４８】
データ処理手段３３は、処理データ１１が入力される度に、入力された処理データ１１を処理する。従ってデータ処理手段３３は、テスト系の処理データ１１が入力される度に、第１のログ取得命令ないし第８のログ取得命令を実行し、各実行時間を対応づけたログデータ２１を生成する。
【００４９】
具体的にはログデータ２１は、図６に示すデータである。図６に示す例では、第１の処理データ１１ａに、第１のログ取得命令ないし第８のログ取得命令の識別子と、各実行時間とを対応づける。第１の処理データ１１がテスト系データであって、データ処理手段３３が、第１の処理データ１１ａを処理する際、第１のログ取得命令ないし第８のログ取得命令を実行した時間を対応づけることにより図６に示すデータを生成する。第１のログ取得命令の時間と第２のログ取得命令の時間との差分を算出することにより、第１の処理手段３３ａによる処理時間がわかる。同様に、第２の処理手段３３ｂ、第３の処理手段３３ｃおよび第４の処理手段３３ｄのそれぞれの処理時間がわかる。
【００５０】
さらに、データ処理手段３３が、テスト系の第２の処理データ１１ｂ、第３の処理データ１１ｃおよび第４の処理データ１１ｄを処理する際、各処理データの処理について第１のログ取得命令ないし第８のログ取得命令を実行する。これにより、ログデータ２１は、第１の処理データないし第４の処理データのそれぞれについて、第１のログ取得命令ないし第８のログ取得命令を実行した時間を記憶するので、３２のレコードを有する。
【００５１】
図６に示すログデータ２１の項目の他に、処理結果の項目欄を備えても良い。また、ログデータ２１は、図６に示すように、人間が読めるテキスト形式のデータでなくとも良い。例えば、圧縮した形式で一時記憶装置２０に記憶しても良い。最終的に、ログデータ２１の解析結果を人間が把握できれば良い。
【００５２】
このようなログデータ２１から、図７に示すような分析をすることができる。図７に示す例において、横軸は処理データを入力した時間で、縦軸は、ログ取得時間を取る。図７に示す例の一番左の棒は、第１の処理データ１１ａについて、ログを取得した時間を示す。具体的には、第１の処理手段３３ａないし第４の処理手段３３ｄにおける処理時間を積み上げた棒グラフである。図７は、同様に、第２の処理データ１１ｂ、第３の処理データ１１ｃおよび第４の処理データ１１ｄについても同様に、各処理手段における処理時間を積み上げた棒グラフを表示する。
【００５３】
ここで、第１の処理データ１１ａないし第４の処理データ１１ｄに関する処理時間が、全て要求仕様で定められる時間内に納まっている場合は、何ら問題は生じない。しかしながら、要求仕様で定められる時間以上を要する処理データがある場合、情報処理プログラムを改良する必要がある。そこで、各処理手段による各処理データの処理時間を詳細に分析し、改善するべきポイントを絞ることができる。
【００５４】
例えば、第２の処理手段３３ｂによる処理の終了後、すぐに第３の処理手段３３ｃにおける処理が開始した場合は、第１の処理データ１１ａについて示すように、空白は生じない。しかしながら、第２の処理データ１１ｂにおいて、第２の処理手段３３ｂと第３の処理手段３３ｃとの間に、空白がある。これは、第２の処理手段３３ｂの終了時の第４のログ取得命令を実行した時刻と、第３の処理手段３３ｃの開始時の第５のログ取得命令を実行した時刻との間に、時間差が生じていることを示す。これは、例えば、第２の処理手段３３ｂを開始するための待ち行列で、処理待ちによる遅延が発生していることを示す。この場合、第２の処理手段３３ｂの待ち行列が少なくなるように改善することで、仕様要求を満たす可能性がある。
【００５５】
また、第３の処理手段３３ｃの処理時間について、第１の処理データ１１ａを処理した際の処理時間より、その後第３の処理データ１１ｃを処理した際の処理時間のほうが大きくなっている。これは、第３の処理手段３３ｃによる処理に遅延が生じていることを示す。この場合、第３の処理手段３３ｃの処理時間が少なくなるように情報処理プログラムを改善することで、仕様要求を満たす可能性がある。
【００５６】
このように、各処理手段による処理時間を計測することにより、情報処理プログラムの処理時間が、仕様要求を満たすか否かを判定することができる。特に、各処理手段による処理の開始時と終了時に時刻を計測することにより、情報処理プログラムの一連の処理の流れにおいて、ボトルネックとなる処理を特定することができる。
【００５７】
また、情報処理プログラムによって、テスト系の処理データ１１を、１０分後、1時間後などの所定のタイミングで処理することにより、処理時間が漸増しているか否かを把握することができる。情報処理プログラムは、テスト系の処理データを処理する場合のみ、ログを取得するので、本番系のデータの通常処理における処理速度に影響を与えず、ログによって処理時間を計測することができる。
【００５８】
（変形例）  
実施の形態においては、処理データの入力から、その結果の出力まで、情報処理装置１内で完結する場合を説明した。これに対し変形例では、監視装置２が処理データを入力し結果を出力する場合を説明する。監視装置２と変形例に係る情報処理装置１とは、通信ネットワーク３を介して相互に通信可能に接続される。監視装置２は、記憶装置、演算処理制御装置などを備える一般的なコンピュータである。
【００５９】
図８に示す変形例に係る情報処理装置１ａは、監視装置２から処理データ１１をパケットとして受信し、結果データ１３やログデータ２１をパケットに変換して監視装置２に送信する。変形例に係る情報処理装置１ａは、パケット受信手段３１ａ、パケット送信手段３４ａおよび通信制御装置４０を備える。情報処理装置１ａのそのほかのデータや手段は、図１を参照して説明した実施の形態と同様である。
【００６０】
通信制御装置４０は、情報処理装置１ａを通信ネットワーク３に接続するインタフェースである。
【００６１】
パケット受信手段３１ａは、図１に示すデータ入力手段３１に対応する。パケット受信手段３１ａは、監視装置２からパケットを受信し、その受信したパケットから処理データ１１を取り出して、記憶装置１０に記憶する。
【００６２】
パケット送信手段３４ａは、図１に示すデータ出力手段３４に対応する。パケット送信手段３４ａは、結果データ１３やログデータ２１からパケットを生成して、監視装置２に送信する。
【００６３】
監視装置２は、パケット送信手段２０１、パケット受信手段２０２およびログデータ解析手段２０３を備える。
【００６４】
パケット送信手段２０１は、処理データを含むパケットを情報処理装置１ａに送信する。例えば、情報処理装置１ａにおける処理時間を計測したい場合、オペレータは、特定の位置にテスト系データであることを示すデータを設定した処理データを生成する。パケット送信手段２０１は、この処理データを含むパケットを生成し、情報処理装置１ａに送信する。
【００６５】
パケット受信手段２０２は、情報処理装置１ａからパケットを受信する。受信したパケットにログデータが含まれている場合、このログデータを抽出する。また、テスト系の処理データを含む複数のパケットを送信した場合、パケット受信手段２０２は、各処理データに対応するログデータを取得する。パケット受信手段２０２は、図６に示すように処理データの識別子と、各命令の実行時間とを対応づけてログデータを生成する。
【００６６】
ログデータ解析手段２０３は、例えば図７に示すように、ログデータを分析してオペレータに表示する。
【００６７】
このように、通信ネットワーク３を介して情報処理装置１ａに処理データを送信することにより、遠隔地でも、情報処理装置１ａ内の処理時間を取得することができる。
【００６８】
以上説明した少なくとも一つの実施の形態に係る情報処理装置は、通常処理に負担をかけずに、処理時間を計測することができる。
【００６９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７０】
１  情報処理装置
２  監視装置
３  通信ネットワーク
１０  記憶装置
１１  処理データ
１２  ログ取得フラグデータ
１３  結果データ
２０  一時記憶装置
２１  ログデータ
３０  演算処理制御装置
３１  データ入力手段
３２  ログ取得フラグ更新手段
３３  データ処理手段
３４  データ出力手段
【図１】
2013167929.tif 000003
【図２】
2013167929.tif 000004
【図３】
2013167929.tif 000005
【図４】
2013167929.tif 000006
【図５】
2013167929.tif 000007
【図６】
2013167929.tif 000008
【図７】
2013167929.tif 000009
【図８】
2013167929.tif 000010