(57)【要約】      （修正有）【課題】性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための方法及び機器を提供する。【解決手段】コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスが、ＣＰＵ使用データをスクレイピングし、トランザクションデータを分析し、トランザクションデータベースに対してクエリ検索を実行してトランザクションライフサイクルデータセットを生成することによって、進行中のテストに関する性能データを抽出する。第２のコンピューティングデバイスが、所定の場所に保存されたファイルを読み出し、ファイルに含まれる性能データのグラフィカル表現を生成する。グラフィカル表現は、ＣＰＵ使用データと、トランザクションデータと、トランザクションライフサイクルデータセットとの間の関係を示すための対話型チャートを含む。【選択図】図２
2017084345.tif 000002
【特許請求の範囲】
【請求項１】
性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するためのコンピュータ化された方法であって、次のステップを含む方法：
コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスによって、前記コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出し、該ステップは、
第１の監視エージェントプロセスによって、前記コンピューティングデバイス上の所定の場所で第１のファイルに保存するための進行中の性能テストに従事している複数のテストシステムのオンスクリーン性能表示からＣＰＵ使用データをスクレイピングし、
第２の監視エージェントプロセスによって、前記コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、そして前記所定の場所で第２のファイルに保存するための前記提出されたトランザクションデータのサブセットを選択し、ここで、前記サブセットの選択は、１以上のトランザクションタイプに基づくものとし、
第３の監視エージェントプロセスによって、前記コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリ検索を実行して、トランザクションを含む１以上の事象の開始時間及び終了時間を少なくとも識別する各トランザクションのトランザクションライフサイクルデータセットを生成し、且つ、前記トランザクションライフサイクルデータセットを前記所定の場所で第３のファイルに保存すること
を含み、
前記コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイスによって、前記コンピュータシステムテスト環境における前記所定の場所に保存されたファイルを読み出し、及び
前記第２のコンピューティングデバイスによって、表示のために前記ファイルに含まれる前記性能データの１以上のグラフィカル表現を生成し、ここで、前記グラフィカル表現は、前記ＣＰＵ使用データと、前記提出されたトランザクションデータのサブセットと、前記トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む。
【請求項２】
前記複数の監視エージェントプロセスは、前記第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す、請求項１に記載の方法。
【請求項３】
ＣＰＵ使用データをスクレイピングするステップは、
前記第１の監視エージェントプロセスによって、前記コンピュータシステムテスト環境における複数のコンピューティングシステムのプロセッサに関するＣＰＵ使用データを含む前記オンスクリーン性能表示の画像をキャプチャし、
前記第１の監視エージェントプロセスによって、前記画像に表示される前記ＣＰＵ使用データのオンスクリーン位置を決定し、
前記第１の監視エージェントプロセスによって、前記オンスクリーン位置に配置される文字を認識することにより、前記キャプチャされた画像からＣＰＵ使用データを抽出し、そして前記第１のファイルに前記認識された文字を保存すること
を含む、請求項１に記載の方法。
【請求項４】
前記オンスクリーン性能表示は、前記コンピュータシステムテスト環境における第３のコンピューティングデバイスによって生成され、前記ＣＰＵ使用データをスクレイピングするステップは、
前記第１の監視エージェントプロセスによって、前記第３のコンピューティングデバイスへの認証入力をエミュレートすることにより前記第３のコンピューティングデバイスへの接続を確立し、
前記第１の監視エージェントプロセスによって、前記第３のコンピューティングデバイスにプリントスクリーン命令を発行して、前記オンスクリーン性能表示からテキストをキャプチャし、及び
前記第１の監視エージェントプロセスによって、前記キャプチャされたテキストを解析してＣＰＵ使用データを決定し、そして前記解析されたＣＰＵ使用データを前記第１のファイルに保存すること
を含む、請求項１に記載の方法。
【請求項５】
トランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析するステップは、
前記第２の監視エージェントプロセスによって、前記トランザクションログファイルに保存されるデータの行をスキャニングして、前記１以上のトランザクションタイプに一致する行を識別し、ここで、前記識別される行は、前記提出されたトランザクションデータの前記サブセットであり、
前記第２の監視エージェントプロセスによって、前記サブセットにおける行のそれぞれについて前記トランザクションログファイルからデータ要素を抽出し、
前記第２の監視エージェントプロセスによって、前記抽出されたデータ要素を前記第２のファイル内に文字区切り形式で保存すること
を含む、請求項１に記載の方法。
【請求項６】
前記対話型チャートは、前記ＣＰＵ使用データ、前記提出されたトランザクションデータのサブセット及び前記トランザクションライフサイクルデータセットの各々についての線グラフを含む、請求項１に記載の方法。
【請求項７】
前記複数の監視エージェントプロセスは、前記第１のコンピューティングデバイスのプロセッサの５回以内のＣＰＵサイクルでそれらの処理を完了する、請求項１に記載の方法。
【請求項８】
前記所定の場所に保存された前記ファイルを読み出すステップは、
前記第２のコンピューティングデバイスによって、前記第１のコンピューティングデバイスとのファイル転送セッションを確立し、
前記第２のコンピューティングデバイスによって、前記所定の場所から前記第１のファイル、前記第２のファイル及び前記第３のファイルを引き出し、及び
前記第２のコンピューティングデバイスによって、前記ファイル転送セッションを終了すること
を含む、請求項１に記載の方法。
【請求項９】
前記ファイルを読み出すステップは、前記第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す、請求項８に記載の方法。
【請求項１０】
所定の規則的間隔で前記性能データを抽出し、前記ファイルを読み出し、前記性能データを抽出するステップと前記ファイルを読み出すステップが実施されるとすぐにリアルタイムで前記グラフィカル表現を更新するステップを実施することを更に含む、請求項１に記載の方法。
【請求項１１】
前記進行中の性能テストは、予想されるトランザクション数よりも数倍多い数のトランザクションを起動するよう実行可能なストレステストである、請求項１に記載の方法。
【請求項１２】
前記複数の監視エージェントプロセスは、前記コンピューティングシステムテスト環境における１以上のコンピューティングデバイスに対して、前記第１のコンピューティングデバイスのプロセッサによって実施されるべき作業の単位を定義するサイクリックメインフレームジョブを含む、請求項１に記載の方法。
【請求項１３】
性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するためのシステムであって、次の構成を備えるシステム：
コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出するように構成される、前記コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセス、ここで、
第１の監視エージェントプロセスが、前記コンピューティングデバイス上の所定の場所で第１のファイルに保存するための前記進行中性能テストに従事している複数のテストシステムのオンスクリーン性能表示からＣＰＵ使用データをスクレイピングするように構成され、
第２の監視エージェントプロセスが、前記コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、そして前記所定の場所で第２のファイルに保存するための前記提出されたトランザクションデータのサブセットを選択するように構成され、ここで、前記サブセットの選択は、１以上のトランザクションタイプに基づくものとし、及び
第３の監視エージェントプロセスが、前記コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリを検索して、トランザクションを含む１以上の事象の開始時間及び終了時間を少なくとも識別する各トランザクションについてのトランザクションライフサイクルデータセットを生成し、そして前記トランザクションライフサイクルデータセットを前記所定の場所で第３のファイルに保存するように構成され；
前記コンピュータシステムテスト環境における前記所定の場所に保存された前記ファイルを読み出し、表示のために前記ファイルに含まれる前記性能データの１以上のグラフィカル表現を生成するように構成され、且つ前記コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイス、ここで、前記グラフィカル表現は、前記ＣＰＵ使用データと、前記提出されたトランザクションデータのサブセットと、前記トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む。
【請求項１４】
前記複数の監視エージェントプロセスは、前記第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す、請求項１３に記載のシステム。
【請求項１５】
前記第１の監視エージェントプロセスは、
前記コンピュータシステムテスト環境における複数のコンピューティングシステムのプロセッサに関するＣＰＵ使用データを含む前記オンスクリーン性能表示の画像をキャプチャし、
前記画像に表示される前記ＣＰＵ使用データのオンスクリーン位置を決定し、
前記オンスクリーン位置に配置される文字を認識することにより、前記キャプチャされた画像からＣＰＵ使用データを抽出し、そして前記第１のファイルに前記認識された文字を保存する
ように構成される、請求項１３に記載のシステム。
【請求項１６】
前記オンスクリーン性能表示は、前記コンピュータシステムテスト環境における第３のコンピューティングデバイスによって生成され、前記第１の監視エージェントプロセスは、
前記第３のコンピューティングデバイスへの認証入力をエミュレートすることにより、前記第３のコンピューティングデバイスへの接続を確立し、
前記第３のコンピューティングデバイスにプリントスクリーン命令を発行して、前記オンスクリーン性能表示からテキストをキャプチャし、
前記キャプチャされたテキストを解析してＣＰＵ使用データを決定し、そして前記解析されたＣＰＵ使用データを前記第１のファイルに保存する
ように構成される、請求項１３に記載のシステム。
【請求項１７】
前記第２の監視エージェントプロセスは、
前記トランザクションログファイルに保存されるデータの行をスキャンニングして、前記１以上のトランザクションタイプに一致する行を識別し、ここで、前記識別される行は、前記提出されたトランザクションデータの前記サブセットであり、
前記サブセットにおける前記行のそれぞれについて前記トランザクションログファイルからデータ要素を抽出し、及び
前記抽出されたデータ要素を前記第２のファイル内に文字区切り形式で保存する
ように構成される、請求項１３に記載のシステム。
【請求項１８】
前記対話型チャートは、前記ＣＰＵ使用データ、前記提出されたトランザクションデータの前記サブセット及び前記トランザクションライフサイクルデータセットの各々についての線グラフを含む、請求項１３に記載のシステム。
【請求項１９】
前記複数の監視エージェントプロセスは、前記第１のコンピューティングデバイスのプロセッサの５回以内のＣＰＵサイクルでそれらの処理を完了する、請求項１３に記載のシステム。
【請求項２０】
前記第２のコンピューティングデバイスは、
前記第１のコンピューティングデバイスとのファイル転送セッションを確立し、
前記所定の場所から前記第１のファイル、前記第２のファイル及び前記第３のファイルを引き出し、及び
前記ファイル転送セッションを終了する
ように構成される、請求項１３に記載のシステム。
【請求項２１】
前記ファイルを読み出すステップは、前記第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す、請求項２０に記載のシステム。
【請求項２２】
前記性能データを抽出するステップと前記ファイルを読み出すステップは、所定の規則的間隔で実施され、前記グラフィカル表現は、前記性能データを抽出するステップと前記ファイルを読み出すステップが実施されるとすぐに、直前に抽出された性能データに基づいてリアルタイムで更新される、請求項１３に記載のシステム。
【請求項２３】
前記進行中の性能テストは、予想されるトランザクション数よりも数倍多い数のトランザクションを起動するよう実行可能なストレステストである、請求項１３に記載のシステム。
【請求項２４】
前記複数の監視エージェントプロセスは、前記コンピューティングシステムテスト環境における前記１以上のコンピューティングデバイスに対して、前記第１のコンピューティングデバイスのプロセッサによって実施されるべき作業の単位を定義するサイクリックメインフレームジョブを含む、請求項１３に記載のシステム。
【請求項２５】
性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための非一時的コンピュータ可読記憶装置に具現化されたコンピュータプログラム製品であって、該コンピュータプログラム製品は、コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスに、前記コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出させるように実行可能な命令を含み、ここで、
第１の監視エージェントプロセスが、前記コンピューティングデバイス上の所定の場所で第１のファイルに保存するための前記進行中の性能テストに従事している複数のテストシステムのオンスクリーン性能表示からＣＰＵ使用データをスクレイピングするように構成され、
第２の監視エージェントプロセスが、前記コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、そして前記所定の場所で第２のファイルに保存するために前記提出されたトランザクションデータのサブセットを選択するように構成され、ここで、前記サブセットの選択は、１以上のトランザクションタイプに基づくものとし、
第３の監視エージェントプロセスが、前記コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリを検索して、トランザクションを含む１以上の事象の開始時間及び終了時間を少なくとも識別する各トランザクションについてのトランザクションライフサイクルデータセットを生成し、そして前記トランザクションライフサイクルデータセットを前記所定の場所で第３のファイルに保存するように構成され；
前記コンピュータプログラム製品は、前記コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイスに、前記コンピュータシステムテスト環境における前記所定の場所に保存された前記ファイルを読み出させ、表示のために前記ファイルに含まれる前記性能データの１以上のグラフィカル表現を生成させるように実行可能な命令を含み、前記グラフィカル表現は、前記ＣＰＵ使用データと、前記提出されたトランザクションデータの前記サブセットと、前記トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための方法及びコンピュータプログラム製品を含む装置に関する。
【背景技術】
【０００２】
膨大な数のトランザクションを処理するメインフレーム及び／又は分散システムなどの大規模なコンピューティングシステムにとって、製造途中にコード変更を実施する前に、ソフトウェアアプリケーションのコード変更のテストと品質保証を実施することは困難な作業であった。このようなアプリケーションコードの典型的な新しいリリースには、製品投入前に、集中的且つ時間のかかるテスト手順を必要とする数百もの変更が含まれる可能性がある。
【０００３】
このようなコード変更の性能テストは数週間かかることが多く、そのテストを実行して、コード変更により生じるプロセッサの性能及び／又はトランザクション性能に伴うエラーその他の問題を判断している間には十分に監視できないことが多かった。その代わりに、品質保証チームがその事実後に性能テストデータを評価し、その後、そのフィードバックを提供するのには数週間かかることになり、これにより、これら大規模システムに対するソフトウェアコードの開発、テスト及び製品投入が遅れることになっていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、性能テスト進行中にリアルタイムでテスト環境におけるコンピュータシステムのプロセッサ及びトランザクション性能を監視し、そして当該性能データの対話型グラフィカルユーザインタフェース表現を生成して、開発者、試験者、幹部チーム指導者及び上層部経営者がソフトウェアコード変更に伴う潜在的な問題をさらにタイムリーに理解し修正することを可能にする方法及びシステムが必要とされている。
【０００５】
本明細書に記載されるシステム及び方法によって提供されるいくつかの利点がある。第一に、進行中の性能テストからの性能データがリアルタイムで収集され、データ収集後すぐにその性能データの動的且つ対話型のグラフィカル表現をレンダリングできるウェブサーバアプリケーションに配信される。これにより、開発者は、性能テスト結果が収集され、表示及び分析のためのグラフィカル形式に統合される数週間を待つ代わりに、テスト中のコードの性能の影響を迅速に把握し、そして計算上及び／又はトランザクション上の問題又は非効率性がどこで生じているのかをほぼ即座に確認することができる。
【０００６】
第二に、本明細書に記載される方法及びシステムは、テスト環境に最小限の処理の影響しか及ぼさない。本明細書に記載されるシステム及び方法は、テスト環境におけるコンピューティングシステム上で実行している（及びテスト手順に影響を及ぼす可能性のあるＣＰＵ／メモリ／ハードウェアリソースを消費する）かなりの量の監視ツールを必要とする代わりに、テスト環境におけるコンピューティングシステム上に非常に小さなフットプリントしか要せず、それによって、性能データを収集し、ウェブサーバアプリケーションにデータを提供するために、テスト環境内ではテストを実施するために既に割り当てられたもの以外にコンピューティングリソースはほとんど必要とされない。
【課題を解決するための手段】
【０００７】
本発明は、一態様において、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視する方法を特徴とする。コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスが、前記コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出する。第１の監視エージェントプロセスが、前記コンピューティングデバイス上の所定の場所で第１のファイルに保存するために、ＣＰＵ使用データをスクレイピングし、このスクレイピングは、進行中の性能テストに従事している該複数のテストシステムのオンスクリーン性能表示から行う。第２の監視エージェントプロセスが、該コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、該提出されたトランザクションデータのサブセットを前記所定の場所で第２のファイルに保存するために選択し、ここで、該サブセットの選択は、１以上のトランザクションタイプに基づく。第３の監視エージェントプロセスが、該コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリ検索を実行して、トランザクションを含む１以上の事象（イベント）の開始時間及び終了時間を少なくとも識別する各トランザクションのトランザクションライフサイクルデータセットを生成し、且つ、該トランザクションライフサイクルデータセットを該所定の場所で第３のファイルに保存する。該コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイスが、該コンピュータシステムテスト環境における該所定の場所に保存されたファイルを読み出し、そして表示のために該ファイルに含まれる該性能データの１以上のグラフィカル表現を生成し、ここで、該グラフィカル表現は、該ＣＰＵ使用データと、該提出されたトランザクションデータのサブセットと、該トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む。
【０００８】
本発明は、他の態様において、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するシステムを特徴とする。該システムは、コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスと、該コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイスとを含む。該複数の監視エージェントプロセスは、該コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出する。第１の監視エージェントプロセスが、該コンピューティングデバイス上の所定の場所で第１のファイルに保存するための進行中の性能テストに従事している複数のテストシステムのオンスクリーン性能表示からＣＰＵ使用データをスクレイピングする。第２の監視エージェントプロセスが、該コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、そして該所定の場所で第２のファイルに保存するための該提出されたトランザクションデータのサブセットを選択し、ここで、該サブセットの選択は、１以上のトランザクションタイプに基づく。第３の監視エージェントプロセスが、該コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリ検索を実行して該トランザクションを含む１以上の事象の開始時間及び終了時間を少なくとも識別する各トランザクションのトランザクションライフサイクルデータセットを生成し、そして該トランザクションライフサイクルデータセットを該所定の場所で第３のファイルに保存する。該第２のコンピューティングデバイスは、該コンピュータシステムテスト環境における該所定の場所に保存された前記ファイルを読み出し、そして表示のために該ファイルに含まれる該性能データの１以上のグラフィカル表現を生成し、ここで、該グラフィカル表現は、該ＣＰＵ使用データと、該提出されたトランザクションデータのサブセットと、該トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む。
【０００９】
本発明は、他の態様において、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための非一時的コンピュータ可読記憶装置に有形的に具現化されたコンピュータプログラム製品を特徴とする。該コンピュータプログラム製品は、コンピュータシステムテスト環境における第１のコンピューティングデバイスのプロセッサ上で実行する複数の監視エージェントプロセスに、該コンピュータシステムテスト環境における進行中の性能テストに関する性能データを抽出させるように実行可能な命令を含む。第１の監視エージェントプロセスが、該コンピューティングデバイス上の所定の場所で第１のファイルに保存するための進行中の性能テストに従事している複数のテストシステムのオンスクリーン性能表示からＣＰＵ使用データをスクレイピングする。第２の監視エージェントプロセスが、該コンピュータシステムテスト環境におけるトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し、そして該所定の場所で第２のファイルに保存するための該提出されたトランザクションデータのサブセットを選択し、ここで、該サブセットの選択は、１以上のトランザクションタイプに基づく。第３の監視エージェントプロセスが、該コンピューティングシステムテスト環境におけるトランザクションデータベースに対してクエリ検索を実行してトランザクションを含む１以上の事象の開始時間及び終了時間を少なくとも識別する各トランザクションのトランザクションライフサイクルデータセットを生成し、そして該トランザクションライフサイクルデータセットを該所定の場所で第３のファイルに保存する。該コンピュータプログラム製品は、前記コンピュータシステムテスト環境の外部にある第２のコンピューティングデバイスに、該コンピュータシステムテスト環境における該所定の場所に保存された該ファイルを読み出させ、かつ、表示のために該ファイルに含まれる該性能データの１以上のグラフィカル表現を生成させるように実行可能な命令を含み、ここで、該グラフィカル表現は、該ＣＰＵ使用データと、該提出されたトランザクションデータのサブセットと、該トランザクションライフサイクルデータセットとの間の関係を示すための少なくとも１つの対話型チャートを含む。
【００１０】
上述の態様のいずれも、次の特徴の一つ以上を含むことができる。いくつかの実施形態において、複数の監視エージェントプロセスは、第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す。いくつかの実施形態において、ＣＰＵ使用データをスクレイピングするステップは、コンピュータシステムテスト環境における複数のコンピューティングシステムの複数のプロセッサに関するＣＰＵ使用データを含むオンスクリーン性能表示の画像をキャプチャし、画像に表示されるＣＰＵ使用データのオンスクリーン位置を決定し、オンスクリーン位置に配置される文字を認識することにより該キャプチャされた画像からＣＰＵ使用データを抽出し、そして前記第１のファイルに前記認識された文字を保存することを含む。
【００１１】
いくつかの実施形態において、オンスクリーン性能表示は、コンピュータシステムテスト環境における第３のコンピューティングデバイスによって生成され、ＣＰＵ使用データをスクレイピングするステップは、第３のコンピューティングデバイスへの認証入力をエミュレートすることにより第３のコンピューティングデバイスへの接続を確立するステップと、第３のコンピューティングデバイスにプリントスクリーン命令を発行して、オンスクリーン性能表示からテキストをキャプチャするステップと、キャプチャされたテキストを解析してＣＰＵ使用データを決定するステップと、解析されたＣＰＵ使用データを第１のファイルに保存するステップとを含む。
【００１２】
いくつかの実施形態において、トランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析するステップは、トランザクションログファイルに保存されるデータの行をスキャニングして、１以上のトランザクションタイプに一致する行を識別し、ここで、識別される行は、提出されたトランザクションデータのサブセットであるステップと、サブセットにおける該行のそれぞれについてトランザクションログファイルからデータ要素を抽出するステップと、抽出されたデータ要素を第２のファイル内に文字区切り形式で保存するステップとを含む。いくつかの実施形態において、対話型チャートは、該ＣＰＵ使用データ、該提出されたトランザクションデータのサブセット及び該トランザクションライフサイクルデータセットの各々についての線グラフを含む。いくつかの実施形態において、複数の監視エージェントプロセスは、これらのステップを第１のコンピューティングデバイスのプロセッサの５回以内のＣＰＵサイクルで完了させる。
【００１３】
いくつかの実施形態において、所定の場所に保存されたファイルを読み出すステップは、第１のコンピューティングデバイスとのファイル転送セッションを確立するステップと、所定の場所から第１のファイル、第２のファイル及び第３のファイルを引き出すステップと、ファイル転送セッションを終了するステップとを含む。いくつかの実施形態において、ファイルを読み出すステップは、第１のコンピューティングデバイスのプロセッサに最小の追加処理リソースを課す。
【００１４】
いくつかの実施形態において、性能データを抽出するステップと、ファイルを読み出すステップとは、所定の規則的間隔で実施され、性能データを抽出するステップとファイルを読み出すステップとが実施されるとすぐに、グラフィカル表現がリアルタイムで更新される。いくつかの実施形態において、進行中の性能テストは、予想されるトランザクション数よりも数倍多い数のトランザクションを起動するよう実行可能なストレステストである。いくつかの実施形態において、複数の監視エージェントプロセスは、コンピューティングシステムテスト環境における１以上のコンピューティングデバイスに対して、第１のコンピューティングデバイスのプロセッサによって実行されるべき作業の単位を定義するサイクリックメインフレームジョブを含む。
【００１５】
本発明の他の態様及び利点は、添付の図面と共に、単なる例示として本発明の原理を説明する以下の詳細な説明からさらに明らかになるだろう。
【００１６】
上述した本発明の利点は、更なる利点とともに、添付の図面と共に以下の説明を参照することにより、さらによく理解できる。図面は必ずしも一定の縮尺ではなく、その代わりに全体的に本発明の原理を例示することに主眼がおかれている。
【図面の簡単な説明】
【００１７】
【図１】性能テスト進行中のコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するためのシステムのブロック図である。
【図２】性能テスト進行中のコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための方法のフロー図である。
【図３】進行中の性能テストに従事している複数の試験システムの例示オンスクリーン性能表示図である。
【図４】進行中の性能テストに従事している複数の試験システムのＣＰＵ使用データを表示している例示対話型チャート図である。
【図５】ＣＰＵ使用データと提出されたトランザクションデータのサブセットとの間の関係を表示する例示対話型チャート図である。
【図６】提出されたトランザクションデータのサブセットのボリュームを表示する例示対話型チャート図である。
【図７】トランザクションライフサイクルデータセットのタイムラインを表示する例示対話型チャート図である。
【図８】ＣＰＵ使用データと、提出されたトランザクションデータのサブセットと、トランザクションライフサイクルデータセットとの間の関係を表示する例示対話型チャート図である。
【発明を実施するための形態】
【００１８】
図１は、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するためのシステム１００のブロック図である。システム１００は、ウェブブラウザアプリケーション１０２’を実行し且つディスプレイデバイス１０３に接続されたクライアントデバイス１０２と、ウェブサーバアプリケーション１０４’を実行し且つデータベース１０５に接続されたサーバコンピューティングデバイス１０４と、それぞれがＣＰＵ１０７ａ’−１０７ｚ’を含む複数のコンピューティングデバイス１０７ａ−１０７ｚを備えるコンピュータシステムテスト環境１０６とを含む。コンピューティングデバイス１０７ａの少なくとも１つは、ファイル保存領域１０８を含み且つディスプレイデバイス１０９に接続される。
【００１９】
システム１００の構成要素は、本明細書に記載される性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能の監視プロセスを実施するために、該構成要素を互いに通信させることを可能にする通信ネットワーク（図示せず）を介して互いに接続できる。ネットワークは、ＬＡＮなどのローカルネットワークやインターネット及び／又はセルラーネットワークなどの広域ネットワークであってもよい。いくつかの実施形態では、ネットワークは、システム１００の構成要素を互いに通信させることを可能にするいくつかの個別のネットワーク及び／又はサブネットワーク（例えば、セルラー・ツー・インターネット（cellular to Internet））を含む。
【００２０】
クライアントデバイス１０２は、サーバコンピューティングデバイス１０４に接続して（例えば、通信ネットワークを介して）該サーバコンピューティングデバイスにデータを送信し且つサーバコンピューティングデバイスからデータを受信することができるプロセッサ及びメモリを有するコンピューティングデバイスである。クライアントデバイス１０２は、サーバコンピューティングデバイス１０４上で稼働するウェブサーバアプリケーション１０４’とのセッションを確立することができるローカルにインストールされたクライアントウェブブラウザソフトウェア（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ（登録商標）、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ（登録商標））を含む。クライアントデバイス１０２の例としては、スマートフォン（例えば、Ａｐｐｌｅ  ｉＰｈｏｎｅ（登録商標））、タブレット、又は他のモバイル通信デバイス、パーソナルコンピュータなどを挙げることができるが、これらに限定されない。モバイルデバイス１０２は、インターネット、無線ネットワーク（例えば、ＧＰＲＳ、ＣＤＭＡ、ＲＦ）などのような通信ネットワークにユーザが接続可能なネットワークインタフェースコンポーネントを含む。
【００２１】
クライアントデバイス１０２は、クライアントデバイス１０２のユーザへのグラフィカルユーザインターフェースデータの表示を可能にするディスプレイデバイス１０３（例えば、ＨＤＭＩ（登録商標）ポートを介したモニタ）に接続される。例えば、ディスプレイデバイス１０３は、ユーザがウェブサーバアプリケーション１０４’に関連するスクリーン及び他のデータを閲覧すること、また、例えば、ナビゲーション及びウェブサーバアプリケーション１０４’とのインタラクティビティのための入力を提供すること（例えば、クライアントデバイス１０２に接続された入力装置を介して）を可能にするブラウザアプリケーション１０２’に関連するユーザインタフェースを表示することができる。
【００２２】
サーバコンピューティングデバイス１０４は、クライアントデバイス１０２と通信し（例えば、ウェブサーバアプリケーション１０４’とブラウザアプリケーション１０２’との間のセッションを介して）、また、以下に詳細に説明されるコンピュータシステムテスト環境１０６とも通信するプロセッサ及びメモリを有するコンピューティングデバイスである。サーバコンピューティングデバイス１０４は、チャート、グラフ及び他のタイプのデータ要素などの対話型のグラフィカル要素をクライアントデバイスに配信することを可能にするウェブサーバアプリケーション１０４’を含む。例えば、ウェブサーバアプリケーション１０４’は、ソフトウェアプログラム要素及びグラフィカル表現をクライアントデバイス１０２に配信するＨＴＭＬ／ｊａｖａｓｃｒｉｐｔ（登録商標）ベースのウェブアプリケーションとすることができる。一実施形態では、ウェブサーバアプリケーション１０４’は、Ｓｐｒｉｎｇ  ＭＶＣ、Ｓｐｒｉｎｇ  Ｓｅｃｕｒｉｔｙ、Ｓｌｆ４ｊ、Ｅｈｃａｃｈｅ、Ｃｏｍｍｏｎｓ  Ｎｅｔ及びＳｐｒｉｎｇ  Ｄａｔａ  ＪＰＡなどの要素を使用してＪａｖａ（登録商標）Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔバージョン１．６環境を備えたＴｏｍｃａｔ  ６．０サーバ・ソフトウェアに実装される。いくつかの実施形態では、ウェブサーバアプリケーション１０４’は、ディスプレイデバイス１０３上での配信データの表示及び該配信データとのインタラクティビティのために、クライアントデバイス１０２上のブラウザアプリケーション１０２’にアプレット及び他の要素（例えば、ＥａｓｙＵＩ、Ｈｉｇｈｃｈａｒｔｓ、ｊＱｕｅｒｙ）も提供する。
【００２３】
サーバコンピューティングデバイス１０４は、本明細書に記載されるプロセスを実施するために、ウェブサーバアプリケーション１０４’用のリソースを提供するデータベース１０５に接続される。一実施形態では、データベース１０５は、ウェブサーバアプリケーション１０４’と共に使用するためのデータを保存し且つ読み出すために、サーバコンピューティングデバイス１０４内のＳｐｒｉｎｇ  Ｄａｔａ  ＪＰＡ要素と通信するＭｙＳＱＬ（登録商標）  ５．１データベースである。
【００２４】
上述したように、サーバコンピューティングデバイス１０４は、コンピュータシステムテスト環境１０６にも接続される。コンピュータシステムテスト環境１０６は、様々なタイプのコンピュータトランザクションを実施するためにテスト中のソフトウェアを集合的に実行する複数のコンピューティングシステム１０７ａ−１０７ｚを含む。いくつかの実施形態では、コンピュータシステムテスト環境１０６は、本番環境を再現するように構成され、且つ、本番環境で実装されるコードより新しいバージョンであるソフトウェアコードを実行することができる（例えば、コード変更をテストしたり、コードの新しいバージョンにおけるエラーや欠陥を判断したりするために、など）。一例では、コンピュータシステムテスト環境１０６は、ＩＢＭから入手可能なｚ／ＯＳ（登録商標）オペレーティングシステムを使用するメインフレームコンピュータの集合体であり、膨大な数の重要なコンピュータトランザクションを迅速且つ効率的に実行し、且つ、高い可用性を維持するように構成される。コンピュータシステムテスト環境１０６は、コンピューティングデバイス１０７ａ−１０７ｚ及びそこに実装されたソフトウェアのストレステストを行うように構成でき、ここでこの環境によって実行されるトランザクションの数が通常の本番コンピューティング環境で予想される数よりはるかに多くなっている。
【００２５】
コンピュータシステムテスト環境１０６におけるコンピューティングデバイス１０７ａ−１０７ｚのそれぞれは、それぞれのシステム１０７ａ−１０７ｚ上に実装されたソフトウェアアプリケーションを実行し、且つ、それに対応する命令を実施することを担当する中央処理装置（ＣＰＵ）１０７ａ’−１０７ｚ’を含む。ＣＰＵ１０７ａ’−１０７ｚ’の性能を監視して、例えば、所定のプロセス、ジョブ又は他のソフトウェアアプリケーションタスクがＣＰＵ上に課している処理負荷の量を判断することができる。例えば、コンピュータ装置１０７ａの１つは、コンピュータシステムテスト環境１０６におけるコンピュータシステム１０７ａ−１０７ｚ（及び関連するＣＰＵ１０７ａ’−１０７ｚ’）の性能管理及びリアルタイム監視を担当する監視ツールを含むことができる。例示的な監視ツールは、ＩＢＭから入手可能なＣＡ  ＳＹＳＶＩＥＷである。
【００２６】
また、コンピュータシステムテスト環境１０６におけるコンピューティングデバイス１０７ａの少なくとも１つは、本明細書でより詳細に説明するように、データファイルの保存のためのファイル保存領域１０８を含む。いくつかの実施形態では、ファイル保存領域１０８は、データファイル（例えば、テキストファイル、コンマ区切り値（ＣＳＶ）ファイル、画像ファイル、ＸＭＬファイル）を書き込むことができるディスクドライブ上のディレクトリ又は他の場所である。例示的な実施形態では、コンピューティングデバイス１０７ａは、ファイル転送アプリケーション（例えば、ＦＴＰクライアント）を含むように構成され、該ファイル転送アプリケーションは、データをファイル記憶領域１０８から引き出すために、ファイル保存領域１０８を他のコンピューティングデバイス（例えば、サーバコンピューティングデバイス１０４）に対して利用可能にする。
【００２７】
コンピューティングデバイス１０７ａは、ＣＰＵ１０７ａ’上で実行する監視エージェントプロセスを稼働して、コンピュータシステムテスト環境１０６内の複数のコンピュータデバイス１０７ａ上で進行中の性能テストに関する性能データを抽出することができる。いくつかの実施形態では、各監視エージェントプロセスは、ＣＰＵ１０７ａ’上で実行される特定の監視ソフトウェアプログラムのインスタンスであり、場合によっては、各監視エージェントプロセスは、コンピュータシステムテスト環境１０６を構成するコンピューティングデバイス１０７ａ−１０７ｚの何れかに対して同時命令を実行することができる複数のスレッドで構成されている。いくつかの実施形態では、監視エージェントプロセスは、相互に通信して、本明細書に記載される方法を実施するための入力／出力及び他のデータを共有することができる。例示的な監視エージェントプロセスとしては、テスト環境１０６におけるコンピューティングデバイス１０７ａ−１０７ｚの一つ以上に対してコンピューティングデバイス１０７ａのＣＰＵ１０７ａ’によって実行されるべき作業の単位を定義するサイクリックメインフレームジョブが挙げられるが、これに限定されない。
【００２８】
また、コンピューティングデバイス１０７ａは、テスト環境１０６に関連する性能データを表示するためのモニタ又は他の端末などのディスプレイデバイス１０９に接続されることもできる。例えば、ディスプレイデバイス１０９は、上記監視ツールによって提供される環境１０６における複数のコンピューティングシステム１０７ａ−１０７ｚのオンスクリーン性能表示を示すことができる。オンスクリーン性能表示の一例を図３に示し、以下に詳細に説明する。
【００２９】
図２は、図１のシステム１００を使用して、性能テスト進行中にコンピュータシステムプロセッサ及びトランザクション性能をリアルタイムで監視するための方法２００のフロー図である。コンピュータシステムテスト環境１０６におけるコンピューティングデバイス１０７ａのＣＰＵ１０７ａ’上で実行している上述の複数の監視エージェントプロセスは、コンピュータシステムテスト環境１０６における進行中の性能テストに関する性能データを抽出する（２０２）。
【００３０】
第１の監視エージェントプロセスは、進行中の性能テストに従事しているテスト環境内の複数のコンピューティングデバイス１０７ａ−１０７ｚのために、ＣＰＵ使用データを、当該データを含むオンスクリーン性能表示からスクレイピングする（２０４ａ）。例えば、オンスクリーン性能表示（図３に示す）は、とりわけ、テストに従事する各ＣＰＵ１０７ａ−１０７ｚ（ＣＰＵ  ＩＤ３０２によって識別される）についてのプロセッサ実行率３０４を含むことができる。一実施形態では、ＣＰＵについてのプロセッサ実行率は、ＣＰＵ上で実行しているプロセス又はジョブ（又は複数のプロセス／ジョブ）によって現在利用されている処理リソースの量を表示する。第１の監視エージェントプロセスは、ＣＰＵ使用データを収集し、ＣＰＵ使用データをファイル（例えば、ファイル保存領域１０８）に保存することを担当する。
【００３１】
この目的のために、第１の監視エージェントプロセスは、複数の異なる技術的方法を利用してオンスクリーン性能表示からＣＰＵ使用データをスクレイピングすることができる。一実施形態では、第１の監視エージェントプロセスは、ＣＰＵ使用データを含むオンスクリーン性能表示の画像をキャプチャする。例えば、第１の監視エージェントプロセスは、ディスプレイデバイス１０９に表示されるオンスクリーン性能表示のスクリーンショットを収集し、当該スクリーンショットを画像ファイル（例えば、．ｊｐｇファイル）としてファイル保存領域１０８に保存することができる。その後、第１の監視エージェントプロセスは、画像ファイルに表示されたＣＰＵ使用データのオンスクリーン位置を決定することができる。例えば、第１の監視エージェントプロセスは、ＣＰＵ使用データの位置の座標（例えば、ｘ値、ｙ値）を決定するように画像ファイルをスキャンすることができ、又は場合によっては、第１の監視エージェントプロセスは、その位置についてのデフォルト座標と共に事前設定ができる。次いで、第１の監視エージェントプロセスは、決定されたオンスクリーン位置に配置される文字を認識することによってキャプチャされた画像ファイルからＣＰＵ使用データを抽出し（例えば、光学式文字認識（ＯＣＲ）技術を使用して）、次に認識された文字をファイル保存領域１０８内の第１のファイル（例えば、ＣＳＶファイル）に保存する。
【００３２】
例えば、第１の監視エージェントプロセスは、図３に示すＣＰＵ使用データを次の形式を使用して第１のファイルに保存することができる。
［ｔｉｍｅｓｔａｍｐ］，［ＣＰＵＩＤ］，［ＣＰＵ＿Ｐｅｒｃｅｎｔａｇｅ］
従って、図３に示すデータは、第１のファイルに次のように保存されるであろう。
2014/10/29/17:19:49,CPU1,29
2014/10/29/17:19:49,CPU2,28
2014/10/29/17:19:49,CPU3,58
2014/10/29/17:19:49,CPU4,47
2014/10/29/17:19:49,CPU5,42
2014/10/29/17:19:49,CPU6,53
2014/10/29/17:19:49,CPU7,39
2014/10/29/17:19:49,CPU8,32
【００３３】
別の方法では、オンスクリーン性能表示は、コンピューティングデバイス１０７ａとは異なるコンピュータシステムテスト環境におけるコンピューティングデバイス（例えば、１０７ｂ）によって提供されてもよい。このような場合には、第１の監視エージェントプロセスは、この異なるコンピューティングデバイス１０７ｂへの認証入力をエミュレートすることによって、異なるコンピューティングデバイス１０７ｂへの接続を確立することができる。例えば、第１の監視エージェントプロセスは、異なるコンピューティングデバイス１０７ｂへの接続を確立し、そして第１の監視エージェントプロセスを異なるコンピューティングデバイス１０７ｂとインターフェースで接続することを可能にするエミュレートされたキーボード入力を送信することによって、認証情報（例えば、ユーザ名、パスワード）を自動的に提出することができる。認証されると、第１の監視エージェントプロセスは、オンスクリーン性能表示内に含まれるテキストをキャプチャするプリントスクリーン命令（例えば、ＰｒｉｎｔＳｃｒｅｅｎ、ＰｒｉｎｔＴｅｘｔ）を適切な演算子と共に発行し、さらにキャプチャされたテキストを解析し（例えば、テキストをスキャニングして、「％」などの位置特定文字を探すことによって）、ＣＰＵ使用データの場所を決定する。その後、第１の監視エージェントプロセスは、先に説明したように、解析されたＣＰＵ使用データを形式化し、そのデータをファイル保存領域１０８の第１のファイル（例えば、ＣＳＶファイル）に保存することができる。
【００３４】
図２に戻ると、第２の監視エージェントプロセスは、性能テストに関連するトランザクションログファイルに保存されるものとして提出されたトランザクションデータを分析し（２０４ｂ）、そして提出されたトランザクションデータのサブセットをファイル保存領域１０８の第２のファイルに保存するために選択する。例えば、性能テストは、特定のコンピューティングアプリケーションに関連する多数の個々のトランザクションを生成することができ、コンピューティングデバイス１０７ａの監視ツール（又はテスト環境１０６内のコンピューティングデバイス１０７ａ−１０７ｚの特定のツール）は、トランザクションログファイル（又は複数のログファイル）においてトランザクションのログをとることができる。第２の監視エージェントプロセスは、ログファイルにアクセスし、そして性能テスト／コンピューティングアプリケーションに重要な又はそれに関連するログファイルに保存されるトランザクションのサブセットを決定することができる。例えば、コンピューティングアプリケーションが大規模ネットワーキングアプリケーションである場合には、関連するトランザクションは確立された接続、成功したパケット送信、パケットのタイムアウト、エラーメッセージの生成などであってよい。これらのトランザクションのそれぞれは、ログファイル内の特定のトランザクションタイプ及び／又は識別子に割り当てることができ、第２の監視エージェントプロセスは、特定の識別子に基づいて特定のトランザクションのみを選択するようにプログラムすることができる。
【００３５】
例えば、性能テストを実施する開発者は、確立された接続の数（確立された接続トランザクションがトランザクションタイプＣＮＸを有する場合）、及びこれらの接続中に送信されるパケットのボリューム（パケット送信トランザクションがトランザクションタイプＰＸを有する場合）に関心を向けるだけでよい。なぜなら、テスト環境１０６に実装されるテストソフトウェアは、特に接続機能に関連する新しいコードを含むためである。従って、第２の監視エージェントは、トランザクションログファイルに保存されたデータの行をスキャニングしてそのトランザクションタイプに一致する行を識別し、そして該当する各行についてトランザクションログファイルから関連するデータ要素を抽出することによりＣＮＸ及びＰＸトランザクションタイプに関連するログファイルにおいてトランザクションのみを選択するように構成することができる。いくつかの実施形態では、第２の監視エージェントプロセスは、特定の行に関連するすべてのデータ要素を選択することができ、又は、いくつかの実施形態では、第２の監視エージェントプロセスは、特定の行に関連する特定のデータ要素のみを選択することができる。第２の監視エージェントプロセスは、抽出されたデータ要素を形式化し、その後、当該データ要素をファイル保存領域１０８内の第２のファイルに保存することができる（例えば、文字区切り形式で）。
【００３６】
別の例では、コンピューティングアプリケーションは大規模取引アプリケーションであることができ、関連トランザクションは購入、販売及び注文の約定であってもよい。これらのトランザクションのそれぞれは、ログファイル内の特定のトランザクションタイプ及び／又は識別子に割り当てられることができ、第２の監視エージェントプロセスは、特定の識別子に基づいて特定のトランザクションのみを選択するようにプログラムすることができる。
【００３７】
次に、コンピューティングデバイス１０７ａのＣＰＵ１０７ａ’上で実行する第３の監視エージェントプロセスは、テスト環境１０６における進行中の性能テストに関連するデータを含むトランザクションデータベースに対してクエリ検索を実行して、トランザクションライフサイクルデータセットを生成する（２０４ｃ）。例えば、取引アプリケーションの状況において、テストを実施する開発者は、「取引期間」データに関心を向けることができ、その際、特定のトランザクション（すなわち、取引）は、開始ポイント（すなわち、ＡＡＰＬ社の１０株を取引するための要求）と終了ポイント（すなわち、両当事者間の取引の実行）を有する。第３の監視エージェントプロセスは、複合データベースクエリ（例えば、ＤＢ２）を実行して、トランザクションライフサイクル（例えば、注文、実行、他の中間トランザクション）を構築するために使用される個々のトランザクションデータポイントを収集し相関させることができる。第３の監視エージェントプロセスは、データを形式化してトランザクションライフサイクルデータセットを生成し、そしてトランザクションライフサイクルデータセットをファイル保存領域１０８の第３のファイルに保存する。好ましい実施形態では、監視エージェントプロセスは、周期的に（すなわち、規則的な間隔で定期的に）上記ステップを実施し、そしてコンピューティングデバイス１０７ａ上でのＣＰＵ１０７ａ’の３〜４ＣＰＵサイクル内の各間隔の間にそれらの処理を終了する。
【００３８】
第１、第２及び第３の監視エージェントプロセスが上記プロセスステップを実施したら、サーバコンピューティングデバイス１０４（テスト環境１０６外にある）は、クライアントデバイス１０２のウェブブラウザアプリケーション１０２’及びディスプレイデバイス１０３を介して表示するための対話型グラフィカル表現にウェブサーバアプリケーション１０４’によって処理及び変換するために第１のファイル、第２のファイル及び第３のファイルをファイル保存領域１０８から読み出す（２０６）。好ましい実施形態では、サーバコンピューティングデバイス１０４は、コンピューティングデバイス１０７ａの追加の処理リソースを必要とすることなしに、第１、第２及び第３のファイルをコンピューティングデバイス１０７ａから自動的に引き出す。コンピューティングデバイス１０７ａは、ファイル保存領域１０８をサーバコンピューティングデバイス１０４のような外部コンピューティングデバイスに利用できるようにするためにインストールされたファイル転送ソフトウェアライブラリを有することができる。一例では、サーバコンピューティングデバイス１０４は、ファイル転送プロトコル（ＦＴＰ）クライアントを利用してファイルを引き出すことができる。サーバコンピューティングデバイス１０４は、コンピューティングデバイス１０７ａとのファイル転送セッションを確立し、第１のファイル、第２のファイル及び第３のファイルをファイル保存領域１０８から引き出し、そしてファイル転送セッションを閉じる。
【００３９】
監視エージェントプロセスは、新しい性能テストデータがサーバコンピューティングデバイス１０４に収集され及び／又は引き出されるときに、ファイル保存領域１０８に保存されるファイルを更新し及び／又は上書きすることができると理解すべきである。いくつかの実施形態では、サーバコンピューティングデバイス１０４は、ファイルをローカルストレージ領域（図示せず）にコピーし、ファイルをコンピューティングデバイス１０７ａ上にそのまま残しておく。いくつかの実施形態では、サーバコンピューティングデバイスは、ファイルをコピーし、その後ファイル保存領域１０８からそれらを削除する。
【００４０】
第１、第２及び第３のファイルがコンピューティングデバイス１０７ａから引き出された後、サーバコンピューティングデバイス１０４（ウェブサーバアプリケーション１０４’を介して）は、表示のために（例えば、ウェブブラウザアプリケーション１０２’及びディスプレイデバイス１０３を介して）第１、第２及び第３のファイルに具現化された性能データの１以上のグラフィカル表現を生成する（２０８）。グラフィカル表現は、対話型で調整可能であり、クライアントデバイス１０２でユーザが関連するデータについて調査及びドリルダウンして、テスト環境１０６が性能テスト進行中にどのように計算及びトランザクションレベルで実施しているかを理解することができる。上述のファイルに保存されたデータは、ウェブサーバアプリケーション１０４’によって提供されるグラフィカル表現の効率的且つ迅速な更新及び再生成を可能にするように形式化されているので、性能データが第１、第２及び第３の監視エージェントプロセスによって収集されると直ぐにグラフィカル表現は更新されて、最新の性能データをリアルタイムで取得できることが理解されるべきである。
【００４１】
図４は、進行中の性能テストに従事している複数のテストコンピュータシステム（例えば、コンピュータデバイス１０７ａ−１０７ｚ）のＣＰＵ使用データを表示する例示対話型チャート図である。前述したように、第１の監視エージェントプロセスは、オンスクリーン性能表示からＣＰＵ使用データをスクレイピングし、ファイル保存領域１０８における第１のファイルに保存し、その後サーバコンピューティングデバイス１０４に引き出される。次いで、ウェブサーバアプリケーション１０４’は、性能テストに従事している異なるＣＰＵ（１０７ａ’−１０７ｚ’）台数についてのそれぞれのＣＰＵ使用データを示す対話型チャート（図４に示す）を生成する。例えば、対話型チャートは、測定が行われた時間（ｘ軸方向）と、その時間における対応するプロセッサ実行率（ｙ軸方向）を示す各ＣＰＵについてのラインを含む線グラフであることができる。クライアントデバイス１０２でのユーザは、クライアントデバイスに接続された入力装置を使用して、ディスプレイの上部の一連のタブから、特定のＣＰＵに関するデータを取得し、特定の期間に拡大し、又はチャートに表示されるデータの日数を変更するように選択することができる。
【００４２】
図５は、第１及び第２のファイルに提供される、ＣＰＵ使用データと提出されたトランザクションデータのサブセットとの間の関係を表示する例示対話型チャート図である。図５に示すように、対話型チャートは、ＣＰＵ１０７ａ’−１０７ｚ’のそれぞれについてのプロセッサ実行率を表すライン（図４と同様）とともに、第２の監視エージェントプロセスによって生成された、第２のファイルに保存されたデータから得られたトランザクションタイプ（例えば、売買取引（Ｐ＆Ｓ  Ｔｒａｄｅｓ）、実行注文（Ｅｘｅｃｕｔｅｄ  Ｏｒｄｅｒｓ）、約定注文（Ｆｉｌｌｅｄ  Ｏｒｄｅｒｓ））のそれぞれトランザクションボリュームについてのラインも含む線グラフを含む。図５の対話型チャートは、関連する測定が行われた時間（ｘ軸方向）と、トランザクション数（ｙ軸方向、千単位）を示す。図５の対話型チャートは、各タイプのトランザクションのボリュームとＣＰＵ１０７ａ’−１０７ｚ’のそれぞれについての実行率との間の相関関係を提供するので、開発者は、性能テスト進行中に処理されるＣＰＵ実行率及びトランザクションボリュームに関して何らかの異常があるかどうかを迅速に見ることができる。例えば、１以上のＣＰＵについてのＣＰＵ実行率が高いにもかかわらず、トランザクションのボリュームが少ない場合には、特定のトランザクションタイプについての処理効率に伴う問題、又はテスト環境における特定のコンピューティングデバイスについてのＣＰＵ保全性に伴う問題を示すことができるであろう。従って、ＣＰＵに対する負荷を増加させる及び／又は特定のトランザクションの実行を遅くさせるエラーその他の問題があるかどうかを確認するために、基礎となるコードを確認することを必要とする。クライアントデバイス１０２でのユーザは、クライアントデバイスに接続された入力装置を使用して、特定の期間に拡大し、チャートに表示されるデータの日数を変更し、又は特定のＣＰＵ／トランザクションをフィルタリングして当該データにおけるより細かい状況を得ることができる。
【００４３】
図６は、提出されたトランザクションデータのサブセットのボリュームを表示する例示対話型チャート図である。図６に示すように、対話型チャートは、性能テスト中に実行／処理されるトランザクションの各タイプについてのカウント（又はボリューム）を示す棒グラフである。例えば、取引タイプ（ｔｒａｄｅ  ｔｙｐｅ）−Ｂは、２０００件弱のトランザクションを有していたのに対し、取引タイプＦ−Ｂは１２，０００件弱のトランザクションを有していた。対話型チャートは、更新ファイルがコンピューティングデバイス１０７ａからサーバコンピューティングデバイス１０４に引き出され、そしてウェブサーバアプリケーション１０４’によって処理されたときに、動的に更新される。クライアントデバイス１０２でのユーザは、クライアントデバイスに接続された入力装置を使用して、チャートの上部にあるタブを用いて取引詳細（Ｔｒａｄｅ  Ｄｅｔａｉｌ）表示と取引概要（Ｔｒａｄｅ  Ｓｕｍｍａｒｙ）表示との間で切り替えることができる。
【００４４】
図７は、トランザクションライフサイクルデータセットのタイムラインを表示する例示対話型チャート図である。図７に示すように、対話型チャートは、一定期間（ｘ軸）にわたって処理された異なるトランザクションタイプのボリューム（ｙ軸）に対応するラインを有する線グラフを含む。例えば、線グラフは、１７：１５〜１７：３０の間に約５，０００件の注文（ｏｒｄｅｒｓ）と実行（ｅｘｅｃｕｔｉｏｎｓ）が発生したことを示している。注文数と実行数はほぼ等しいため、トランザクションが適切に処理されていることを示している。例えば、注文数が同時刻頃に発生した実行数よりもはるかに多い場合には、実行が正常に又は適時に完了しなかった際のテストすべきコードに伴う問題を示すことができるであろう。クライアントデバイス１０２でのユーザは、クライアントデバイスに接続された入力デバイスを使用して、特定の期間に拡大し、チャートに表示されるデータの日数を変更し、又は特定のアカウントについてのアカウントデータと全体的なトランザクション処理の生データとの間で切り替えることができる。
【００４５】
図８は、ＣＰＵ使用データと、提出されたトランザクションデータのサブセットと、トランザクションライフサイクルデータセットとの間の関係を表示する例示対話型チャート図である。図８に示すように、対話型チャートは、本番環境における所定のトランザクションの性能（図８の上側の線グラフ）に対するテスト環境における同一のトランザクションの性能（図８の下側の折れ線グラフ）を示す線グラフを含む。上側の線グラフは、本番環境で実行している特定のトランザクションに対するトランザクション当たりの対応するＣＰＵサイクル（例えば、０〜７．５）を示すラインに関連するトランザクションカウント（例えば、０ｋ〜３００ｋ）を示すラインを示す。下側の線グラフは、テスト環境で実行している同じトランザクションについてのトランザクション当たりの対応するＣＰＵサイクル（例えば、０〜７．５）を示すラインに関連するトランザクションカウント（例えば、０ｋ〜１５０ｋ）を示すラインを示す。
【００４６】
図８の対話型チャートにおける線グラフは、所定のトランザクションが本番環境に対して性能環境でどのように動作しているかをリアルタイムで比較することを提供しており、２つの環境間での異常値を識別するのに役立つ（例えば、テスト中よりも本番中により多くのトランザクション数を引き起こしている可能性のあるトランザクション、又は本番中よりもテスト中にＣＰＵに大きな影響を及ぼす可能性のあるトランザクション）。例えば、性能の線グラフの急な山形（図８の下側）は、本番環境における潜在的な問題を示すことができるため、アナリスト又はエンジニアは潜在的な問題のさらなる解析が実施されるまで、その環境の継続を止めることができる。また、図８の線グラフは、各環境における特定のトランザクションを実行するための処理コスト並びにそれに対応するボリュームを示す詳細情報も提供する。例えば、新しい系列のトランザクションが対顧客本番環境に徐々に展開されている場合には、図８の線グラフは、前週比で、あるトランザクションのトランザクションボリュームが減少するのに対し、新しいトランザクションのボリュームが増えることを示すことができる。
【００４７】
上述の技術は、デジタル及び／又はアナログ電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、或いはそれらの組み合わせで実装することができる。この実装は、データ処理装置、例えばプログラマブルプロセッサ、コンピュータ、及び／又は複数のコンピュータによって実行するための又はその動作を制御するためのコンピュータプログラム製品、すなわち機械可読記憶装置に有形に組み込まれたコンピュータプログラムとして行うことができる。コンピュータプログラムは、ソースコード、コンパイラ型コード、インタープリタ型コード及び／又は機械コードを含めた任意の形式のコンピュータ又はプログラミング言語で記述することができ、またコンピュータプログラムは、スタンドアロンプログラムとして、又はサブルーチン単位、エレメント単位、又はコンピューティング環境での使用に適した他の単位を含む任意の形態で展開することができる。コンピュータプログラムは、１以上のサイトで１台のコンピュータ上又は複数のコンピュータ上で実行されるように展開することができる。
【００４８】
方法ステップは、入力データ上で動作すること及び／又は出力データを生成することによって機能を実施するようにコンピュータプログラムを実行する１以上のプロセッサによって実施できる。方法ステップはまた、例えばＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）、ＦＰＡＡ（フィールド・プログラマブル・アナログ・アレイ）、ＣＰＬＤ（複合プログラマブル・ロジック・デバイス）、ＰＳｏＣ（プログラマブル・システム・オン・チップ）、ＡＳＩＰ（特定用途向け命令セット・プロセッサ）、又はＡＳＩＣ（特定用途向け集積回路）などの特定用途論理回路によっても実施でき、また装置は、該特定用途論理回路として実装できる。サブルーチンとは、１以上の機能を実装する、保存されたコンピュータプログラム及び／又はプロセッサ及び／又は特別な電気回路構成の部分をいうことができる。
【００４９】
コンピュータプログラムを実行するのに好適なプロセッサとしては、一例として、特定目的マイクロプロセッサが挙げられる。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受け取る。コンピュータに不可欠な要素は、命令を実行するためのプロセッサと、命令及び／又はデータを保存するための１以上のメモリデバイスである。キャッシュなどのメモリデバイスは、データを一時的に保存するために使用することができる。また、メモリデバイスは、長期間のデータ保存のためにも使用することができる。一般に、コンピュータはまた、データを保存するための１以上のマス・ストレージ・デバイス、例えば、磁気ディスク、光磁気ディスク、又は光学ディスクを含み、或いは該デバイスからデータ受け取り若しくはデータを該デバイスに転送し又はその両方を行うように実行可能に接続される。また、コンピュータは、ネットワークから命令及び／又はデータを受信し、及び／又は命令及び／又はデータをネットワークに転送するために、通信ネットワークに動作可能に接続することもできる。コンピュータプログラム命令及びデータを具現化するのに好適なコンピュータ可読記憶媒体としては、一例として、半導体記憶デバイス、例えばＤＲＡＭ、ＳＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリデバイス；磁気ディスク、例えば内蔵型ハードディスク又はリムーバルハードディスク；光磁気ディスク；並びに光ディスク、例えばＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ及びＢｌｕ−ｒａｙ（登録商標）ディスクを含めた揮発性及び不揮発性メモリの全ての形態が挙げられる。プロセッサ及びメモリは、特定用途論理回路によって追加でき及び／又は該回路中に組み込むことができる。
【００５０】
ユーザとの対話を提供するために、上述した技術は、ユーザに対して情報を表示するためのディスプレイデバイス、例えばＣＲＴ（陰極線管）、プラズマ又はＬＣＤ（液晶ディスプレイ）モニタと、ユーザがコンピュータに入力を提供することのできる（例えば、ユーザインタフェース要素と対話することのできる）キーボード及びポインティングデバイス、例えばマウス、トラックボール、タッチパッド、モーションセンサーと通信するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を同様に提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバックであることができ、ユーザからの入力は、音響、音声、及び／又は触覚入力を含めて任意の形式で受け取ることができる。
【００５１】
上述の技術は、バックエンド構成要素を含む分散コンピューティングシステムに実装することができる。バックエンド構成要素は、例えば、データサーバ、ミドルウェア構成要素、及び／又はアプリケーションサーバとすることができる。上述の技術は、フロントエンド構成要素を含む分散コンピューティングシステムに実装することができる。フロントエンド構成要素は、例えば、グラフィカルユーザインタフェースを有するクライアントコンピュータ、ユーザが例示実装と対話することができるウェブブラウザ、及び／又は送信デバイスのための他のグラフィカルユーザインタフェースとすることができる。上述の技術は、このようなバックエンド、ミドルウェア又はフロントエンド構成要素の任意の組み合わせを含む分散コンピューティングシステムに実装することができる。
【００５２】
コンピューティングシステムの構成要素は、デジタル又はアナログのデータ通信（例えば、通信ネットワーク）の任意の形式又は媒体を含むことができる伝送媒体によって相互接続することができる。伝送媒体は、任意の構成の１以上のパケットベースネットワーク及び／又は１以上の回路ベースネットワークを含むことができる。パケットベースネットワークとしては、例えば、インターネット、キャリア・インターネット・プロトコル（ＩＰ）ネットワーク（例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ホーム・エリア・ネットワーク（ＨＡＮ））、プライベートＩＰネットワーク、ＩＰ構内交換機（ＩＰＢＸ）、無線ネットワーク（例えば、無線アクセス・ネットワーク（ＲＡＮ）、ブルートゥース（登録商標）、Ｗｉ−Ｆｉ、ＷｉＭＡＸ、一般パケット無線サービス（ＧＰＲＳ）ネットワーク、ＨｉｐｅｒＬＡＮ）、及び／又は他のパケットベースネットワークを挙げることができる。回路ベースネットワークとしては、例えば、公衆電話交換回線網（ＰＳＴＮ）、構内交換機（ＰＢＸ）、無線ネットワーク（例えば、ＲＡＮ、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続  （ＴＤＭＡ）ネットワーク、モバイル通信用グローバル・システム（ＧＳＭ）（登録商標）ネットワーク）及び／又は他の回路ベースネットワークを挙げることができる。
【００５３】
伝送媒体を介する情報転送は、１以上の通信プロトコルに基づくことができる。通信プロトコルとしては、例えば、イーサネット（登録商標）プロトコル、インターネット・プロトコル（ＩＰ）、ボイス・オーバー・アイピー（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）、ピア・ツー・ピア（Ｐ２Ｐ）プロトコル、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）、セッション・イニシエーション・プロトコル（ＳＩＰ）、Ｈ．３２３、メディア・ゲートウェイ・コントロール・プロトコル（ＭＧＣＰ）、共通線信号Ｎｏ．７（ＳＳ７）、汎欧州デジタル移動電話方式（ＧＳＭ）（登録商標）プロトコル、プッシュツートーク（ＰＴＴ）プロトコル、ＰＴＴオーバセルラー（ＰＯＣ）プロトコル、ユニバーサル移動通信システム（ＵＭＴＳ）、３ＧＰＰロングタームエボリューション（ＬＴＥ）、及び／又は他の通信プロトコルが挙げられる。
【００５４】
コンピューティングシステムのデバイスとしては、例えば、コンピュータ、ブラウザデバイスを搭載したコンピュータ、電話機、ＩＰ電話機、モバイル装置（例えば、携帯電話、個人情報端末（ＰＤＡ）デバイス、スマートフォン、タブレット、ノート型コンピュータ、電子メールデバイス）、及び／又は他の通信デバイスを挙げることができる。ブラウザデバイスとしては、例えば、ワールド・ワイド・ウェブ・ブラウザ（例えば、Ｇｏｏｇｌｅ社のＣｈｒｏｍｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＭｉｃｒｏｓｏｆｔ（登録商標）Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）及び／又はＭｏｚｉｌｌａ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＭｏｚｉｌｌａ（登録商標）Ｆｉｒｅｆｏｘ）を搭載したコンピュータ（例えば、デスクトップコンピュタ及び／又はノート型コンピュータ）を挙げることができる。モバイルコンピューティングデバイスとしては、例えば、Ｒｅｓｅａｒｃｈ  ｉｎ  Ｍｏｔｉｏｎ社のＢｌａｃｋｂｅｒｒｙ（登録商標）、Ａｐｐｌｅ  ＣｏｒｐｏｒａｔｉｏｎのｉＰｈｏｎｅ（登録商標）、及び／又はＡｎｄｒｏｉｄ（商標）ベースのデバイスを挙げることができる。ＩＰ電話としては、例えば、シスコシステムズ社から入手可能なＣｉｓｃｏ（登録商標）Ｕｎｉｆｉｅｄ  ＩＰ  Ｐｈｏｎｅ  ７９８５Ｇ及び／又はＣｉｓｃｏ（登録商標）Ｕｎｉｆｉｅｄ  Ｗｉｒｅｌｅｓｓ  Ｐｈｏｎｅ  ７９２０を挙げることができる。
【００５５】
「備える・含む」（Ｃｏｍｐｒｉｓｅ、ｉｎｃｌｕｄｅ）、及び／又は各複数形については制約がなく、列挙された部分を含み、且つ列挙されていない追加的部分を含むことができる。「及び／又は」は制約がなく、１以上の列挙された部分を含み、また列挙された部分の組み合わせを含む。
【００５６】
当業者であれば、本発明の精神又は本質的特徴から逸脱することなく、その主題を他の具体的な形態で具体化できることが分かるであろう。従って、上記実施形態は、本明細書に記載の主題を限定するのではなく、あらゆる点で例示的なものとみなすべきである。
【図１】
2017084345.tif 000003
【図２】
2017084345.tif 000004
【図３】
2017084345.tif 000005
【図４】
2017084345.tif 000006
【図５】
2017084345.tif 000007
【図６】
2017084345.tif 000008
【図７】
2017084345.tif 000009
【図８】
2017084345.tif 000010
【外国語明細書】
2017084345000001.pdf