JP6497234B2 - Control program, control method, and information processing apparatus - Google Patents
Control program, control method, and information processing apparatus Download PDFInfo
- Publication number
- JP6497234B2 JP6497234B2 JP2015124157A JP2015124157A JP6497234B2 JP 6497234 B2 JP6497234 B2 JP 6497234B2 JP 2015124157 A JP2015124157 A JP 2015124157A JP 2015124157 A JP2015124157 A JP 2015124157A JP 6497234 B2 JP6497234 B2 JP 6497234B2
- Authority
- JP
- Japan
- Prior art keywords
- child
- information
- access
- child process
- generation
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、制御プログラム、制御方法、及び、情報処理装置に関する。 The present invention relates to a control program, a control method, and an information processing apparatus.
ソフトウェア(プログラム)の動作検証では、ソフトウェアの機能の検証に加えて、ソフトウェアの性能の検証を行う。検証者は、ソフトウェアの性能値を測定し、測定した性能値が所定の基準を満たしているか否かの判定に基づいて、性能の検証を行う。検証者は、例えば、高精度な性能値を取得するために、性能値を複数回に渡って測定する。 In the operation verification of the software (program), in addition to the verification of the software function, the performance of the software is verified. The verifier measures the performance value of the software, and verifies the performance based on the determination as to whether or not the measured performance value satisfies a predetermined standard. For example, the verifier measures the performance value a plurality of times in order to obtain a highly accurate performance value.
また、検証者は、ソフトウェアの実際の運用環境と同様の環境を想定して、性能値の測定を行う。運用環境では、検証対象(動作監視の対象)のプロセスの他に、オペレーションシステムや様々なソフトウェアのプロセス(検証対象外のプロセス)が動作する。 The verifier measures the performance value assuming an environment similar to the actual operating environment of the software. In the operation environment, an operation system and various software processes (processes not to be verified) operate in addition to processes to be verified (operation monitoring targets).
検証対象外のプロセスの動作の状態に応じて、性能値を測定する情報処理装置におけるリソースの使用状況が変化する。リソースの使用状況の変化にしたがって、例えば、生成可能な子プロセスの数が変化し、性能値のばらつきが生じることがある。 The resource usage in the information processing apparatus that measures the performance value changes according to the operation state of the process that is not to be verified. As the resource usage changes, for example, the number of child processes that can be generated may vary, resulting in variations in performance values.
検証者は、測定した複数の性能値から有意な性能値を抽出し、有意な性能値の平均値等に基づいて、性能の検証を行う。 The verifier extracts a significant performance value from the plurality of measured performance values, and verifies the performance based on an average value of the significant performance values.
性能値の測定に関する技術については、特許文献1〜4に記載される。
The techniques relating to the measurement of the performance value are described in
しかしながら、性能値のばらつきが生じた場合、性能値のばらつきが、リソースの使用状況、または、ソフトウェアの障害や検証環境の設定エラー等のいずれによるものなのかを特定することは容易ではない。 However, when performance value variation occurs, it is not easy to specify whether the performance value variation is caused by resource usage, software failure, verification environment setting error, or the like.
そこで、測定時にプロセスのシステムコールのトレースを取得して、検証対象(動作監視の対象)のプロセスに対応する子プロセスの動作状況を把握することにより、性能値のばらつきの要因を特定する方法がある。ただし、システムコールのトレースを取得することにより情報処理装置の負荷が高くなり、ソフトウェアの動作が、実際の運用時と異なってしまう。 Therefore, there is a method to identify the cause of performance value variation by obtaining the trace of the system call of the process at the time of measurement and grasping the operation status of the child process corresponding to the process to be verified (operation monitoring target). is there. However, acquiring the system call trace increases the load on the information processing apparatus, and the operation of the software differs from that during actual operation.
このように、実際の運用時と動作を変えることなく、検証対象のプロセスに対応する子プロセスの動作状況を把握することは容易ではない。 As described above, it is not easy to grasp the operation status of the child process corresponding to the verification target process without changing the operation during actual operation.
1つの側面では、本発明は、動作監視の対象プロセスに対応する子プロセスの動作状況の把握を支援する制御プログラム、制御方法、及び、情報処理装置を提供することを目的とする。 In one aspect, an object of the present invention is to provide a control program, a control method, and an information processing apparatus that support grasping of an operation state of a child process corresponding to a process to be monitored.
第1の態様によれば、コンピュータに、動作監視の対象プロセスによる、前記対象プロセスの子プロセスの生成の実行を指示する実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて記憶部に記憶する、ことを実行させる。 According to the first aspect, the generation of the child process of the target process is detected in response to reading of the execution file instructing the computer to execute the generation of the child process of the target process by the target process of operation monitoring. In response to occurrence of access to the storage unit or the network by the target process after the generation of the child process is detected, it is determined whether or not the child process is in operation. When the determination is made, the end of the child process is detected, and the information related to the access by the target process corresponding to the timing at which the generation of the child process and the end of the child process are detected is used as identification information for identifying the child process. It associates and memorize | stores in a memory | storage part.
1つの側面では、動作監視の対象プロセスに対応する子プロセスの動作状況の把握を支援する。 In one aspect, it assists in grasping the operation status of a child process corresponding to a process subject to operation monitoring.
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.
[検証システム]
図1は、本実施の形態における検証システムの構成を示す図である。図1に示す検証システムは、情報処理装置100、クライアント装置40、ストレージ装置SDを有する。情報処理装置100は、クライアント装置40、及び、ストレージ装置SDと接続する。
[Verification system]
FIG. 1 is a diagram illustrating a configuration of a verification system according to the present embodiment. The verification system illustrated in FIG. 1 includes an
図1に示す検証システムは、情報処理装置100で動作する検証対象のソフトウェア20の性能を測定し、測定した性能が所定の基準を満たすか否かを判定することによって、性能を検証する。情報処理装置100では、オペレーションシステム(図1に図示せず)が動作し、当該オペレーションシステム上で検証対象のソフトウェア20が動作する。また、検証対象のソフトウェア20は、例えば、ストレージ装置SDへのアクセス(ay)を行うドライバプログラム10を、サブルーチンとして呼び出す(ax)。
The verification system shown in FIG. 1 verifies the performance by measuring the performance of the
次に、検証対象のソフトウェア20の性能値の測定の一連の流れを説明する。クライアント装置40は、検証対象のソフトウェア20に、性能値の測定の対象とする所定の処理の開始を指示する(st)。検証対象のソフトウェア20は、クライアント装置40からの指示に応答して、ストレージ装置SDに記憶されたテストデータを用いた、所定の処理を行う。検証対象のソフトウェア20は、例えば、所定の処理として、テストデータの読み出し、読み出したデータの加工、及び、データのストレージ装置SDへの書き込み等を繰り返す。
Next, a series of flow of performance value measurement of the
所定の処理を終了すると、検証対象のソフトウェア20は、クライアント装置40に、処理の終了を通知する(ed)。クライアント装置40は、開始の指示から終了の通知までのレスポンス時間(処理時間ともいう)を、性能値として取得する。
When the predetermined process ends, the
検証システムは、精度の高い性能値に基づいて検証を行うために、例えば、複数回に渡って性能値を測定する。また、検証者は、例えば、複数の性能値から有意な性能値を判定し、有意な性能値の平均値等に基づいて性能値が、所定の基準を満たすか否かを判定する。 In order to perform verification based on a highly accurate performance value, for example, the verification system measures the performance value multiple times. For example, the verifier determines a significant performance value from a plurality of performance values, and determines whether or not the performance value satisfies a predetermined criterion based on an average value of the significant performance values.
本実施の形態において、検証対象のソフトウェア20は、例えば、データベース管理システム(DataBase Management System:DBMS)のソフトウェアである。DBMSのソフトウェアは、アクセス要求に応じたデータベースへのアクセス等を行う。なお、検証対象のソフトウェア20は、DBMSのソフトウェアの例に限定されるものではなく、ファイルシステムのソフトウェアや、データに基づいて演算処理等を行うソフトウェア等であってもよい。
In this embodiment, the
また、検証システムは、検証対象のソフトウェア20を実際に使用する運用環境に則した性能値を測定するために、運用環境を想定した環境を構築し、性能値を測定する。したがって、情報処理装置100では、検証対象のソフトウェア20及びオペレーションシステムに加えて、オペレーションシステム上で動作する、性能の検証対象外のソフトウェア(図1に図示せず)が動作する。
Also, the verification system constructs an environment assuming the operating environment and measures the performance value in order to measure the performance value according to the operating environment in which the
図2は、図1に示した情報処理装置100で動作するプロセスを説明する図である。図2において、図1で示したものと同一のものは、同一の記号で示す。図2は、図1で説明した情報処理装置100と、クライアント装置40で動作するテストプログラム30と、ストレージ装置SDを示す。
FIG. 2 is a diagram illustrating a process that operates in the
前述したとおり、情報処理装置100では、検証対象のソフトウェア20に加えて、オペレーションシステムや検証対象外のソフトウェアが動作する。したがって、図2に示すように、情報処理装置100では、検証対象のソフトウェアのプロセスpx1〜px3、pxcに加えて、オペレーションシステムのプロセスpzや、検証対象外のソフトウェアのプロセスpy1、py2が動作する。
As described above, in the
図2に示す、横線で示す矩形px1〜px3、pxcは、検証対象のソフトウェア20のプロセスを示す。また、プロセスpxcは、プロセスpx3が生成したプロセスを示す。プロセスpx1〜px3、pxcは、常駐プロセスと非常駐プロセスとを含む。図2の例では、プロセスpx1〜px3は常駐プロセスを示し、プロセスpxcは非常駐プロセスを示す。
The rectangles px1 to px3 and pxc indicated by horizontal lines in FIG. 2 indicate processes of the
常駐プロセスpx1〜px3は、例えば、検証対象のソフトウェア20の開始時に生成され、ソフトウェア20の終了時に終了するプロセスを示す。一方、非常駐プロセスpxcは、検証対象のソフトウェア20の開始後、終了するまでの間のいずれかのタイミングで生成され、または、終了するプロセスを示す。
The resident processes px1 to px3 indicate processes that are generated when the
以下、プロセスpx1〜px3を検証対象のプロセスpxと称し、プロセスpxcを子プロセスと称する。また、図2に示す、オペレーションシステムのプロセスpzや、検証対象外のソフトウェアのプロセスpy1、py2を、検証対象外のプロセスpyと称する。 Hereinafter, the processes px1 to px3 are referred to as a process px to be verified, and the process pxc is referred to as a child process. Also, the operation system process pz and the non-verification software processes py1 and py2 illustrated in FIG. 2 are referred to as non-verification process py.
図2の例において、プロセスpx1は、テストプログラム30による、所定の処理の開始指示を受信するとともに(st)、所定の処理の終了時にテストプログラム30に終了を通知する(ed)。プロセスpx1〜px3は、相互にプロセス間通信を行い、データや指示等を送受信する。
In the example of FIG. 2, the process px1 receives an instruction to start a predetermined process by the test program 30 (st), and notifies the
図2の例において、プロセスpx3(親プロセスともいう)は、所定の処理の途中で、子プロセスpxcを生成し、プロセス間通信にしたがって、子プロセスpxcに処理の指示を行う。また、図2の例において、プロセスpx3と、その子プロセスpxcは、サブルーチンとしてドライバプログラム10を呼び出し、ストレージ装置SDに対するアクセスを行う(ax)。
In the example of FIG. 2, the process px3 (also referred to as a parent process) generates a child process pxc in the middle of a predetermined process, and instructs the child process pxc according to inter-process communication. In the example of FIG. 2, the process px3 and its child process pxc call the
[測定開始から終了までの各プロセスの動作状態]
次に、図3にしたがって、性能値の測定開始から終了までの、図2に示した各プロセスの動作状態を説明する。
[Operation status of each process from measurement start to end]
Next, the operation state of each process shown in FIG. 2 from the start to the end of the performance value measurement will be described with reference to FIG.
図3は、性能値の測定開始から終了までの、図2に示した各プロセスの動作状態の一例を示す図である。図3において、図1、図2で示したものと同一のものは、同一の記号で示す。図3に示す矢印ttは、時間の経過を示す。 FIG. 3 is a diagram illustrating an example of an operation state of each process illustrated in FIG. 2 from the start to the end of the performance value measurement. In FIG. 3, the same components as those shown in FIGS. 1 and 2 are denoted by the same symbols. An arrow tt shown in FIG. 3 indicates the passage of time.
図3に示す横線の矩形は、図2に示した検証対象のプロセスpx1〜px3による、CPU(Central Processing Unit:CPU)を使用した期間tpx1〜tpx3を示す。一方、空白の矩形は、図2に示した検証対象外のプロセスpy1、py2による、CPUを使用した期間tpy1〜tpy2を示す。また、斜線の矩形は、検証対象のプロセスpx1〜px3による、I/O(Input/Output)待ち状態の期間tioを示す。また、矢印txは、いずれのプロセスもCPUを使用していない期間を示す。 3 indicate periods tpx1 to tpx3 in which a CPU (Central Processing Unit: CPU) is used by the processes to be verified px1 to px3 illustrated in FIG. On the other hand, the blank rectangles indicate periods tpy1 to tpy2 in which the CPU is used by the processes py1 and py2 that are not verification targets illustrated in FIG. Also, the hatched rectangle indicates a period io of an I / O (Input / Output) waiting state by the processes px1 to px3 to be verified. An arrow tx indicates a period during which no process is using the CPU.
情報処理装置100で動作するオペレーションシステムは、各プロセスに、順次、CPUの時間を割り当てることによって、各プロセスの処理を実行する。オペレーションシステムは、例えば、各プロセスがCPUを使用する時間が、割り当てた時間を超えた場合、または、当該プロセスによるI/O待ち等が発生した場合に、CPUの割り当てを、別のプロセスに切り替える。
An operation system that operates on the
図3の例によると、オペレーションシステムは、プロセスpx1、プロセスpx2、プロセスpx3の順に、CPUを割り当てる(tpx1〜px3)。そして、プロセスpx3にCPUを割り当てている間に、プロセスpx3によるI/O待ちの発生を検出すると、オペレーションシステムは、プロセスpy1にCPUの割り当てを切り替える。そして、I/O待ち期間tioが終了するまでの間、いずれのプロセスもCPUを使用しない期間txが生じる。 According to the example of FIG. 3, the operation system assigns CPUs in the order of process px1, process px2, and process px3 (tpx1 to px3). When the CPU detects that the process px3 waits for I / O while the CPU is allocated to the process px3, the operation system switches the CPU allocation to the process py1. Until the I / O waiting period tio ends, a period tx in which no process uses the CPU occurs.
そして、I/O待ち期間tioの終了を検出すると、オペレーションシステムは、プロセスpx3にCPUを再度、割り当てる。そして、プロセスpx3によるI/O待ちの発生を再検出すると、オペレーションシステムは、プロセスpy2にCPUの割り当てを切り替える。そして、I/O待ち期間tioの終了を検出すると、オペレーションシステムは、プロセスpy2へのCPUの割り当ての終了に応じて、プロセスpx3にCPUを再度割り当てる。同様にして、オペレーションシステムは、各プロセスに、順次、CPUを割り当てる。 When detecting the end of the I / O waiting period tio, the operation system reassigns the CPU to the process px3. When re-detecting the occurrence of I / O waiting by the process px3, the operation system switches the CPU allocation to the process py2. When detecting the end of the I / O waiting period tio, the operation system reassigns the CPU to the process px3 in accordance with the end of the assignment of the CPU to the process py2. Similarly, the operation system sequentially assigns a CPU to each process.
図2、図3で説明してきたとおり、情報処理装置100では、検証対象のプロセスpxに加えて、検証対象外のプロセスpyが動作し、各プロセスは、互いに、CPU資源等のリソースを共有する。したがって、CPUやメモリ等のリソースの使用状況は、検証対象外のプロセスpyの動作状況に応じて変化する。
As described with reference to FIGS. 2 and 3, in the
リソースの使用状況の変化により、検証対象のプロセスpxが使用可能なリソースの量が変化する。したがって、測定時の検証対象外のプロセスpyの動作状況に応じて、性能値の測定値が変動する場合がある。これにより、例えば、性能値を複数回に渡って測定する場合、複数の性能値の間でばらつきが生じる場合がある。 The amount of resources that can be used by the process px to be verified changes due to changes in the resource usage status. Therefore, the measured value of the performance value may vary depending on the operation status of the process py that is not subject to verification at the time of measurement. Thereby, for example, when the performance value is measured a plurality of times, a variation may occur between the plurality of performance values.
また、検証対象のソフトウェア20は、所定の条件に合致した場合に、特定の処理を行う仕様を有する場合がある。これにより、所定の条件に合致したか否かに応じて、検証対象のプロセスpxの処理が変化し、性能値が変化する場合がある。これにより、リソースの使用状況が変化する場合と同様にして、複数の性能値の間でばらつきが生じる場合がある。
The
[性能値のばらつき]
次に、図4〜図6にしたがって、性能値のばらつきが生じる例を説明する。図4、図5は、検証対象のプロセスpxが複数の子プロセスpxcを生成し(fk)、子プロセスpxcにしたがって処理を並列実行する場合を例示する。また、図6は、検証対象のプロセスpxが、所定の条件に合致した場合に、子プロセスpxcを生成し、当該子プロセスpxcに特定の処理を実施させる場合を例示する。
[Variation of performance values]
Next, an example in which performance value variation occurs will be described with reference to FIGS. 4 and 5 illustrate a case where the process px to be verified generates a plurality of child processes pxc (fk), and the processes are executed in parallel according to the child processes pxc. FIG. 6 illustrates a case where a child process pxc is generated and a specific process is performed by the child process pxc when the verification process px matches a predetermined condition.
(処理を並列実行する場合)
図4、図5の例は、検証対象のプロセスpxが、サービスの開始後、所定の処理を10回実行し、サービスを終了するまでの処理時間を、性能値として測定する場合を例示する。図4、図5の例によると、検証対象のプロセスpxは、所定の処理を並列して実行するために、サービスの開始後、複数の子プロセスpxcを生成する。
(When processing is executed in parallel)
The example of FIGS. 4 and 5 exemplifies a case where the process px to be verified executes a
図4は、検証対象のプロセスpxが、5つの子プロセスpxc−1〜pxc−5を生成し、5つの処理を並列して実行する例を説明する図である。図4において、図1、図2で示したものと同一のものは、同一の記号で示す。図4に示す矢印tm1は、サービスの開始後、終了するまでの処理時間(レスポンス時間)、即ち、性能値を示す。 FIG. 4 is a diagram illustrating an example in which the process px to be verified generates five child processes pxc-1 to pxc-5 and executes the five processes in parallel. 4, the same components as those shown in FIGS. 1 and 2 are denoted by the same symbols. An arrow tm1 shown in FIG. 4 indicates a processing time (response time) from the start of the service to the end, that is, a performance value.
検証対象のプロセスpxは、テストプログラム30によるサービスの開始指示に応答して、複数の子プロセスpxc−1〜pxc−5を生成する。このとき、検証対象のプロセスpxは、情報処理装置100のリソースの使用状況に応じて、5つの子プロセスpxc−1〜pxc−5を生成する(fk)。
In response to the service start instruction from the
子プロセスpxc−1〜pxc−5の生成後、検証対象のプロセスpxは、子プロセスpxc−1〜pxc−5のそれぞれに、所定の処理の実行を指示する。これにより、子プロセスpxc−1〜pxc−5は、所定の処理を並列して実行し、5回分の処理を行う。検証対象のプロセスpxは、子プロセスpxc−1〜pxc−5が所定の処理を終了するまでの間(tp)、残りの5回分の処理の実行指示を待機する。 After generation of the child processes pxc-1 to pxc-5, the process px to be verified instructs each of the child processes pxc-1 to pxc-5 to execute predetermined processing. Thereby, the child processes pxc-1 to pxc-5 execute predetermined processes in parallel, and perform five processes. The process px to be verified waits until the child processes pxc-1 to pxc-5 finish the predetermined process (tp), and waits for instructions for executing the remaining five processes.
子プロセスpxc−1〜pxc−5が所定の処理を終了すると、検証対象のプロセスpxは、さらに、子プロセスpxc−1〜pxc−5に所定の処理の実行を指示する。したがって、子プロセスpxc−1〜pxc−5は、所定の処理を、再び、並列して実行する。処理が終了すると、検証対象のプロセスpxは、子プロセスpxc−1〜pxc−5を終了し、サービスを終了する。 When the child processes pxc-1 to pxc-5 end the predetermined process, the verification process px further instructs the child processes pxc-1 to pxc-5 to execute the predetermined process. Therefore, the child processes pxc-1 to pxc-5 again execute predetermined processing in parallel. When the process ends, the process px to be verified ends the child processes pxc-1 to pxc-5 and ends the service.
図4の例によると、検証対象のプロセスpxは5つの子プロセスpxc−1〜pxc−5を生成する。したがって、検証対象のソフトウェア20は、5つの所定の処理を並列して実行できる。
In the example of FIG. 4, the process px to be verified generates five child processes pxc-1 to pxc-5. Therefore, the
図5は、検証対象のプロセスpxが、4つの子プロセスpxc−1〜pxc−4を生成し、4つの処理を並列して実行する例を説明する図である。図5において、図4で示したものと同一のものは、同一の記号で示す。 FIG. 5 is a diagram illustrating an example in which the process px to be verified generates four child processes pxc-1 to pxc-4 and executes the four processes in parallel. 5 that are the same as those shown in FIG. 4 are indicated by the same symbols.
図5の例において、検証対象のプロセスpxは、図4の例に対して、4つの子プロセスpxc−1〜pxc−4しか生成できない(fk)。したがって、検証対象のソフトウェア20は、4つの所定の処理を並列して実行する。子プロセスpxc−1〜pxc−4が所定の処理を終了すると、検証対象のプロセスpxは、さらに、子プロセスpxc−1〜pxc−4に所定の処理の実行を指示する。これにより、検証対象のソフトウェア20は、8回分の処理を実行する。
In the example of FIG. 5, the process px to be verified can generate only four child processes pxc-1 to pxc-4 as compared to the example of FIG. 4 (fk). Therefore, the
2回分の処理が残っているため、検証対象のプロセスpxは、処理の終了に応答して、さらに、子プロセスpxc−1、pxc−2に所定の処理の実行を指示し、子プロセスpxc−1、pxc−2は、2つの処理を並列して実行する。処理が終了すると、検証対象のプロセスpxは、子プロセスpxc−1〜pxc−4を終了し、サービスを終了する。 Since the process for two times remains, in response to the end of the process, the verification process px further instructs the child processes pxc-1 and pxc-2 to execute a predetermined process, and the child process pxc- 1, pxc-2 executes two processes in parallel. When the process ends, the process px to be verified ends the child processes pxc-1 to pxc-4 and ends the service.
図5の例によると、検証対象のプロセスpxは4つの子プロセスpxc−1〜pxc−4しか生成できないため、処理の並列度は図4の例に対して低い。したがって、図5の例の処理時間tm2は、図4の例の処理時間tm1に対して長い。 According to the example of FIG. 5, since the process px to be verified can generate only four child processes pxc-1 to pxc-4, the degree of parallelism of processing is lower than that of the example of FIG. Therefore, the processing time tm2 of the example of FIG. 5 is longer than the processing time tm1 of the example of FIG.
このように、十分な数の子プロセスpxcを生成できた場合(図4)、処理の並列度が高くなり、処理時間を短縮可能になる。一方、十分な数の子プロセスpxcを生成できなかった場合(図5)、処理の並列度が低くなり、十分な数の子プロセスpxcを生成できた場合に対して、処理時間が長い。 As described above, when a sufficient number of child processes pxc can be generated (FIG. 4), the degree of parallelism of processing becomes high and the processing time can be shortened. On the other hand, when a sufficient number of child processes pxc cannot be generated (FIG. 5), the degree of parallelism of processing decreases, and the processing time is longer than when a sufficient number of child processes pxc can be generated.
なお、図4、図5に図示していないが、十分な数の子プロセスpxcを生成できなかった場合、処理の途中で生じたリソースの空きに応じて、子プロセスpxcを追加生成する場合がある。この場合、処理時間は、図4及び図5の処理時間tm1、tm2の間の時間となる。 Although not shown in FIGS. 4 and 5, when a sufficient number of child processes pxc cannot be generated, additional child processes pxc may be additionally generated according to the resource vacancy generated during the processing. In this case, the processing time is a time between the processing times tm1 and tm2 in FIGS.
このように、情報処理装置100のリソースの使用状況に応じて、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcをいくつ生成したかに応じて、処理時間(性能値)が変化する。したがって、複数回に渡って性能値を測定する場合、複数の性能値の間でばらつきが生じる場合がある。
In this way, depending on how many processes the child process pxc generates when the process px to be verified is performing depending on the resource usage status of the
(所定の条件に応じた処理の相違)
図6は、所定の条件に応じて、検証対象のプロセスpxの処理が相違する例を説明する図である。図6において、図1、図2で示したものと同一のものは、同一の記号で示す。
(Difference in processing according to predetermined conditions)
FIG. 6 is a diagram illustrating an example in which the process px to be verified is different depending on a predetermined condition. In FIG. 6, the same components as those shown in FIGS. 1 and 2 are denoted by the same symbols.
図6の例は、図4、図5の例と同様にして、サービスを開始後(st)、終了する(ed)までの処理時間tm11を、性能値として測定する。図6の例によると、検証対象のプロセスpxは、サービスの実行中に生成し、内部メモリ(図示せず)に蓄積したデータlgが所定量を超えた場合に、データlgをストレージ装置SDに書き込む。 In the example of FIG. 6, the processing time tm11 from the start of the service (st) to the end (ed) is measured as a performance value in the same manner as the examples of FIGS. According to the example of FIG. 6, the process px to be verified is generated during execution of the service, and when the data lg accumulated in the internal memory (not shown) exceeds a predetermined amount, the data lg is stored in the storage device SD. Write.
具体的に、検証対象のプロセスpxは、テストプログラム30からのサービスの開始指示に応答して(st)、所定の処理を行うとともにデータlgを生成し、内部メモリに記憶する。検証対象のプロセスpxは、所定の処理の度に、データlgを生成し内部メモリに記憶する。そして、検証対象のプロセスpxは、蓄積したデータlgが所定量を超えた場合に、子プロセスpxcを生成し(fk)子プロセスpxcを介して、データlgを内部メモリからストレージ装置SDに書き込む(ax、ay)。 Specifically, the process px to be verified responds to a service start instruction from the test program 30 (st), performs predetermined processing, generates data lg, and stores it in the internal memory. The process px to be verified generates data lg for each predetermined process and stores it in the internal memory. The process px to be verified generates a child process pxc when the accumulated data lg exceeds a predetermined amount (fk), and writes the data lg from the internal memory to the storage device SD via the child process pxc ( ax, ay).
図6の例によると、検証対象のプロセスpxは、1回の測定で32個のデータlgを生成する。そして、検証対象のプロセスpxは、内部メモリのデータlgが200個に達した場合に、子プロセスpxcを生成し、子プロセスpxcに200個のデータlgをストレージ装置SDに記憶させる。したがって、ストレージ装置SDへの書き込みが生じる測定回と、当該書き込みが生じない回とが生じる。 According to the example of FIG. 6, the process px to be verified generates 32 data lg in one measurement. The process px to be verified generates a child process pxc when the data lg in the internal memory reaches 200, and causes the child process pxc to store 200 data lg in the storage device SD. Therefore, there are a measurement time when writing to the storage device SD occurs and a time when the writing does not occur.
図6の例によると、7回目、13回目、19回目等の測定回の際に、内部メモリ内のデータlgが200個に達し、データlgのストレージ装置SDへの書き込みが生じる。したがって、1回〜6回目の測定回と、7回目の測定回との間で、ストレージ装置SDへの書き込みの有無の相違が生じ、処理時間tm11に相違が生じる。13回目、19回目の測定回についても同様にして、他の測定回との処理時間tm11に相違が生じる。 According to the example of FIG. 6, in the measurement times such as the seventh time, the 13th time, and the 19th time, the data lg in the internal memory reaches 200 pieces, and the data lg is written to the storage device SD. Therefore, there is a difference in the presence or absence of writing to the storage device SD between the first to sixth measurement times and the seventh measurement time, and the processing time tm11 is different. Similarly, the 13th measurement time and the 19th measurement time are different from each other in the processing time tm11.
ストレージ装置SDへの書き込みが生じる測定回の処理時間tm11は、当該書き込みが生じない測定回の処理時間tm11に対して長い。なお、当該書き込みが、検証対象のプロセスpxによるI/O待ち時間の間に発生する場合、処理時間tm11は、当該書き込みが生じない場合に近似する。 The processing time tm11 of the measurement times when writing to the storage device SD occurs is longer than the processing time tm11 of the measurement times when writing does not occur. If the writing occurs during the I / O waiting time by the process px to be verified, the processing time tm11 approximates that the writing does not occur.
このように、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcを生成したかに応じて、処理時間(性能値)が変化する。これにより、性能値を複数回に渡って測定する場合、複数の性能値の間でばらつきが生じる場合がある。 As described above, the processing time (performance value) varies depending on which process the verification target process px is performing, depending on whether the child process pxc is generated. As a result, when the performance value is measured a plurality of times, variations may occur between the plurality of performance values.
図4〜図6に示したように、性能値のばらつきが生じる場合がある。したがって、検証システムは、性能値のばらつきが、検証対象のソフトウェア20の障害、または、図4〜図6に示した例のいずれに起因して生じたのかを特定するために、測定時に、ばらつきの要因を特定可能にする情報を採取する。
As shown in FIGS. 4 to 6, the performance value may vary. Therefore, the verification system varies during the measurement in order to identify whether the performance value variation is caused by the failure of the
[情報の採取]
次に、測定時に情報を採取する例を説明する。第1に、システムコールのトレースを取得する例を、第2に、CPU実行時間を取得する例を説明する。
[Collect information]
Next, an example of collecting information at the time of measurement will be described. First, an example of acquiring a system call trace and second, an example of acquiring a CPU execution time will be described.
(システムコールのトレース)
第1に、検証システムは、オペレーションシステムの機能を用いて、性能値の測定時に、各プロセスが発行するシステムコールをトレースする。具体的に、検証システムは、システムコールのトレースをタイムスタンプ(時刻)とともに取得する設定を行うことによって、検証対象のプロセスpxを起動する。
(System call trace)
First, the verification system uses a function of the operation system to trace a system call issued by each process when the performance value is measured. Specifically, the verification system activates the process px to be verified by performing a setting for acquiring a trace of the system call together with a time stamp (time).
検証者は、各プロセスの時刻に応じたシステムコールのトレースに基づいて、各プロセスの処理の流れを把握できる。また、検証者は、時刻に基づいて、各プロセスのシステムコールのトレースを突き合わせることによって、プロセス間の処理の対応を把握できる。これにより、検証者は、検証対象のプロセスpxがいずれの処理を実行している場合に、子プロセスpxcの生成または終了が生じたかを把握できる。 The verifier can grasp the processing flow of each process based on the trace of the system call corresponding to the time of each process. Further, the verifier can grasp the processing correspondence between the processes by matching the traces of the system calls of the respective processes based on the time. Thereby, the verifier can grasp which process the verification target process px is executing, and whether the child process pxc is generated or terminated.
したがって、図4、図5の例において、検証者は、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcをいくつ生成したのかを把握できる。同様にして、図6の例において、検証者は、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcを生成したかを把握できる。これにより、図4〜図6の例において、性能値のばらつきが、いずれの要因に起因して生じたのかを特定可能になる。 Therefore, in the examples of FIGS. 4 and 5, the verifier can grasp how many child processes pxc are generated when the process px to be verified is performing. Similarly, in the example of FIG. 6, the verifier can grasp which process the verification target process px is performing and generate the child process pxc. As a result, in the example of FIGS. 4 to 6, it is possible to specify which factor caused the variation in the performance value.
ただし、トレースを採取することによって、オペレーションシステムの負荷が高くなり、各プロセスの処理時間が長くなる。負荷や処理時間の増大により、通常の運用時と動作が変化する。一例として、検証対象のソフトウェア20が、一定期間が経過した場合にタイムアウトを検出する仕様を含む場合、処理時間の増大に伴ってタイムアウトが頻発し、処理が異常終了する場合がある。または、一定間隔で特定の処理を行う場合、処理時間の増大により、特定の処理が通常の運用時に対して多く動作する。
However, collecting the trace increases the load on the operation system and increases the processing time of each process. Due to the increase in load and processing time, the operation changes during normal operation. As an example, when the
また、トレースのデータ量が膨大であることにより、オペレーションシステムのトレース領域がオーバーフローする場合がある。オーバーフローが生じる前にトレースのデータをディスク等に書き込む場合、処理時間がさらに長くなる。 In addition, the trace area of the operation system may overflow due to the huge amount of trace data. When the trace data is written to a disk or the like before the overflow occurs, the processing time is further increased.
このように、システムコールのトレースを採取することによって、性能値のばらつきの要因を特定可能になる一方、測定時の検証対象のソフトウェア20の処理が、実際の運用時の処理から変化する。実際の運用時と処理が異なる環境で測定した性能値は、適切ではない。
Thus, by collecting the trace of the system call, it becomes possible to identify the cause of the variation in the performance value, while the processing of the
また、例えば、システムコールのうち、子プロセスpxcの生成と終了に関するシステムコールのみをトレースする方法がある。これにより、トレースの取得にかかる負荷を抑制することが可能になる。または、検証対象のプロセスpxが子プロセスpxcを生成したタイミングで、子プロセスpxcを生成した旨を所定のプログラムに通知する機能を、オペレーションシステムに組み込む方法がある。 Further, for example, there is a method of tracing only system calls related to generation and termination of the child process pxc among the system calls. Thereby, it becomes possible to suppress the load concerning acquisition of a trace. Alternatively, there is a method of incorporating in the operation system a function for notifying a predetermined program that the child process pxc has been generated at the timing when the process px to be verified has generated the child process pxc.
子プロセスpxcの生成と終了に関する情報を抜粋して採取することにより、子プロセスpxcの生成、及び、終了にかかる時刻を把握可能になる。ただし、検証対象のプロセスpxがいずれの処理を実行しているときに、子プロセスpxcの生成または終了が生じたかを把握することは困難である。 By extracting and collecting information related to generation and termination of the child process pxc, it is possible to grasp the time required for generation and termination of the child process pxc. However, it is difficult to grasp whether the child process pxc is generated or terminated when the process px to be verified is executing.
(CPU実行時間の採取)
第2に、検証システムは、性能値の測定時に、定期的に、各プロセスのCPU実行時間を取得する。CPU実行時間は、情報処理装置100のCPUの稼働時間を示し、各プロセスが処理の実行のためにCPUを専有した時間(の累計)を示す。
(Collecting CPU execution time)
Second, the verification system periodically acquires the CPU execution time of each process when measuring the performance value. The CPU execution time indicates the operating time of the CPU of the
図7は、各プロセスのCPU実行時間を定期的に取得する処理を、模式的に説明する図である。図7において、図6で示したものと同一のものは、同一の記号で示す。図7に示すように、検証システムは、一定の間隔毎(tt1〜tt5)に、各プロセスのCPU実行時間を取得する。 FIG. 7 is a diagram schematically illustrating processing for periodically acquiring the CPU execution time of each process. 7, the same components as those shown in FIG. 6 are denoted by the same symbols. As illustrated in FIG. 7, the verification system acquires the CPU execution time of each process at regular intervals (tt1 to tt5).
検証者は、一定の間隔毎(tt1〜tt5)の各プロセスのCPU実行時間に基づいて、いずれの時間帯に、子プロセスpxcが動作したかを把握する。例えば、タイミングtt4に新たな子プロセスpxcのCPU実行時間を検出した場合、タイミングtt3〜tt4の時間帯に、子プロセスpxcが生成されたことを把握可能になる。これにより、検証者は、子プロセスpxcが生成された時間帯を把握できる。 The verifier grasps in which time zone the child process pxc was operated based on the CPU execution time of each process at regular intervals (tt1 to tt5). For example, when the CPU execution time of the new child process pxc is detected at the timing tt4, it can be grasped that the child process pxc is generated in the time zone from the timing tt3 to tt4. Thereby, the verifier can grasp | ascertain the time slot | zone when the child process pxc was produced | generated.
しかしながら、一定の間隔毎のCPU実行時間に基づくことにより、子プロセスpxcが生成された時間帯の、検証対象のプロセスpxのCPU実行時間を取得できるものの、検証対象のプロセスpxの処理を把握することは困難である。したがって、図4〜図6の例において、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcを生成したのか、また、子プロセスpxcをいくつ生成したのか、を把握することは困難である。 However, based on the CPU execution time at regular intervals, the CPU execution time of the verification target process px can be acquired in the time zone when the child process pxc was generated, but the processing of the verification target process px is grasped. It is difficult. Therefore, in the examples of FIGS. 4 to 6, it is possible to grasp which process the verification target process px is performing and how many child processes pxc are generated when the child process pxc is generated. It is difficult.
このように、実際の運用時と処理を変えることなく、検証対象のプロセスpxに対応する子プロセスの動作状況を示す情報を採取することは容易ではない。 As described above, it is not easy to collect information indicating the operation status of the child process corresponding to the process px to be verified without changing the process during actual operation.
[本実施の形態の概要]
したがって、本実施の形態における情報処理装置100は、動作監視の対象プロセスpxによる、子プロセスpxcの生成を実行する実行ファイルの読み出しに応じて、子プロセスpxcの生成を検出する。そして、情報処理装置100は、子プロセスpxcの生成が検出された後の、対象プロセスpxによる、記憶部またはネットワークに対するアクセスの発生に応じて、子プロセスpxcが動作中であるか否かを判定する。動作中ではないと判定した場合、情報処理装置100は子プロセスpxcの終了を検出する。
[Outline of this embodiment]
Therefore, the
そして、情報処理装置100は、子プロセスpxcの生成及び終了を検出したタイミングそれぞれに対応する、対象プロセスpxによるアクセスに関する情報を、子プロセスpxcを識別する識別情報に関連付けて記憶部に記憶する。記憶部は、例えば、情報処理装置100のメインメモリやストレージ装置SDである。
Then, the
図8は、本実施の形態における処理の概要を模式的に説明する図である。図8において、図1、図2で示したものと同一のものは、同一の記号で示す。図8において、ストレージ装置SDに記憶されている実行ファイルexは、検証対象プロセスpxの子プロセスpxcの生成を指示するプログラムを示す。なお、実行ファイルexは、情報処理装置のメモリ等に記憶されていてもよい。 FIG. 8 is a diagram schematically illustrating an outline of processing in the present embodiment. In FIG. 8, the same components as those shown in FIGS. 1 and 2 are denoted by the same symbols. In FIG. 8, an execution file ex stored in the storage device SD indicates a program that instructs generation of a child process pxc of the verification target process px. The execution file ex may be stored in a memory or the like of the information processing apparatus.
図8は、検証対象のプロセスpxが、処理の途中で子プロセスpxcを生成する(fk)場合を例示する。図8の例において、検証対象のプロセスpxによるストレージ装置SDに対するアクセスax1〜ax8のうち、アクセスax4は子プロセスpxcの生成を指示する実行ファイルexに対する読み出しを示す。また、アクセスax11、ax12は、子プロセスpxcによるストレージ装置SDに対するアクセスを示し、期間chは子プロセスpxcの生成期間を示す。 FIG. 8 illustrates a case where the process px to be verified generates a child process pxc in the middle of processing (fk). In the example of FIG. 8, among the accesses ax1 to ax8 to the storage apparatus SD by the process px to be verified, the access ax4 indicates reading from the execution file ex instructing generation of the child process pxc. Accesses ax11 and ax12 indicate access to the storage device SD by the child process pxc, and a period ch indicates a generation period of the child process pxc.
子プロセスpxcの生成は、例えば、子プロセスpxcの生成指示を記述した実行ファイルexが読み出され(ax4)、オペレーションシステムpzによって実行権限が付与されることによって実現する。したがって、本実施の形態におけるドライバプログラム10は、子プロセスpxcの生成を指示する実行ファイルexの読み出し時に、子プロセスpxcの生成を検出する。
The generation of the child process pxc is realized by, for example, reading the execution file ex describing the generation instruction of the child process pxc (ax4) and giving the execution authority by the operation system pz. Therefore, the
そして、ドライバプログラム10は、子プロセスpxcの生成後、ストレージ装置SDに対するアクセスの都度ax5〜ax7、生成した子プロセスpxcが動作中であるか否かを判定する。図8の例によると、ドライバプログラム10は、アクセスax7のタイミングに、生成した子プロセスpxcが終了したことを検出する。
Then, after generating the child process pxc, the
そして、ドライバプログラム10は、子プロセスpxcの生成及び動作の終了を検出したタイミングax4、ax7の、検証対象のプロセスpxによるアクセスに関する情報を、子プロセスpxcの識別情報に関連付けてログ情報50として記憶部に記憶する。以下、アクセスに関する情報を、アクセス情報と称する。
Then, the
本実施の形態におけるアクセス情報は、例えば、アクセスのシーケンス番号(順番情報)とアクセス対象のアドレスのいずれかまたは両方である。ただし、アクセス情報は、この例に限定されるものではない。アクセス情報は、例えば、アクセス対象のデータのサイズや、データの内容であってもよい。 The access information in the present embodiment is, for example, one or both of an access sequence number (order information) and an access target address. However, the access information is not limited to this example. The access information may be, for example, the size of data to be accessed and the content of the data.
(ログ情報)
図9は、本実施の形態のドライバプログラム10が生成するログ情報の一例を示す図である。図9に示すログ情報を、第1のログ情報50−1と称する。
(Log information)
FIG. 9 is a diagram illustrating an example of log information generated by the
図9に示す情報le1は、子プロセスpxcの生成を検出したタイミングに対応する、検証対象のプロセスpxのアクセス情報を示す。情報le2は、子プロセスpxcの終了を検出したタイミングに対応する、検証対象のプロセスpxのアクセス情報を示す。また、情報le2は、子プロセスpxcの識別情報として、実行ファイルexの識別情報「iD001」、及び、子プロセスpxcのプロセスID「6789」を有する。 Information le1 illustrated in FIG. 9 indicates access information of the verification target process px corresponding to the timing at which generation of the child process pxc is detected. The information le2 indicates the access information of the process px to be verified corresponding to the timing when the end of the child process pxc is detected. The information le2 includes identification information “iD001” of the execution file ex and process ID “6789” of the child process pxc as identification information of the child process pxc.
実行ファイルexの識別情報「iD001」に基づいて、いずれの処理を行うプログラムが実行されたのかを特定可能になる。また、図9の例において、アクセス情報は、アクセス対象のアドレスである。 Based on the identification information “iD001” of the execution file ex, it is possible to specify which processing program has been executed. In the example of FIG. 9, the access information is an address to be accessed.
アクセス情報に基づくことにより、処理の内容を検知している検証者は、アクセスの発生時の、検証対象のプロセスpxの処理を把握できる。即ち、検証者は、アクセス情報のアクセスが、検証対象のプロセスpxがいずれの処理を行っている際のアクセスであるかを把握できる。 Based on the access information, the verifier who detects the content of the process can grasp the process of the process px to be verified when the access occurs. In other words, the verifier can grasp which process is being performed when the access information is accessed by the process px to be verified.
したがって、子プロセスpxcの生成及び終了のタイミングのアクセス情報を、子プロセスの情報と対応して記録することによって、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcの生成及び終了が生じたのかを把握可能になる。または、子プロセスの識別情報に基づくことにより、検証対象のプロセスpxがいずれの処理を行っている際に、子プロセスpxcをいくつ生成したのかを把握可能になる。 Therefore, by recording the access information of the generation timing and termination timing of the child process pxc in correspondence with the information of the child process, the generation of the child process pxc is performed when any process is being performed by the process px to be verified. And it becomes possible to grasp whether the termination has occurred. Alternatively, based on the identification information of the child process, it is possible to grasp how many child processes pxc are generated when the verification process px performs any processing.
これにより、図4、図5の例において、検証者は、検証対象のプロセスpxがいずれの処理を実行している場合に、子プロセスpxcをいくつ生成したのかを把握可能になる。また、図6の例において、検証者は、検証対象のプロセスpxがいずれの処理を実行している場合に、データlgをストレージ装置SDに記憶させる子プロセスpxcを生成したのかを把握可能になる。 Accordingly, in the example of FIGS. 4 and 5, the verifier can grasp how many child processes pxc are generated when the process px to be verified is executing. Further, in the example of FIG. 6, the verifier can grasp which process the verification target process px is executing has generated the child process pxc that stores the data lg in the storage device SD. .
また、本実施の形態におけるドライバプログラム10は、アクセス情報のみを記憶するため、情報の採取に起因する負荷の増大や、処理時間の長期化を抑制することが可能になる。このように、ドライバプログラム10は、最小限の情報を記憶することにより、実際の運用時と処理を変えることなく、検証対象のプロセスpxに対応する子プロセスの動作状況を示す情報を採取することができる。これにより、性能値のばらつきの要因を効率的に特定可能になる。
In addition, since the
なお、図8、図9の例では、検証対象のプロセスpxによるアクセスが、ストレージ装置SDに対するアクセスである場合を例示した。ただし、この例に限定されるものではない。検証対象のプロセスpxによるアクセスは、他の記憶部やネットワークに対するアクセスであってもよい。ネットワークに対するアクセスは、例えば、検証対象のプロセスpxによる、他のプロセスや他の装置に対する情報の送受信である。 In the examples of FIGS. 8 and 9, the case where the access by the process px to be verified is the access to the storage device SD is illustrated. However, it is not limited to this example. Access by the process px to be verified may be access to another storage unit or a network. The access to the network is, for example, transmission / reception of information to / from another process or another apparatus by the process px to be verified.
ドライバプログラム10は、例えば、記憶部に対するアクセスに加え、検証対象のプロセスpxによる情報の送受信を検出し、アクセス情報を記憶する。アクセス情報は、例えば、情報の送受信の宛先の情報や、送受信する対象のデータを示す。このように、ネットワークアクセスのアクセス情報を記録することにより、同様にして、検証対象のプロセスpxによるアクセス発生時の処理を把握可能になる。
For example, in addition to access to the storage unit, the
次に、図10にしたがって、本実施の形態における情報処理装置100のハードウェア構成を、図11にしたがって、本実施の形態における情報処理装置100のソフトウェアブロック図を説明する。
Next, a hardware configuration of the
[情報処理装置100のハードウェア構成]
図10は、本実施の形態における情報処理装置100(図1、図2)のハードウェア構成図である。情報処理装置100は、例えば、CPU(Central Processing Unit:CPU)101、メインメモリ201や補助記憶装置202等を備えるメモリ102、通信インタフェース部103、外部インタフェース部104を有する。各部は、バス106を介して相互に接続する。
[Hardware Configuration of Information Processing Apparatus 100]
FIG. 10 is a hardware configuration diagram of the information processing apparatus 100 (FIGS. 1 and 2) according to the present embodiment. The
CPU101は、バス106を介してメモリ102等と接続するとともに、情報処理装置100全体の制御を行う。通信インタフェース部103は、インターネット等を介して、他の機器(図示せず)と接続し、ネットワークに対するアクセスを行う。RAM(Random Access Memory:RAM)等を示すメインメモリ201は、CPU101が処理を行うデータ等を記憶する。また、外部インタフェース部104は、ストレージ装置SD等と接続する。
The
補助記憶装置202は、CPU101が実行するオペレーションシステムのプログラムを格納する領域(図示せず)を備える。また、補助記憶装置202は、ソフトウェアプログラム格納領域20、ドライバプログラム格納領域10、テストプログラム格納領域30を備える。また、補助記憶装置202は、ログ情報格納領域50、パラメータファイル群格納領域60を有する。補助記憶装置202は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
The
ソフトウェアプログラム格納領域20のソフトウェアプログラム(以下、ソフトウェアプログラム20と称する)は、CPU101の実行によって、ソフトウェアプログラム(検証対象のソフトウェア)20の処理を実現する。前述したとおり、ソフトウェアプログラム20は、例えば、DBMSのソフトウェアである。
A software program in the software program storage area 20 (hereinafter referred to as software program 20) realizes processing of the software program (software to be verified) 20 by execution of the
テストプログラム格納領域30のテストプログラム30(以下、テストプログラム30と称する)は、CPU101の実行によって、テストプログラム30の処理を実現する。テストプログラム30は、ソフトウェアプログラム20に、テストの開始及び終了を指示する。
The
ドライバプログラム格納領域10のドライバプログラム(以下、ドライバプログラム10と称する)は、CPU101の実行によって、ストレージ装置SDやメインメモリ201等の記憶部やネットワークに対するアクセス処理等を実現する。
A driver program in the driver program storage area 10 (hereinafter referred to as the driver program 10) realizes access processing to a storage unit such as the storage device SD and the
ドライバプログラム10は、ソフトウェアプログラム20によるアクセス命令に応答して、当該命令に対応する処理を行い、処理結果をソフトウェアプログラム20に出力する。ドライバプログラム10の詳細は、図11のソフトウェアブロック図にしたがって後述する。なお、例えば、検証者は、性能値の測定時に、オペレーションシステム(図示せず)が有するドライバプログラムを、本実施の形態におけるドライバプログラム10に置き換える。
In response to the access command from the
ログ情報格納領域50のログ情報(以下、ログ情報50と称する)は、ドライバプログラム10が生成する情報であって、図9に示したような第1のログ情報50−1を示す。なお、ログ情報50は、ストレージ装置SDに記憶されてもよい。
The log information (hereinafter referred to as log information 50) in the log
パラメータファイル群格納領域60のパラメータファイル群(以下、パラメータファイル群60と称する)は、ドライバプログラム10が参照する情報である。パラメータファイル群60が有する各パラメータファイルの詳細は、図11にしたがって後述する。
The parameter file group (hereinafter referred to as parameter file group 60) in the parameter file
[情報処理装置100のソフトウェアブロック]
図11は、図10に示したドライバプログラム10のソフトウェアブロックの構成図である。ドライバプログラム10は、例えば、制御モジュール111、アクセスモジュール112、実行管理モジュール113、ログ情報生成モジュール114を有する。
[Software Block of Information Processing Device 100]
FIG. 11 is a configuration diagram of software blocks of the
制御モジュール111は、各モジュール111〜114の制御を行う。アクセスモジュール112は、検証対象のソフトウェア20のプロセスによる、記憶部やネットワーク等に対するアクセスを検出し、アクセスに応じた処理を実行する。
The
実行管理モジュール113は、パラメータファイル群60を参照し、検証対象のプロセスpxの性能値の測定時に、ログ情報50の採取を行うための性能値の再測定を行うか否かを判定する。性能値の再測定を行う場合、実行管理モジュール113は、ログ情報生成モジュール114にログ情報50の生成を指示する。
The
ログ情報生成モジュール114は、パラメータファイル群60を参照し、子プロセスpxcの生成及び終了を検出する。そして、ログ情報生成モジュール114は、子プロセスpxcの生成及び終了を検出したタイミングの、検証対象のプロセスpxによるアクセスのアクセス情報と、子プロセスpxcの識別情報とを、ログ情報50として記憶する。
The log
パラメータファイル群は、検証対象プロセステーブル60a、プロセス生成アドレステーブル60b、子プロセス管理テーブル60c、候補プロセステーブル60dを有する。検証対象プロセステーブル60a、及び、プロセス生成アドレステーブル60bを、図12にしたがって説明する。また、子プロセス管理テーブル60cを図13にしたがって、候補プロセステーブル60dを図18にしたがって後述する。 The parameter file group includes a verification target process table 60a, a process generation address table 60b, a child process management table 60c, and a candidate process table 60d. The verification target process table 60a and the process generation address table 60b will be described with reference to FIG. The child process management table 60c will be described later according to FIG. 13, and the candidate process table 60d will be described later according to FIG.
図12は、図11に示した、検証対象プロセステーブル60a、及び、プロセス生成アドレステーブル60bの一例を示す図である。 FIG. 12 is a diagram illustrating an example of the verification target process table 60a and the process generation address table 60b illustrated in FIG.
[検証対象プロセステーブル60a]
図12の(A)は、図11に示した検証対象プロセステーブル60aの一例を示す図である。検証対象プロセステーブル60aは、検証対象のプロセスpxの識別情報(例えば、プロセス名)を有する。具体的に、図12の(A)に示す検証対象プロセステーブル60aは、検証対象のプロセスpxのプロセス名「mwproc」、「mwprv」を有する。
[Verification target process table 60a]
FIG. 12A illustrates an example of the verification target process table 60a illustrated in FIG. The verification target process table 60a includes identification information (for example, process name) of the verification target process px. Specifically, the verification target process table 60a illustrated in FIG. 12A includes process names “mwproc” and “mwprv” of the verification target process px.
[プロセス生成アドレステーブル60b]
図12の(B)は、図11に示したプロセス生成アドレステーブル60bの一例を示す図である。プロセス生成アドレステーブル60bは、図12の(A)の検証対象プロセステーブル60aに示す検証対象のプロセスpxの、子プロセスpxcの生成を指示する実行ファイルexのアドレスを有する。
[Process generation address table 60b]
FIG. 12B is a diagram illustrating an example of the process generation address table 60b illustrated in FIG. The process generation address table 60b has an address of an execution file ex instructing generation of a child process pxc of the verification target process px shown in the verification target process table 60a of FIG.
図12の(B)に示すプロセス生成アドレステーブル60bは、アドレス「0x101abdd0」、「0x10205a00」を有する。したがって、ドライバプログラム10は、検証対象のプロセスpxがアドレス「0x101abdd0」、「0x10205a00」に対してアクセスした場合に、子プロセスpxcの生成を検出する。
The process generation address table 60b shown in FIG. 12B has addresses “0x101abdd0” and “0x10205a00”. Therefore, the
[子プロセス管理テーブル60c]
図13は、図11に示した子プロセス管理テーブル60cの一例を示す図である。ログ情報生成モジュール114は、子プロセス管理テーブル60cを生成する。子プロセス管理テーブル60cは、検証対象のプロセスpxのプロセスID(identifier:ID)の情報Y1、子プロセスpxcの数Y2、子プロセスpxcのプロセスIDの情報Y3を有する。
[Child Process Management Table 60c]
FIG. 13 is a diagram showing an example of the child process management table 60c shown in FIG. The log
図13の例によると、子プロセス管理テーブル60cは、シーケンス番号「1」のソフトウェア20について、検証対象のプロセスpxのプロセスID「011」の情報Y1と、生成した子プロセスpxcの数「3」Y2を有する。また、子プロセス管理テーブル60cは、3つの子プロセスpxcのプロセスID「175,176,179」の情報Y3を有する。
According to the example of FIG. 13, the child process management table 60c includes the information Y1 of the process ID “011” of the process px to be verified and the number “3” of the generated child processes pxc for the
[第1のログ情報50−1の別の形態]
なお、ドライバプログラム10は、子プロセスpxcの生成及び終了を検出したタイミングとは異なるタイミングに、検証対象のプロセスpxによるアクセスの発生に応じて、アクセス情報をさらに記憶してもよい。次に、図14にしたがって、図9に示した第1のログ情報50−1の別の形態を例示する。
[Another form of the first log information 50-1]
Note that the
図14は、第1のログ情報50−1の別の形態のログ情報50−1xを説明する図である。図14に示す第1のログ情報50−1xは、図9に示した、第1のログ情報50−1の情報le1、le2を含む。具体的に、図14に示す情報le12は情報le1(図9)に対応し、図14に示す情報le14は情報le2(図9)に対応する。 FIG. 14 is a diagram illustrating another form of log information 50-1x of the first log information 50-1. The first log information 50-1x illustrated in FIG. 14 includes the information le1 and le2 of the first log information 50-1 illustrated in FIG. Specifically, the information le12 illustrated in FIG. 14 corresponds to the information le1 (FIG. 9), and the information le14 illustrated in FIG. 14 corresponds to the information le2 (FIG. 9).
図14に示す情報le11は、子プロセスpxcの生成及び終了を検出したタイミングとは異なるタイミングの、検証対象のプロセスpxによるアクセスの情報を示す。このように、子プロセスpxcの生成及び終了を検出したタイミングとは異なるタイミングのアクセス情報le11に、さらに基づくことにより、検証対象のプロセスpxの処理の内容をより詳細に把握可能になる。 Information le11 illustrated in FIG. 14 indicates access information by the process px to be verified at a timing different from the timing at which generation and termination of the child process pxc is detected. In this way, by further based on the access information le11 at a timing different from the timing at which the generation and termination of the child process pxc is detected, the processing contents of the process px to be verified can be grasped in more detail.
したがって、子プロセスpxcの生成及び終了が、検証対象のプロセスpxのいずれの処理の実行中に生じたかをより高精度に把握可能になり、より高精度に性能値のばらつきの要因を特定可能になる。 Therefore, it is possible to grasp with high accuracy whether the generation and termination of the child process pxc occurred during execution of the process px to be verified, and it is possible to specify the cause of the dispersion of the performance value with higher accuracy. Become.
また、ドライバプログラム10は、子プロセスpxcのアクセスの発生に応じて、子プロセスpxcのアクセスに関する情報をさらに記憶してもよい。図14に示す情報le13は、子プロセスpxcによるアクセスの情報を示す。子プロセスpxcのアクセス情報le13に基づくことにより、子プロセスpxcの処理の内容を把握可能になる。
Further, the
したがって、さらに、子プロセスpxcの生成及び終了に加えて、子プロセスpxcがいずれの処理の実行中に、検証対象のプロセスpxのいずれの処理が実行されたかを把握可能になる。これにより、性能値のばらつきの要因を、より高精度に特定可能になる。 Therefore, in addition to the generation and termination of the child process pxc, it is possible to grasp which process of the verification target process px is executed while the child process pxc is executing which process. As a result, it is possible to specify the cause of the variation in the performance value with higher accuracy.
なお、図示していないが、ドライバプログラム10は、子プロセスpxcの終了を検出したタイミングに対応するアクセスに関する情報を、CPUが子プロセスpxcの実行に使用した実行時間(CPU実行時間)にさらに関連付けて記憶してもよい。即ち、ドライバプログラム10は、情報le14に、子プロセスpxcのCPU実行時間をさらに記録してもよい。これにより、検証者は、子プロセスpxcの処理の負荷を把握することができ、子プロセスpxcの処理をより的確に把握できる。
Although not shown, the
[性能値のばらつきの別の例]
ここで、ドライバプログラム10の処理の詳細を説明する前に、図15、図16にしたがって、性能値のばらつきが生じる別の例を説明する。図15、図16の例における性能値のばらつきの要因を特定するために、ドライバプログラム10は、さらに、別の情報を採取してもよい。
[Another example of performance value variation]
Here, before explaining the details of the processing of the
図15、図16は、検証対象のプロセスpxの性能値の測定中に、性能値の検証対象外のプロセスpyが動作する場合を例示する。図15、図16の例では、検証システムは、図4〜図6の例と同様にして、サービスの開始後、終了するまでの時間を、性能値として測定する。 15 and 16 illustrate a case where a process py that is not a verification target of the performance value operates during measurement of the performance value of the verification process px. In the examples of FIGS. 15 and 16, the verification system measures the time from the start of the service to the end thereof as a performance value in the same manner as in the examples of FIGS.
図15は、検証対象外のプロセスpyの実行に応じて、性能値が変動する例を説明する第1の図である。図15において、図4〜図6で示したものと同一のものは、同一の記号で示す。 FIG. 15 is a first diagram illustrating an example in which the performance value varies according to the execution of the process py that is not the verification target. 15 that are the same as those shown in FIGS. 4 to 6 are indicated by the same symbols.
検証対象外のプロセスpyは、前述したとおり、オペレーションシステムや検証対象外のソフトウェアのプロセスを示す。検証対象外のプロセスpyの一例は、監視処理を行うプロセスであって、所定の変化をトリガーとして所定の処理を行うプロセスである。本実施の形態例では、検証対象外のプロセスpyが、メモリ、I/O等のパトロールを行う非常駐のプロセスである場合を例示する。 As described above, the non-verification process py indicates a process of the operation system or non-verification software. An example of the non-verified process py is a process that performs a monitoring process, and a process that performs a predetermined process with a predetermined change as a trigger. In the present embodiment, the case where the process py that is not subject to verification is a non-resident process that performs patrol such as memory and I / O is illustrated.
テストプログラム30が検証対象のソフトウェア20にサービスの開始を指示すると、検証対象のプロセスpxは、テストプログラム30からの指示に応じて、一連の処理を行う。一連の処理を終了すると、検証対象のプロセスpxは、一連の処理の終了をテストプログラム30に通知する。
When the
図15の例によると、検証対象のプロセスpxによる処理pr1と、パトロール処理のプロセス(検証対象外のプロセスpy)の処理pr2が同じ時間帯に実行される。図3で前述したとおり、オペレーションシステムは、各プロセスに交互にCPUを割り当てる。したがって、パトロールを行うプロセスprの処理pr2が、検証対象のプロセスpxの処理pr1と同じ時間帯に実行されることにより、検証対象のプロセスpxの処理が一時、待機状態となる。これにより、サービスを開始してから終了するまでの処理時間tm21が長くなる。 According to the example of FIG. 15, the process pr1 by the process px to be verified and the process pr2 of the patrol process (process py that is not verified) are executed in the same time zone. As described above with reference to FIG. 3, the operation system alternately assigns a CPU to each process. Accordingly, the process pr2 of the process pr that performs patrol is executed in the same time zone as the process pr1 of the process px to be verified, whereby the process of the process px to be verified temporarily enters a standby state. As a result, the processing time tm21 from the start to the end of the service becomes longer.
図16は、検証対象外のプロセスpyの実行に応じて、性能値が変動する例を説明する第2の図である。図16において、図15で示したものと同一のものは、同一の記号で示す。 FIG. 16 is a second diagram illustrating an example in which the performance value varies according to the execution of the process py that is not the verification target. In FIG. 16, the same components as those shown in FIG. 15 are denoted by the same symbols.
図16の例では、パトロールを行うプロセスpyの処理pr2は、検証対象のプロセスpxのI/O待ちの状態(矢印無し部分)である時間帯に実行される。したがって、図16の例における処理時間tm22は、図15の例における処理時間tm21に対して短い。 In the example of FIG. 16, the process pr2 of the process py that performs patrol is executed in a time zone in which the process px to be verified is waiting for I / O (the part without an arrow). Therefore, the processing time tm22 in the example of FIG. 16 is shorter than the processing time tm21 in the example of FIG.
また、図示していないが、サービスの開始から終了までの時間帯に、パトロールを行うプロセスpyが動作しない場合、処理時間は、図15、図16の例に対してさらに短くなる。このように、検証対象のプロセスpxの処理pr1と、検証対象外のプロセスpyの処理pr2との実行される時間帯の重複の度合いに応じて、処理時間は長くなる。 Although not shown, when the process py for performing patrol does not operate during the time period from the start to the end of the service, the processing time is further shortened compared to the examples of FIGS. As described above, the processing time becomes longer depending on the degree of overlap of the time zones in which the process pr1 of the process px to be verified and the process pr2 of the process py that is not the verification target are executed.
図15、図16に示すように、検証対象のプロセスpxがいずれの処理を行っている際に、検証対象外のプロセスpyが処理pr2を行ったかに応じて、性能値が変化する場合がある。したがって、性能値を複数回に渡って測定する場合、複数の性能値の間でばらつきが生じる。 As illustrated in FIGS. 15 and 16, when the process px to be verified is performing which process, the performance value may change depending on whether the process py not verified has performed the process pr <b> 2. . Therefore, when the performance value is measured a plurality of times, variation occurs between the plurality of performance values.
図15、図16の例によると、性能値のばらつきの要因を特定するために、検証対象のプロセスpxがいずれの処理を行っている際に、パトロールを行うプロセスpyの処理が行われたかを示す情報を採取することが求められる。 According to the examples of FIGS. 15 and 16, in order to identify the cause of the variation in the performance value, it is determined which process py performing the patrol is performed when the process px to be verified is performing. It is required to collect the information shown.
したがって、ドライバプログラム10は、子プロセスpxcの生成及び終了を検出したタイミングとは異なるタイミングに、アクセスの発生に応じて、検証対象外のプロセスpyの実行にCPUが使用した実行時間(CPU実行時間)をさらに記憶してもよい。ドライバプログラム10は、図9、図14に示したログ第1のログ情報50−1、50−1xに加えて、図17に示す第2のログ情報50−2を生成してもよい。
Therefore, the
[第2のログ情報50−2]
図17は、第2のログ情報50−2の一例を示す図である。図17における矢印Y11は、CPU実行時間を示す。図17に示す第2のログ情報50−2は、検証対象のプロセスpxによるアクセスの発生を検出したタイミングに対応する、当該アクセスに関する情報(以下、アクセス情報ともいう)、及び、検証対象外のプロセスpyのCPU実行時間Y1を有する。図17の例では、アクセス情報は、アクセスのシーケンス番号(1〜6)と、アクセス対象のアドレスを示す。
[Second log information 50-2]
FIG. 17 is a diagram illustrating an example of the second log information 50-2. An arrow Y11 in FIG. 17 indicates the CPU execution time. The second log information 50-2 shown in FIG. 17 includes information related to the access (hereinafter also referred to as access information) corresponding to the timing at which occurrence of access by the process px to be verified is detected, and information that is not verified. The process py has a CPU execution time Y1. In the example of FIG. 17, the access information indicates an access sequence number (1 to 6) and an access target address.
図17に示す情報le21によると、シーケンス番号「4」のプロセスID「1001」のCPU実行時間は、値「1.100122」である。一方、情報le22によると、シーケンス番号「5」のプロセスID「1001」のCPU実行時間は、値「1.102375」である。つまり、シーケンス番号「4」のアクセスから、シーケンス番号「5」のアクセスにかけて、プロセスID「1001」のCPU実行時間が値「1.100122」から値「1.102375」に増加している。 According to the information le21 shown in FIG. 17, the CPU execution time of the process ID “1001” of the sequence number “4” is the value “1.100122”. On the other hand, according to the information le22, the CPU execution time of the process ID “1001” with the sequence number “5” is the value “1.102375”. That is, the CPU execution time of the process ID “1001” increases from the value “1.100122” to the value “1.102375” from the access of the sequence number “4” to the access of the sequence number “5”.
これは、シーケンス番号「4」のアクセスからシーケンス番号「5」のアクセスまでの間の時間帯に、プロセスID「1001」が示す検証対象外のプロセスpyがCPUを使用したことを示す。即ち、シーケンス番号「4」のアクセスからシーケンス番号「5」のアクセスまでの間の時間帯に、検証対象外のプロセスpyが処理を行ったことを示す。また、前述したとおり、検証者は、アクセス情報に基づくことにより、各アクセスが、検証対象のプロセスpxがいずれの処理を行っている際のアクセスであるかを把握できる。 This indicates that the non-verified process py indicated by the process ID “1001” used the CPU in the time period from the access of the sequence number “4” to the access of the sequence number “5”. That is, it indicates that the process py that is not subject to verification performed processing during the time period from the access of sequence number “4” to the access of sequence number “5”. Further, as described above, the verifier can grasp which process is being performed by the process px to be verified, based on the access information.
したがって、検証対象のプロセスpxのアクセス情報を、検証対象外のプロセスpyのCPU実行時間と対応して記録することによって、検証対象のプロセスpxがいずれの処理を行っている際に、検証対象外のプロセスpyの処理が行われたかを把握可能になる。 Therefore, by recording the access information of the verification target process px in correspondence with the CPU execution time of the non-verification process py, when the verification target process px is performing any processing, the verification target process px is excluded from the verification target. It is possible to grasp whether or not the process py has been performed.
これにより、図15、図16の例において、検証者は、検証対象のプロセスpxがいずれの処理pr1を実行している場合に、パトロール処理のプロセスの処理pr2が実行されたかを把握できる。したがって、性能値のばらつきが生じた場合、図17に示す第2のログ情報50−2に基づいて、性能値のばらつきが、ソフトウェア20の障害に起因して生じたのか、図15、図16のような例に基づいて生じたのかを特定可能になる。
Accordingly, in the example of FIGS. 15 and 16, the verifier can grasp which process pr1 of the patrol process is executed when the process px1 is executed by the process px to be verified. Therefore, when the performance value variation occurs, whether the performance value variation has occurred due to the failure of the
また、本実施の形態におけるドライバプログラム10は、アクセス情報のみを記憶するため、情報の採取に起因する負荷の増大や、処理時間の長期化を抑制することが可能になる。このように、ドライバプログラム10は、最小限の情報を記憶することにより、実際の運用時と処理を変えることなく、さらに、検証対象のプロセスpxに対応する検証対象外のプロセスpyの動作状況を示す情報を採取することができる。これにより、性能値のばらつきの要因を効率的に特定可能になる。
In addition, since the
次に、図18にしたがって、図11で説明した、候補プロセステーブル60dの一例を説明する。 Next, an example of the candidate process table 60d described in FIG. 11 will be described according to FIG.
[候補プロセステーブル60d]
図18は、図11に示した候補プロセステーブル60dの一例を示す図である。候補プロセステーブル60dは、図15〜図17で説明した、CPU実行時間を取得する対象の検証対象外のプロセスpyの情報を有する。
[Candidate process table 60d]
18 is a diagram illustrating an example of the candidate process table 60d illustrated in FIG. The candidate process table 60d includes information on the process py that is the target of obtaining the CPU execution time and is not to be verified, as described with reference to FIGS.
図18に示す候補プロセステーブル60dは、2つの検証対象外のプロセスpy「iopatorol」、「devdaemon」の識別情報を有する。したがって、ドライバプログラム10は、測定時に、プロセス「iopatorol」、「devdaemon」のCPU実行時間を取得対象とする。
The candidate process table 60d illustrated in FIG. 18 includes identification information of two processes py “iopatol” and “devdaemon” that are not to be verified. Therefore, the
[ドライバプログラム10の処理の詳細]
次に、図19〜図27にしたがって、図11に示したドライバプログラム10の処理の詳細を説明する。図19〜図27の例では、ドライバプログラム10は、図14に示した第1のログ情報50−1xと、図17に示した第2のログ情報50−2を生成する。なお、図14に示した第1のログ情報50−1xは、図9に示した第1のログ情報50−1の情報を含む。したがって、ドライバプログラム10は、図19〜図27の例にしたがって、図9に示した第1のログ情報50−1を生成可能である。
[Details of processing of driver program 10]
Next, details of the processing of the
図19は、図11に示したドライバプログラム10の処理の流れを説明するフローチャート図である。
FIG. 19 is a flowchart for explaining the processing flow of the
S11:ドライバプログラム10の実行管理モジュール113は、第1の実行工程として、測定パラメータ70−1に基づいて、検証対象のソフトウェア20の性能値を複数回に渡って測定する。そして、実行管理モジュール113は、検証対象のソフトウェア20について、性能値の再測定の有無を判定し、再測定パラメータ70−2に記憶する。測定パラメータ70−1、及び、再測定パラメータ70−2の詳細は、図20にしたがって後述する。また、工程S11の処理の詳細を、図21のフローチャート図にしたがって後述する。
S11: The
S12:実行管理モジュール113は、第2の実行工程として、再測定パラメータ70−2に再測定の指示が行われた検証対象のソフトウェア20の、性能値を再測定する。再測定の際に、ログ情報生成モジュール114は、ログ情報50(第1のログ情報50−1x、第2のログ情報50−2)を記憶する。工程S12の処理の詳細を、図25のフローチャート図にしたがって後述する。
S12: As a second execution step, the
[第1の実行工程(図19のS11)]
第1の実行工程の処理の詳細を説明する前に、図20にしたがって、第1の実行工程の測定パラメータ70−1、及び、再測定パラメータ70−2を説明する。なお、図10に図示していないが、測定パラメータ70−1及び再測定パラメータ70−2は、例えば、情報処理装置100の補助記憶装置202に記憶される。
[First Execution Step (S11 in FIG. 19)]
Before describing the details of the process of the first execution step, the measurement parameter 70-1 and the remeasurement parameter 70-2 of the first execution step will be described according to FIG. Although not illustrated in FIG. 10, the measurement parameter 70-1 and the remeasurement parameter 70-2 are stored in the
(再測定パラメータ70−2)
図20は、第1の実行工程の測定パラメータ70−1、及び、再測定パラメータ70−2を示す図である。図20の(A)は測定パラメータ70−1を示し、図20の(B)は再測定パラメータ70−2を示す。
(Re-measurement parameter 70-2)
FIG. 20 is a diagram illustrating the measurement parameter 70-1 and the remeasurement parameter 70-2 in the first execution process. 20A shows the measurement parameter 70-1, and FIG. 20B shows the remeasurement parameter 70-2.
図20の(A)に示す測定パラメータ70−1は、検証対象のソフトウェア20のシーケンス番号Y21と、性能値の測定回数Y22と、検証対象のソフトウェア20の実行ファイルexのファイルパスY23とを有する。
A measurement parameter 70-1 illustrated in FIG. 20A includes a sequence number Y21 of the
具体的に、図20の(A)によると、シーケンス番号「1」Y21が示す、ソフトウェア20のファイルパスY23は、パス「/usr/kensa/test/testpro1」であって、測定回数Y22は100回である。同様にして、シーケンス番号「2」Y21が示す、ソフトウェア20のファイルパスY23は、パス「/usr/kensa/test/testpro2」であって、測定回数Y22は50回である。
Specifically, according to FIG. 20A, the file path Y23 of the
図20の(B)に示す再測定パラメータ70−2は、図20の(A)の測定パラメータ70−1に加えて、再測定フラグY31と、検証対象外のプロセスpyのプロセスIDの情報Y32を有する。再測定フラグY21は、対象のシーケンス番号のソフトウェア20の性能値の再測定を行うか否かを示す。また、プロセスIDの情報Y32は、測定時に処理が実行されていた検証対象外のプロセスpyを示す。
A remeasurement parameter 70-2 shown in FIG. 20B includes, in addition to the measurement parameter 70-1 shown in FIG. 20A, a remeasurement flag Y31 and process ID information Y32 of the process py that is not subject to verification. Have The remeasurement flag Y21 indicates whether to remeasure the performance value of the
具体的に、図20の(B)によると、シーケンス番号「1」Y21の、検証対象のソフトウェア20の再測定フラグY31は値「ON」であり、第2の実行工程(S12)で、当該ソフトウェア20の性能値の再測定を実施することを示す。また、第1の実行工程(S11)によるソフトウェア20の性能値の測定時に、プロセスID「125」Y32の検証対象外のプロセスpyが動作したことを示す。
Specifically, according to (B) of FIG. 20, the remeasurement flag Y31 of the
また、図20の(B)によると、シーケンス番号「2」Y21のソフトウェア20の再測定フラグY31は値「OFF」であるため、第2の実行工程(S12)で、当該ソフトウェア20の性能値の再測定を実施しないことを示す。
Further, according to FIG. 20B, since the remeasurement flag Y31 of the
(第1の実行工程の処理の流れ)
図21は、第1の実行工程(図19のS11)の処理の流れを説明するフローチャート図である。実行管理モジュール113は、図20の(A)に示した測定パラメータ70−1を入力として、図21のフローチャート図の処理を実行し、図20の(B)に示した再測定パラメータ70−2を出力する。
(Processing flow of the first execution process)
FIG. 21 is a flowchart for explaining the flow of processing in the first execution step (S11 in FIG. 19). The
S21:実行管理モジュール113は、測定パラメータ70−1(図20の(A))のシーケンス番号を示す、変数「i」に、値「1」をセットする。
S21: The
S22:実行管理モジュール113は、測定パラメータ70−1の測定回数を示す変数「j」に、値「1」をセットする。
S22: The
S23:実行管理モジュール113は、測定パラメータ70−1のファイルパスに基づいて、シーケンス番号「i」番目の、検証対象のソフトウェア20の実行を指示し、検証対象のソフトウェア20の性能値を測定する。
S23: Based on the file path of the measurement parameter 70-1, the
このとき、実行管理モジュール113は、検証対象のソフトウェア20の性能値の測定時の、候補プロセステーブル60d(図18)に規定した検証対象外のプロセスpyのCPU実行時間を取得し、測定時プロセス管理テーブル80に記録する。測定時プロセス管理テーブル80の詳細は、図22にしたがって後述する。
At this time, the
具体的に、実行管理モジュール113は、測定の開始時、及び、終了時に、検証対象外のプロセスpyのCPU実行時間を取得する。そして、実行管理モジュール113は、検証対象のプロセスpxの測定の開始時と終了時の、CPU実行時間の差を、検証対象外のプロセスpyのCPU実行時間として測定時プロセス管理テーブル80に記録する。
Specifically, the
S24:実行管理モジュール113は、測定回数「j」の値をインクリメントする。
S24: The
S25:実行管理モジュール113は、測定回数「j」が、所定回数を超えるか否かを判定する。
S25: The
S26:所定回数を超える場合(S25のYes)、実行管理モジュール113は、測定結果により再測定が必要かどうか判定する。判定の結果、再測定が必要と判定した場合、再測定パラメータ70−2(図19の(B))における、対象のシーケンス番号「i」の再測定フラグを値「ON」に設定する。工程S26の処理の詳細は、図23のフローチャート図にしたがって後述する。
S26: When the predetermined number of times is exceeded (Yes in S25), the
一方、所定回数を超えない場合(S25のNo)、実行管理モジュール113は、工程S23に遷移し、シーケンス番号「i」番目の検証対象のソフトウェア20の実行を指示する。
On the other hand, when the predetermined number of times is not exceeded (No in S25), the
S27:再測定の判定(S26)の後、実行管理モジュール113は、シーケンス番号「i」の値をインクリメントする。
S27: After the remeasurement determination (S26), the
S28:実行管理モジュール113は、シーケンス番号「i」の値が、測定パラメータ70−1に規定された、検証対象のソフトウェア20の総数を超えたか否かを判定する。変数「i」の値が総数を超える場合(S28のYes)、全てのソフトウェアを対象として性能値の測定を行ったことを示すため、実行管理モジュール113は処理を終了する。
S28: The
一方、総数を超えていない場合(S28のNo)、実行管理モジュール113は、工程S22に遷移し、次のソフトウェアを対象として性能値の測定を行う。
On the other hand, when the total number has not been exceeded (No in S28), the
(測定時プロセス管理テーブル80)
図22は、測定時プロセス管理テーブル80の一例を示す図である。図22に示す測定時プロセス管理テーブル80は、シーケンス番号Y41に対応するソフトウェア20の、各測定回Y42の、候補プロセステーブル60dに規定した各プロセスのCPU実行時間を有する。
(Measurement process management table 80)
FIG. 22 is a diagram illustrating an example of the measurement process management table 80. The measurement-time process management table 80 shown in FIG. 22 has the CPU execution time of each process defined in the candidate process table 60d for each measurement time Y42 of the
情報le81よると、実行シーケンス「1」Y41の測定回「1」Y42のプロセス「iopatorol」のCPU実行時間は、値「0.100122」である。また、情報le82によると、実行シーケンス「1」Y41の測定回「1」Y42のプロセス「devdaemon」のCPU実行時間は、値「0.000000」である。 According to the information le81, the CPU execution time of the process “iopatol” of the measurement time “1” Y42 of the execution sequence “1” Y41 is the value “0.100122”. Further, according to the information le82, the CPU execution time of the process “devdaemon” of the measurement time “1” Y42 of the execution sequence “1” Y41 is the value “0.000000”.
(再測定の有無の判定(図20のS26))
図23は、図21の工程S26に示す再測定の判定処理の流れを説明する第1のフローチャート図である。
(Determining the presence or absence of remeasurement (S26 in FIG. 20))
FIG. 23 is a first flowchart illustrating the flow of the remeasurement determination process shown in step S26 of FIG.
S31:実行管理モジュール113は、候補プロセステーブル60d(図18)を参照し、候補プロセステーブル60dに規定された総プロセス数を変数「N」にセットする。図18に示す候補プロセステーブル60dによると、変数「N」は値「2」である。
S31: The
S32:実行管理モジュール113は、候補プロセステーブル60dに規定されたプロセスのカウンタを示す変数「k」に値「1」をセットする。
S32: The
S33:実行管理モジュール113は、カウンタを示す変数「m」に値「1」を、測定回を示す変数「j」に値「1」をセットする。
S33: The
S34:実行管理モジュール113は、図22に示した測定時プロセス管理テーブル80を参照し、シーケンス番号「i」、測定回「j」の「k」番目の検証対象外のプロセスpyのCPU実行時間を取得し、値「work(k)」にセットする。
S34: The
S35:実行管理モジュール113は、値「work(k)」が、値「0」より大きいか否かを判定する。即ち、実行管理モジュール113は、シーケンス番号「i」、測定回「j」の「k」番目の検証対象外のプロセスpyが、測定時に実行されていたか否かを判定する。このように、実行管理モジュール113は、測定時プロセス管理テーブル80に基づいて、候補プロセステーブル60dに規定されたプロセスのうち、測定時に実行されていた検証対象外のプロセスpyを抽出する。
S35: The
S36:値「work(k)」が値「0」である場合(S35のNo)、「k」番目の検証対象外のプロセスpyが実行されていなかったことを示す。したがって、実行管理モジュール113は、測定回「j」の値をインクリメントする。
S36: When the value “work (k)” is the value “0” (No in S35), it indicates that the “k” th non-verification process py has not been executed. Therefore, the
S37:実行管理モジュール113は、測定回「j」の値が、測定回数を超えたか否かを判定する。即ち、実行管理モジュール113は、すべての測定回を対象として、工程S34〜S36の処理を行ったか否かを判定する。測定回数を超えない場合(S37のNo)、実行管理モジュール113は、工程S34の処理に遷移し、別の測定回を対象として、工程S34、S35の処理を行う。
S37: The
S38:測定回数を超えた場合(S37のYes)、実行管理モジュール113は、プロセスのカウンタ「k」の値をインクリメントする。
S38: When the number of measurements is exceeded (Yes in S37), the
S39:一方、値「work(k)」が値「0」より大きい場合(S35のYes)、「k」番目の検証対象外のプロセスpyの処理が実行されたことを示す。したがって、実行管理モジュール113は、ワークフラグを値「ON」に設定するとともに、ワークリスト(m)に、「k」番目のプロセス名(プロセスID)を格納する。また、実行管理モジュール113は、カウンタ「m」の値をインクリメントする。
S39: On the other hand, if the value “work (k)” is greater than the value “0” (Yes in S35), it indicates that the “k” th process py that is not subject to verification has been executed. Therefore, the
図21の測定時プロセス管理テーブル80によると、シーケンス番号「1」の検証対象のソフトウェア20の1、2回目の測定時に、「k=1」のプロセス「iopatorol」のCPU実行時間が値「0」より大きい。したがって、実行管理モジュール113は、シーケンス番号「1」の検証対象のソフトウェア20のワークフラグを値「ON」に設定するとともに、ワーク(m)に、プロセス名「iopatorol」を格納する。
According to the measurement-time process management table 80 of FIG. 21, the CPU execution time of the process “iopatol” with “k = 1” is the value “0” at the first and second measurements of the
S40:実行管理モジュール113は、プロセスのカウンタ「k」の値が、候補プロセステーブル60dが有する総プロセス数「N」の値を超えるか否かを判定する。超えない場合(S40のNo)、実行管理モジュール113は、工程S33の処理に遷移する。即ち、実行管理モジュール113は、別の検証対象外のプロセスpyを対象として、工程S33〜S39の処理を行う。
S40: The
一方、プロセスのカウンタ「k」の値が、候補プロセステーブル60dが有する総プロセス数「N」の値を超えた場合(S40のYes)、実行管理モジュール113は、図24のフローチャート図の処理に遷移する(A1)。
On the other hand, when the value of the process counter “k” exceeds the value of the total number of processes “N” in the candidate process table 60d (Yes in S40), the
図24は、図21の工程S26に示す再測定の判定処理の流れを説明する第2のフローチャート図である。図24は、図23(A1)の続きの処理を示すフローチャート図である。 FIG. 24 is a second flowchart illustrating the flow of the remeasurement determination process shown in step S26 of FIG. FIG. 24 is a flowchart showing processing subsequent to FIG. 23 (A1).
S51:実行管理モジュール113は、ワークフラグが値「ON」であるか否かを判定する。即ち、実行管理モジュール113は、図22の工程S39で、シーケンス番号「i」のソフトウェア20のワークフラグが値「ON」に更新されたか否かを判定する。
S51: The
S52:ワークフラグが値「ON」ではない場合(S51のNo)、実行管理モジュール113は、図21の工程S23にしたがって測定した、シーケンス番号「i」の測定回数分の性能値(処理時間)の分散を算出する。
S52: When the work flag is not the value “ON” (No in S51), the
S53:実行管理モジュール113は、算出した分散が、予め定めた所定値を超えるか否かを判定する。所定値は、例えば、検証等にしたがって予め定められる。
S53: The
S54:分散が所定値を超えない場合(S53のNo)、複数の性能値の間でばらつきが生じていないことを示す。したがって、実行管理モジュール113は、再測定パラメータ70−2に、シーケンス番号「i」のソフトウェア20の再測定フラグが値「OFF」である旨の情報を書き込む。
S54: When the variance does not exceed the predetermined value (No in S53), it indicates that no variation has occurred among the plurality of performance values. Therefore, the
S55:一方、分散が所定値を超える場合(S53のYes)、複数の性能値の間でばらつきが生じ、ばらつきの要因を特定するために、測定時の情報を採取する必要性がある場合を示す。したがって、実行管理モジュール113は、再測定パラメータ70−2に、シーケンス番号「i」のソフトウェア20の再測定フラグが値「ON」である旨の情報を書き込む。
S55: On the other hand, if the variance exceeds a predetermined value (Yes in S53), a variation occurs between a plurality of performance values, and there is a need to collect information at the time of measurement in order to identify the cause of the variation. Show. Therefore, the
このように、実行管理モジュール113は、第1の実行工程(S11)として、検証対象プロセスpxによる所定の処理を複数回実行し、複数回の所定の処理の測定値(実行結果情報)を取得する。そして、ドライバプログラム10は、複数回の測定値(実行結果情報)の分散が所定値を超える場合に、第1のログ情報50−1、50−1xを生成し、記憶する。
As described above, the
つまり、実行管理モジュール113は、性能値のばらつきを検出した場合に、対象のソフトウェア20の性能値の再測定を行う旨、判定する。これにより、実行管理モジュール113は、当該ソフトウェア20について、ばらつきの要因を特定可能な情報を採取できる。
That is, the
S56:ワークフラグが値「ON」である場合(S51のYes)、図23の工程S39で、ワークフラグが値「ON」に更新されたことを示し、測定時に検証対象外のプロセスpyの処理が実行されていたことを意味する。 S56: When the work flag is the value “ON” (Yes in S51), it indicates that the work flag is updated to the value “ON” in step S39 of FIG. Means that was being executed.
したがって、実行管理モジュール113は、再測定パラメータ70−2に、シーケンス番号「i」のソフトウェア20の再測定フラグが値「ON」である旨の情報を書き込む。また、実行管理モジュール113は、再測定パラメータ70−2に、シーケンス番号「i」のソフトウェア20の測定時に処理が実行されていたプロセスを示す、ワーク(m)に保持されたプロセスIDの情報を追加する。
Therefore, the
このように、実行管理モジュール113は、検証対象プロセスpxによる所定の処理を複数回実行し、実行の際に検証対象外プロセスpyのCPUが使用した実行時間(CPU実行時間)が所定値を超える場合に、第2のログ情報50−2を生成し、記憶する。所定値は、例えば、値「0」である。ただし、この例に限定されるものではなく、所定値は検証等にしたがって設定されてもよい。
As described above, the
このように、実行管理モジュール113は、性能値のばらつきを検出しないソフトウェア20であっても、測定時に検証対象外のプロセスpyの処理が実行されていた場合には、性能値の再測定を行う旨、判定する。例えば、全ての測定回を通して、検証対象外のプロセスpyの処理が実行されていた場合、性能値のばらつきは生じないものの、性能値が適切な値ではない場合がある。
As described above, the
したがって、実行管理モジュール113は、検証対象外のプロセスpyのCPU実行時間に基づくことにより、当該ソフトウェア20について、障害の有無を特定可能な情報を採取できる。
Therefore, the
[第2の実行工程(図19のS12)]
図25は、第2の実行工程(図19のS12)の処理の流れを説明するフローチャート図である。
[Second Execution Step (S12 in FIG. 19)]
FIG. 25 is a flowchart for explaining the flow of processing in the second execution step (S12 in FIG. 19).
S61:実行管理モジュール113は、再測定パラメータ70−2(図20の(B))のシーケンス番号を示す変数「i」に、値「1」をセットする。
S61: The
S62:実行管理モジュール113は、再測定パラメータ70−2において、シーケンス番号「i」の検証対象のソフトウェア20の再測定フラグが値「ON」であるか否かを判定する。
S62: The
S63:再測定フラグが値「ON」である場合(S62のYes)、実行管理モジュール113は、測定時に情報を採取するための設定を行う。具体的に、実行管理モジュール113は、再測定パラメータ70−2のシーケンス番号「i」に、測定時に動作した検証対象外のプロセスIDが付与されている場合、対象外プロセスフラグを値「ON」に設定しておく。対象外プロセスフラグを参照する処理は、図26にしたがって後述する。
S63: When the remeasurement flag is “ON” (Yes in S62), the
S64:実行管理モジュール113は、再測定パラメータ70−2の測定回数を示す変数「j」に値「1」をセットする。
S64: The
S65:実行管理モジュール113は、再測定パラメータ70−2に基づいて、シーケンス番号「i」番目の、検証対象のソフトウェア20の実行を指示し、検証対象のソフトウェア20の性能値を測定する。ログ情報生成モジュール114は、測定時に、ログ情報50を生成する。
S65: Based on the remeasurement parameter 70-2, the
再測定パラメータ70−2に検証対象外のプロセスpyのプロセスIDが記載されていない場合、ログ情報生成モジュール114は、第1のログ情報50−1、50−1xを生成する。また、再測定パラメータ70−2における再測定フラグが値「ON」であって、検証対象外のプロセスpyのプロセスIDが記載されている場合、ログ情報生成モジュール114は、第2のログ情報50−2を生成する。ログ情報生成モジュール114の処理の詳細を、図26にしたがって後述する。
When the process ID of the process py that is not the verification target is not described in the remeasurement parameter 70-2, the log
S66:実行管理モジュール113は、測定回数「j」の値をインクリメントする。
S66: The
S67:実行管理モジュール113は、測定回数「j」が、所定回数を超えるか否かを判定する。
S67: The
S68:所定回数を超える場合(S67のYes)、実行管理モジュール113は、工程S65の検証対象のソフトウェア20の実行による性能値の測定時に、採取したログ情報50を出力する。一方、所定回数を超えない場合(S67のNo)、実行管理モジュール113は、工程S65に遷移する。
S68: When the predetermined number of times is exceeded (Yes in S67), the
S69:再測定フラグが値「ON」ではない場合(S62のNo)、または、工程S68の後、実行管理モジュール113は、シーケンス番号「i」の値をインクリメントする。
S69: If the remeasurement flag is not “ON” (No in S62), or after step S68, the
S70:実行管理モジュール113は、シーケンス番号「i」の値が、検証対象とするソフトウェア20の総数を超えたか否かを判定する。変数「i」の値がソフトウェア20の数を超える場合(S70のYes)、実行管理モジュール113は、処理を終了する。
S70: The
一方、検証対象とするソフトウェア20の総数を超えていない場合(S70のNo)、実行管理モジュール113は、工程S64に遷移し、次のソフトウェアを対象として、工程S64〜S69の処理を行う。
On the other hand, when the total number of the
(ログ情報生成モジュール114の処理(図24のS65))
図26は、図24の工程S65の、ログ情報生成モジュール114の処理を説明する第1のフローチャート図である。
(Process of log information generation module 114 (S65 in FIG. 24))
FIG. 26 is a first flowchart illustrating the process of the log
S81:ログ情報生成モジュール114は、アクセスの発生を検出すると、図12の(A)に示した検証対象プロセステーブル60aを参照する。そして、ログ情報生成モジュール114は、検出したアクセスの呼び出し元のプロセス、または、呼び出し元のプロセスの親プロセスが、検証対象プロセステーブル60aに規定されたプロセスに該当するか否かを判定する。該当しない場合(S81のNo)、ログ情報生成モジュール114は、図27のフローチャート図の処理に遷移する(A3)。
S81: When the occurrence of access is detected, the log
S82:一方、該当する場合(S81のYes)、ログ情報生成モジュール114は、ログ情報(第1のログ情報50−1x、第2のログ情報50−2)に、アクセス情報を記録する。なお、図9に示す第1のログ情報50−1を生成する場合、ログ情報生成モジュール114は、後述する子プロセスpxcの生成及び終了の検出時にのみ、アクセス情報を記録する。
S82: On the other hand, if applicable (Yes in S81), the log
S83:ログ情報生成モジュール114は、図25の工程S63で設定した対象外プロセスフラグが値「ON」であるか否かを判定する。
S83: The log
S84:対象外プロセスフラグが値「ON」である場合(S83のYes)、ログ情報生成モジュール114は、再測定パラメータ70−2に指定されたプロセスIDの、CPU実行時間をオペレーションシステムから取得する。オペレーションは、プロセスID毎のCPU実行時間を有する。そして、ログ情報生成モジュール114は、図17に示すように、取得したCPU実行時間を、第2のログ情報50−2に追加する。
S84: When the non-target process flag is the value “ON” (Yes in S83), the log
なお、対象外プロセスフラグが値「ON」ではない場合(S83のNo)、ログ情報生成モジュール114は、工程S84の処理を行わない。
Note that when the non-target process flag is not the value “ON” (No in S83), the log
S85:ログ情報生成モジュール114は、検出したアクセスが読み出しであるか否かを判定する。
S85: The log
S86:読み出しである場合(S85のYes)、ログ情報生成モジュール114は、読み出し対象のアドレスが、プロセス生成アドレステーブル60bに規定されているアドレスであるか否かを判定する。
S86: In the case of reading (Yes in S85), the log
S87:規定されている場合(S86のYes)、子プロセスpxcの生成を目的とした、読み出しアクセスであることを示す。したがって、ログ情報生成モジュール114は、図14の情報le12に示すように、子プロセスpxcを生成した旨の情報を、第1のログ情報50−1xに追加して記憶する。
S87: If defined (Yes in S86), it indicates a read access for the purpose of generating a child process pxc. Accordingly, the log
S88:ログ情報生成モジュール114は、子プロセスpxcが生成されたことを示す、子プロセス生成フラグを値「ON」にする(A2)。
S88: The log
なお、読み出しアクセスではない場合(S85のNo)、または、読み出しアドレスがプロセス生成アドレステーブル60bに規定されていない場合(S86のNo)、ログ情報生成モジュール114は、工程S87、S88の処理を行わない(A2)。
If the access is not a read access (No in S85), or if the read address is not defined in the process generation address table 60b (No in S86), the log
図27は、図24の工程S65の、ログ情報生成モジュール114の処理を説明する第2のフローチャート図である。図27は、図26の続き(A2)のフローチャート図である。
FIG. 27 is a second flowchart illustrating the process of the log
S91:ログ情報生成モジュール114は、子プロセス生成フラグが値「ON」であるか否かを判定する。
S91: The log
子プロセス生成フラグが値「NO」ではない場合(S91のNo)、また、図26のフローチャート図の工程S81の判定がNOである場合(S81のNo:A3)、ログ情報生成モジュール114は、後述する工程S100の処理に遷移する。
When the child process generation flag is not the value “NO” (No in S91), and when the determination in step S81 in the flowchart of FIG. 26 is NO (No in S81: A3), the log
S92:子プロセス生成フラグが値「ON」である場合(S91のYes)、子プロセスが生成済みであることを示す。したがって、ログ情報生成モジュール114は、オペレーションシステムが有する情報に基づいて、生成した子プロセスpxcが動作中であるか否かを判定する。
S92: If the child process generation flag is “ON” (Yes in S91), it indicates that the child process has been generated. Therefore, the log
S93:子プロセスpxcが動作中である場合(S92のYes)、ログ情報生成モジュール114は、当該子プロセスpxcが、子プロセス管理テーブル60cに追加済みであるか否かを判定する。ログ情報生成モジュール114は、追加済みではない場合に、子プロセス管理テーブル60cに、検出した子プロセスpxcの情報を追加する。
S93: If the child process pxc is operating (Yes in S92), the log
S94:一方、子プロセスpxcが動作中ではない場合(S92のNo)、ログ情報生成モジュール114は、子プロセスpxcの終了を検出する。したがって、ログ情報生成モジュール114は、図14の情報le14に示すように、子プロセスpxcが終了した旨の情報を、第1のログ情報50−1xに追加して記録する。
S94: On the other hand, when the child process pxc is not operating (No in S92), the log
S95:工程S94に続き、ログ情報生成モジュール114は、子プロセス生成フラグを値「OFF」に設定する。
S95: Following step S94, the log
S96:ログ情報生成モジュール114は、アクセスの呼び出し元のプロセスのプロセスIDが検証対象プロセステーブル60aに規定されていないか否かを判定する。
S96: The log
S97:規定されていない場合(S96のYes)、生成した子プロセスpxcによるアクセスであることを示す。したがって、ログ情報生成モジュール114は、図14の情報le13に示すように、子プロセスpxcによるアクセスである旨の情報を、第1のログ情報50−1xに追加して記載する。
S97: If not defined (Yes in S96), it indicates that the access is by the generated child process pxc. Accordingly, the log
このように、ログ情報生成モジュール114は、さらに、子プロセスによるアクセス情報を記録することによって、子プロセスpxcの生成及び終了のタイミングに加えて、子プロセスpxcの処理の内容を把握可能にする。
As described above, the log
S98:ログ情報生成モジュール114は、呼び出し元の子プロセスpxcのプロセスIDが、子プロセス管理テーブル60cに登録されていないか否かを判定する。
S98: The log
S99:登録されていない場合(S98のYes)、同一の実行ファイルexのアドレスに基づいて、複数の子プロセスpxcが生成された場合を示す。この場合、実行ファイルexのデータがキャッシュメモリに記憶されることにより、アクセスモジュール112は、当該アドレスにアクセスしたことを検出できず、子プロセスpxcの生成を検出しない場合がある。したがって、ログ情報生成モジュール114は、子プロセスpxcによるアクセスの発生に応じて、呼び出し元の子プロセスpxcのプロセスIDを、子プロセス管理テーブル60cに追加する。
S99: A case where a plurality of child processes pxc are generated based on the address of the same execution file ex when not registered (Yes of S98). In this case, since the data of the execution file ex is stored in the cache memory, the
一方、登録済みである場合(S98のNo)、ログ情報生成モジュール114は、工程S99の処理を行わない。
On the other hand, when it has been registered (No in S98), the log
なお、アクセスの呼び出し元のプロセスのプロセスIDが、検証対象プロセステーブル60aに規定されている場合(S96のNo)、検出したアクセスが、検証対象のプロセスpxによるアクセスであることを示す。したがって、ログ情報生成モジュール114は、工程S97〜S99の処理を行わない。
If the process ID of the access call source process is defined in the verification target process table 60a (No in S96), it indicates that the detected access is an access by the verification target process px. Therefore, the log
S100:工程S96がNoの場合、工程S81がNoの場合、工程S99の後のいずれかの場合、アクセスモジュール112は、検出したアクセスに応じた処理を行う。具体的に、アクセスモジュール112は、アクセスに応じて、記憶部に対する読み出し、または、書き込みを行う。また、ネットワークに対するアクセスを検出する場合、アクセスモジュール112は、データの送受信を行う。
S100: When step S96 is No, when step S81 is No, and in any case after step S99, the
[測定結果情報]
図25、図26のフローチャート図に示していないが、ドライバプログラム10は、図28に示す、測定結果情報90をさらに生成してもよい。
[Measurement result information]
Although not shown in the flowcharts of FIGS. 25 and 26, the
図28は、測定結果情報90の一例を示す図である。測定結果情報90は、シーケンス番号毎に、再測定の有無Y51、性能値のばらつきの有無Y52、検証対象外のプロセスpyの動作の有無等の情報を有する。また、測定結果情報90は、ばらつき有の場合には、第1のログ情報50−1xへのリンク情報(詳細情報1)を有する。また、測定結果情報90は、検証対象外のプロセスpyの動作の場合には、第2のログ情報50−2へのリンク情報(詳細情報2)を有する。
FIG. 28 is a diagram illustrating an example of the measurement result
例えば、情報le91は、シーケンス番号「1」の検証対象のソフトウェア20の性能値にばらつきがあることを示し、第1のログ情報50−1xへのリンク情報を有する。また、情報le91は、当該ソフトウェア20の測定時に、検証対象外のプロセスpyが動作したことを示し、第2のログ情報50−2へのリンク情報を有する。一方、情報le92は、検証対象外のプロセスpyが動作していないことにより、第1のログ情報50−1xへのリンク情報のみを有する。
For example, the information le91 indicates that there is a variation in the performance value of the
[他の実施の形態]
なお、ドライバプログラム10は、アクセス情報を、CPUが検証対象のプロセスpxの実行に使用した実行時間(CPU実行時間)にさらに関連付けて記憶してもよい。これにより、検証者は、アクセスのタイミング毎の検証対象のプロセスpxの処理の負荷を把握することができ、検証対象のプロセスpxの処理の内容をより的確に把握できる。
[Other embodiments]
The
以上の実施の形態をまとめると、次の付記のとおりである。 The above embodiment is summarized as follows.
(付記1)
コンピュータに、
動作監視の対象プロセスによる、前記対象プロセスの子プロセスの生成の実行を指示する実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、
前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、
前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて記憶部に記憶する、
ことを実行させることを特徴とする制御プログラム。
(Appendix 1)
On the computer,
In response to reading of an execution file instructing execution of generation of a child process of the target process by the target process of operation monitoring, detection of generation of a child process of the target process is detected.
After the generation of the child process is detected, it is determined whether or not the child process is operating according to the access to the storage unit or the network by the target process, and it is determined that the child process is not operating Detects the end of the child process,
Information related to the access by the target process corresponding to the timing at which the generation and termination of the child process are detected, in association with identification information for identifying the child process, and stored in a storage unit;
A control program characterized by causing
(付記2)
付記1において、
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、前記アクセスに関する情報をさらに記憶する、
制御プログラム。
(Appendix 2)
In
The storage further stores information on the access according to the occurrence of the access at a timing different from the timing at which the generation and termination of the child process is detected.
Control program.
(付記3)
付記2において、
前記記憶は、前記子プロセスのアクセスの発生に応じて、前記子プロセスのアクセスに関する情報をさらに記憶する、
制御プログラム。
(Appendix 3)
In
The storage further stores information related to access of the child process in response to occurrence of access of the child process.
Control program.
(付記4)
付記1乃至3のいずれかにおいて、
前記アクセスに関する情報は、アクセスの順番情報、アクセスの対象アドレスのいずれかまたは両方を含む、
制御プログラム。
(Appendix 4)
In any one of
The information related to access includes either or both of access order information and access target address,
Control program.
(付記5)
付記1乃至4のいずれかにおいて、
前記記憶は、前記子プロセスの前記終了を検出したタイミングに対応する、前記アクセスに関する情報を、プロセッサが前記子プロセスの実行に使用した実行時間にさらに関連付けて記憶する、
制御プログラム。
(Appendix 5)
In any one of
The storage stores information related to the access corresponding to the timing at which the end of the child process is detected, in further association with an execution time used by the processor to execute the child process.
Control program.
(付記6)
付記1乃至5のいずれかにおいて、
前記対象プロセスによる所定の処理を複数回実行し、前記複数回の前記所定の処理の実行結果情報を取得し、
前記複数回の前記実行結果情報の分散が所定値を超える場合に、前記生成及び前記終了の検出、及び、前記記憶を行う、
制御プログラム。
(Appendix 6)
In any one of
Executing a predetermined process by the target process a plurality of times, obtaining execution result information of the plurality of the predetermined processes;
When the distribution of the execution result information of the plurality of times exceeds a predetermined value, the generation and the end detection are performed, and the storage is performed.
Control program.
(付記7)
付記1乃至6のいずれかにおいて、
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、動作監視の対象外プロセスの実行にプロセッサが使用した実行時間をさらに記憶する、
制御プログラム。
(Appendix 7)
In any one of
The storage further stores an execution time used by a processor to execute a process that is not subject to operation monitoring according to the occurrence of the access at a timing different from the timing at which generation and termination of the child process are detected.
Control program.
(付記8)
付記7において、
前記対象プロセスによる所定の処理を複数回実行し、前記実行の際に前記対象外プロセスの前記プロセッサが使用した実行時間が所定値を超える場合に、前記記憶を行う、
制御プログラム。
(Appendix 8)
In Appendix 7,
Performing the predetermined process by the target process a plurality of times, and performing the storage when the execution time used by the processor of the non-target process exceeds a predetermined value during the execution;
Control program.
(付記9)
処理部は、動作監視の対象プロセスによる、前記対象プロセスの子プロセスの生成の実行を指示する実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、
処理部は、前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、
処理部は、前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて記憶部に記憶する、
制御方法。
(Appendix 9)
The processing unit detects generation of a child process of the target process in response to reading of an execution file instructing execution of generation of the child process of the target process by the target process of operation monitoring,
The processing unit determines whether or not the child process is operating in response to occurrence of access to the storage unit or the network by the target process after the generation of the child process is detected. When it is determined that it is not, the end of the child process is detected,
The processing unit stores, in the storage unit, information related to the access by the target process corresponding to the timing at which the generation and termination of the child process are detected in association with identification information for identifying the child process.
Control method.
(付記10)
付記9において、
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、前記アクセスに関する情報をさらに記憶する、
制御方法。
(Appendix 10)
In Appendix 9,
The storage further stores information on the access according to the occurrence of the access at a timing different from the timing at which the generation and termination of the child process is detected.
Control method.
(付記11)
付記10において、
前記記憶は、前記子プロセスのアクセスの発生に応じて、前記子プロセスのアクセスに関する情報をさらに記憶する、
制御方法。
(Appendix 11)
In
The storage further stores information related to access of the child process in response to occurrence of access of the child process.
Control method.
(付記12)
付記9乃至11のいずれかにおいて、
前記アクセスに関する情報は、アクセスの順番情報、アクセスの対象アドレスのいずれかまたは両方を含む、
制御方法。
(Appendix 12)
In any one of appendices 9 to 11,
The information related to access includes either or both of access order information and access target address,
Control method.
(付記13)
付記9乃至12のいずれかにおいて、
前記対象プロセスによる所定の処理を複数回実行し、前記複数回の前記所定の処理の実行結果情報を取得し、
前記複数回の前記実行結果情報の分散が所定値を超える場合に、前記生成及び前記終了の検出、及び、前記記憶を行う、
制御方法。
(Appendix 13)
In any one of appendices 9 to 12,
Executing a predetermined process by the target process a plurality of times, obtaining execution result information of the plurality of the predetermined processes;
When the distribution of the execution result information of the plurality of times exceeds a predetermined value, the generation and the end detection are performed, and the storage is performed.
Control method.
(付記14)
付記9乃至13のいずれかにおいて、
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、動作監視の対象外プロセスの実行にプロセッサが使用した実行時間をさらに記憶する、
制御方法。
(Appendix 14)
In any one of appendices 9 to 13,
The storage further stores an execution time used by a processor to execute a process that is not subject to operation monitoring according to the occurrence of the access at a timing different from the timing at which generation and termination of the child process are detected.
Control method.
(付記15)
動作監視の対象プロセスの子プロセスの生成の実行を指示する実行ファイルを記憶する記憶部と、
前記対象プロセスによる、前記子実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて前記記憶部に記憶する処理部と、
を有する情報処理装置。
(Appendix 15)
A storage unit that stores an execution file that instructs execution of generation of a child process of a target process of operation monitoring;
The generation of the child process of the target process is detected in response to the reading of the child executable file by the target process, and the access to the storage unit or the network by the target process after the generation of the child process is detected In response to the occurrence of the above, it is determined whether or not the child process is operating, and when it is determined that the child process is not operating, the end of the child process is detected, and the generation and the end of the child process are detected. A processing unit that stores information related to the access by the target process corresponding to each of the timings, in the storage unit in association with identification information that identifies the child process;
An information processing apparatus.
(付記16)
付記15において、
前記処理部は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、前記アクセスに関する情報をさらに記憶する、
情報処理装置。
(Appendix 16)
In Appendix 15,
The processing unit further stores information on the access according to the occurrence of the access at a timing different from the timing at which the generation and termination of the child process is detected.
Information processing device.
(付記17)
付記16において、
前記処理部は、前記子プロセスのアクセスの発生に応じて、前記子プロセスのアクセスに関する情報をさらに記憶する、
情報処理装置。
(Appendix 17)
In Appendix 16,
The processing unit further stores information related to access of the child process in response to occurrence of access of the child process.
Information processing device.
(付記18)
付記15乃至17のいずれかにおいて、
前記アクセスに関する情報は、アクセスの順番情報、アクセスの対象アドレスのいずれかまたは両方を含む、
情報処理装置。
(Appendix 18)
In any one of Supplementary Notes 15 to 17,
The information related to access includes either or both of access order information and access target address,
Information processing device.
(付記19)
付記15乃至18のいずれかにおいて、
前記処理部は、前記対象プロセスによる所定の処理を複数回実行し、前記複数回の前記所定の処理の実行結果情報を取得し、
前記複数回の前記実行結果情報の分散が所定値を超える場合に、前記生成及び前記終了の検出、及び、前記記憶を行う、
情報処理装置。
(Appendix 19)
In any one of Supplementary Notes 15 to 18,
The processing unit executes a predetermined process by the target process a plurality of times, acquires execution result information of the predetermined process a plurality of times,
When the distribution of the execution result information of the plurality of times exceeds a predetermined value, the generation and the end detection are performed, and the storage is performed.
Information processing device.
(付記20)
付記15乃至19のいずれかにおいて、
前記処理部は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、動作監視の対象外プロセスの実行にプロセッサが使用した実行時間をさらに記憶する、
情報処理装置。
(Appendix 20)
In any one of Supplementary Notes 15 to 19,
The processing unit further stores an execution time used by the processor for execution of a process not subject to operation monitoring in accordance with the occurrence of the access at a timing different from the timing at which the generation and termination of the child process is detected. ,
Information processing device.
100:情報処理装置、40:クライアント装置、SD:ストレージ装置SD、20:検証対象のソフトウェア、10:ドライバプログラム、30:テストプログラム、px:検証対象のプロセス、py:検証対象外のプロセス 100: Information processing device, 40: Client device, SD: Storage device SD, 20: Software to be verified, 10: Driver program, 30: Test program, px: Process to be verified, py: Process not to be verified
Claims (7)
動作監視の対象プロセスによる、前記対象プロセスの子プロセスの生成の実行を指示する実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、
前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、
前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて記憶部に記憶する、
ことを実行させることを特徴とする制御プログラム。 On the computer,
In response to reading of an execution file instructing execution of generation of a child process of the target process by the target process of operation monitoring, detection of generation of a child process of the target process is detected.
After the generation of the child process is detected, it is determined whether or not the child process is operating according to the access to the storage unit or the network by the target process, and it is determined that the child process is not operating Detects the end of the child process,
Information related to the access by the target process corresponding to the timing at which the generation and termination of the child process are detected, in association with identification information for identifying the child process, and stored in a storage unit;
A control program characterized by causing
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、前記アクセスに関する情報をさらに記憶する、
制御プログラム。 In claim 1,
The storage further stores information on the access according to the occurrence of the access at a timing different from the timing at which the generation and termination of the child process is detected.
Control program.
前記記憶は、前記子プロセスのアクセスの発生に応じて、前記子プロセスのアクセスに関する情報をさらに記憶する、
制御プログラム。 In claim 2,
The storage further stores information related to access of the child process in response to occurrence of access of the child process.
Control program.
前記対象プロセスによる所定の処理を複数回実行し、前記複数回の前記所定の処理の実行結果情報を取得し、
前記複数回の前記実行結果情報の分散が所定値を超える場合に、前記生成及び前記終了の検出、及び、前記記憶を行う、
制御プログラム。 In any one of Claims 1 thru | or 3,
Executing a predetermined process by the target process a plurality of times, obtaining execution result information of the plurality of the predetermined processes;
When the distribution of the execution result information of the plurality of times exceeds a predetermined value, the generation and the end detection are performed, and the storage is performed.
Control program.
前記記憶は、前記子プロセスの生成及び終了を検出した前記タイミングとは異なるタイミングに、前記アクセスの発生に応じて、動作監視の対象外プロセスの実行にプロセッサが使用した実行時間をさらに記憶する、
制御プログラム。 In any one of Claims 1 thru | or 4,
The storage further stores an execution time used by a processor to execute a process that is not subject to operation monitoring according to the occurrence of the access at a timing different from the timing at which generation and termination of the child process are detected.
Control program.
処理部は、前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、
処理部は、前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて記憶部に記憶する、
制御方法。 The processing unit detects generation of a child process of the target process in response to reading of an execution file instructing execution of generation of the child process of the target process by the target process of operation monitoring,
The processing unit determines whether or not the child process is operating in response to occurrence of access to the storage unit or the network by the target process after the generation of the child process is detected. When it is determined that it is not, the end of the child process is detected,
The processing unit stores, in the storage unit, information related to the access by the target process corresponding to the timing at which the generation and termination of the child process are detected in association with identification information for identifying the child process.
Control method.
前記対象プロセスによる、前記実行ファイルの読み出しに応じて、前記対象プロセスの子プロセスの生成を検出し、前記子プロセスの生成が検出された後の、前記対象プロセスによる、記憶部またはネットワークに対するアクセスの発生に応じて、前記子プロセスが動作中であるか否かを判定し、動作中ではないと判定した場合に当該子プロセスの終了を検出し、前記子プロセスの前記生成及び前記終了を検出したタイミングそれぞれに対応する、前記対象プロセスによる前記アクセスに関する情報を、前記子プロセスを識別する識別情報に関連付けて前記記憶部に記憶する処理部と、
を有する情報処理装置。 A storage unit that stores an execution file that instructs execution of generation of a child process of a target process of operation monitoring;
By the target process, in response to a read before you line file, detects the generated child process of the target process, after the formation of the child process is detected, by the subject process, the storage unit or the network In response to the occurrence of the access, it is determined whether or not the child process is in operation. When it is determined that the child process is not in operation, the end of the child process is detected, and the generation and the end of the child process are detected. A processing unit that stores information on the access by the target process corresponding to each detected timing in the storage unit in association with identification information for identifying the child process;
An information processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015124157A JP6497234B2 (en) | 2015-06-19 | 2015-06-19 | Control program, control method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015124157A JP6497234B2 (en) | 2015-06-19 | 2015-06-19 | Control program, control method, and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017010219A JP2017010219A (en) | 2017-01-12 |
JP6497234B2 true JP6497234B2 (en) | 2019-04-10 |
Family
ID=57761716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015124157A Active JP6497234B2 (en) | 2015-06-19 | 2015-06-19 | Control program, control method, and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6497234B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265776A (en) * | 1992-03-19 | 1993-10-15 | Hitachi Ltd | Method for visualizing parallel execution process |
US6704806B1 (en) * | 1999-05-27 | 2004-03-09 | Computer Associates Think, Inc. | Method and device for monitoring the creation and destruction of child processes within an application executing in a computer system |
JP4962026B2 (en) * | 2007-01-31 | 2012-06-27 | 日本電気株式会社 | User level process control device having process management function, method and program thereof |
JP5423232B2 (en) * | 2009-08-17 | 2014-02-19 | 富士通株式会社 | Process state detection program, information processing apparatus, and process state detection method |
-
2015
- 2015-06-19 JP JP2015124157A patent/JP6497234B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017010219A (en) | 2017-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9424157B2 (en) | Early detection of failing computers | |
JP4654707B2 (en) | Bottleneck detection system, measurement target server, bottleneck detection method and program | |
CN108205424B (en) | Data migration method and device based on disk and electronic equipment | |
WO2013042789A1 (en) | Operations management device, operations management method, and program | |
JP7405773B2 (en) | How to verify access to level 2 cache on a multi-core interconnect | |
WO2014208139A1 (en) | Fault detection device, control method, and program | |
JP5245711B2 (en) | Distributed data processing system, distributed data processing method, and distributed data processing program | |
CN107220121B (en) | Sandbox environment testing method and system under NUMA architecture | |
CN111563014A (en) | Interface service performance test method, device, equipment and storage medium | |
TW201415216A (en) | System and method for retrieving test logs | |
JP2007334716A (en) | Operation management system, monitoring device, device to be monitored, operation management method, and program | |
CN107102929A (en) | The detection method and device of failure | |
US11507484B2 (en) | Ethod and computer storage node of shared storage system for abnormal behavior detection/analysis | |
JP2008310748A (en) | Task execution time recording device, task execution time recording method, and task execution recording program | |
CN115576872B (en) | Access detection method and device for multi-level cache | |
US9645873B2 (en) | Integrated configuration management and monitoring for computer systems | |
JP6497234B2 (en) | Control program, control method, and information processing apparatus | |
JP2008191849A (en) | Operation management device, information processor, control method for operation management device, control method for information processor and program | |
US11271832B2 (en) | Communication monitoring apparatus and communication monitoring method | |
JP4996623B2 (en) | Detection apparatus, program, and detection method | |
JP2014115826A (en) | Processing program, processing method and processor | |
CN111506422B (en) | Event analysis method and system | |
JP6778713B2 (en) | Functional analysis device, functional analysis method and functional analysis program | |
CN112905602B (en) | Data comparison method, computing device and computer storage medium | |
JP2008269578A (en) | Conflict partial processing detecting method, device and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6497234 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |