JP3945521B2 - Distributed processing system and performance monitoring method thereof - Google Patents

Distributed processing system and performance monitoring method thereof Download PDF

Info

Publication number
JP3945521B2
JP3945521B2 JP2005171794A JP2005171794A JP3945521B2 JP 3945521 B2 JP3945521 B2 JP 3945521B2 JP 2005171794 A JP2005171794 A JP 2005171794A JP 2005171794 A JP2005171794 A JP 2005171794A JP 3945521 B2 JP3945521 B2 JP 3945521B2
Authority
JP
Japan
Prior art keywords
time
processing
program
call
performance data
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.)
Expired - Fee Related
Application number
JP2005171794A
Other languages
Japanese (ja)
Other versions
JP2005302057A (en
Inventor
裕教 江丸
雅晴 赤津
記史 西川
哲雄 田中
彰弘 吉川
俊介 秋藤
剛 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005171794A priority Critical patent/JP3945521B2/en
Publication of JP2005302057A publication Critical patent/JP2005302057A/en
Application granted granted Critical
Publication of JP3945521B2 publication Critical patent/JP3945521B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、複数の計算機上に複数のオブジェクが分散して配置される分散処理システムに係わり、特にその性能モニタリング方法に関する。   The present invention relates to a distributed processing system in which a plurality of objects are distributed and arranged on a plurality of computers, and more particularly to a performance monitoring method thereof.

一つの計算機上で複数のプロセスが協調して一つの処理を行う場合に関連する複数のプロセスの稼動状況を測定する装置として、例えば特開平7−295864号公報に示されているような計算機システムの稼動状況をプロセスごとに時系列データとして測定する装置がある。
これを製品化した例として、『日経バイト特別増刊号』1998.11−8、No.184 pp192−193にあるように一台の計算機で実行されるアプリケーションの性能上のボトルネックをモジュールレベル、関数レベル、ソースレベルで解析するプロファイラであるラショナルソフトウェア(Rational Software)社のビジュアル・クオンティファイ(Visual Quantify)などが知られている。
For example, a computer system as disclosed in Japanese Patent Application Laid-Open No. 7-295864 is an apparatus for measuring the operation status of a plurality of processes related to a case where a plurality of processes cooperate to perform one process on one computer. There is a device that measures the operational status of each as time-series data for each process.
As an example of commercializing this, “Nikkei Byte Special Special Issue” 1998.11-8, No. 184 pp192-193 Visual Quantifier of Rational Software, a profiler that analyzes performance bottlenecks of applications executed on one computer at the module level, function level, and source level (Visual Quantify) is known.

一方、複数の計算機からなる分散処理システムにおいて複数のプロセスが相互に協調して一つの処理を行うような場合、遠隔手続き呼び出しを意識しないで性能測定を行う方法として、例えば特開平5−274185号公報に示されるように、遠隔手続き呼び出し発行検出手段、遠隔手続き呼び出し終了検出手段、中央性能測定制御手段を持つことによってプロセスの対応づけを行う仕組みを実現した例がある。この方法は遠隔手続きをすべて中央性能測定制御装置に通知することによって、呼び出した側と呼び出された側の対応づけを行うものである。   On the other hand, in a distributed processing system composed of a plurality of computers, when a plurality of processes perform one process in cooperation with each other, as a method for measuring performance without being aware of remote procedure call, for example, Japanese Patent Laid-Open No. 5-274185 As disclosed in the official gazette, there is an example in which a mechanism for associating processes is realized by having a remote procedure call issuance detection unit, a remote procedure call end detection unit, and a central performance measurement control unit. In this method, all the remote procedures are notified to the central performance measurement control device, thereby associating the calling side with the called side.

日本特開平7−295864号公報Japanese Unexamined Patent Publication No. 7-295864 日本特開平5−274185号公報Japanese Unexamined Patent Publication No. 5-274185 日経バイト特別増刊号1998.11−8、No.184 pp192−193Nikkei Byte Special Special Issue 1998.11-8, No. 184 pp192-193

今後、複数計算機に亘る処理の分散化が進み、複数の計算機を有し、これら複数の計算機上に分散して配置され実行されるプログラムであるオブジェクトと、これらオブジェクト間の通信機能を有する分散オブジェクトシステムが広く普及することが予想されている。   In the future, the distribution of processing across multiple computers will progress, and there will be a distributed object that has a plurality of computers, a program that is distributed and executed on these multiple computers, and a communication function between these objects. The system is expected to become widespread.

特開平7−295864号公報に開示されている技術を用いることによって、一台の計算機内の性能のボトルネック検出は可能である。しかしこれを分散オブジェクトシステムの各計算機に適用しただけでは、それぞれの計算機において採取した性能データの対応づけがないため、分散オブジェクトシステムの性能のボトルネックを検出することは困難である。   By using the technique disclosed in Japanese Patent Laid-Open No. 7-295864, it is possible to detect a bottleneck of the performance in one computer. However, simply applying this to each computer of the distributed object system makes it difficult to detect the performance bottleneck of the distributed object system because there is no correspondence between the performance data collected in each computer.

また特開平5−274185号公報に開示されている技術を用いることにより、分散オブジェクトシステムにおいて個々のオブジェクト間通信についてその送信オブジェクトと受信オブジェクトを対応づけることは可能である。しかしオブジェクト間通信を介して複数のオブジェクトの処理を経由した後に一つの処理が完結するような場合、関連するオブジェクト間通信を対応づける手段がないため、この一連の処理の流れを追跡することは困難である。   Further, by using the technique disclosed in Japanese Patent Application Laid-Open No. 5-274185, it is possible to associate the transmission object and the reception object for each inter-object communication in the distributed object system. However, if one process is completed after passing through the processing of multiple objects via inter-object communication, there is no means to correlate related inter-object communication. Have difficulty.

このように従来技術では各計算機、各オブジェクトのようにポイントの性能データは収集できるが、分散オブジェクトシステム全体を対象とした性能モニタリングはできないという問題点がある。   As described above, in the conventional technique, performance data of points can be collected like each computer and each object, but there is a problem that performance monitoring for the entire distributed object system cannot be performed.

本発明は、上記のような事情に鑑み為されたもので、その目的とするところは、分散処理システム全体を対象とした性能モニタリングを行う方法及びそのような分散処理システムを提供することにある。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a method for performing performance monitoring for the entire distributed processing system and such a distributed processing system. .

また性能のボトルネックを絞り込める分散処理システムの性能モニタリング方法を提供することを目的とする。   Moreover, it aims at providing the performance monitoring method of the distributed processing system which can narrow down the bottleneck of performance.

本発明は、各計算機上に配置されるモニタリング手段によつて計測対象となるプログラム実体について他プログラム実体からのメッセージの受信時刻及び他プログラム実体へのメッセージの送信時刻の少なくとも一方を性能データとして収集し、各モニタリング手段によって収集された性能データを集約して処理フローを構成する各プログラム実体の処理時間及びプログラム実体間の通信時間を算出し、表示装置上に表示する分散処理システムの性能モニタリング方法を特徴とする。   The present invention collects, as performance data, at least one of a message reception time from another program entity and a message transmission time to another program entity for a program entity to be measured by a monitoring means arranged on each computer A performance monitoring method for a distributed processing system that aggregates the performance data collected by each monitoring means and calculates the processing time of each program entity constituting the processing flow and the communication time between the program entities and displays them on the display device It is characterized by.

また本発明は、(a)処理フローを構成する各オブジェクトの処理時間を計測し、(b)(a)で計測した処理時間があらかじめ定められた当該オブジェクトの処理時間の閾値を越えているとき、当該オブジェクトが配置される計算機で実行されるオブジェクト群について各オブジェクトが他のオブジェクトにリクエストを発行してから結果を得るまでの待ち時間を計測し、(c)(b)で計測した待ち時間があらかじめ定められた当該オブジェクトの待ち時間の閾値を越えているとき、当該オブジェクトの処理を先頭とする処理フローについて(a)を実行する分散オブジェクトシステムの性能モニタリング方法を特徴とする。   In the present invention, (a) the processing time of each object constituting the processing flow is measured, and (b) when the processing time measured in (a) exceeds a predetermined processing time threshold of the object. Measure the waiting time until each object obtains a result after issuing a request to another object for the object group executed on the computer where the object is arranged, and the waiting time measured in (c) and (b) Is characterized by a performance monitoring method for a distributed object system that executes (a) for a processing flow starting from the processing of the object when the threshold of the object exceeds a predetermined waiting time threshold.

本発明によれば、オブジェクト間通信を介して複数のオブジェクトの処理を経由した後に1つの処理が完結するような処理フローについて各オブジェクトの処理時間及びオブジェクト間の通信時間を取得できるので、分散処理システム全体を対象とした性能モニタリングを行うことができる。また処理フローを対象とする性能モニタリングと特定の計算機を対象とする性能モニタリングとを動的に切り替えることができるので、性能のボトルネックの解析を容易にするという効果がある。   According to the present invention, the processing time of each object and the communication time between objects can be acquired for a processing flow in which one process is completed after passing through the processing of a plurality of objects via inter-object communication. Performance monitoring for the entire system can be performed. In addition, since the performance monitoring for the processing flow and the performance monitoring for a specific computer can be dynamically switched, there is an effect of facilitating the analysis of the performance bottleneck.

以下に本発明の実施形態について図面を用いて詳細に説明する。   Embodiments of the present invention will be described below in detail with reference to the drawings.

(1)第1の実施形態
図1は、本実施形態の性能モニタリング方法を実現する計算機システムの構成図である。本計算機システムは、採取した性能に関するデータの処理と表示を行うプログラムであるマネージャ130を実行する計算機103と、性能モニタリングを行う対象であるオブジェクトを搭載する計算機101,102および計算機間を接続するLAN140から成る。本例ではモニタリングの対象となる計算機は2台であるが、その台数に制約はない。また各計算機はLAN140によって相互通信が可能であるが、通信を実現する手段もLANに限定されるわけではない。コレクタ131,132は、マネージャ130から指示を受け、必要に応じて性能データの採取、採取データのマネージャへの転送を行うプログラムである。121から126までは実際にモニタリングの対象となるプログラム実体であるオブジェクトである。マネージャはそれぞれのオブジェクトに対してオブジェクトIDと呼ばれる一意のIDを用いることによってこれを区別する。オブジェクトIDとして、例えば分散オブジェクト技術の標準の一つであるCORBAで用いられているオブジェクトリファレンスを用いる。CORBA技術に関しては、「"The Common Object Request Broker:A
rchitecture and Specification” OMG Document Revision 2.2, February 1998」に詳しい。
(1) 1st Embodiment FIG. 1: is a block diagram of the computer system which implement | achieves the performance monitoring method of this embodiment. The computer system includes a computer 103 that executes a manager 130 that is a program for processing and displaying collected performance data, computers 101 and 102 that have objects to be performance monitored, and a LAN 140 that connects the computers. Consists of. In this example, there are two computers to be monitored, but the number is not limited. The computers can communicate with each other via the LAN 140, but the means for realizing the communication is not limited to the LAN. The collectors 131 and 132 are programs that receive instructions from the manager 130 and collect performance data and transfer the collected data to the manager as necessary. Reference numerals 121 to 126 are objects that are actual program entities to be monitored. The manager distinguishes this by using a unique ID called an object ID for each object. As the object ID, for example, an object reference used in CORBA, which is one of the standards of distributed object technology, is used. For CORBA technology, “" The Common Object Request Broker: A
For details, refer to "structure and specification" OMG Document Revision 2.2, February 1998.

なお各計算機101,102,103には図示しないが表示装置及び入力装置が接続される。特に計算機103の表示装置は、オブジェクトIDの一覧、オブジェクトからオブジェクトへ亘る一連の処理について各オブジェクトの処理時間及びオブジェクト間の通信時間等を表示する。また計算機103の入力装置は、モニタリングの対象とするオブジェクトを指定するなどのデータ入力や指令入力のために使用される。   Although not shown, a display device and an input device are connected to each computer 101, 102, 103. In particular, the display device of the computer 103 displays a list of object IDs, a processing time of each object, a communication time between objects, and the like for a series of processing from the object to the object. The input device of the computer 103 is used for data input and command input such as designating an object to be monitored.

また図1ではマネージャ130は計算機101,102とは独立した計算機103上に配置されているが、マネージャ130を例えば計算機101のようにコレクタ131と同一の計算機101に配置しても本発明を実施できる。マネージャ130を独立した計算機103上に配置すると、マネージャ130が性能モニタリングに与える性能上の影響を除去することができる。   In FIG. 1, the manager 130 is arranged on the computer 103 independent of the computers 101 and 102, but the present invention can be implemented even if the manager 130 is arranged in the same computer 101 as the collector 131, for example, the computer 101. it can. If the manager 130 is arranged on the independent computer 103, it is possible to remove the influence on the performance that the manager 130 has on the performance monitoring.

またマネージャ130及びコレクタ131,132をプログラムとして格納する記憶媒体を作成することが可能である。この記憶媒体上のプログラムを計算機101,102,103に接続される駆動装置から読み込むか、または他の計算機からネットワークを経由して計算機101,102,103へ伝送し、各々の計算機に配置されるプログラム部分であるコレクタ131,132又はマネージャ130をその計算機のメモリにロードしてその計算機によって実行することができる。   In addition, it is possible to create a storage medium that stores the manager 130 and the collectors 131 and 132 as programs. The program on the storage medium is read from a drive unit connected to the computers 101, 102, 103, or is transmitted from another computer to the computers 101, 102, 103 via the network, and is arranged in each computer. The collector 131, 132 or manager 130, which is a program part, can be loaded into the memory of the computer and executed by the computer.

図2は、第1の実施形態のシステム全体の処理の概略手順を示す図である。この処理手順はマネージャ130の担当部分であるブロック201とコレクタ131,132の担当部分であるブロック202の2つのブロックから成る。   FIG. 2 is a diagram illustrating a schematic procedure of processing of the entire system according to the first embodiment. This processing procedure consists of two blocks: a block 201 which is a part in charge of the manager 130 and a block 202 which is a part in charge of the collectors 131 and 132.

まずマネージャ130が実行するブロック201について説明する。マネージャ130は最初にステップ210においてオブジェクトの一覧を表示し、性能データを採取するオブジェクトの選択入力を受け付ける。次にステップ220において、ステップ210で入力された性能データを採取するオブジェクトのオブジェクトIDを全てのコレクタ131,132にブロードキャストによつて通知する。マネージャ130はステップ230において、コレクタ131,132から転送されてくる性能データの到着を待つ。性能データを受信すると、ステップ240で各コレクタから送信される断片的な性能データの対応づけを行う。ここで対応づけとは、同一処理シーケンスに属する性能データをグループにまとめ、かつ時系列に従って配列することである。対応づけられた性能データをステップ250において表示する。表示後、ステップ255において終了条件の判定を行う
。本実施形態では任意の動作時間をあらかじめ設定しておき、ステップ255では設定された時間を超えていないかをチェックする。超えていれば処理を終了するが、超えていなければステップ230に戻る。このようにステップ230、240および250の処理は、マネージャ130が最初にコレクタ131,132から性能データを受け取ってからあらかじめ設定された一定時間、繰り返し行われる。
First, the block 201 executed by the manager 130 will be described. The manager 130 first displays a list of objects in step 210 and accepts an input for selecting an object for collecting performance data. Next, in step 220, the object ID of the object from which the performance data input in step 210 is collected is notified to all the collectors 131 and 132 by broadcast. In step 230, the manager 130 waits for the arrival of performance data transferred from the collectors 131 and 132. When the performance data is received, in step 240, the piecewise performance data transmitted from each collector is associated. Here, the association means that performance data belonging to the same processing sequence is grouped and arranged according to a time series. The associated performance data is displayed in step 250. After the display, the end condition is determined in step 255. In this embodiment, an arbitrary operation time is set in advance, and it is checked in step 255 whether the set time is exceeded. If it exceeds, the process ends. If not, the process returns to Step 230. As described above, the processing in steps 230, 240, and 250 is repeatedly performed for a predetermined time after the manager 130 first receives performance data from the collectors 131 and 132.

続いてコレクタ131,132が実行するブロック202について説明する。コレクタ131,132はステップ270において、マネージャ130によってブロードキャストされた少なくとも1つのオブジェクトIDからなるデータを受信する。コレクタ131,132は、そのコレクタが実行されている計算機101,102内に受信したオブジェクトIDと同じオブジェクトIDを持つオブジェクトがあれば、そのオブジェクトの監視を開始する。以下このオブジェクトを計測対象オブジェクトと呼ぶ。コレクタ131,132はステップ280で計測対象オブジェクトに処理が発生すると、性能に係わるデータを採取し、採取したデータをステップ290においてマネージャに送信する。性能データ送信後、ステップ295において終了条件の判定を行う。本実施形態ではステップ255の動作時間と同じ動作時間をあらかじめ設定しておき、ステップ295で設定された時間を超えていないかをチェックする。超えていれば処理を終了するが、超えていなければステップ280に戻る。このようにステップ280および290の処理は、コレクタ131,132がマネージャ130からオブジェクトIDのデータを受け取ってからあらかじめ設定された一定時間、繰り返し行われる。   Next, the block 202 executed by the collectors 131 and 132 will be described. In step 270, the collectors 131 and 132 receive data consisting of at least one object ID broadcast by the manager 130. If there is an object having the same object ID as the received object ID in the computers 101 and 102 in which the collector is running, the collectors 131 and 132 start monitoring the object. Hereinafter, this object is referred to as a measurement target object. When processing occurs in the measurement target object in step 280, the collectors 131 and 132 collect performance-related data, and transmit the collected data to the manager in step 290. After the performance data is transmitted, the end condition is determined in step 295. In the present embodiment, the same operation time as the operation time in step 255 is set in advance, and it is checked whether the time set in step 295 has been exceeded. If it exceeds, the process ends. If not, the process returns to Step 280. As described above, the processes in steps 280 and 290 are repeatedly performed for a predetermined time after the collectors 131 and 132 receive the object ID data from the manager 130.

図3は、計算機103の表示装置上に表示される計測対象オブジェクト選択画面301の例を示す図である。オブジェクト一覧ウィンドウ302上には性能データを取得する対象候補としてオブジェクトのIDが複数個表示され、その中から計測対象とする1個又は1個以上のオブジェクトを選択可能である。同時に複数のオブジェクトが選択される場合には、選択される複数のオブジェクトは通常オブジェクト間通信によつて関連づけられるオブジェクトのグループである。計測開始ボタン303は、計測対象オブジェクトの選択後にマネージャ130に計測開始を指示するためボタンである。計測開始ボタン303が押下されると、ステップ220で、マネージャ130は各コレクタ131,132に対し選択されたオブジェクトIDのブロードキャストを行う。   FIG. 3 is a diagram illustrating an example of the measurement target object selection screen 301 displayed on the display device of the computer 103. A plurality of object IDs are displayed on the object list window 302 as candidate candidates for acquiring performance data, and one or more objects to be measured can be selected from them. When a plurality of objects are selected at the same time, the plurality of selected objects is a group of objects that are usually associated by inter-object communication. The measurement start button 303 is a button for instructing the manager 130 to start measurement after the measurement target object is selected. When the measurement start button 303 is pressed, the manager 130 broadcasts the selected object ID to the collectors 131 and 132 in step 220.

この例は、オブジェクト一覧ウィンドウ302にはコレクタ131および132が計測対象とするオブジェクトのオブジェクトID、20001,20002,20003,20004,20005および20006が表示され、このうち20001,20004および20005が選択されていることを示している。   In this example, the object list window 302 displays object IDs 20001, 20002, 20003, 20004, 20005, and 20006 of objects to be measured by the collectors 131 and 132, of which 20001, 20004 and 20005 are selected. It shows that.

図4は、コレクタ131,132が各々計算機101,102のメモリ上に作成する採取データリスト501のデータ構成を示す図である。採取データリスト501は、オブジェクトID502、受信側オブジェクトID503、受信側メッセージID504、受信時刻505、送信側オブジェクトID506、送信側メッセージID507および送信時刻508の各フィールドから成る。採取データリスト501は、計測対象オブジェクトが他のオブジェクトからメッセージを受信するか、他のオブジェクトにメッセージを送信するか、またはメッセージ受信に続いてメッセージ送信をするごとに1つ生成される。オブジェクトID502は計測対象オブジェクトのIDである。受信側オブジェクトID503は計測対象オブジェクトがメッセージ受信したときの相手オブジェクトのIDである。受信側メッセージID504は、その受信メッセージに付加されているメッセージIDを格納する。受信時刻505はメッセージ受信時刻を格納する。送信側オブジェクトID506は、計測対象オブジェクトがメッセージ送信したときの相手オブジェクトのIDである。送信側メッセージID507は、その送信メッセージに付加されるメッセージIDである。送信時刻508はメッセージ送信時刻を格納する。なお利用者からのデータ入力等のイベントが発生して処理を開始するオブジェクトID502については、受信側オブジェクトID503および受信側メッセージID504の格納はなく、受信時刻505に処理開始時刻が格納される。また他のオブジェクトへのメッセージ送信の代わりにその計測対象オブジェクトをもって処理を終了するオブジェクトID502については、送信側オブジェクトID506および送信側メッセージID507の格納はなく、送信時刻508に処理終了時刻が格納される。ここでメッセージIDとして、例えば分散オブジェクト技術の標準の一つであるCORBAにおいて内部的に用いられているメッセージIDを使用することができる。   FIG. 4 is a diagram showing the data structure of the collection data list 501 created by the collectors 131 and 132 on the memories of the computers 101 and 102, respectively. The collection data list 501 includes fields of an object ID 502, a reception object ID 503, a reception message ID 504, a reception time 505, a transmission object ID 506, a transmission message ID 507, and a transmission time 508. One collection data list 501 is generated each time the measurement target object receives a message from another object, transmits a message to another object, or transmits a message following message reception. An object ID 502 is an ID of a measurement target object. The receiving object ID 503 is the ID of the partner object when the measurement target object receives a message. The receiving side message ID 504 stores a message ID added to the received message. The reception time 505 stores the message reception time. The transmission side object ID 506 is an ID of the partner object when the measurement target object transmits a message. The transmission side message ID 507 is a message ID added to the transmission message. The transmission time 508 stores the message transmission time. For the object ID 502 that starts processing when an event such as data input from the user occurs, the receiving object ID 503 and the receiving message ID 504 are not stored, and the processing start time is stored at the receiving time 505. In addition, for the object ID 502 that terminates the processing with the measurement target object instead of transmitting a message to another object, the transmission end object ID 506 and the transmission side message ID 507 are not stored, and the processing end time is stored at the transmission time 508. . Here, as the message ID, for example, a message ID used internally in CORBA, which is one of the standards of the distributed object technology, can be used.

計測対象オブジェクトは、データ入力等のイベントが発生し、処理開始する時点でその計算機に設けられるコレクタへその計測対象オブジェクトのID及び処理開始時刻を通知する。また計測対象オブジェクトは、他のオブジェクトにメッセージを送信する時点でそのコレクタへその計測対象オブジェクトのID、相手オブジェクトのID、送信するメッセージID及びメッセージ送信時刻を通知する。また他のオブジェクトからメッセージを受信した時点でそのコレクタへ計測対象オブジェクトのID、相手オブジェクトのID、受信したメッセージID、メッセージ受信時刻、および引き続きメッセージ送信が発生するか否かを示すフラグを通知する。また一連の処理を終了する時点で計測対象オブジェクトのID及び処理終了時刻をコレクタに通知する。コレクタは、マネージャ130から計測対象オブジェクトの通知を受けた後、計測対象オブジェクトに指令を送付してオブジェクトの時刻などの通知を開始させる。   The measurement target object notifies the collector of the measurement target object ID and processing start time to the collector provided in the computer when an event such as data input occurs and processing is started. The measurement target object notifies the collector of the ID of the measurement target object, the ID of the counterpart object, the message ID to be transmitted, and the message transmission time at the time of transmitting a message to another object. When a message is received from another object, the collector is notified of the ID of the object to be measured, the ID of the partner object, the received message ID, the message reception time, and a flag indicating whether or not message transmission will continue to occur. . Further, the ID of the measurement target object and the processing end time are notified to the collector when the series of processing ends. After receiving the measurement target object notification from the manager 130, the collector sends a command to the measurement target object to start notification of the object time and the like.

図5は、性能データを採取するコレクタ131,132の処理の流れを示すフローチャートである。コレクタ131,132は、計測対象オブジェクトから通知を受けると、メモリ上に採取データリスト501の領域を確保し(ステップ420)、確保した採取データリスト501領域のオブジェクトID502に通知を受けた計測対象オブジェクトのオブジェクトIDを格納し、他の各フィールドを−1によって初期化する(ステップ430)。次に発生した通信の種類をチェックする(ステップ440)。計測対象オブジェクトから処理開始通知とメッセージ送信通知を受けたときには(ステップ440送信)、採取データリスト501の受信時刻505に処理開始時刻を格納し、メッセージ送信通知の情報に基づいて採取データリスト501の送信側オブジェクトID506、送信側メッセージID507及び送信時刻508を格納し(ステップ445)、採取データリスト501が完成する。   FIG. 5 is a flowchart showing a processing flow of the collectors 131 and 132 for collecting performance data. When the collectors 131 and 132 receive a notification from the measurement target object, the collectors 131 and 132 secure the area of the collection data list 501 on the memory (step 420), and the measurement target object notified to the object ID 502 of the secured collection data list 501 area. The other object fields are initialized with -1 (step 430). Next, the type of communication that has occurred is checked (step 440). When a processing start notification and a message transmission notification are received from the measurement target object (step 440 transmission), the processing start time is stored in the reception time 505 of the collection data list 501 and the collection data list 501 is based on the information of the message transmission notification. The transmission side object ID 506, the transmission side message ID 507, and the transmission time 508 are stored (step 445), and the collection data list 501 is completed.

計測対象オブジェクトからメッセージ受信通知を受けたときには(ステップ440受信)、メッセージ受信通知の情報に基づいて採取データリスト501の受信側オブジェクトID503、受信側メッセージID504及び受信時刻505を格納する(ステップ450)。次に計測対象オブジェクトから受け取ったフラグによって引き続き送信が発生するか否かを判定する(ステップ455)。引き続き送信が発生する場合には(ステップ455Yes)、同一計測対象オブジェクトからのメッセージ送信通知を待ち、メッセージ送信通知を受け取ったとき採取データリスト501の送信側オブジェクトID506、送信側メッセージID507及び送信時刻508を格納し(ステップ460)、採取データリスト501が完成する。引き続き送信が発生しない場合には(ステップ455No)、同一計測対象オブジェクトからの処理終了通知を待ち、処理終了通知を受け取ったとき採取データリスト501の送信時刻508に処理終了時刻を格納し(ステップ465)、採取データリスト501が完成する。   When a message reception notification is received from the measurement target object (step 440 reception), the reception side object ID 503, reception side message ID 504, and reception time 505 of the collection data list 501 are stored based on the message reception notification information (step 450). . Next, it is determined whether or not transmission continues with the flag received from the measurement target object (step 455). If the transmission continues (Yes in step 455), it waits for a message transmission notification from the same object to be measured. When a message transmission notification is received, the transmission side object ID 506, the transmission side message ID 507, and the transmission time 508 in the collection data list 501 are received. (Step 460), and the collection data list 501 is completed. If transmission does not continue (No in step 455), the process end notification from the same measurement target object is waited, and when the process end notification is received, the process end time is stored in the transmission time 508 of the collection data list 501 (step 465). ), The collection data list 501 is completed.

なお同一のオブジェクトについて処理開始時刻からメッセージ送信時刻までの処理時間又はメッセージ受信時刻から処理終了時刻までの処理時間を性能モニタリング上無視できる場合には、処理開始時刻又は処理終了時刻の採取を省略してもよい。処理終了時刻を無視する場合には、ステップ465の処理はない。   If the processing time from the processing start time to the message transmission time or the processing time from the message reception time to the processing end time can be ignored for performance monitoring for the same object, the collection of the processing start time or the processing end time is omitted. May be. When ignoring the processing end time, there is no processing in step 465.

図6は、マネージャ130が計算機103のメモリ上に作成するリクエストフローテーブル701のデータ構成を示す図である。リクエストフローテーブル701は、通信によつて関連づけられる計測対象オブジェクトのグループについてマネージャ130に到着した採取データリスト501を処理が行われた順に従って時系列に配列されるようにソートしたものである。リクエストフローテーブル701の各行は採取データリスト501そのものであり、オブジェクトID702、受信側オブジェクトID703、受信側メッセージID704、受信時刻705、送信側オブジェクトID706、送信側メッセージID707及び送信時刻708の各フィールドの内容は、各々オブジェクトID502、受信側オブジェクトID503、受信側メッセージID504、受信時刻505、送信側オブジェクトID506、送信側メッセージID507及び送信時刻508と同じである。リクエストフローテーブル701の各行について送信時刻708と受信時刻705との差がその計測対象オブジェクトの処理時間(同一計算機内の待ち時間を含む処理の経過時間)である。またある行の送信側オブジェクトID706に格納されるオブジェクトIDが次の行のオブジェクトID702であり、次の行の受信側オブジェクトID703に格納されるオブジェクトIDがある行のオブジェクトID702であり、送信側のメッセージIDと受信側のメッセージIDが一致する場合、同一トランザクションについての処理の流れの中で両方の計測対象オブジェクト間に通信が行われたことを示し、ある行の送信時刻708と次の行の受信時刻705との差が両オブジェクト間の通信時間である。リクエストフローテーブル701は一連の処理の流れごとに各々作成される。   FIG. 6 is a diagram showing a data configuration of the request flow table 701 created by the manager 130 on the memory of the computer 103. The request flow table 701 is obtained by sorting the collection data list 501 that has arrived at the manager 130 with respect to the group of measurement target objects associated through communication so that they are arranged in time series according to the order in which the processing is performed. Each row of the request flow table 701 is the collection data list 501 itself, and the contents of each field of the object ID 702, the reception side object ID 703, the reception side message ID 704, the reception time 705, the transmission side object ID 706, the transmission side message ID 707 and the transmission time 708. Are the same as the object ID 502, the reception object ID 503, the reception message ID 504, the reception time 505, the transmission object ID 506, the transmission message ID 507, and the transmission time 508, respectively. The difference between the transmission time 708 and the reception time 705 for each row of the request flow table 701 is the processing time of the measurement target object (elapsed processing time including waiting time in the same computer). Further, the object ID stored in the sending object ID 706 of a certain line is the object ID 702 of the next line, the object ID 702 of the line having the object ID stored in the receiving object ID 703 of the next line, When the message ID matches the message ID of the receiving side, it indicates that communication has been performed between both measurement target objects in the processing flow for the same transaction, and the transmission time 708 of one line and the next line The difference from the reception time 705 is the communication time between both objects. The request flow table 701 is created for each series of processing flows.

図7は、計算機103の表示装置上に表示される計測結果表示画面810の例を示す図である。計測結果表示画面810は、リクエストフローテーブル701を図式化した処理フロー820を表示する。処理フロー820は処理が行われたオブジェクトのオブジェクトID801を処理が行われた順に従って時系列に配列し、オブジェクトID801の前後を線分804によって結んだものである。処理フロー820は、オブジェクトID801、その処理時間を示す802、オブジェクト間の通信時間を示す803の組、および各オブジェクトを結び付ける線分804から構成される。各オブジェクトID801はリクエストフローテーブル701の各オブジェクトID702に相当する。   FIG. 7 is a diagram illustrating an example of a measurement result display screen 810 displayed on the display device of the computer 103. The measurement result display screen 810 displays a processing flow 820 that schematically illustrates the request flow table 701. In the processing flow 820, the object IDs 801 of the processed objects are arranged in time series according to the order in which the processing is performed, and the object ID 801 is connected by a line segment 804 before and after. The processing flow 820 includes an object ID 801, a set of 802 indicating the processing time thereof, a set of 803 indicating a communication time between objects, and a line segment 804 connecting the objects. Each object ID 801 corresponds to each object ID 702 in the request flow table 701.

図8は、リクエストフローテーブル701を作成し表示するマネージャ130の処理の流れを示すフローチャートである。マネージャ130はコレクタ131,132から採取データリスト501が到着するのを待つ(ステップ610)。
採取データリスト501が到着すると(ステップ610Yes)、その受信側オブジェクトID503をチェックし、このIDが選択された計測対象オブジェクトのIDのいずれかと一致しているか否かを判定する(ステップ620)。一致していない場合(ステップ620No)、計算機103のメモリ上に新規にリクエストフローテーブル701の領域を確保し、到着した採取データリスト501をその先頭の要素とする(ステップ635)。なおこの完成していないリクエストフローテーブル701を以降、作成中リクエストフローテーブルと呼ぶ。作成中リクエストフローテーブルは、図8に示された処理が行われている間、複数作成され得る。
FIG. 8 is a flowchart showing a processing flow of the manager 130 that creates and displays the request flow table 701. The manager 130 waits for the collection data list 501 to arrive from the collectors 131 and 132 (step 610).
When the collection data list 501 arrives (step 610 Yes), the receiving side object ID 503 is checked to determine whether or not this ID matches any of the IDs of the selected measurement target objects (step 620). If they do not match (No in step 620), a new area of the request flow table 701 is secured on the memory of the computer 103, and the arrived collection data list 501 is set as the head element (step 635). The unfinished request flow table 701 will be referred to as a request flow table being created. A plurality of in-creation request flow tables can be created while the processing shown in FIG. 8 is being performed.

一致している場合(ステップ620Yes)、作成中リクエストフローテーブルを探索し、その中にテーブルの最後尾を構成する採取データリストの送信側メッセージIDと、今取得した採取データリストの受信メッセージIDが一致しているテーブルがあるかどうかをチェックする(ステップ645)。チェックの結果、一致するものがあれば(ステップ645Yes)、当該作成中リクエストフ
ローテーブルの最後尾に今取得した採取データリストを付加する(ステップ647)。また一致するものがなければ(ステップ645No)、採取データリストをメモリ上の一時保存領域である採取データリストバッファに保存し(ステップ649)、ステップ610に戻って新たな採取データリストの到着を待つ。
If they match (Yes in step 620), the request flow table being created is searched, and the transmission side message ID of the collection data list constituting the tail of the table and the received message ID of the collection data list just acquired are It is checked whether there is a matching table (step 645). If there is a match as a result of the check (step 645 Yes), the acquired data list just acquired is added to the end of the request flow table being created (step 647). If there is no match (No in step 645), the collection data list is stored in the collection data list buffer, which is a temporary storage area on the memory (step 649), and the process returns to step 610 to wait for the arrival of a new collection data list. .

ステップ635、ステップ647に続くステップ650において、作成中リクエストフローテーブルの最後尾に付加された採取データリストの送信側オブジェクトID706をチェックする(ステップ650)。これが選択された計測対象オブジェクトのIDでなければ(ステップ650No)、このリクエストフローテーブルはこれで完結するので、このリクエストフローテーブルの表示を行う(
ステップ652)。表示後、あらかじめ設定された時間を超えていないかをチェックする(ステップ654)。超えていなければ(ステップ654Yes)、ステップ610に戻って新たな採取データリストの到着を待つ。超えていれば(ステップ654No)、マネージャ130の処理を終了する。
In step 650 following step 635 and step 647, the transmission side object ID 706 of the collection data list added to the end of the request flow table being created is checked (step 650). If this is not the ID of the selected measurement target object (No in step 650), this request flow table is completed, so this request flow table is displayed (
Step 652). After the display, it is checked whether or not a preset time has been exceeded (step 654). If not exceeded (Yes in step 654), the process returns to step 610 to wait for the arrival of a new collection data list. If it exceeds (No in Step 654), the process of the manager 130 is terminated.

ステップ650のチェックの結果、送信側オブジェクトが選択された計測対象オブジェクトのIDであった場合には(ステップ650Yes)、送信側メッセージID707と同じ受信側メッセージIDを持つ採取データリストを採取データリストバッファから探索する(ステップ655)。採取データリストが見つかれば(ステップ655有)、この採取データリストをステップ635又は647で対象とした作成中リクエストフローテーブルの最後尾に付加し、その後ステップ650に戻る。採取データリストがなければ(ステップ655無し)、ステップ610に戻り新たな採取データリストの到着を待つ。   If the result of the check in step 650 is that the sending object is the ID of the selected measurement target object (Yes in step 650), a collected data list having the same receiving message ID as the sending message ID 707 is collected. (Step 655). If the collection data list is found (Yes in step 655), the collection data list is added to the tail of the request flow table being created in step 635 or 647, and then the process returns to step 650. If there is no collection data list (no step 655), the process returns to step 610 to wait for the arrival of a new collection data list.

図8に示すマネージャ130の処理手順によれば、複数のトランザクションに属する採取データリスト501が混在してマネージャ130に到着したり、各オブジェクトの処理のシーケンスと採取データリスト501到着のシーケンスとが異なっても、各トランザクションごとにリクエストフローテーブル701が作成され、リクエストフローテーブル701を構成する採取データリストは処理のシーケンスに従って時系列に配列される。リクエストフローテーブルに格納すべき時点より早く到着した採取データリストはステップ649で採取データリストバッファに保存され、格納すべき時点になったときステップ665で同テーブルに格納される。   According to the processing procedure of the manager 130 shown in FIG. 8, the collection data list 501 belonging to a plurality of transactions is mixed and arrives at the manager 130, or the processing sequence of each object is different from the arrival sequence of the collection data list 501. However, a request flow table 701 is created for each transaction, and the collected data list constituting the request flow table 701 is arranged in time series according to the processing sequence. The collected data list that arrives earlier than the time point to be stored in the request flow table is stored in the collected data list buffer in step 649, and is stored in the table in step 665 when the time point to be stored is reached.

第1の実施形態ではあらかじめ一定の動作時間を定めておき、この時間だけマネージャ130とコレクタ131,132の性能データ収集処理を繰り返し行うが、マネージャ130にユーザからの終了指示を受け付ける機能を付与することにより任意の時間、処理を行うことが可能になる。この処理を行うために必要な図2に示したフローチャートについての変更点は以下の通りである。マネージャ130の変更点は、終了判定ステップ255を「ユーザからの終了指示があるか?」とすることと、終了指示があれば終了前にコレクタに終了指示を送信することの2点である。コレクタ131,132の変更点は、ステップ295を「マネージャからの終了指示があるか?」とすることである。   In the first embodiment, a certain operation time is set in advance, and the performance data collection processing of the manager 130 and the collectors 131 and 132 is repeated for this time, but the manager 130 is given a function of accepting an end instruction from the user. Thus, processing can be performed for an arbitrary time. Changes to the flowchart shown in FIG. 2 necessary for performing this processing are as follows. The manager 130 has two changes: the end determination step 255 is “Is there an end instruction from the user?” And if there is an end instruction, the end instruction is transmitted to the collector before the end. The change of the collectors 131 and 132 is that step 295 is set to “Is there an end instruction from the manager?”.

以上説明した第1の実施形態によれば、選択された計測対象オブジェクトに係わる処理時間を採取することが可能である。さらに選択された複数の計測対象オブジェクトに亘って処理が行われる場合、これらの処理を一つの処理フロー820として表示し、各オブジェクトについての処理時間とオブジェクト間の通信時間を表示することが可能である。   According to the first embodiment described above, the processing time related to the selected measurement target object can be collected. Furthermore, when processing is performed over a plurality of selected measurement target objects, these processing can be displayed as one processing flow 820, and the processing time for each object and the communication time between the objects can be displayed. is there.

(2)第2の実施形態
第1の実施形態では、処理フローを取得したい場合に、ユーザはその処理フローに関与するすべてのオブジェクトを計測対象として指定しなければならないという面倒がある。第2の実施形態では、ユーザはオブジェクトを1つ指定することによってそのオブジェクトが行う処理から後の一連の処理について処理フローを得ることができる。この機能を実現するためにコレクタ131,132がリクエストフローテーブルを作成する。すなわちオブジェクト間を移動するメッセージにリクエストフローテーブルを付加し、各オブジェクトで処理が行われるごとにリクエストフローテーブルに採取データリストを追加する。以下に図1で示される分散オブジェクト環境について第2の実施形態の構成及び動作を説明する。
(2) Second Embodiment In the first embodiment, when a user wants to acquire a processing flow, there is a hassle that the user must designate all objects involved in the processing flow as measurement targets. In the second embodiment, the user can obtain a processing flow for a series of processing after the processing performed by the object by designating one object. In order to realize this function, the collectors 131 and 132 create a request flow table. That is, a request flow table is added to a message that moves between objects, and a collection data list is added to the request flow table every time processing is performed on each object. The configuration and operation of the second embodiment will be described below for the distributed object environment shown in FIG.

図9は、第2の実施形態のシステム全体の処理の概略手順を示すフロー図である。この処理手順はマネージャ130の担当部分であるブロック901とコレクタ131,132の担当部分であるブロック902の2つのブロックから成る。   FIG. 9 is a flowchart illustrating a schematic procedure of processing of the entire system according to the second embodiment. This processing procedure consists of two blocks: a block 901 that is a part in charge of the manager 130 and a block 902 that is a part in charge of the collectors 131 and 132.

まずマネージャ130が実行するブロック901について説明する。マネージャ130は最初にステップ910において処理フローの最初に処理を行うオブジェクトの選択入力を受け付ける。この入力方法は第1の実施形態で説明した方法と同じである。ただし指定するオブジェクトの数は1つに限定される。次にステップ920において、ステップ910で入力された性能データを採取するオブジェクトのオブジェクトIDを全てのコレクタ131,132にブロードキャストによつて通知する。マネージャ130はステップ930において、コレクタ131,132から転送されてくるデータの到着を待つ。性能データを受信すると、ステップ950で処理フローの表示を行う。表示後、ステップ955において終了条件の判定を行う。本実施形態では任意の動作時間をあらかじめ設定しておき、ステップ955では設定された時間を超えていないかをチェックする。超えていれば処理を終了するが、超えていなければステップ930に戻る。このようにステップ930および950の処理は、マネージャ130が最初にコレクタ131,132より性能データを受け取ってからあらかじめ設定された一定時間、繰り返し行われる。   First, the block 901 executed by the manager 130 will be described. In step 910, the manager 130 first receives an input for selecting an object to be processed at the beginning of the processing flow. This input method is the same as the method described in the first embodiment. However, the number of objects to be specified is limited to one. Next, in step 920, the object ID of the object from which the performance data input in step 910 is collected is notified to all the collectors 131 and 132 by broadcast. In step 930, the manager 130 waits for arrival of data transferred from the collectors 131 and 132. When the performance data is received, a processing flow is displayed in step 950. After the display, the end condition is determined in step 955. In the present embodiment, an arbitrary operation time is set in advance, and it is checked in step 955 whether the set time has been exceeded. If it exceeds, the process ends. If not, the process returns to Step 930. As described above, the processes in steps 930 and 950 are repeatedly performed for a predetermined time after the manager 130 first receives performance data from the collectors 131 and 132.

続いてコレクタ131,132が実行するブロック902について説明する。コレクタ131,132はステップ970において、マネージャ130によってブロードキャストされたオブジェクトIDを受信する。コレクタ131,132は、そのコレクタが実行されている計算機101,102内で実行されているオブジェクトの監視を開始する。コレクタ131,132はステップ980でオブジェクトに処理が発生すると、処理開始時刻又はメッセージ受信時刻、メッセージ送信時刻又は処理終了時刻を必要に応じて採取し、採取したデータによって処理フローデータを作成する。次にステップ990で作成した処理フローデータをマネージャに送信する。性能データ送信後、ステップ995において終了条件の判定を行う。本実施形態ではステップ995の動作時間と同じ動作時間をあらかじめ設定しておき、ステップ995で設定された時間を超えていないかをチェックする。超えていれば処理を終了するが、超えていなければステップ980に戻る。このようにステップ980および990の処理は、コレクタ131,132がマネージャ130からオブジェクトIDのデータを受け取ってからあらかじめ設定された一定時間、繰り返し行われる。   Next, the block 902 executed by the collectors 131 and 132 will be described. In step 970, the collectors 131 and 132 receive the object ID broadcast by the manager 130. The collectors 131 and 132 start monitoring the objects being executed in the computers 101 and 102 in which the collectors are executed. When processing occurs in the object in step 980, the collectors 131 and 132 collect processing start time or message reception time, message transmission time or processing end time as necessary, and create processing flow data from the collected data. Next, the processing flow data created in step 990 is transmitted to the manager. After the performance data is transmitted, the end condition is determined in step 995. In this embodiment, the same operation time as the operation time of Step 995 is set in advance, and it is checked whether the time set in Step 995 has been exceeded. If it exceeds, the process ends. If not, the process returns to Step 980. As described above, the processes in steps 980 and 990 are repeatedly performed for a predetermined time after the collectors 131 and 132 receive the object ID data from the manager 130.

図10は、第2の実施形態で用いる採取データリスト1101のデータ構成を示す図である。採取データリスト1101はオブジェクトID1110、受信時刻1120及び送信時刻1130の各フィールドから構成される。オブジェクトID1110はユーザによって指定されたオブジェクト又は処理フローを構成するいずれかのオブジェクトのIDである。受信時刻1120はそのオブジェクトについて処理開始時刻又はメッセージ受信時刻である。送信時刻1130はそのオブジェクトについてメッセージ送信時刻又は処理終了時刻である。   FIG. 10 is a diagram illustrating a data configuration of the collection data list 1101 used in the second embodiment. The collection data list 1101 includes fields of an object ID 1110, a reception time 1120, and a transmission time 1130. The object ID 1110 is an object specified by the user or an ID of any object constituting the processing flow. The reception time 1120 is a processing start time or a message reception time for the object. The transmission time 1130 is a message transmission time or a processing end time for the object.

図11は、第2の実施形態で用いるリクエストフローテーブル1201のデータ構成を示す図である。リクエストフローテーブル1201は採取データリスト1101を処理が行われた順に従って時系列に配列したテーブルである。リクエストフローテーブル1201は各処理フローについて1つ作成される。   FIG. 11 is a diagram illustrating a data configuration of the request flow table 1201 used in the second embodiment. The request flow table 1201 is a table in which the collection data list 1101 is arranged in time series according to the order in which processing is performed. One request flow table 1201 is created for each processing flow.

各オブジェクトは、データ入力等のイベントが発生し、処理開始する時点でその計算機に設けられるコレクタへそのオブジェクトのID及び処理開始時刻を通知する。また各オブジェクトは、他のオブジェクトにメッセージ送信する時点でそのコレクタへそのオブジェクトのID及びメッセージ送信の発生した時刻を通知する。コレクタからリクエストフローテーブル1201を受け取り、他のオブジェクトへのメッセージに受け取ったリクエストフローテーブル1201を付加して送信する。また他のオブジェクトからメッセージ又はメッセージとリクエストフローテーブル1201を受信した時点でそのコレクタへそのオブジェクトのID、リクエストフローテーブル1201を受けていればリクエストフローテーブル1201、メッセージ受信時刻、および引き続きメッセージ送信が発生するか否かを示すフラグを通知する。また一連の処理を終了する時点でそのオブジェクトのID及び処理終了時刻をコレクタに通知する。   Each object notifies the ID of the object and the process start time to the collector provided in the computer when an event such as data input occurs and the process starts. Each object notifies the collector of the ID of the object and the time when the message transmission occurred at the time of message transmission to the other object. The request flow table 1201 is received from the collector, and the received request flow table 1201 is added to a message to another object and transmitted. When a message or message and request flow table 1201 are received from another object, the collector receives the ID of the object, the request flow table 1201 if the request flow table 1201 has been received, and message transmission continues. A flag indicating whether or not to perform is notified. In addition, when the series of processing ends, the collector notifies the collector of the object ID and processing end time.

コレクタ131,132は、ステップ910の処理、すなわちユーザからオブジェクト選択の入力を受け付ける処理では、第1の実施形態と同様に計測対象オブジェクト選択画面301を表示し、オブジェクトIDの入力を受ける。ただし第2の実施形態では、オブジェクト一覧ウィンドウ302に表示されるオブジェクトIDのうちの1つのみが選択可能である。オブジェクトIDが選択された後、計測開始ボタン303が押下されると、マネージャ130は各コレクタ131,132に対して選択されたオブジェクトIDのブロードキャストを行う。   In the process of step 910, that is, the process of receiving an object selection input from the user, the collectors 131 and 132 display the measurement target object selection screen 301 and receive the input of the object ID as in the first embodiment. However, in the second embodiment, only one of the object IDs displayed in the object list window 302 can be selected. When the measurement start button 303 is pressed after the object ID is selected, the manager 130 broadcasts the selected object ID to the collectors 131 and 132.

図12は、性能データを採取し、リクエストフローテーブル1201を作成するコレクタ131,132の処理の流れを示すフローチャートである。まずコレクタ131,132はあらかじめ設定された時間を超えていないかをチェックする(ステップ1005)。超えていればコレクタ131,132の処理を終了する。超えていなければ、その計算機で実行されているすべてのオブジェクトについて通信の発生を待つ(ステップ1010)。   FIG. 12 is a flowchart showing the processing flow of the collectors 131 and 132 that collect performance data and create the request flow table 1201. First, the collectors 131 and 132 check whether or not a preset time has been exceeded (step 1005). If it exceeds, the processing of the collectors 131 and 132 is terminated. If not, it waits for the occurrence of communication for all objects being executed on the computer (step 1010).

いずれかのオブジェクトからメッセージ送信通知又は処理開始通知とメッセージ送信通知を受けたときには(ステップ1020YES)、送信を行うオブジェクトが選択された(指定された)オブジェクトか否かチェックする(ステップ1030)。指定されたオブジェクトでなければ(ステップ1030NO)、性能データを採取する必要がないため、ステップ1005に戻る。指定されたオブジェクトであれば、メモリ上にリクエストフローテーブル1201用の領域を確保する(ステップ1032)。次にメモリ上に採取データリスト1101の領域を確保し(ステップ1034)、このリストにオブジェクトID1110、受信時刻1120及び送信時刻1130を格納する(ステップ1036)。オブジェクトID1110には当該オブジェクトのオブジェクトID、受信時刻1120には処理開始時刻、送信時刻1130には送信の発生した時刻を格納する。次に作成した採取データリスト1101をリクエストフローテーブル1201の最後端に追加し、当該オブジェクトへ送信する(ステップ1040)。   When a message transmission notification or a process start notification and a message transmission notification are received from any object (step 1020 YES), it is checked whether or not the object to be transmitted is a selected (designated) object (step 1030). If it is not the designated object (NO in step 1030), it is not necessary to collect performance data, and the process returns to step 1005. If it is a designated object, an area for the request flow table 1201 is secured on the memory (step 1032). Next, an area of the collection data list 1101 is secured in the memory (step 1034), and the object ID 1110, the reception time 1120, and the transmission time 1130 are stored in this list (step 1036). The object ID 1110 stores the object ID of the object, the reception time 1120 stores the processing start time, and the transmission time 1130 stores the transmission time. Next, the created collection data list 1101 is added to the last end of the request flow table 1201 and transmitted to the object (step 1040).

一方オブジェクトからメッセージ受信通知を受けたときには(ステップ1020NO)、その通知にリクエストフローテーブル1201が付加されているか否かをチェックする(ステップ1050)。リクエストフローテーブル1201が付加されていなければ(ステップ1050NO)、そのオブジェクトが指定されたオブジェクトか否かをチェックする(ステップ1060)。指定されたオブジェクトでなければ(ステップ1060NO)、性能データを採取する必要がないため、ステップ1005に戻る。指定されたオブジェクトであれば、メモリ上にリクエストフローテーブル1201用の領域を確保し(ステップ1062)、ステップ1070へ行く。   On the other hand, when a message reception notification is received from the object (NO in step 1020), it is checked whether the request flow table 1201 is added to the notification (step 1050). If the request flow table 1201 is not added (step 1050 NO), it is checked whether or not the object is a designated object (step 1060). If it is not the designated object (NO in step 1060), it is not necessary to collect performance data, and the process returns to step 1005. If it is the designated object, an area for the request flow table 1201 is secured in the memory (step 1062), and the process goes to step 1070.

メッセージ受信通知にリクエストフローテーブル1201が付加されていたとき(ステップ1050YES)、メモリ上に採取データリスト1101の領域を確保し(ステップ1070)、このリストにオブジェクトID1110及び受信時刻1120を格納する(ステップ1072)。オブジェクトID1110には当該オブジェクトのオブジェクトID、受信時刻1120にはメッセージ受信時刻を格納する。   When the request flow table 1201 is added to the message reception notification (YES in step 1050), an area of the collection data list 1101 is secured on the memory (step 1070), and the object ID 1110 and the reception time 1120 are stored in this list (step 1010). 1072). The object ID 1110 stores the object ID of the object, and the reception time 1120 stores the message reception time.

次に当該オブジェクトから受け取ったフラグによって引き続き送信が発生するか否か判定する(ステップ1080)。引き続き送信が発生する場合には(ステップ1080YES)、同一オブジェクトからのメッセージ送信通知を待ち、メッセージ送信通知を受けたとき作成中の採取データリスト1101の送信時刻1130に送信の発生した時刻を格納する(ステップ1082)。次に作成した採
取データリスト1101をすでに当該オブジェクトから受け取っているか又は新規に生成したリクエストフローテーブル1201の最後端に追加し、当該オブジェクトへ送信する(ステップ1084)。
Next, it is determined whether or not the transmission continues with the flag received from the object (step 1080). If transmission continues (YES in step 1080), the message transmission notification from the same object is waited, and when the message transmission notification is received, the transmission time is stored in the transmission time 1130 of the collection data list 1101 being created. (Step 1082). Next, the created collection data list 1101 is added to the last end of the request flow table 1201 that has already been received from the object or is newly generated, and transmitted to the object (step 1084).

引き続き送信が発生しない場合には(ステップ1080NO)、同一オブジェクトからの処理終了通知を待ち、処理終了通知を受けたとき作成中の採取データリスト1101の送信時刻1130に処理終了時刻を格納する(ステップ1085)。次に作成した採取データリスト1101をすでに当該オブジェクトから受け取っているか又は新規に生成したリクエストフローテーブル1201の最後端に追加し(ステップ1086)、完成したリクエストフローテーブル1201をマネージャ130に送信し(ステップ1088)、ステップ1005に戻る。   If the transmission does not continue (NO in step 1080), the processing end notification from the same object is awaited, and when the processing end notification is received, the processing end time is stored in the transmission time 1130 of the collection data list 1101 being created (step 1085). Next, the created collection data list 1101 is added to the last end of the request flow table 1201 that has been received from the object or newly generated (step 1086), and the completed request flow table 1201 is transmitted to the manager 130 (step 1088), it returns to step 1005.

次にステップ950が行う処理フローの表示について説明する。ここでは第1の実施形態と同様に処理フロー820を計測結果表示画面810に表示する。オブジェクトID801はリクエストフローテーブル1201の各行を構成する採取データリスト1101のオブジェクトID1110そのものであり、オブジェクト実行の処理時間802はリクエストフローテーブル1201の各行を構成する採取データリスト1101の受信時刻1120と送信時刻1130の差を取ることによって求め、通信時間803はリクエストフローテーブル1201を構成する2つの連続した採取データリスト1101の送信時刻と受信時刻の差を取ることによって求める。   Next, processing flow display performed in step 950 will be described. Here, the processing flow 820 is displayed on the measurement result display screen 810 as in the first embodiment. The object ID 801 is the object ID 1110 itself of the collection data list 1101 constituting each row of the request flow table 1201, and the processing time 802 for executing the object is the reception time 1120 and the transmission time of the collection data list 1101 constituting each row of the request flow table 1201. The communication time 803 is obtained by taking the difference between the transmission time and the reception time of the two consecutive collection data lists 1101 constituting the request flow table 1201.

以上説明した第2の実施形態によれば、ユーザはオブジェクトを1つ指定することによって、そのオブジェクトの処理から後の処理フローを得ることが可能となる。これにより例えばあるクライアントオブジェクトがどのサーバオブジェクトにアクセスするかわからなくても、そのクライアントオブジェクトを指定するだけでそのクライアントからの要求によって始まる一連の処理の処理フローを得ることが可能となる。また第1の実施形態のように特定のオブジェクトによって処理された処理フローを抽出することも可能である。   According to the second embodiment described above, the user can obtain a subsequent processing flow from the processing of the object by designating one object. Thus, for example, even if it is not known which server object a certain client object accesses, it is possible to obtain a processing flow of a series of processes starting from a request from the client only by specifying the client object. It is also possible to extract a processing flow processed by a specific object as in the first embodiment.

(3)第3の実施形態
第1および第2の実施形態では、計測対象オブジェクト又は処理フローの先頭の処理を行うオブジェクトの入力を受け付け、指定されたオブジェクトに係わる処理フロー又は指定されたオブジェクトを処理の先頭とする処理フローを取得した。第3の実施形態では対象計算機の入力を受け付け、対象計算機が入力されると指定された計算機内で実行される全オブジェクトのポイントデータの取得を可能とする。また第2の実施形態の性能データの収集処理とポイントデータの収集処理を状況に応じて自動的に切り替える機能を提供する。
(3) Third Embodiment In the first and second embodiments, an input of an object to be measured or an object to be processed at the head of the processing flow is received, and a processing flow or a specified object related to the specified object is received. Acquired the processing flow at the beginning of the process. In the third embodiment, the input of the target computer is accepted, and when the target computer is input, the point data of all objects executed in the designated computer can be acquired. In addition, a function of automatically switching between the performance data collection process and the point data collection process of the second embodiment according to the situation is provided.

図13は、計算機103の表示装置上に表示されるデータ収集対象の選択画面1410の例を示す図である。選択画面1410はフローデータ選択ボタン1420及びポイントデータ選択ボタン1430を表示する。フローデータ選択ボタン1420は、収集対象としてフローデータを選択するとき押下されるボタンである。フローデータとは、第1の実施形態で説明したように、一連の処理が複数のオブジェクトに亘って行われるときに処理の流れを構成する各オブジェクトの処理の時間及びオブジェクト間の通信の時間を集めたものである。ポイントデータ選択ボタン1430は、収集対象としてポイントデータを選択するとき押下されるボタンである。ポイントデータとは、ある計算機に着目し、その計算機で実行されるすべてのオブジェクトの処理の時間を集めたものである。   FIG. 13 is a diagram showing an example of a data collection target selection screen 1410 displayed on the display device of the computer 103. The selection screen 1410 displays a flow data selection button 1420 and a point data selection button 1430. The flow data selection button 1420 is a button that is pressed when selecting flow data as a collection target. As described in the first embodiment, the flow data refers to the processing time of each object and the communication time between objects that constitute the processing flow when a series of processing is performed over a plurality of objects. It is a collection. The point data selection button 1430 is a button that is pressed when selecting point data as a collection target. Point data is a collection of processing times of all objects executed on a computer by paying attention to the computer.

図14は、計算機103の表示装置上に表示される計測対象計算機選択画面1510の例を示す図である。計測対象計算機選択画面1510は、計算機一覧ウィンドウ1520および計測開始ボタン1530を表示する。計算機一覧ウィンドウ1520は、LAN140上に接続されているすべての計算機の一覧を表示する。計測開始ボタン1530は、計算機が指定された後、計測の開始を指示するためのボタンである。   FIG. 14 is a diagram illustrating an example of a measurement target computer selection screen 1510 displayed on the display device of the computer 103. The measurement target computer selection screen 1510 displays a computer list window 1520 and a measurement start button 1530. The computer list window 1520 displays a list of all computers connected on the LAN 140. The measurement start button 1530 is a button for instructing the start of measurement after a computer is designated.

図15は、計算機103のメモリ上に設定される閾値テーブル1610のデータ構成を示す図である。「オブジェクトID」は各オブジェクトのID、「処理時間」はそのオブジェクト内の処理に要する時間の上限である。「処理時間」はその処理を実行する計算機で発生する待ち時間も含む処理経過時間である。「待ち時間」はそのオブジェクトが他の計算機のオブジェクトに処理を依頼してから結果を受け取るまでの待ち時間である。   FIG. 15 is a diagram showing a data structure of the threshold table 1610 set on the memory of the computer 103. “Object ID” is the ID of each object, and “Processing time” is the upper limit of the time required for processing in the object. “Processing time” is a processing elapsed time including a waiting time generated in a computer executing the processing. The “waiting time” is a waiting time from when the object requests processing to an object of another computer until the result is received.

図16は、計算機103の表示装置上に表示されるポイントデータの収集結果表示画面の例を示す図である。画面上には指定された計測対象計算機の識別子と、その計算機で実行されたオブジェクトのID及び処理時間を表示する。アイドルはすぐ上のオブジェクトが他の計算機のオブジェクトに処理を依頼したために生じた待ち時間である。   FIG. 16 is a diagram showing an example of a point data collection result display screen displayed on the display device of the computer 103. On the screen, the identifier of the designated measurement target computer, the ID of the object executed on the computer, and the processing time are displayed. Idle is a waiting time that occurs because the object immediately above has requested processing from an object of another computer.

図17は、第3の実施形態に関するマネージャ130の処理の流れを示すフローチャートである。フローチャートは大きく3つのブロック、すなわちデータの収集・表示対象の初期設定を行うブロック1301、フローデータの収集・表示を行うブロック1302、およびポイントデータの収集・表示を行うブロック1303から構成される。   FIG. 17 is a flowchart illustrating a processing flow of the manager 130 according to the third embodiment. The flowchart is mainly composed of three blocks: a block 1301 for initial setting of data collection / display target, a block 1302 for collection / display of flow data, and a block 1303 for collection / display of point data.

マネージャ130はまず選択画面1410を表示し、入力情報からデータ収集の対象がフローデータかポイントデータかを判定する(ステップ1305)。フローデータが選択された場合には、計測対象オブジェクト選択画面301を表示し、処理フローの最初に位置する対象オブジェクトの指定を受け付ける(ステップ1307)。そして計測開始ボタン303が押下されると、ステップ1310へ進む。一方ポイントデータが選択された場合には、計測対象計算機選択画面1510を表示し、計測対象計算機の指定を受け付ける(ステップ1309)。そして計算機が指定され、計測開始ボタン1530が押下されると、ステップ1360へ進む。   The manager 130 first displays a selection screen 1410, and determines from the input information whether the data collection target is flow data or point data (step 1305). When the flow data is selected, the measurement target object selection screen 301 is displayed, and designation of the target object located at the beginning of the processing flow is accepted (step 1307). When the measurement start button 303 is pressed, the process proceeds to step 1310. On the other hand, when the point data is selected, a measurement target computer selection screen 1510 is displayed, and designation of the measurement target computer is accepted (step 1309). When the computer is specified and the measurement start button 1530 is pressed, the process proceeds to step 1360.

フローデータの収集・表示の場合、まず各コレクタに対して指定されたオブジェクトのIDを通知してデータの計測を指示する(ステップ1310)。次に各コレクタからリクエストフローテーブル1201を受け取り(ステップ1320)、収集したデータを編集して処理フローを表示する(ステップ1330)。以上のステップ1310〜1330の処理は、第2の実施形態のマネージャ130及びコレクタ131,132の処理と同じである。   In the case of flow data collection / display, first, the ID of the designated object is notified to each collector to instruct data measurement (step 1310). Next, the request flow table 1201 is received from each collector (step 1320), and the collected data is edited to display the processing flow (step 1330). The processes in steps 1310 to 1330 described above are the same as the processes of the manager 130 and the collectors 131 and 132 in the second embodiment.

さらにメモリ上の閾値テーブル1610を参照して計測対象を切り替える必要があるか否かを判定する(ステップ1340)。マネージャ130は、処理フロ
ーを構成する各オブジェクトについて計測された計算機内処理の待ち時間を含む処理時間と閾値テーブル1610上の対応するオブジェクトの処理時間とを比較する。そして処理時間の閾値を上回る計測時間をもつオブジェクトがなければ(ステップ1340NO)、切り替え不要と判断し、ステップ1310へ戻り、同一処理フローを構成するオブジェクトについてフローデータの収集・表示処理を継続する。一方、閾値を上回る計測時間をもつオブジェクトが存在する場合には(ステップ1340YES)、切り替えが必要と判断して該当するオブジェクトを1つ選択し、そのオブジェクトが実行された計算機を計測対象として設定する(ステップ1350)。マネージャ130は、そのオブジェクトのIDを指定して各コレクタ131,132に問い合わせ、そのオブジェクトを監視するコレクタが実行された計算機の識別子の回答を得る。そしてステップ1360へ進み、ポイントデータの収集・表示処理に切り替える。
Further, it is determined whether or not it is necessary to switch the measurement target with reference to the threshold table 1610 on the memory (step 1340). The manager 130 compares the processing time including the waiting time of the in-computer processing measured for each object constituting the processing flow with the processing time of the corresponding object on the threshold value table 1610. If there is no object having a measurement time exceeding the processing time threshold (NO in step 1340), it is determined that switching is not necessary, and the process returns to step 1310 to continue the flow data collection / display processing for the objects constituting the same processing flow. On the other hand, if there is an object having a measurement time exceeding the threshold (YES in step 1340), it is determined that switching is necessary, one corresponding object is selected, and the computer on which the object is executed is set as the measurement target. (Step 1350). The manager 130 makes an inquiry to each collector 131, 132 by specifying the ID of the object, and obtains an answer of the identifier of the computer on which the collector that monitors the object is executed. The process advances to step 1360 to switch to point data collection / display processing.

ポイントデータの収集・表示の場合、まずマネージャ130は指定された計算機に対応するコレクタに対して当該計算機で実行されるすべてのオブジェクトの処理についてデータの計測を指示する(ステップ1360)。指示を受けたコレクタは、計測対象とするオブジェクトから処理開始時刻、メッセージ受信時刻、メッセージ送信時刻および処理終了時刻の通知を受け取る。そして対象オブジェクトについて、採取データリスト501を作成し、各処理フローごとに時系列に採取データリスト501を配列してリクエストフローテーブルを作成する。次にこのリクエストフローテーブルから各対象オブジェクトの処理時間及び待ち時間を算出する。処理時間は処理開始時刻とメッセージ送信時刻との差、メッセージ受信時刻とメッセージ送信時刻との差、またはメッセージ受信時刻と処理終了時刻との差である。待ち時間は他の計算機のオブジェクトへのメッセージの送信時刻と他の計算機の同一オブジェクトからのメッセージの受信時刻との差である。次にコレクタは各対象オブジェクトの処理時間及び待ち時間をマネージャ130に送信する。なおコレクタは、データ計測の指示を受けてからあらかじめ決められた時間が経過するまでの間のデータを計測し、これらのデータをまとめてマネージャ130に送信する。マネージャ130はコレクタから計測データを受け取り(ステップ1370)、収集したポイントデータを表示する(ステップ1380)。   In the case of collecting / displaying point data, the manager 130 first instructs the collector corresponding to the designated computer to measure data for the processing of all objects executed by the computer (step 1360). Upon receiving the instruction, the collector receives notification of processing start time, message reception time, message transmission time, and processing end time from the object to be measured. Then, a collection data list 501 is created for the target object, and a request flow table is created by arranging the collection data list 501 in time series for each processing flow. Next, the processing time and waiting time of each target object are calculated from this request flow table. The processing time is the difference between the processing start time and the message transmission time, the difference between the message reception time and the message transmission time, or the difference between the message reception time and the processing end time. The waiting time is a difference between a message transmission time to an object of another computer and a reception time of a message from the same object of another computer. Next, the collector transmits the processing time and waiting time of each target object to the manager 130. The collector measures data from when a data measurement instruction is received until a predetermined time elapses, and collectively transmits these data to the manager 130. The manager 130 receives the measurement data from the collector (step 1370) and displays the collected point data (step 1380).

次にメモリ上の閾値テーブル1610を参照して計測対象を切り替える必要があるか否かを判定する(ステップ1390)。マネージャ130は、計測対象オブジェクトの各々について計測された待ち時間と閾値テーブル1610上の対応するオブジェクトの待ち時間とを比較する。待ち時間の閾値を上回る待ち時間をもつオブジェクトがなければ(ステップ1390NO)、切り替え不要と判断し
、ステップ1360へ戻り指定された計測対象計算機についてポイントデータの収集・表示処理を継続する。一方、閾値を上回る待ち時間をもつオブジェクトが存在する場合には(ステップ1390YES)、該当するオブジェクトを1つ選択し、そのオブジェクトを計測対象としてステップ1310へ進み、フローデータの収集・表示処理に切り替える。
Next, it is determined whether it is necessary to switch the measurement target with reference to the threshold value table 1610 on the memory (step 1390). The manager 130 compares the waiting time measured for each measurement target object with the waiting time of the corresponding object on the threshold table 1610. If there is no object having a waiting time exceeding the waiting time threshold (NO in step 1390), it is determined that switching is unnecessary, and the process returns to step 1360 to continue the point data collection / display processing for the designated measuring object computer. On the other hand, when there is an object having a waiting time exceeding the threshold (YES in step 1390), one corresponding object is selected, the object is set as a measurement target, the process proceeds to step 1310, and the process is switched to the flow data collection / display process. .

第3の実施形態によれば、フローデータの収集中に処理時間の上限設定値を越える処理時間を計測したオブジェクトを検出したとき、そのオブジェクトが実行される計算機で実行される他のオブジェクトの処理時間を収集することによって過大な処理時間の原因を追及できる。またポイントデータの収集中に待ち時間の上限設定値を越える待ち時間を計測したオブジェクトを検出したとき、そのオブジェクトの処理を先頭とする処理フローについてフローデータを収集することによって過大な待ち時間の原因を追及できる。このようにフローデータ収集からポイントデータ収集、ポイントデータ収集からフローデータ収集に切り替えながら性能データを収集することによって、性能のボトルネックがどの処理フローのどのオブジェクトに存在するか、あるいはどの計算機で実行されるどのオブジェクトに存在するかを検出することが可能になる。この際のフローデータ収集とポイントデータ収集との間の切り替えを自動的に行うことができる。   According to the third embodiment, when an object whose processing time exceeds a processing time upper limit set value is detected during flow data collection, the processing of another object executed on the computer on which the object is executed The cause of excessive processing time can be pursued by collecting time. In addition, when an object that has measured a waiting time exceeding the upper limit setting value of the waiting time is detected while collecting point data, the cause of excessive waiting time is collected by collecting flow data for the processing flow that starts with the processing of that object. Can be pursued. In this way, by collecting performance data while switching from flow data collection to point data collection and point data collection to flow data collection, the performance bottleneck exists in which object in which processing flow, or on which computer It is possible to detect which objects are present. Switching between flow data collection and point data collection at this time can be automatically performed.

(4)第4の実施形態
複数の計算機上で多数のオブジェクトが動作する場合に、どのオブジェクトがどのオブジェクトと関連をもって動作するかとか、どの処理フローにトランザクションが集中するかなどを把握することが困難なことがある。第4の実施形態は、オブジェクト間の呼び出しの関係及び呼び出し回数を取得することによってこのような問題を解決し、もって性能モニタリングを支援するものである。
(4) Fourth Embodiment When a large number of objects operate on a plurality of computers, it is possible to grasp which object is related to which object and which processing flow is concentrated in which processing flow. It can be difficult. The fourth embodiment solves such a problem by obtaining the relationship of calls between objects and the number of calls, thereby supporting performance monitoring.

以下に図1に示される分散オブジェクト環境において図2の概略処理手順を用いて第4の実施形態の特徴を説明する。マネージャ130は最初にステップ210においてオブジェクトの一覧を表示し、オブジェクト相関データを採取するオブジェクトの選択入力を受け付ける。オブジェクト一覧上のすべてのオブジェクトを選択することも可能である。次にステップ220において入力されたオブジェクト相関データを採取するオブジェクトのオブジェクトIDをすべてのコレクタ131,132にブロードキャストによって通知する。マネージャ130はステップ230においてコレクタ131,132から転送されてくる採取データリスト501の到着を待つ。採取データリスト501を受信すると、ステップ240で採取データリスト501から後述する呼び出しテーブル2001を作成し、ステップ250でこの呼び出しテーブル2001から後述するオブジェクト相関図1802を作成して表示する。表示後、ステップ255において指定時間が経過したか否かの終了条件の判定を行い、指定時間が経過していなければステップ230に戻って上記処理を繰り返す。   The features of the fourth embodiment will be described below using the schematic processing procedure of FIG. 2 in the distributed object environment shown in FIG. The manager 130 first displays a list of objects in step 210 and accepts an input for selecting an object for which object correlation data is collected. It is also possible to select all objects on the object list. Next, in step 220, the object ID of the object from which the object correlation data input is collected is notified to all the collectors 131 and 132 by broadcast. In step 230, the manager 130 waits for arrival of the collection data list 501 transferred from the collectors 131 and 132. When the collection data list 501 is received, a call table 2001 to be described later is created from the collection data list 501 in step 240, and an object correlation diagram 1802 to be described later is created and displayed from the call table 2001 in step 250. After the display, an end condition is determined in step 255 as to whether or not the specified time has passed. If the specified time has not passed, the process returns to step 230 and the above processing is repeated.

一方コレクタ131,132が実行するブロック202の処理は第1の実施形態で説明したものと全く同じである。   On the other hand, the processing of the block 202 executed by the collectors 131 and 132 is exactly the same as that described in the first embodiment.

図18は、呼び出しテーブル2001のデータ構成を示す図である。呼び出し元2010はリクエストを発行したオブジェクトのID、呼び出し先2020はそのリクエストを受け取ったオブジェクトのID、呼び出し回数2030はリクエストを発行した回数、すなわち呼び出し先2020のオブジェクトを呼び出した回数である。   FIG. 18 is a diagram showing the data structure of the call table 2001. As shown in FIG. The caller 2010 is the ID of the object that issued the request, the callee 2020 is the ID of the object that received the request, and the number of calls 2030 is the number of times the request has been issued, that is, the number of times the object of the callee 2020 has been called.

図19は、オブジェクト相関図表示画面1801の例を示す図である。オブジェクト相関図表示画面1801は、オブジェクト相関図1802をに表示する。1810はオブジェクトID表示部であり、1820は関連のあるオブジェクトを結合する線分、1830は線分1820の右側に位置するオブジェクトを呼び出した回数である。図19のオブジェクト相関図1802は、図18に例示する呼び出しテーブル2001を図式化したものである。   FIG. 19 is a diagram illustrating an example of an object correlation diagram display screen 1801. The object correlation diagram display screen 1801 displays an object correlation diagram 1802. 1810 is an object ID display section, 1820 is a line segment that joins related objects, and 1830 is the number of times an object located on the right side of the line segment 1820 is called. An object correlation diagram 1802 in FIG. 19 is a diagram of the call table 2001 illustrated in FIG.

図20は、上記ステップ240及びステップ250の処理の流れを示すフローチャートである。コレクタから採取データリスト501が到着すると、まず呼び出しテーブル2001の中に呼び出し元2010が受け取った採取データリスト501の受信側オブジェクトID503と一致しており、かつ呼び出し先2020がその採取データリスト501のオブジェクトID502と一致している行があるかどうかをチェックする(ステップ1910)。この場合にはオブジェクト
ID502で示されるオブジェクトが計測対象として指定されたオブジェクトである。一致するものがあれば(ステップ1910YES)、一致した呼び出しテーブルの行の呼び出し回数2030に1を加える(ステップ1920)。一致するものがなければ(ステップ1910NO)、呼び出しテーブル2001に呼び出し元2010をその採取データリスト501の受信側オブジェクトID503、呼び出し先2020を採取データリストのオブジェクトID502、呼び出し回数2030を1とする行を加える(ステップ1925)。
FIG. 20 is a flowchart showing the flow of processing in steps 240 and 250 described above. When the collection data list 501 arrives from the collector, it first matches the receiving object ID 503 of the collection data list 501 received by the caller 2010 in the call table 2001, and the call destination 2020 is an object of the collection data list 501. It is checked whether there is a line that matches the ID 502 (step 1910). In this case, the object indicated by the object ID 502 is an object designated as a measurement target. If there is a match (step 1910 YES), 1 is added to the number of calls 2030 in the matched call table row (step 1920). If there is no match (NO in step 1910), the call table 2001 includes a line with the caller 2010 as the receiving object ID 503 in the collection data list 501, the callee 2020 as the object ID 502 in the collection data list, and the number of calls 2030 as 1. Add (step 1925).

上記ステップ1920、もしくは1925の処理によって、呼び出しテーブル2001が更新された後、最新の呼び出しテーブル2001に基づいてオブジェクト関連図表示画面1801上のオブジェクト相関図1802の表示の更新を行う(ステップ1930)。   After the call table 2001 is updated by the processing of step 1920 or 1925, the display of the object correlation diagram 1802 on the object relation diagram display screen 1801 is updated based on the latest call table 2001 (step 1930).

なお呼び出し元2010をその採取データリスト501のオブジェクトID502、呼び出し先2020を採取データリスト501の送信側オブジェクトID506と一致するものとみなしてもよい。この場合にもオブジェクトID502で示されるオブジェクトが計測対象として指定されたオブジェクトである。   Note that the caller 2010 may be considered to match the object ID 502 of the collection data list 501 and the callee 2020 may match the transmission object ID 506 of the collection data list 501. Also in this case, the object indicated by the object ID 502 is the object designated as the measurement target.

以上説明した第4の実施形態によれば、指定されたオブジェクトについて採取データリスト501を採取し、オブジェクトから別のオブジェクトに亘って一連の処理が行われる場合、それらオブジェクト間の呼び出し元/呼び出し先の関連を明示するとともに、オブジェクト間のリクエストの発生回数を示すオブジェクト関連図1802を表示することが可能である。
According to the fourth embodiment described above, when the collection data list 501 is collected for a specified object and a series of processing is performed from the object to another object, the caller / callee between these objects The object relation diagram 1802 showing the number of requests between objects can be displayed.

実施形態の計算機システムの構成図である。It is a block diagram of the computer system of embodiment. 第1の実施形態の処理の概略手順を示す図である。It is a figure which shows the schematic procedure of the process of 1st Embodiment. 第1の実施形態の計測対象オブジェクト選択画面301の例を示す図である。It is a figure which shows the example of the measurement object selection screen 301 of 1st Embodiment. 第1の実施形態の採取データリスト501のデータ構成を示す図である。It is a figure which shows the data structure of the collection | collection data list 501 of 1st Embodiment. 第1の実施形態のコレクタ131,132の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the collectors 131 and 132 of 1st Embodiment. 第1の実施形態のリクエストフローテーブル701のデータ構成を示す図である。It is a figure which shows the data structure of the request flow table 701 of 1st Embodiment. 第1の実施形態の計測結果表示画面810の例を示す図である。It is a figure which shows the example of the measurement result display screen 810 of 1st Embodiment. 第1の実施形態のマネージャ130の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the manager 130 of 1st Embodiment. 第2の実施形態の処理の概略手順を示す図である。It is a figure which shows the schematic procedure of the process of 2nd Embodiment. 第2の実施形態の採取データリスト1101のデータ構成を示す図である。It is a figure which shows the data structure of the collection data list 1101 of 2nd Embodiment. 第2の実施形態のリクエストフローテーブル1201のデータ構成を示す図である。It is a figure which shows the data structure of the request flow table 1201 of 2nd Embodiment. 第2の実施形態のコレクタ131,132の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the collectors 131 and 132 of 2nd Embodiment. 第3の実施形態の選択画面1410の例を示す図である。It is a figure which shows the example of the selection screen 1410 of 3rd Embodiment. 第3の実施形態の計測対象計算機選択画面1510の例を示す図である。It is a figure which shows the example of the measurement object computer selection screen 1510 of 3rd Embodiment. 第3の実施形態の閾値テーブル1610のデータ構成を示す図である。It is a figure which shows the data structure of the threshold value table 1610 of 3rd Embodiment. 第3の実施形態のポイントデータ収集結果表示画面の例を示す図である。It is a figure which shows the example of the point data collection result display screen of 3rd Embodiment. 第3の実施形態のマネージャ130の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the manager 130 of 3rd Embodiment. 第4の実施形態の呼び出しテーブル2001のデータ構成を示す図である。It is a figure which shows the data structure of the call table 2001 of 4th Embodiment. 第4の実施形態のオブジェクト相関図表示画面1801の例を示す図である。It is a figure which shows the example of the object correlation diagram display screen 1801 of 4th Embodiment. 第4の実施形態の主要部分の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process of the principal part of 4th Embodiment.

符号の説明Explanation of symbols

101〜103…計算機、121〜126…オブジェクト、131〜132…コレクタ、130…マネージャ、140…LAN、501…採取データリスト、701…リクエストフローテーブル
101-103: Computer, 121-126 ... Object, 131-132 ... Collector, 130 ... Manager, 140 ... LAN, 501 ... Collection data list, 701 ... Request flow table

Claims (2)

所定の処理を実現可能なプログラムを実行する複数の第一の計算機と、複数の前記プログラムから構成される一連の処理を複数監視し、メモリを有する第二の計算機と、
を有するシステムであって、
前記第一の計算機は、一以上のプログラムを実行する実行手段と、前記プログラム間の呼出が発生する場合、前記呼出元のプログラムを特定する呼出元プログラム識別子と呼出先のプログラムを特定する呼出先プログラム識別子と呼出メッセージを特定する呼出メッセージ識別子と他のプログラムから呼び出された時刻と他のプログラムを呼び出した時刻とを含む性能データを第二の計算機に送信する送信手段とを有し、
前記第二の計算機は、前記性能データを受信する受信手段と、前記呼出元プログラム識別子と前記呼出先プログラム識別子と前記呼出メッセージ識別子とに基づいて一連の処理を構成する複数のプログラムの性能データを関連付ける関連付け手段と、前記関連付けた性能データを一連の処理ごとに前記メモリに格納する格納手段と、前記一の性能データに含まれる前記他のプログラムから呼び出された時刻と他のプログラムを呼び出した時刻とに基づいて前記プログラムの処理時間を算出し、前記関連付けた性能データに含まれる複数の前記呼出時刻に基づいて呼出関係にあるプログラム間の通信時間を算出する算出手段と、前記性能データの関連付けに基づいて一連の処理ごとに前記算出された通信時間と処理時間とを出力する出力手段とを有することを、特徴とするシステム。
A plurality of first computers for executing a program capable of realizing predetermined processing; a plurality of a series of processes composed of the plurality of programs; a second computer having a memory;
A system comprising:
The first computer includes an execution unit that executes one or more programs, and a call source program identifier that specifies the call source program and a call destination that specifies a call destination program when a call between the programs occurs. have a transmitting means for transmitting the performance data including the time of calling call message identifier and time called from another program and other programs that identifies the program identifier and paging message to the second computer,
The second computer is configured to receive performance data of a plurality of programs constituting a series of processes based on receiving means for receiving the performance data, the call source program identifier, the call destination program identifier, and the call message identifier. Association means for associating, storage means for storing the associated performance data in the memory for each series of processing, time called from the other program included in the one performance data, and time called another program Calculation means for calculating the processing time of the program on the basis of a plurality of call times based on the plurality of call times included in the associated performance data, and association of the performance data and output means for outputting said calculated communication time and processing time for each series of processes based on System that is characterized by having.
所定の処理を実現するプログラムを実行可能な第一の計算機複数により一連の処理を複数実行可能なシステムとネットワークを介して接続され、メモリを有する第二の計算機であって、
前記一連の処理を実行することにより前記第一の計算機で実行されるプログラム間の呼出が発生する場合、呼出元プログラムを特定する呼出元プログラム識別子と呼び出し先のプログラムを特定する呼出先プログラム識別子と前記他のプログラムから呼び出された時刻と他のプログラムを呼び出した時刻と呼出メッセージを特定する呼出メッセージ識別子とを含む性能データを、一以上の第一の計算機から、受信する手段と
前記呼出元プログラム識別子と前記呼出先プログラム識別子と前記呼出メッセージ識別子とに基づいて一連の処理を構成する複数のプログラムの性能データを関連付ける手段と
前記関連付けた性能データを一連の処理ごとに前記メモリに格納する手段と
前記一の性能データに含まれる前記他のプログラムから呼び出された時刻と他のプログラムを呼び出した時刻とに基づいて前記プログラムの処理時間を算出し、前記関連付けた性能データに含まれる複数の前記呼出時刻に基づいて呼出関係にあるプログラム間の通信時間を算出する手段と
前記性能データの関連付けに基づいて一連の処理ごとに前記算出された通信時間と処理時間とを出力する手段と、を有することを特徴とする第二の計算機。
A second computer having a memory and connected to a system capable of executing a plurality of series of processes by a plurality of first computers capable of executing a program for realizing a predetermined process;
When a call between programs executed by the first computer occurs by executing the series of processing, a call source program identifier for specifying a call source program and a call destination program identifier for specifying a call destination program; Means for receiving, from one or more first computers, performance data including a time when the other program is called, a time when the other program is called, and a call message identifier that identifies a call message;
Means to associate the performance data of a plurality of programs constituting the series of processing based on said caller program identifier and said call destination program identifier and the call message identifier,
Means for storing the associated performance data in the memory for each series of processing;
The processing time of the program is calculated based on the time when the other program included in the one performance data is called and the time when the other program is called, and the plurality of calls included in the associated performance data Means for calculating a communication time between programs having a calling relationship based on time;
And a means for outputting the calculated communication time and processing time for each series of processes based on the association of the performance data.
JP2005171794A 2005-06-13 2005-06-13 Distributed processing system and performance monitoring method thereof Expired - Fee Related JP3945521B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005171794A JP3945521B2 (en) 2005-06-13 2005-06-13 Distributed processing system and performance monitoring method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005171794A JP3945521B2 (en) 2005-06-13 2005-06-13 Distributed processing system and performance monitoring method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11125401A Division JP2000315198A (en) 1999-05-06 1999-05-06 Distributed processing system and its performance monitoring method

Publications (2)

Publication Number Publication Date
JP2005302057A JP2005302057A (en) 2005-10-27
JP3945521B2 true JP3945521B2 (en) 2007-07-18

Family

ID=35333399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005171794A Expired - Fee Related JP3945521B2 (en) 2005-06-13 2005-06-13 Distributed processing system and performance monitoring method thereof

Country Status (1)

Country Link
JP (1) JP3945521B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI380168B (en) 2005-12-26 2012-12-21 Ibm System, method, program, and system implementation method for transaction process logging
CN101753971B (en) * 2008-12-22 2012-05-16 中兴通讯股份有限公司 Journal system and journal recording method in content management system in uniform video management platform
US8893156B2 (en) * 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
US20130268663A1 (en) * 2010-12-28 2013-10-10 Mitsubishi Electric Corporation Communication network system
US8516301B2 (en) * 2011-04-08 2013-08-20 Ca, Inc. Visualizing transaction traces as flows through a map of logical subsystems
US8688729B2 (en) * 2011-08-16 2014-04-01 Ca, Inc. Efficiently collecting transaction-separated metrics in a distributed enviroment
JP6481259B2 (en) * 2014-04-02 2019-03-13 富士電機株式会社 Information processing device
CN112559271B (en) * 2020-12-24 2023-10-20 北京百度网讯科技有限公司 Interface performance monitoring method, device and equipment for distributed application and storage medium

Also Published As

Publication number Publication date
JP2005302057A (en) 2005-10-27

Similar Documents

Publication Publication Date Title
JP3945521B2 (en) Distributed processing system and performance monitoring method thereof
JP2000315198A (en) Distributed processing system and its performance monitoring method
US10348809B2 (en) Naming of distributed business transactions
JP4466615B2 (en) Operation management system, monitoring device, monitored device, operation management method and program
US8671159B2 (en) Technique for previously providing estimate of time required for processing
JP3927539B2 (en) System and method for monitoring software queuing applications
JP2005326911A (en) San management method
JP3554134B2 (en) Network connection path search method, computer, network system, and storage medium.
JP2006011902A (en) Operation management support system and performance information display method
JP2008217721A (en) Program profiling system, program profiling method, and program
JPH09330302A (en) Method and system for monitoring performance of computer system
JP6308042B2 (en) Information processing system
JP5049856B2 (en) Information processing apparatus and information processing method
US20080228731A1 (en) Debugging system and debugging method
JP2009020736A (en) Server application monitoring system and monitoring method
JPH05204783A (en) Operation monitoring system
JPH11149383A (en) Inter-process communication controller
JPH11259421A (en) Message monitoring device and medium recording message monitoring program
CN114020566A (en) Job monitoring method, device, medium and electronic equipment of job scheduling system
JPH07182261A (en) Information processor
JPH03109645A (en) Communication request processing method
JP4983636B2 (en) Transaction apparatus, delay fault analysis apparatus, delay fault analysis method and program
CN117785396A (en) Bidirectional interface calling system and method based on templatization
JP2009075724A (en) Management apparatus, management system, management program, and management method
JPH05189395A (en) Method and device for evaluating performance of parallel computer

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070223

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: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees