JP4778092B2 - Trace processing method, program, and apparatus - Google Patents
Trace processing method, program, and apparatus Download PDFInfo
- Publication number
- JP4778092B2 JP4778092B2 JP2010012949A JP2010012949A JP4778092B2 JP 4778092 B2 JP4778092 B2 JP 4778092B2 JP 2010012949 A JP2010012949 A JP 2010012949A JP 2010012949 A JP2010012949 A JP 2010012949A JP 4778092 B2 JP4778092 B2 JP 4778092B2
- Authority
- JP
- Japan
- Prior art keywords
- trace
- request message
- application
- server
- received
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、ネットワーク経由でアプリケーションサービスを実現する分散型アプリケーションシステムのトレース処理方法、プログラム及び装置に関し、特に、トレースを採取してレスポンス悪化の原因となったボトルネック箇所を特定するトレース処理方法、プログラム及び装置に関する発明である。
The present invention relates to a trace processing method, program, and apparatus for a distributed application system that implements an application service via a network, and in particular, a trace processing method that collects a trace and identifies a bottleneck location that caused a response deterioration, The present invention relates to a program and an apparatus.
ネットワーク対応の分散型アプリケーションシステムは、複数のサーバが多階層で構成され、かつ、その上で動作するアプリケーションも複雑に組み合わされ、それぞれが連携して動作することにより一つのサービスが実現される。 In a network-compatible distributed application system, a plurality of servers are configured in multiple layers, and applications that operate on the servers are combined in a complex manner, and each service operates in cooperation with each other to realize one service.
このような複雑な分散型アプリケーションシステムにおいて、レスポンス悪化の原因となったボトルネック箇所を特定するには、アプリケーションの振る舞いを記録したトレース情報を時系列に並べて繋ぎ合わせるなどして調査、分析を行っている。 In such a complex distributed application system, in order to identify the bottleneck part that caused the response deterioration, investigation and analysis are performed by arranging trace information that records the behavior of the application in time series. ing.
トレース情報の採取は、通常、実行されたアプリケーション(プログラムもしくはプログラム内のモジュールなども含む)の呼び出された時の入口ポイントと処理を終了するときの出口ポイントで、各ポイントを通過した時の時刻情報と共に記録され、蓄積される。 The collection of trace information is usually the entry point when the executed application (including a program or a module in the program) is called and the exit point when the processing ends, and the time when each point is passed. Recorded and stored with information.
図16は従来のトレース情報の採取であり、ウェブサーバ200、アプリケーションサーバ202、データベースサーバ204、データベース206が階層構成で配置され、クライアントからの要求電文は、各サーバのアプリケーションの実行で処理され、データベース206の検索等による応答が行われる。
FIG. 16 is a conventional collection of trace information. The
トレース情報は実行されたアプリケーションの入口と出口となるポイントP1〜P12のそれぞれで採取される。ここでトランザクションレスポンスt1が悪化した場合には、トレース情報から得られた各サーバのトランザクションレスポンスw1、w2、a1、a2、d1、d2について、正常時と比較することで、ボトルネック箇所を特定することができる。 Trace information is collected at each of the points P1 to P12 which are the entrance and exit of the executed application. Here, when the transaction response t1 deteriorates, the bottleneck portion is identified by comparing the transaction responses w1, w2, a1, a2, d1, and d2 of each server obtained from the trace information with those at the normal time. be able to.
また、複雑に組み合わされた各アプリケーションが、どのような呼び出し関係で連動していったかを調べるためのトレース情報の繋ぎ合わせを容易にするために、入口と出口の時間情報だけではなく、図17に示すように、次に呼び出すアプリケーションの情報についても記録するなど、記録する情報に工夫があるものなどがある。図17(A)はトランザクションの分配の例であり、これに対応して図17(B)のように、各アプリケーションの呼び出し階層情報を生成している。 Further, in order to facilitate the connection of trace information for examining invocation relations related to complicated applications, not only the time information of the entrance and exit, but also FIG. As shown in FIG. 4, there is a technique for recording information such as recording information of an application to be called next. FIG. 17A shows an example of transaction distribution. Corresponding to this, call hierarchy information of each application is generated as shown in FIG.
しかしながら、従来の分散型アプリケーションシステムのトレース処理方法には、以下のような問題がある。まず従来のトレース処理方法は、オーバヘッドが大きすぎる。分散型アプリケーションシステムでトレースの対象となる各アプリケーションの入口情報と出口情報、呼び出し関係情報などの情報は、非常に膨大な量の情報となり、システムへのオーバヘッドも無視できないくらいに発生する。 However, the conventional distributed application system trace processing method has the following problems. First, the conventional trace processing method has too much overhead. Information such as entry information, exit information, and call relation information of each application to be traced in a distributed application system is a very large amount of information, and the overhead to the system cannot be ignored.
このため、不測の事態に備えて常時トレースを収集しておくという運用は実質不可能になっており、トラブルが発生した後で、システムになるべく影響が出ない範囲でトレースを収集するなどの運用しかできないため、ボトルネックの原因追求に時間がかかる原因になっている。 For this reason, it is virtually impossible to always collect traces in preparation for unforeseen circumstances, and operations such as collecting traces within a range that will not affect the system as much as possible after a trouble occurs. However, since it can only be done, it takes time to pursue the cause of the bottleneck.
また従来のトレース処理方法は、分散型アプリケーションシステムにおける運用が煩雑である。図18において、分散型アプリケーションシステムを対象にトレース情報を収集する場合、トレースの有無を指示するスイッチ208、210、212を各サーバ200、202、204におけるシステムや各アプリケーションごとに装備している。このためトラブルが発生した後でトレースを収集しようとなると、管理者はいくつものスイッチを入れる必要があり、かつ、どのスイッチを入れれば良いのか判断が必要になるため、非常に煩雑な運用を強いられている。
The conventional trace processing method is complicated to operate in a distributed application system. In FIG. 18, when collecting trace information for a distributed application system,
本発明は、トレース採取のオーバヘッドを最小にしてボトルネックを迅速に特定可能とする分散アプリケーションシステムを対象としたトレース処理方法、プログラム及び装置を提供することを目的とする。
An object of the present invention is to provide a trace processing method, program, and apparatus for a distributed application system that can quickly identify a bottleneck while minimizing the overhead of trace collection.
図1は本発明の原理説明図である。本発明は、階層配置された複数のサーバ上で動作する複数のアプリケーションを有し、クライアント24から要求電文を受信した際に、アプリケーション間でリレーコードを順番に受け渡しながら処理を実行して応答する分散型アプリケーションシステムのトレース処理方法を対象とし、
要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件をリレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込ステップと、
アプリケーションの各々に設けられ、要求電文の受信時にリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップと、を備えたことを特徴とする。
FIG. 1 is a diagram illustrating the principle of the present invention. The present invention has a plurality of applications that operate on a plurality of hierarchically arranged servers, and when a request message is received from the
A trace condition embedding step of embedding a preset trace collection condition including switch information instructing whether or not to collect a trace into a relay code and passing it to the next application when a request message is received;
A trace collection step that is provided in each of the applications and that determines and processes the presence or absence of trace collection based on the switch information of the trace collection condition embedded in the relay code when the request message is received.
ここで、トレース条件埋込ステップは、トレース採取条件として、更に、トレースを採取する範囲をアプリケーション単位に指示する機能IDと、通過したアプリケーションを記録するリレーIDを含むことを特徴とする。 Here, the trace condition embedding step further includes, as the trace collection condition, a function ID that instructs a range of collecting the trace for each application and a relay ID that records the passed application.
トレース条件埋込ステップは、スイッチ情報でトレース採取有りを指示した際にユニークなリレーIDを生成し、トレース採取ステップは、次に呼び出すアプリケーションの識別子をリレーIDの後ろに繋げていく。 The trace condition embedding step generates a unique relay ID when the switch information indicates the presence of trace collection, and the trace collection step connects the identifier of the application to be called next to the relay ID.
トレース条件埋込ステップは、トレース採取条件として、更に、スイッチ情報によるトレース採取有りの指示状態で要求電文の受信回数に対しトレースを採取する割合を指示する間欠スイッチ情報を含、間欠スイッチ情報の割合に従ってリレーコードにトレース採取条件を埋め込む。 The trace condition embedding step includes, as a trace collection condition, a ratio of intermittent switch information, including intermittent switch information that indicates a ratio of collecting a trace with respect to the number of times a request message is received in an instruction state with trace collection by switch information. Follow the procedure to embed trace collection conditions in the relay code.
間欠スイッチ情報は、要求電文のルートを識別し、識別したルート毎に要求電文の受信回数に対しトレースを採取する割合を指示することもできる。間欠スイッチは要求電文の受信回数に対しトレースを採取する割合を0パーセント乃至100パーセントの範囲で指示する。 The intermittent switch information can also identify the route of the request message and indicate the ratio of collecting the trace with respect to the number of times the request message has been received for each identified route. The intermittent switch indicates the ratio of collecting the trace in the range of 0% to 100% with respect to the number of receptions of the request message.
分析表示ステップは、トレース採取ステップにより各アプリケーションで採取されたトレース情報から、リレーIDに従ったルートのトレース情報を抽出して時刻順にソートし、ソート結果に基づきルートと各アプリケーションと処理の関係を生成して表示させる。 The analysis display step extracts the trace information of the route according to the relay ID from the trace information collected by each application in the trace collection step and sorts it in order of time. Based on the sorting result, the relationship between the route and each application is processed. Generate and display.
具体的には、分析表示ステップは、要求電文を受信してから次に引き渡すまでの処理時間を通過ポイントとなる各アプリケーションに対応して表示させる。また分析表示ステップは、入口のアプリケーションが要求電文を受信してから応答するまでの合計処理時間に対し、各アプリケーションが要求電文を受信して次に引き渡すまでの処理時間の割合を通過ポイントとなる各アプリケーションに対応して表示させても良い。 Specifically, in the analysis display step, the processing time from when the request message is received until the next delivery is displayed is displayed corresponding to each application serving as a passing point. In the analysis display step, the ratio of the processing time until each application receives the request message and delivers it to the next is the passing point with respect to the total processing time until the application at the entrance receives the request message and responds. You may display corresponding to each application.
本発明は、クライアントの要求電文を最初に処理する第1階層のアプリケーションを備えたサーバを構成するコンピュータにより実行されるプログラムを提供する。このプログラムは、
クライアントから前記要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件を前記リレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込ステップと、
リレーコードに埋め込むトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理すると共に、他のアプリケーションから要求電文を受信した際に、要求電文のリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップと、
を実行させることを特徴とする。
The present invention provides a program executed by a computer constituting a server having a first layer application that first processes a request message from a client. This program
A trace condition embedding step of embedding a preset trace collection condition including switch information instructing whether or not to collect traces in the relay code when the request message is received from the client and passing it to the next application;
The trace collection condition switch embedded in the relay code of the request message when the request message is received from another application is processed by determining whether or not the trace is collected from the switch information of the trace collection condition embedded in the relay code. A trace collection step for determining whether or not trace collection is performed based on information, and processing,
Is executed.
本発明は、クライアントの要求電文を2回目以降に処理する第2階層以降のアプリケーションを備えたサーバを構成するコンピュータにより実行されるプログラムを提供する。このプログラムは、他のアプリケーションから要求電文を受信した際に、要求電文のリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップを実行させることを特徴とする。 The present invention provides a program executed by a computer constituting a server including an application in the second and subsequent layers that processes a request message from a client for the second time and thereafter. When this program receives a request message from another application, it executes a trace collection step that determines whether or not trace collection is performed based on the switch information of the trace collection condition embedded in the relay code of the request message and processes it. It is characterized by.
本発明は、階層配置された複数のサーバ上で動作する複数のアプリケーション処理部を有し、クライアント24から要求電文を受信した際に、アプリケーション処理部26、34、36の間でリレーコードを順番に受け渡しながら処理を実行して応答する分散アプリケーションのトレース処理装置を対象とし、要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件をリレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込部28と、アプリケーション処理部26、34、36の各々に設けられ、要求電文の受信時にリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取部30−1〜30−3とを備えたことを特徴とする。
The present invention has a plurality of application processing units that operate on a plurality of servers arranged in a hierarchy, and when a request message is received from the
なお、本発明のプログラム及びトレース処理装置の詳細は、基本的にトレース処理方法と同じになる。
The details of the program and the trace processing apparatus of the present invention are basically the same as those of the trace processing method.
本発明によれば、分散型アプリケーションシステムにおいて、トレース採取によるオーバヘッドを最小化および局所化できるため、常時トレースを採取する運用が実現でき、トラブル発生時に迅速にボトルネックの特定が可能となる。 According to the present invention, in a distributed application system, overhead due to trace collection can be minimized and localized, so that operation for always collecting traces can be realized, and bottlenecks can be quickly identified when trouble occurs.
また、分散型アプリケーションシステムは、入り組んでいて複雑な構成であるため、どこでどのようなアプリケーションが動作しているのかなかなか分からないといった問題もある。このような問題に対しても、本発明は、アプリケーションが連動して動作する様子を、簡単に把握することができる。
In addition, since the distributed application system is complicated and has a complicated configuration, there is also a problem that it is difficult to know where and what application is operating. Even for such a problem, the present invention can easily grasp how the application operates in conjunction with the application.
図2は、本発明のトレース処理が適用される分散型アプリケーションシステムの説明図である。図2において、分散型アプリケーションシステム10は複数のサーバを階層配置している。この例にあっては、インターネット22を介してクライアント24からの要求電文を受けるシステムの入口側にウェブサーバ12−1、12−2、12−3、12−4を設けており、次の階層にアプリケーションサーバ14−1、14−2、14−3、14−4を設け、更に3番目の階層にデータベースサーバ16−1、16−2を設け、データベースサーバ16−1、16−2に対しデータベース18−1、18−2をそれぞれ接続している。
FIG. 2 is an explanatory diagram of a distributed application system to which the trace processing of the present invention is applied. In FIG. 2, the distributed
分散型アプリケーションシステム10における階層配置されたウェブサーバ12−1〜12−4、アプリケーションサーバ14−1〜14−4及びデータベースサーバ16−1、16−2の間は、相互に入出力接続されており、データベース18−1、18−2の例えば検索などにおいて、階層配置されたアプリケーションを辿る複雑な処理経路を経て要求電文に対する処理を実行して応答することになる。
The web servers 12-1 to 12-4, the application servers 14-1 to 14-4, and the database servers 16-1 and 16-2 arranged in a hierarchy in the distributed
分散型アプリケーションシステム10を構築する階層配置された複数のサーバにあっては、クライアント24からインターネット22を介して入口側のウェブサーバ12−1〜12−4で要求電文を受信した際に、アプリケーション間でリレーコードと呼ばれるキーワードを順番に受け渡しながら動作するようになる。
In a plurality of hierarchically arranged servers that construct the distributed
分散型アプリケーションシステム10を構成する階層配置されたサーバに対しては管理サーバ20が設けられる。管理サーバ20は、入口側に位置するウェブサーバ12−1〜12−4に対し、クライアント24からの要求電文に付加してアプリケーション間で受け渡すリレーコードに埋め込むトレース採取条件の設定を行う。また管理サーバ20は必要に応じて、各サーバに蓄積されているトレース情報を収集して分析表示する処理を行う。
A
図3は、本発明によるトレース処理の機能構成のブロック図であり、図2の分散型アプリケーションシステム10におけるクライアント24からデータベース18までの1系統について取り出して示している。
FIG. 3 is a block diagram of a functional configuration of the trace processing according to the present invention, and shows one system from the
図3において、クライアント24からの要求電文は、インターネット22を介して入口側に位置するウェブサーバ12で受信され、ウェブサーバ12のアプリケーション、次のアプリケーションサーバ14のアプリケーション、更にデータベースサーバ16のアプリケーションの実行を経て、データベース18のアクセスを行い、アクセス結果を、データベースサーバ16のアプリケーション、アプリケーションサーバ14のアプリケーション、更にウェブサーバ12のアプリケーションを経由して、クライアント24側に応答することになる。
In FIG. 3, the request message from the
このため、ウェブサーバ12、アプリケーションサーバ14及びデータベースサーバ16のそれぞれには、アプリケーションプログラムとして機能するアプリケーション処理部26、34、36が設けられている。
For this reason, each of the
分散型アプリケーションシステム10の入口に位置するウェブサーバ12にはトレース条件埋込部28が設けられている。トレース条件埋込部28は、クライアント24から要求電文を受信した際に、アプリケーション間で受け渡すリレーコードに管理サーバ20の管理コンソール38の操作で予め設定されたトレース採取条件を埋め込んで、次のアプリケーションサーバ14のアプリケーション処理部34に受け渡す。
The
トレース採取部30−1、30−2、30−3は、リレーコードに埋め込まれるトレース採取条件に基づきトレース採取の有無を判別し、トレース指示があれば、要求電文の受信に基づくアプリケーション処理部26、34、36のトランザクションの実行に伴うトレース情報を採取して、トレースファイル32−1、32−2、32−3に蓄積する。トレース採取の指示がなければトレース採取は行わず、即ちトレースは無視されることになる。 The trace collection units 30-1, 30-2, and 30-3 determine the presence / absence of trace collection based on the trace collection condition embedded in the relay code, and if there is a trace instruction, the application processing unit 26 based on reception of the request message. , 34, and 36 are collected and stored in the trace files 32-1, 32-2, and 32-3. If there is no instruction to collect a trace, the trace is not collected, that is, the trace is ignored.
図4は、図3のウェブサーバ12に設けているトレース条件埋込部28の機能構成のブロック図である。図4において、トレース条件埋込部28には、トレース採取条件記憶部42、間接スイッチ処理部44、リレーID生成部45、トレース採取条件コード保持部46及びトレース採取条件コード埋込部48が設けられる。
FIG. 4 is a block diagram of a functional configuration of the trace condition embedding unit 28 provided in the
トレース採取条件記憶部42には、図3の管理サーバ20に設けた管理コンソール38の操作によりスイッチ66、機能ID68及びリレーID70がトレース採取条件として記憶される。トレース採取条件記憶部42に記憶されたスイッチ66はトレースのオン又はオフを指示しており、この指示により図3のアプリケーション処理部26がクライアント24から要求電文を受信して処理を実行した際に、トレースを採取するか採取しないかが決められる。
In the trace collection
図5は、図4のトレース採取条件記憶部42に管理コンソール38からの指示で設定されるトレース採取条件及び間接スイッチ情報の説明図である。図5(A)のトレース採取条件64にあっては、埋込情報として、スイッチ66、機能ID68及びリレーID70の3つを備えている。
FIG. 5 is an explanatory diagram of the trace collection conditions and indirect switch information set in the trace collection
スイッチ66はサイズが4バイト、機能ID68はサイズが同じく4バイト、更にリレーID70は可変長である。スイッチ66はトレースを採取するか採取しないかのオン、オフを指示する。スイッチ66は図3のように第1階層のアプリケーションを実行するアプリケーション処理部26を備えたウェブサーバ12に対してのみトレースのオンまたはオフを設定し、トレース採取のためにウェブサーバ12に対し一度オンしておけば、スイッチ66を含むトレース採取条件はアプリケーション間で受け渡されるリレーコードに埋め込まれて後続する第2階層以降のアプリケーションに送られる。
The
このため後続するアプリケーション処理部34、36においては、管理コンソール38側からスイッチ操作を行わなくても、リレーコードに埋設されたトレース採取条件64のスイッチ66の指示に基づき自動的にトレース採取が行われる。このためスイッチ66はアプリケーション間におけるトレース採取の連動スイッチとして機能することになる。
Therefore, in the subsequent application processing units 34 and 36, trace collection is automatically performed based on the instruction of the
機能ID68は、特定の機能に対してのみトレースを採取するようにトレース範囲を決定する。このため要求電文の受信に伴う一連のアプリケーションのルートにおいて、特定のアプリケーションについてのみトレース採取を指定することができる。
The
リレーID70は、トレース情報の分析時にアプリケーションの呼出関係を繋ぎ合わせるための情報であり、リレーID70を追いかけることで、ある要求電文がどのようなアプリケーションのルートを通過したかが分析できる。リレーID70としては、初期値としては分散型アプリケーションシステム内でユニークなID、例えばタイムスタンプにプロセスIDを加えたIDが作成され、その後はアプリケーションを通過するごとに、次に呼び出すアプリケーションの識別子を後ろに繋げていくようにする。
The
図6は、本発明のトレース処理におけるリレーIDの説明図であり、入口側となる第1階層にアプリケーション74が位置し、第2階層にアプリケーション75、76が位置し、第3階層にアプリケーション78、80、82が位置した場合である。第1階層のアプリケーション74に対する要求電文の受信があると、図5(A)のトレース採取条件を埋め込んだリレーコードが付加され、このときのリレーIDは分散型アプリケーションシステムにユニークなIDとして「123」を作成する。
FIG. 6 is an explanatory diagram of the relay ID in the trace processing according to the present invention. The
続いて、第1階層のアプリケーション74から第2階層のアプリケーション75またはアプリケーション76に、リレーコードを付加した要求電文が引き渡されるが、アプリケーション75に受け渡す際には、最初のリレーID「123」にアプリケーション75の識別子「b1」を付加したリレーID「123.b1」とする。またアプリケーション76に受け渡す際にはアプリケーション76の識別子「b2」を付加したリレーID「123.b2」とする。
Subsequently, a request message to which a relay code is added is delivered from the
同様に第2階層のアプリケーション75から第3階層のアプリケーション78に受け渡す際にはリレーIDは「123.b1.c1」となり、第2階層のアプリケーション76から第3階層のアプリケーション80に受け渡す場合にはリレーIDは「123.b2.c2」となる。更に第2階層のアプリケーション76から第3階層のアプリケーション82に受け渡す場合にはリレーIDは「123.b2.c3」となる。
Similarly, when the relay ID is transferred from the
このようなリレーIDは、各階層のアプリケーションにおいてトレース採取に伴うトレースデータと共に保存されており、トレース情報を管理サーバで収集した際にリレーIDを追っていくことで、ある要求電文がどのようなルートで各アプリケーションを通過したかが分析できる。 Such a relay ID is stored together with trace data that accompanies trace collection in the application of each layer. By tracing the relay ID when the trace information is collected by the management server, it is possible to determine what route a request message has. You can analyze whether you have passed each application.
再び図4を参照するに、間接スイッチ処理部44はトレース採取条件記憶部42に記憶されたオン状態を記憶したスイッチ66を要求電文受信カウントが得られる毎に読出し、管理コンソール38からの指示で記憶された間接スイッチ情報に基づいて、例えば「1%スイッチ」であれば、100回の要求電文受信カウントの内、1回はスイッチオンとし、残り99回はスイッチオフとしてトレース採取条件コード保持部46にスイッチ66−1として書き込む。
Referring again to FIG. 4, the indirect
図5(B)は間接スイッチ処理部44に管理コンソール38により設定される間欠スイッチ情報の説明図である。間欠スイッチ情報72は、設定情報として間欠スイッチがセットされ、設定内容としては「n%スイッチ」としてnの値が指定される。間欠スイッチ情報72における「n%スイッチ」は、nの値を0〜100%の範囲で任意に設定することができる。
FIG. 5B is an explanatory diagram of intermittent switch information set in the indirect
「n%スイッチ」は例えば「1%スイッチ」や「0.1%スイッチ」などが設定される。「1%スイッチ」の場合、要求電文の受信回数100回に対し、1回の割合でスイッチオンとしたトレース採取条件をリレーコードに埋め込んで次のアプリケーションに受け渡す。 For example, “1% switch” or “0.1% switch” is set as the “n% switch”. In the case of “1% switch”, the trace collection condition that is switched on at a rate of once per 100 times of reception of the request message is embedded in the relay code and transferred to the next application.
また「0.1%スイッチ」の場合には、要求電文の受信回数1000回に1回の割合でスイッチオンとしたトレース採取条件をリレーコードに埋め込んで、次のアプリケーションに受け渡す。このような間欠スイッチ情報72の設定により、要求電文に対するトレース採取の割合を少なくして分散型アプリケーションシステムにかけるオーバヘッドを最小化し、且つ通常の運用中であっても常時、トレースを採取する運用が実現できる。 In the case of “0.1% switch”, the trace collection condition in which the switch is turned on at a rate of once per 1000 receptions of the request message is embedded in the relay code and transferred to the next application. By setting the intermittent switch information 72 as described above, it is possible to minimize the overhead applied to the distributed application system by reducing the ratio of the trace collection to the request message, and to always collect the trace even during the normal operation. realizable.
間欠スイッチ情報72における「n%スイッチ」は、nの値を0〜100%の範囲で任意に設定することができるため、「0%スイッチ」を設定した場合には、トレース採取は全く行わない運用となる。また「100%スイッチ」を設定した場合には、全ての要求電文につきトレース情報を採取する運用となり、これは間接スイッチ処理部44の機能をなくしたことに相当する。
Since “n% switch” in the intermittent switch information 72 can arbitrarily set the value of n in the range of 0 to 100%, no trace is collected when “0% switch” is set. Become operational. When “100% switch” is set, trace information is collected for all request messages, which corresponds to the function of the indirect
「n%スイッチ」によるトレース採取の割合は次の2つの方法とする。
(1)等間隔トレース採取
(2)ランダムトレース採取
例えば「0.5%スイッチ」を例にとると、要求電文の受信回数1000回のうち5回につきトレーススイッチをオンとしたトレース採取を行うが、等間隔トレース採取にあっては、200回目、400回目、600回目、800回目及び1000回目にトレース採取を行う。
The following two methods are used to collect traces using the “n% switch”.
(1) Collecting traces at regular intervals (2) Collecting random traces For example, taking “0.5% switch” as an example, trace collection is performed with the trace switch turned on for 5 times out of 1000 requests. In collecting traces at equal intervals, traces are collected at the 200th, 400th, 600th, 800th and 1000th times.
これに対しランダムトレース採取にあっては、要求電文の受信回数1000回に対し乱数を使用して例えば142回目、262回目、438回目、626回目及び854回目にトレース採取を行う。このランダムトレース採取によれば、等間隔トレース採取に比べ処理が複雑になるが、トレース情報の周期的な依存性を低減できる利点がある。 On the other hand, in random trace collection, trace collection is performed, for example, at the 142nd, 262th, 438th, 626th, and 854th times using a random number with respect to the request message reception count of 1000. This random trace collection is more complicated than the regular interval trace collection, but has the advantage of reducing the periodic dependence of trace information.
更に分散型アプリケーションシステムにあっては、要求電文の内容によっては異なったルートでアプリケーションを順番に実行することとなり、アプリケーションのルートが異なる場合にはルートごとに間欠スイッチ情報72を設定することになる。ルートごとの間欠スイッチ情報の設定は、要求電文の種別によりルートが決まることから、要求電文の種別を判別して、対応する間欠スイッチ情報の割合でスイッチオンとなるトレース採取条件をリレーコードに埋め込めばよい。 Furthermore, in the distributed application system, the application is executed sequentially with different routes depending on the contents of the request message. If the application route is different, the intermittent switch information 72 is set for each route. . The intermittent switch information setting for each route is determined by the type of request message, so the type of request message is determined, and the trace collection condition that switches on at the ratio of the corresponding intermittent switch information is embedded in the relay code. That's fine.
この結果、ルートの異なる多種多様な要求電文が混在する分散型アプリケーションシステムであっても、ルートごとにトレース採取を行う割合を間接スイッチ情報により設定し、各ルートごとのオーバヘッドを最小化した状態で、通常の運用中における常時トレース採取が可能となる。 As a result, even in a distributed application system where various request messages with different routes are mixed, the ratio of collecting traces for each route is set by indirect switch information, and the overhead for each route is minimized. It is possible to always collect traces during normal operation.
再び図4を参照するに、リレーID生成部45はトレース採取条件記憶部42に記憶されたシステムにユニークなリレーID70に次に受け渡すアプリケーションの識別子を付加してトレース採取条件コード保持部46にリレーID70−1として書き込む。なお、トレース採取条件記憶部42に記憶された機能ID68はそのままトレース採取条件コード保持部46に書き込む。
Referring to FIG. 4 again, the relay
トレース採取条件コード埋込部48は、クライアントからの要求電文を受信したアプリケーション処理部26が処理を実行して次のアプリケーションに引き渡す際に、要求電文に付加するリレーコードを入力してトレース採取条件コード保持部46に保持しているスイッチ66−1、機能ID68及びリレーID70−1で構成されたトレース採取条件コードをリレーコードに埋め込んで出力する。
The trace collection condition
再び図3を参照するに、入口のウェブサーバ12に続くアプリケーションサーバ14及びデータベースサーバ16にあっては、トレース採取部30−2、30−3とトレースファイル32−2、32−3が設けられており、トレースの採取は入口側のウェブサーバ12のトレース条件埋込部28がリレーコードに埋め込んでいるトレース採取条件を取り出し、これに基づきトレース採取を実行する。またトレース採取部30−1は、次のアプリケーションに受け渡す際に、リレーIDに次のアプリケーションの識別子を付加して送ることになる。
Referring to FIG. 3 again, in the
図7は、図3の分散型アプリケーションシステム10において、クライアント24から要求電文を受信した際のトレース処理の説明図である。
FIG. 7 is an explanatory diagram of trace processing when a request message is received from the
図7において、まずウェブサーバ12にはアプリケーションとしてコンポーネント52が設けられ、アプリケーションサーバ14にはアプリケーションとしてのコンポーネント54、56が設けられ、更にデータベースサーバ16にはアプリケーションとしてのコンポーネント58、60が設けられている。
In FIG. 7, first, the
分散型アプリケーションシステム10において、クライアント24から要求電文を受け取ると、各コンポーネント52、54、56、58、60でトランザクションが順次実行され、次のアプリケーションに要求電文を引き渡す際には、リレーコードをリレーコード62−1〜62−10に示すように付加して受け渡している。
In the distributed
このようなクライアント24からの要求電文に対し、ウェブサーバ12、アプリケーションサーバ14、データベースサーバ16を経由してデータベース18をアクセスして応答する場合のルートにおいて、コンポーネント52、54、56、58、60のそれぞれにおける通過位置がトレース採取ポイントP1〜P10となる。
In response to such a request message from the
複数のアプリケーションを繋げた処理において、本発明にあっては、クライアント24からの要求電文を受ける入口のウェブサーバ12のアプリケーションであるコンポーネント52に対し、管理サーバ20の管理コンソール38からの指示でトレース採取のためにスレーススイッチ50をオンしておくと、トレーススイッチ50の指示内容が次のコンポーネント54に要求電文に付加して受け渡すリレーコード62−1に埋め込まれ、これによって後続するコンポーネント54、56、58、60のトレース採取を1回のスイッチ操作で指示することができる。
In the process of connecting a plurality of applications, in the present invention, the
なお、トレーススイッチ50の機能は、具体的には、図4のトレース採取条件記憶部42におけるスイッチ66として記憶される。また、図4のトレース採取条件記憶部42に記憶する機能ID68により、特定のコンポーネントのトレースを採取するようにトレース範囲を決定することで、トレース採取ポイントP1〜P10のルートの中の特定のコンポーネントにおいてのみ、トレース採取を行わせることもできる。
The function of the
またウェブサーバ12でリレーコード62−1にスイッチオンのトレース採取条件64を埋め込む割合は、図4の間接スイッチ処理部44に管理コンソール38から図5(B)の間接スイッチ情報72を設定しておくことで実現でき、例えば「1%スイッチ」が設定されていれば、要求電文を100回受信したうちの1回だけ、スイッチオンとしたトレース採取条件64をリレーコード62−1に埋め込んで次のコンポーネント54に引き渡すようになり、要求電文の受信に対しトレース採取の割合を1%に抑えることで、分散型アプリケーションシステムのオーバヘッドを最小化し、且つ通常の運用中においてトレース採取が実現できる。
The ratio of embedding the switch-on trace collection condition 64 in the relay code 62-1 in the
図8は、本発明によるトレース条件埋込処理のフローチャートであり、図3のウェブサーバ12に設けているトレース条件埋込部28により実行される。図8のトレース条件埋込処理にあっては、ステップS1で管理コンソール38からの指示を受けてトレース採取スイッチをオンに記憶する。トレース採取スイッチのオンは、具体的には図4のトレース条件埋込部28のトレース採取条件記憶部44におけるスイッチ66にスイッチオンを書き込む。
FIG. 8 is a flowchart of the trace condition embedding process according to the present invention, which is executed by the trace condition embedding unit 28 provided in the
次にステップS2で、トレース採取条件として間欠スイッチ条件によるトレース採取割合と機能IDによるトレース範囲条件を記憶する。この間欠スイッチ条件と機能IDも、具体的には図4のトレース条件埋込部28の間接スイッチ処理部44に対する間接スイッチ情報の書込みと、トレース採取条件記憶部42の機能ID66に対するトレース範囲条件の書込みで実現される。
Next, in step S2, the trace collection ratio based on the intermittent switch condition and the trace range condition based on the function ID are stored as the trace collection condition. Specifically, the intermittent switch condition and the function ID are also written in the indirect switch information to the indirect
続いてステップS3でクライアントからの要求電文の受信を待つ。要求電文を受信するとステップS4に進み、ステップS2で記憶した間欠スイッチ条件に基づくトレース採取か否かチェックする。例えば「0.1%スイッチ」であった場合には、カウントしている要求電文の受信回数が100回目であった場合にはトレース採取条件が成立したと判断し、ステップS5に進む。 Subsequently, in step S3, reception of a request message from the client is awaited. When the request message is received, the process proceeds to step S4, and it is checked whether or not the trace is collected based on the intermittent switch condition stored in step S2. For example, in the case of “0.1% switch”, it is determined that the trace collection condition is satisfied when the count of the received request message is 100th, and the process proceeds to step S5.
ステップS5ではリレーコードにオン状態にセットしたスイッチを埋め込む。次にステップS6でリレーコードに機能IDとリレーIDを埋め込む。そしてステップS8で要求電文にリレーコードを付加し、ステップS9で次のアプリケーションに受け渡す。 In step S5, the switch set in the ON state is embedded in the relay cord. In step S6, the function ID and the relay ID are embedded in the relay code. In step S8, a relay code is added to the request message, and in step S9, the message is delivered to the next application.
一方、ステップS4で間欠スイッチ条件に基づくトレース採取でなかった場合には、ステップS7でリレーコードにオフ状態としたスイッチを埋め込んだ後、ステップS8で要求電文にリレーコードを付加し、ステップS9で次のアプリケーションに受け渡す。 On the other hand, if the trace is not collected based on the intermittent switch condition in step S4, the relay code is embedded in the relay code in step S7, and then the relay code is added to the request message in step S8. Pass to the next application.
図9は本発明によるトレース採取処理のフローチャートである。図8のトレース採取処理において、ステップS1で要求電文の受信の有無をチェックしており、要求電文を受信すると、要求電文に付加されているリレーコードの内容を確認し、リレーコードに埋め込まれているトレース採取条件の中のスイッチがオンしていれば、ステップS3に進み、トレースを採取する。 FIG. 9 is a flowchart of the trace collection process according to the present invention. In the trace collection process of FIG. 8, whether or not a request message has been received is checked in step S1, and when the request message is received, the content of the relay code added to the request message is confirmed and embedded in the relay code. If the switch in the current trace collection condition is on, the process proceeds to step S3 and a trace is collected.
続いてステップS4でリレーIDに次のアプリケーションの識別子を付加し、ステップS6で次のアプリケーションに受け渡す。一方、リレーコードのトレース採取条件の中でスイッチがオフ状態にある場合には、ステップS5に進み、トレースを採取せず、ステップS6で次のアプリケーションに受け渡す。 Subsequently, in step S4, the identifier of the next application is added to the relay ID, and in step S6, it is transferred to the next application. On the other hand, if the switch is in the OFF state in the relay code trace collection conditions, the process proceeds to step S5, and the trace is not collected, and is passed to the next application in step S6.
なお、図3のウェブサーバ12に設けているトレース採取部30−1は、クライアント24からの要求電文を受信した際には、図9のフローチャートの処理は行わず、図4のトレース採取条件記憶部42のスイッチ66がスイッチオンであればトレースを採取し、スイッチオフであればトレースを採取しない処理を行う。またトレース採取部30−1はアプリケーションサーバ14から応答電文に付加されたリレーコードを受信した際には、図9のフローチャートに従ったトレース採取処理を行うことになる。
The trace collection unit 30-1 provided in the
図10は本発明によるトレース情報の分析表示処理のフローチャートであり、図3に示した管理サーバ20の分析表示部40により実行される。図10の分析表示処理において、オペレータなどからの指示により、ステップS1でサーバ側に蓄積しているトレースファイルからトレースデータを収集する。
FIG. 10 is a flowchart of the trace information analysis display process according to the present invention, which is executed by the analysis display unit 40 of the
次にステップS2で収集データについて、例えばリレーIDによるルートに従ったトレース採取ポイントの時間順となるように収集データを整理する。続いてステップS3で、整理した収集データについて要求電文単位にルート分析を行って、ルート上の各アプリケーションの処理に要した時間や時間割合などを求め、ステップS4で分析結果を表示する。 Next, in step S2, the collected data is arranged so that the collected data are arranged in the order of time of the trace collection points according to the route by the relay ID, for example. Subsequently, in step S3, a route analysis is performed on the collected data for each request message, and the time and time ratio required for processing of each application on the route are obtained, and the analysis result is displayed in step S4.
図11は分析表示のために整理したトレース情報の一例を示した説明図である。図11のトレース情報84にあっては、時間情報86、IPアドレス88、プロセスID90、リレーID92、採取ポイント94、コンポーネント名96、コンポーネント内識別情報98及びメソッド名100の項目で整理している。
FIG. 11 is an explanatory diagram showing an example of trace information arranged for analysis display. The
図12は図11の整理情報から得られた分析結果の表示例の説明図である。図12の分析結果の表示例にあっては、コンポーネント52、54、56、58、60、データベース18からなるルート上の通過ポイントに対し、縦軸方向に時間軸を取っており、それぞれの実行時間102、104、106、・・・122が、処理時間の長さに応じて示され、更に実行時間102〜122のそれぞれについて、測定された時間として10ms、10ms、12ms、・・・10msが表示されている。更に、下端部にはコンポーネント52、54、56、58、60、データベース18における合計実行時間が表示されている。
FIG. 12 is an explanatory diagram of a display example of the analysis result obtained from the organization information of FIG. In the display example of the analysis result of FIG. 12, the time axis is taken in the vertical axis direction with respect to the passing points on the route composed of the
このような図12のトレース情報の分析結果の表示を見ることで、この要求電文の分散アプリケーションシステムによる処理のルート上で、どのコンポーネントの位置でボトルネックとなっているかが、一目で判断できる。 By observing the display of the analysis result of the trace information in FIG. 12, it is possible to determine at a glance which component is the bottleneck on the route of processing of the request message by the distributed application system.
図13は分析表示のために整理した他のトレース情報の説明図であり、図11の場合と同様、時間情報86、IPアドレス88、プロセスID90、リレーID92、採取ポイント94、コンポーネント名96、コンポーネント内識別情報98及びメソッド名100の各項目について、時間順にソートして整理している。
FIG. 13 is an explanatory diagram of other trace information arranged for analysis display. Similar to the case of FIG. 11,
図14は図13の整理情報から分析した表示例の説明図である。この図14の要求電文のルートについての分析表示にあっては、図12と対比すると、コンポーネント52、54、56、58、60、データベース18に加え、新たにコンポーネント126が通過ポイントとして加わっていることが分かる。この場合にも、横軸に示す各コンポーネント52、54、56、58、60、データベース18、コンポーネント126の通過ポイントに対し、縦軸に示す実行時間128〜156と各実行時間についての時間数値、更に下端部の実行時間の合計値が表示されることで、この要求電文の処理のためのルートのどの位置でボトルネックが生じているかを、簡単に判断することができる。
FIG. 14 is an explanatory diagram of a display example analyzed from the organization information of FIG. In the analysis display about the route of the request message in FIG. 14, in contrast to FIG. 12, in addition to the
図15は図13の整理情報から得られた分析結果の表示例の他の説明図であり、この表示例にあっては、アプリケーションの実行時間をコンポーネント52のレスポンス時間、つまり全体の処理時間に対する時間割合(パーセント)で示したことを特徴とする。この実行時間の数値が時間割合のパーセントで示されても、図14の表示例の場合と同様、ルート上のどのコンポーネントの位置でボトルネックとなっているかが簡単に判断できる。なお実際のボトルネックの判断にあっては、図15のパーセント表示よりは図14の実行時間の数値表示の方が、より正確な判断ができる。
FIG. 15 is another explanatory view of the display example of the analysis result obtained from the organization information of FIG. 13. In this display example, the execution time of the application is set to the response time of the
本発明は、図3のウェブサーバ12、アプリケーションサーバ14及びデータベースサーバ16におけるトレース処理のためのプログラムを提供する。これらのサーバは、コンピュータのハードウェア資源により実現される。
The present invention provides a program for trace processing in the
コンピュータのハードウェア資源にあっては、CPUのバスに、RAM、ハードディスク、通信用ボードなどが接続され、ハードディスクに本発明のトレース処理に必要なプログラムがローディングされており、コンピュータの起動時にハードディスクから必要なプログラムを読み出してRAM上に展開し、CPUにより実行することになる。 As for computer hardware resources, RAM, a hard disk, a communication board, etc. are connected to a CPU bus, and a program necessary for the trace processing of the present invention is loaded on the hard disk. A necessary program is read out, developed on the RAM, and executed by the CPU.
クライアント24に対する要求電文の入口側に位置するウェブサーバ12におけるトレース処理のためのプログラムとしては、図8のトレース条件埋込処理のフローチャートに従ったトレース条件埋込プログラムと、図9のトレース採取処理のフローチャートに従ったプログラムが格納されている。
As a program for the trace processing in the
一方、2段目以降のアプリケーションサーバ14及びデータベースサーバ16については、図9のトレース採取処理のフローチャートに従ったトレース採取プログラムのみが格納されて実行されることになる。更に管理サーバ20にあっては、図10の分析表示処理のフローチャートに示した分析表示プログラムがローディングされて実行されることになる。
On the other hand, for the
なお本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。 The present invention includes appropriate modifications that do not impair the objects and advantages thereof, and is not limited by the numerical values shown in the above embodiments.
ここで本発明の特徴を列挙すると次の付記のようになる。 Here, the features of the present invention are enumerated as follows.
(付記)
(付記1)
階層配置された複数のサーバ上で動作する複数のアプリケーションを有し、クライアントから要求電文を受信した際に、アプリケーション間でリレーコードを順番に受け渡しながら処理を実行して応答する分散アプリケーションシステムのトレース処理方法に於いて、
前記要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件を前記リレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込ステップと、
前記アプリケーションの各々に設けられ、前記要求電文の受信時に前記リレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップと、
各アプリケーションで採取されたトレースを収集して分析表示する分析表示ステップと、
を備えたことを特徴とするトレース処理方法。(1)
(Appendix)
(Appendix 1)
Trace of a distributed application system that has multiple applications that operate on multiple servers arranged in a hierarchy and responds by executing processing while sequentially receiving relay codes between applications when receiving a request message from a client In the processing method,
A trace condition embedding step of embedding a preset trace collection condition including switch information instructing whether or not trace collection is received in the relay code when the request message is received;
A trace collection step that is provided in each of the applications and determines and processes the presence or absence of trace collection by switch information of a trace collection condition embedded in the relay code when the request message is received;
An analysis display step for collecting and analyzing and displaying traces collected by each application;
A trace processing method comprising: (1)
(付記2)
付記1記載のトレース処理方法に於いて、前記トレース条件埋込ステップは、前記トレース採取条件として、更に、トレースを採取する範囲をアプリケーション単位に指示する機能IDと、通過したアプリケーションを記録するリレーIDを含むことを特徴とする特徴とするトレース処理方法。
(Appendix 2)
In the trace processing method according to
(付記3)
付記1記載のトレース処理方法に於いて、
前記トレース条件埋込ステップは、前記スイッチ情報でトレース採取有りを指示した際にユニークなリレーIDを生成し、
前記トレース採取ステップは、次に呼び出すアプリケーションの識別子を前記リレーIDの後ろに繋げていくことを特徴とするトレース処理方法。
(Appendix 3)
In the trace processing method described in
The trace condition embedding step generates a unique relay ID when the switch information indicates the presence of trace collection.
In the trace collection step, an identifier of an application to be called next is connected to the back of the relay ID.
(付記4)
付記1記載のトレース処理方法に於いて、前記トレース条件埋込ステップは、前記トレース採取条件として、更に、前記スイッチ情報によるトレース採取有りの指示状態で前記要求電文の受信回数に対しトレースを採取する割合を指示する間欠スイッチ情報を含み、前記間欠スイッチ情報の割合に従って前記リレーコードにトレース採取条件を埋め込むことを特徴とするトレース処理方法。(2)
(Appendix 4)
In the trace processing method according to
(付記5)
付記4記載のトレース処理方法に於いて、前記間欠スイッチ情報は、要求電文のルートを識別し、識別したルート毎に前記要求電文の受信回数に対しトレースを採取する割合を指示することを特徴とするトレース処理方法。
(Appendix 5)
The trace processing method according to
(付記6)
付記4又は5記載のトレース処理方法に於いて、前記間欠スイッチは前記要求電文の受信回数に対しトレースを採取する割合を0パーセント乃至100パーセントの範囲で指示することを特徴とするトレース処理方法。
(Appendix 6)
The trace processing method according to
(付記7)
付記1記載のトレース処理方法に於いて、前記分析表示ステップは、前記トレース採取ステップにより各アプリケーションで採取されたトレース情報から、同一のリレーIDを持つトレース情報を抽出して時刻順にソートし、ソート結果に基づきルートと各アプリケーションと処理の関係を生成して表示させることを特徴とするトレース処理方法。
(Appendix 7)
In the trace processing method according to
(付記8)
付記7記載のトレース処理方法に於いて、前記分析表示ステップは、要求電文を受信してから次に引き渡すまでの処理時間を通過ポイントとなる各アプリケーションに対応して表示させることを特徴とするトレース処理方法。
(Appendix 8)
The trace processing method according to appendix 7, wherein the analysis display step displays a processing time from receipt of the request message to the next delivery corresponding to each application serving as a passing point. Processing method.
(付記9)
付記7記載のトレース処理方法に於いて、前記分析表示ステップは、入口のアプリケーションが要求電文を受信してから応答するまでの合計処理時間に対し、各アプリケーションが要求電文を受信して次に引き渡すまでの処理時間の割合を通過ポイントとなる各アプリケーションに対応して表示させることを特徴とするトレース処理方法。
(Appendix 9)
In the trace processing method according to attachment 7, in the analysis display step, each application receives a request message and then delivers it to the total processing time from when the application at the entrance receives the request message until it responds. The trace processing method is characterized by displaying the ratio of the processing time up to each application corresponding to the passing point.
(付記10)
クライアントの要求電文を最初に処理する第1階層のアプリケーションを備えたサーバを構成するコンピュータに、
クライアントから前記要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件を前記リレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込ステップと、
前記リレーコードに埋め込むトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理すると共に、他のアプリケーションから前記要求電文を受信した際に、前記要求電文のリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップと、
を実行させることを特徴とするプログラム。(3)
(Appendix 10)
In a computer constituting a server having a first-tier application that first processes a client request message,
A trace condition embedding step of embedding a preset trace collection condition including switch information instructing whether or not to collect traces in the relay code when the request message is received from the client and passing it to the next application;
Collecting traces embedded in the relay code of the request message when the request message is received from another application, and processing is performed by determining the presence or absence of trace collection based on the switch information of the trace collection condition embedded in the relay code. Trace collection step for processing by determining presence / absence of trace collection based on condition switch information,
A program characterized by having executed. (3)
(付記11)
クライアントの要求電文を2回目以降に処理する第2階層以降のアプリケーションを備えたサーバを構成するコンピュータに、
他のアプリケーションから前記要求電文を受信した際に、前記要求電文のリレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取ステップを実行させることを特徴とするプログラム。(4)
(Appendix 11)
In a computer that constitutes a server having an application of the second hierarchy or later that processes a client request message for the second time or later,
When the request message is received from another application, a trace collection step is executed to determine whether or not to collect a trace based on the switch information of the trace collection condition embedded in the relay code of the request message and to process it. Program. (4)
(付記12)
付記10又は11記載のプログラムに於いて、前記トレース条件埋込ステップは、更に、トレースを採取する範囲をアプリケーション単位に指示する機能IDと、通過したアプリケーションを記録するリレーIDを含むことを特徴とする特徴とするプログラム。
(Appendix 12)
The program according to
(付記13)
付記12記載のプログラムに於いて、
前記トレース条件埋込ステップは、前記スイッチ情報でトレース採取有りを指示した際にユニークなリレーIDを生成し、
前記トレース採取ステップは、次に呼び出すアプリケーションの識別子を前記リレーIDの後ろに繋げていくことを特徴とするプログラム。
(Appendix 13)
In the program described in
The trace condition embedding step generates a unique relay ID when the switch information indicates the presence of trace collection.
In the trace collection step, an identifier of an application to be called next is connected to the back of the relay ID.
(付記14)
付記10又は11記載のプログラムに於いて、前記トレース条件埋込ステップは、前記トレース採取条件として、更に、前記スイッチ情報によるトレース採取有りの指示状態で前記要求電文の受信回数に対しトレースを採取する割合を指示する間欠スイッチ情報を含み、前記間欠スイッチ情報の割合に従って前記リレーコードにトレース採取条件を埋め込むことを特徴とするプログラム。
(Appendix 14)
In the program according to
(付記15)
付記14記載のプログラムに於いて、前記間欠スイッチ情報は、要求電文のルートを識別し、識別したルート毎に前記要求電文の受信回数に対しトレースを採取する割合を指示することを特徴とするプログラム。
(Appendix 15)
The program according to
(付記16)
付記10又は11記載のプログラムに於いて、前記間欠スイッチは前記要求電文の受信回数に対しトレースを採取する割合を0パーセント乃至100パーセントの範囲で指示することを特徴とするプログラム。
(Appendix 16)
The program according to claim 10 or 11, wherein the intermittent switch indicates a ratio of collecting a trace with respect to the number of reception times of the request message within a range of 0% to 100%.
(付記17)
階層配置された複数のサーバ上で動作する複数のアプリケーション処理部を有し、クライアントから要求電文を受信した際に、アプリケーション処理部の間でリレーコードを順番に受け渡しながら処理を実行して応答する分散アプリケーションのトレース処理装置に於いて、
前記要求電文を受信した際に、トレース採取の有無を指示するスイッチ情報を含む予め設定されたトレース採取条件を前記リレーコードに埋め込んで次のアプリケーションに受け渡すトレース条件埋込部と、
前記アプリケーションの各々に設けられ、前記要求電文の受信時に前記リレーコードに埋込まれたトレース採取条件のスイッチ情報によりトレース採取の有無を判別して処理するトレース採取部と、
各アプリケーション処理部で採取されたトレースを収集して分析表示する分析表示部と、を備えたことを特徴とするトレース処理装置。(5)
(Appendix 17)
It has a plurality of application processing units that operate on a plurality of hierarchically arranged servers, and when it receives a request message from a client, it responds by executing the processing while sequentially passing relay codes between the application processing units In the trace processing device for distributed applications,
When receiving the request message, a trace condition embedding unit that embeds a preset trace collection condition including switch information indicating whether or not to collect a trace and passes it to the next application,
A trace collection unit that is provided in each of the applications, and determines and processes the presence or absence of trace collection based on the switch information of the trace collection condition embedded in the relay code when the request message is received;
A trace processing apparatus comprising: an analysis display unit that collects and analyzes and displays a trace collected by each application processing unit. (5)
(付記18)
付記17記載のトレース処理装置に於いて、前記トレース条件埋込部は、前記トレース採取条件として、更に、トレースを採取する範囲をアプリケーション単位に指示する機能IDと、通過したアプリケーションを記録するリレーIDを含むことを特徴とするトレース処理装置。
(Appendix 18)
The trace processing device according to appendix 17, wherein the trace condition embedding unit further includes a function ID for instructing a range for collecting a trace for each application, and a relay ID for recording a passed application as the trace collection condition. A trace processing apparatus comprising:
(付記19)
付記18記載のトレース処理装置に於いて、
前記トレース条件埋込部は、前記スイッチ情報でトレース採取有りを指示した際にユニークなリレーIDを生成し、
前記トレース採取部は、次に呼び出すアプリケーションの識別子を前記リレーIDの後ろに繋げていくことを特徴とするトレース処理装置。
(Appendix 19)
In the trace processing apparatus according to
The trace condition embedding unit generates a unique relay ID when the switch information indicates that there is a trace collection,
The trace processing unit, wherein the trace collection unit connects an identifier of an application to be called next to the relay ID.
(付記20)
付記17記載のトレース処理装置に於いて、前記トレース条件埋込部は、前記トレース採取条件として、更に、前記スイッチ情報によるトレース採取有りの指示状態で前記要求電文の受信回数に対しトレースを採取する割合を指示する間欠スイッチ情報を含み、前記間欠スイッチ情報の割合に従って前記リレーコードにトレース採取条件を埋め込むことを特徴とするトレース処理装置。
(Appendix 20)
The trace processing device according to appendix 17, wherein the trace condition embedding unit further collects a trace for the number of times the request message has been received in the instruction state with trace collection by the switch information as the trace collection condition. A trace processing apparatus comprising intermittent switch information indicating a ratio, and embedding a trace collection condition in the relay code according to the ratio of the intermittent switch information.
(付記21)
付記20記載のトレース処理装置に於いて、前記間欠スイッチ情報は、要求電文のルートを識別し、識別したルート毎に前記要求電文の受信回数に対しトレースを採取する割合を指示することを特徴とするトレース処理装置。
(Appendix 21)
The trace processing device according to
(付記22)
付記20又は21記載のトレース処理装置に於いて、前記間欠スイッチは前記要求電文の受信回数に対しトレースを採取する割合を0パーセント乃至100パーセントの範囲で指示することを特徴とするトレース処理装置。
(Appendix 22)
The trace processing device according to
(付記23)
付記17記載のトレース処理装置に於いて、前記分析表示部は、前記トレース採取部により各アプリケーションで採取されたトレース情報から、リレーIDに従ったルートのトレース情報を抽出して時刻順にソートし、ソート結果に基づきルートと各アプリケーションと処理の関係を生成して表示させることを特徴とするトレース処理装置。
(Appendix 23)
In the trace processing device according to attachment 17, the analysis display unit extracts the trace information of the route according to the relay ID from the trace information collected by each application by the trace collection unit, and sorts the information in time order, A trace processing apparatus that generates and displays a relationship between a route, each application, and processing based on a sorting result.
(付記24)
付記17記載のトレース処理装置に於いて、前記分析表示部は、要求電文を受信してから次に引き渡すまでの処理時間を通過ポイントとなる各アプリケーションに対応して表示させることを特徴とするトレース処理装置。
(Appendix 24)
The trace processing apparatus according to appendix 17, wherein the analysis display unit displays a processing time from receipt of a request message to the next delivery corresponding to each application serving as a passing point. Processing equipment.
10:分散型アプリケーションシステム
12、12−1〜12−4:ウェブサーバ
14、14−1〜14−4:アプリケーションサーバ
16、16−1、16−2:データベースサーバ
18、18−1、18−2:データベース
20:管理サーバ
22:インターネット
24:クライアント
26、34、36:アプリケーション処理部
28:トレース条件埋込部
30−1〜30−3:トレース採取部
32−1〜32−3:トレースファイル
38:管理コンソール
40:分析表示部
42:トレース採取条件記憶部
44:間接スイッチ処理部
45:リレーID生成部
46:トレース採取条件コード保持部
48:トレース採取条件コード埋込部
50:トレーススイッチ
52、54、56、58、60、126:コンポーネント
62−1〜62−10:リレーコード
64:トレース採取条件
66:スイッチ
68:機能ID
70:リレーID
72:間欠スイッチ情報
74、75、76、78、80、82:アプリケーション
ィールド
590:サブシステム第2宛先フィールド
592:第2宛先指定フラグ
10: Distributed
70: Relay ID
72:
Claims (5)
前記最初のサーバは、
クライアントから受信した要求電文に、各サーバのアプリケーションで要求電文のトレース指示かトレース非指示かを示す情報と、該要求電文を識別する識別子を付加して下位のサーバに転送し、
前記下階層のサーバは、
前記トレース指示かトレース非指示かを示す情報と前記識別子が付加された前記要求電文を受信し、受信した前記要求電文をサーバ内のアプリケーションで処理すると共に、受信した前記要求電文に付加された情報がトレース指示の場合に、トレースを行って自サーバに前記識別子と対応付けて蓄積し、受信した前記トレース指示かトレース非指示かを示す情報と前記識別子が付加された前記要求電文を、順次下階層のサーバに送る、
ことを特徴とするトレース処理方法。 Multiple servers each with an application are arranged in a hierarchy, the request message from the client is received by the first server arranged in the hierarchy, and the request message is sent to the lower-layer server in turn, and the request message is sent to each server application. In the trace processing method when executing the process of
The first server is
The request message received from the client is forwarded to the lower server with information indicating whether the request message is traced or not traced by the application of each server, and an identifier for identifying the request message,
The lower layer server is:
The request message to which the trace instruction or trace non-instruction and the identifier are added is received, the received request message is processed by an application in the server, and the information added to the received request message Is traced, it is traced and stored in the local server in association with the identifier, and the received request message to which the identifier and the information indicating whether the received trace instruction or trace non-instruction is added is sequentially downloaded. Send to the server in the hierarchy,
And a trace processing method.
前記トレース指示かトレース非指示かを示す情報に、さらにトレース指示かトレース非指示かを示す情報を採取する範囲をアプリケーション単位に指定する機能IDを含むことを特徴とするトレース処理方法。
The trace processing method according to claim 1,
The trace processing method characterized in that the information indicating whether the trace instruction or trace non-instruction further includes a function ID for designating a range for collecting information indicating whether the trace instruction or trace non-instruction for each application.
アプリケーションが実行された前記下階層のサーバは、受信した前記要求電文に、次に引き渡すアプリケーションを表す記号を前記識別子に付加することを特徴とするトレース処理方法。
The trace processing method according to claim 1,
The trace processing method , wherein the lower-layer server on which the application is executed adds a symbol representing the next application to be delivered to the identifier to the received request message.
前記トレース指示かトレース非指示かを示す情報は、前記要求電文の受信回数に基づいてトレース情報を採取する割合を指示する間欠スイッチ情報に従って、前記電文要求にトレース採取条件を付加することを特徴とするトレース処理方法。
The trace processing method according to claim 1 ,
The information indicating whether the trace instruction or the trace non-instruction is characterized by adding a trace collection condition to the message request according to intermittent switch information indicating a ratio of collecting the trace information based on the number of times the request message is received. Trace processing method to be performed.
前記最初のサーバは、
クライアントから受信した要求電文に、各サーバのアプリケーションで要求電文のトレース指示かトレース非指示かを示す情報と、該要求電文を識別する識別子を付加して下位のサーバに転送し、
前記下階層のサーバは、
前記トレース指示かトレース非指示かを示す情報と前記識別子が付加された前記要求電文を受信し、受信した前記要求電文をサーバ内のアプリケーションで処理すると共に、受信した前記要求電文に付加され情報がトレース指示の場合に、トレースを行って自サーバに前記識別子と対応付けて蓄積し、受信した前記トレース指示かトレース非指示かを示す情報と前記識別子が付加された前記要求電文を、順次下階層のサーバに送る、
ことを特徴とするトレース処理システム。 Each multiple servers in a hierarchical arrangement with the application to receive the first server hierarchically arranged a request message from the client, while transferring the request message to the server of sequential next lower layer, processed by the application on each server In the trace processing system when executing
The first server is
The request message received from the client is forwarded to the lower server with information indicating whether the request message is traced or not traced by the application of each server, and an identifier for identifying the request message,
The lower layer server is:
The request message to which the trace instruction or the trace non-instruction is added and the identifier is received, the received request message is processed by an application in the server, and the information added to the received request message is In the case of a trace instruction, a trace is performed and stored in the server in association with the identifier, and the received request message to which the identifier is added and the information indicating whether the received trace instruction or trace non-instruction is sequentially received To the server
A trace processing system characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012949A JP4778092B2 (en) | 2010-01-25 | 2010-01-25 | Trace processing method, program, and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012949A JP4778092B2 (en) | 2010-01-25 | 2010-01-25 | Trace processing method, program, and apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004165319A Division JP2005346414A (en) | 2004-06-03 | 2004-06-03 | Trace processing program, method, and device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010118072A JP2010118072A (en) | 2010-05-27 |
JP4778092B2 true JP4778092B2 (en) | 2011-09-21 |
Family
ID=42305665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010012949A Expired - Fee Related JP4778092B2 (en) | 2010-01-25 | 2010-01-25 | Trace processing method, program, and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4778092B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6150453B2 (en) | 2011-08-23 | 2017-06-21 | 富士通株式会社 | Server apparatus, system, and log collection support method |
CN103684898B (en) * | 2012-09-14 | 2017-06-23 | 阿里巴巴集团控股有限公司 | It is a kind of to monitor the method and device that user's request is run in a distributed system |
AU2014337092B2 (en) | 2013-10-18 | 2019-05-23 | May Health Us Inc. | Methods and systems for the treatment of polycystic ovary syndrome |
EP3277191B1 (en) | 2015-03-31 | 2023-11-15 | May Health US Inc. | Methods and systems for the manipulation of ovarian tissues |
WO2020152631A2 (en) | 2019-01-25 | 2020-07-30 | AblaCare SAS | Systems and methods for applying energy to ovarian tissue |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241890A (en) * | 1992-03-03 | 1993-09-21 | Nec Corp | Data trace system |
JP2005346414A (en) * | 2004-06-03 | 2005-12-15 | Fujitsu Ltd | Trace processing program, method, and device |
-
2010
- 2010-01-25 JP JP2010012949A patent/JP4778092B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010118072A (en) | 2010-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005346414A (en) | Trace processing program, method, and device | |
CN107562620B (en) | Automatic buried point setting method and device | |
US9356842B2 (en) | Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests | |
CN105765528B (en) | Method, system and medium with the application execution path trace that configurable origin defines | |
CN104750469B (en) | Source code statistical analysis technique and system | |
US7801281B2 (en) | Collecting and delivering call data associated with court ordered traps | |
JP5134684B2 (en) | How to understand website information through web page structure analysis | |
US8219548B2 (en) | Data processing method and data analysis apparatus | |
JP4778092B2 (en) | Trace processing method, program, and apparatus | |
CN108847957B (en) | Method and system for discovering and presenting network application access information | |
CN110851681B (en) | Crawler processing method, crawler processing device, server and computer readable storage medium | |
WO2014049804A1 (en) | System operation trace method in distributed system | |
US20120143947A1 (en) | Method, apparatus, and program for usability analysis of web applications | |
CN110263070A (en) | Event report method and device | |
CN110569298A (en) | data docking and visualization method and system | |
CN108322350B (en) | Service monitoring method and device and electronic equipment | |
JP2010117757A (en) | Performance monitoring system and performance monitoring method | |
CN113067883A (en) | Data transmission method and device, computer equipment and storage medium | |
CN112380473A (en) | Data acquisition and synchronization method, device, equipment and storage medium | |
CN110119336A (en) | Data processing method, device, computer readable storage medium and computer equipment | |
US10009220B2 (en) | In-vehicle information system and information processing method thereof | |
WO2020259034A1 (en) | Method, apparatus, and device for identifying offline source code, and storage medium | |
WO2003060783A2 (en) | System and method for transaction recording and playback | |
CN110430083A (en) | A kind of location processing method and server of agency's forwarding request | |
CN113010208A (en) | Version information generation method, version information generation device, version information generation equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110519 |
|
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: 20110607 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4778092 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |