Nothing Special   »   [go: up one dir, main page]

JP2007316905A - Computer system and method for monitoring application program - Google Patents

Computer system and method for monitoring application program Download PDF

Info

Publication number
JP2007316905A
JP2007316905A JP2006145199A JP2006145199A JP2007316905A JP 2007316905 A JP2007316905 A JP 2007316905A JP 2006145199 A JP2006145199 A JP 2006145199A JP 2006145199 A JP2006145199 A JP 2006145199A JP 2007316905 A JP2007316905 A JP 2007316905A
Authority
JP
Japan
Prior art keywords
probe
application program
monitoring
data
program
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.)
Withdrawn
Application number
JP2006145199A
Other languages
Japanese (ja)
Inventor
Daisuke Tashiro
大輔 田代
Shinichi Kawamoto
真一 川本
Tomohiro Nakamura
友洋 中村
Tsunehiko Baba
恒彦 馬場
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 JP2006145199A priority Critical patent/JP2007316905A/en
Priority to US11/746,910 priority patent/US20080010545A1/en
Publication of JP2007316905A publication Critical patent/JP2007316905A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method for generating, when a position where monitoring is to be executed and data to be monitored are designated in a business process level understandable by a business manager or operation manager, a program module for executing the designated monitoring without manual operation, and designating a program code level necessary for inserting the program module to an application program. <P>SOLUTION: In the computer system, a monitoring request described on design information with high abstraction is converted to a description of program mounting level by associating a point or data on the design information with high abstraction with a point or data on a program code by use of a correspondence between components of design information in each stage of an application development process. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本願明細書で開示される技術は、アプリケーションプログラムの実行中の挙動を監視する方法に関し、特に、アプリケーションプログラム監視の設定及び制御を実行する方法に関する。   The technology disclosed in the present specification relates to a method for monitoring behavior during execution of an application program, and more particularly, to a method for executing setting and control of application program monitoring.

情報システムの運用管理者又は業務管理者は、業務アプリケーションが出力するログを用いてシステム及び業務の状態を監視する。ログには、ハードウェア、OS、アプリケーションサーバ等の業務アプリケーションを実行する情報システムの各階層において出力されるシステムログと、業務アプリケーションが出力するアプリケーションログがある。情報システムの各階層は、それぞれシステムログを出力する機能と、運用管理者又は業務管理者の要求に応じて、出力するログをシステムの運用中にカスタマイズする機能とを備える。   An information system operation manager or a business manager monitors the status of the system and the business using a log output by the business application. The log includes a system log output in each layer of the information system that executes business applications such as hardware, OS, and application server, and an application log output by the business application. Each layer of the information system has a function of outputting a system log and a function of customizing a log to be output during operation of the system in response to a request from an operation manager or a business manager.

情報システムによって処理されている業務の状態を監視するためには、システムログではなく、アプリケーションログが必要となる。業務の状態監視に必要となるアプリケーションログは、企業をとりまく法改正などの環境変化によって、アプリケーションの運用開始後に変化する可能性がある。このため、アプリケーションが出力するログを運用開始後に追加又は変更する必要がある。   In order to monitor the status of the business being processed by the information system, an application log is required instead of the system log. The application log required for business status monitoring may change after the start of application operation due to environmental changes such as amendments to the laws surrounding companies. For this reason, it is necessary to add or change the log output by the application after the operation is started.

アプリケーションログを出力する機能の実現方法は、アプリケーションプログラムの実装の形態によって異なる。   The method for realizing the function of outputting the application log differs depending on the implementation form of the application program.

昨今、業務アプリケーションの開発においては、モデル中心の開発手法が用いられるようになってきている。この開発手法によれば、経営者又は設計コンサルタントが、業務プロセスをBusiness Process Modeling Notation(BPMN)(非特許文献1参照)等のモデル記述言語を用いてモデル化する。作成されたモデルが実装レベルのモデルへと段階的に変換、詳細化されることによって、プログラムの実装レベルの仕様が作成される。そして、作成された仕様に基づいてアプリケーションプログラムが実装される(非特許文献2参照)。   Recently, in the development of business applications, a model-centric development method has been used. According to this development method, a manager or a design consultant models a business process using a model description language such as Business Process Modeling Notation (BPMN) (see Non-Patent Document 1). The created model is converted and refined step by step into an implementation level model, thereby creating an implementation level specification of the program. And an application program is mounted based on the produced specification (refer nonpatent literature 2).

図2は、アプリケーションの開発工程、及び、その過程で作成されるモデル図の説明図である。   FIG. 2 is an explanatory diagram of an application development process and a model diagram created in the process.

アプリケーションの開発においては、ビジネスプロセスモデリング表記法(BPMN)等を用いて作成された業務プロセス図301、Unified Modeling Language(UML)等のモデル記述言語を用いて作成されたUMLクラス図302、及び、UMLシーケンス図303等が用いられる。   In application development, a business process diagram 301 created using business process modeling notation (BPMN) or the like, a UML class diagram 302 created using a model description language such as Unified Modeling Language (UML), and the like A UML sequence diagram 303 or the like is used.

以下、業務プロセス図、UMLクラス図及びUMLシーケンス図等、アプリケーションの開発において用いられるモデル図を総称して設計情報と呼ぶ。   Hereinafter, model diagrams used in application development, such as business process diagrams, UML class diagrams, and UML sequence diagrams, are collectively referred to as design information.

このようなアプリケーション開発工程では、まず、業務プロセスを分析しモデル化することによって、抽象的な業務プロセス図301が作成される。作成された業務プロセス図301が、段階的に詳細化される。詳細化された業務プロセス図は、さらに、UMLクラス図302又はUMLシーケンス図303のモデルへと詳細化される。詳細化を繰り返すことによって、抽象的なアプリケーション設計モデルは、アプリケーションプログラムの実装に近いレベルのモデルに変換される。最終的に、実装レベルのモデルに基づいて、アプリケーションのプログラムコード304が実装される。   In such an application development process, first, an abstract business process diagram 301 is created by analyzing and modeling a business process. The created business process diagram 301 is detailed in stages. The detailed business process diagram is further refined into the model of the UML class diagram 302 or the UML sequence diagram 303. By repeating the refinement, the abstract application design model is converted into a model at a level close to the implementation of the application program. Finally, the application program code 304 is implemented based on the implementation level model.

昨今の業務アプリケーションは、オブジェクト指向言語を用いて複数の小規模なソフトウェア部品であるコンポーネントを組み合わせることによって構築されることが一般的となっている。そのようなアプリケーションを構築するための基盤技術として、J2EE(非特許文献3参照)及び.NETがある。これらの基盤技術を用いて実装されたアプリケーションは、J2EEアプリケーションサーバ又は.NETアプリケーションサーバと呼ばれるアプリケーション運用基盤上で実行される。   In recent years, business applications are generally constructed by combining components, which are a plurality of small software parts, using an object-oriented language. As basic technologies for constructing such an application, there are J2EE (see Non-Patent Document 3) and .NET. Applications implemented using these platform technologies are executed on an application operation platform called a J2EE application server or .NET application server.

一方、異なるアプローチとして、業務プロセスを構成する各機能をサービスとして実装し、メッセージングシステムを用いてサービスの疎結合としてアプリケーションを実装するService Oriented Architecture(SOA)のアプローチが提唱されている(非特許文献4参照)。   On the other hand, as a different approach, a Service Oriented Architecture (SOA) approach has been proposed in which each function constituting a business process is implemented as a service, and an application is implemented as a loosely coupled service using a messaging system (non-patent literature). 4).

SOAによって実装されたアプリケーションでは、メッセージングシステムでサービス間のメッセージを捕捉することによって、アプリケーションで処理される業務の状態を監視することができる(非特許文献5参照)。メッセージングシステムによる監視は、サービスと独立して設定できるため、アプリケーションへの作りこみ無しにアプリケーションレベルの監視を実現し、運用中に監視内容のカスタマイズをすることができる。あるいは、サービス間でやりとりされる全てのメッセージを記録し、その後必要なメッセージを参照することによって、監視する内容を追加又は変更することができる。   In the application implemented by the SOA, the status of the business processed by the application can be monitored by capturing messages between services in the messaging system (see Non-Patent Document 5). Since monitoring by the messaging system can be set independently of the service, application level monitoring can be realized without creating an application, and monitoring contents can be customized during operation. Alternatively, the contents to be monitored can be added or changed by recording all messages exchanged between services and then referring to the necessary messages.

SOAのアプローチを取らない一般的なアプリケーションの場合、SOAアプリケーションのようにアプリケーションの挙動を外部から捕捉して業務の状態を監視することができない。従って、アプリケーションによって出力されるログを追加又は変更する場合、個々のログについて、ログを出力する機能をアプリケーションに個別に作りこむ必要があるため、アプリケーションプログラムの変更が必要であった。そのため、出力する個々のログに応じてログ出力コードを実装する手間がかかるという問題と、アプリケーションプログラムの変更のためにアプリケーションの運用を停止する必要があるという問題があった。   In the case of a general application that does not take the SOA approach, the behavior of the application cannot be monitored from the outside by monitoring the behavior of the application like the SOA application. Therefore, when adding or changing a log output by an application, it is necessary to create a function for outputting the log individually for each log, and thus the application program must be changed. Therefore, there is a problem that it takes time to implement a log output code according to each log to be output, and there is a problem that it is necessary to stop the operation of the application in order to change the application program.

アプリケーションにログ出力コードの追加又は変更を行うためにプログラムを変更する必要があるという問題を解決する方法として、バイトコードインスツルメンテーション技術(特許文献1参照)を用いる方法がある。バイトコードインスツルメンテーション技術は、アプリケーションプログラムのプログラムコードを動的に書き換えることによって、プログラム実行中の機能追加及び変更を実現する。この技術を用いて、ログ出力機能の動的な追加、変更を実現することができる。   As a method for solving the problem that a program needs to be changed in order to add or change a log output code to an application, there is a method using a bytecode instrumentation technique (see Patent Document 1). Byte code instrumentation technology dynamically adds and changes functions during program execution by dynamically rewriting the program code of an application program. Using this technology, it is possible to realize dynamic addition and change of the log output function.

特許文献2では、バイトコードインスツルメンテーション技術を用いて、事前に用意したログを出力するプログラムモジュールを選択して、そのプログラムモジュールを、実行中のアプリケーションプログラムに挿入するシステムが示されている。その結果、任意のアプリケーション監視を、アプリケーションの運用を止めずに追加することができる。   Patent Document 2 discloses a system that selects a program module that outputs a log prepared in advance using a bytecode instrumentation technique and inserts the program module into a running application program. . As a result, arbitrary application monitoring can be added without stopping application operation.

特許文献3では、アプリケーションプログラムの指定された箇所に、監視を実行するプログラムモジュールをアプリケーションプログラムの実行中に挿入し、実行パフォーマンスを監視するシステムが示されている。このシステムでは、プログラムのどこで監視を実行するかを、プログラムコードレベルで入力する。すると、入力した位置に、予め用意された監視を実行するプログラムモジュールが自動的に挿入され、監視が実行される。   Japanese Patent Application Laid-Open No. 2004-228561 discloses a system that monitors execution performance by inserting a program module for executing monitoring into a designated portion of an application program during execution of the application program. In this system, the location of the program to be monitored is input at the program code level. Then, a program module for executing monitoring prepared in advance is automatically inserted at the input position, and monitoring is executed.

また、ログ出力コードを実装する手間がかかるという問題を解決するために、ログ出力コードを自動的に生成する方法がある。非特許文献6では、アプリケーションを監視するプログラムモジュールを自動的に生成するシステムが示されている。このシステムでは、監視を行う箇所とそこで監視するデータをプログラムコードレベルで入力することによって、アプリケーションを監視するプログラムモジュールが自動的に生成される。   In addition, there is a method of automatically generating a log output code in order to solve the problem that it takes time and effort to implement the log output code. Non-Patent Document 6 shows a system that automatically generates a program module for monitoring an application. In this system, a program module for monitoring an application is automatically generated by inputting a portion to be monitored and data to be monitored at the program code level.

また、アプリケーションの運用中に、出力するログを追加又は変更することを実現する別の方法として、特許文献4では、アプリケーションに事前に作りこんでおいた監視機能をアプリケーションの運用中に選択し、監視の実行を制御するユーザインタフェースを備えるシステムが示されている。この方法では、アプリケーション運用前に作りこんだ監視機能の範囲内で、運用中に監視の実行を制御することができる。しかし選択可能な監視機能をアプリケーションの運用中に追加又は変更することはできない。   In addition, as another method for adding or changing the log to be output during the operation of the application, in Patent Document 4, the monitoring function that has been created in advance in the application is selected during the operation of the application. A system with a user interface that controls the execution of monitoring is shown. In this method, execution of monitoring can be controlled during operation within the scope of the monitoring function created before application operation. However, selectable monitoring functions cannot be added or changed during application operation.

また、アプリケーションの監視を実行する際に、監視の実行によって生じる性能劣化を考慮する必要がある。アプリケーションを監視し、監視データを出力する処理は、一定の負荷を生じる。従って、監視負荷がアプリケーションプログラムの実行に出来るだけ影響を与えないように監視を実行する必要がある。   Further, when executing application monitoring, it is necessary to consider performance degradation caused by execution of monitoring. The process of monitoring the application and outputting the monitoring data generates a certain load. Therefore, it is necessary to execute monitoring so that the monitoring load does not affect the execution of the application program as much as possible.

監視項目の中には、常に監視する必要はないが、特定の状況下において監視する必要がある監視項目も存在する。このような監視項目が多数存在する場合に、それらの監視を常に実行することによって監視負荷が高くなり、その負荷がアプリケーションの実行に大きな影響を与える可能性がある。この問題に対処するため、全ての監視を常に実行するのではなく、監視を実行する条件を設定し、必要に応じて監視の実行を制御する方法がある。特許文献5では、ある監視項目の値に応じて別の監視項目を取得するか否かを制御するシステムが開示されている。この制御によって、必要以上の監視負荷をかけずに、状況に応じて必要な監視を実行することができる。このシステムでは、監視データの閾値と、閾値を超えた場合に実行される監視項目とを設定することによって、監視を実行する条件が設定される。   Some monitoring items do not always need to be monitored, but there are also monitoring items that need to be monitored under specific circumstances. When there are a large number of such monitoring items, the monitoring load increases by constantly executing such monitoring, and the load may greatly affect the execution of the application. In order to cope with this problem, there is a method in which conditions for executing monitoring are set, and monitoring execution is controlled as necessary, instead of always executing all monitoring. Patent Document 5 discloses a system that controls whether or not to acquire another monitoring item according to the value of a certain monitoring item. This control makes it possible to perform necessary monitoring according to the situation without applying an unnecessary monitoring load. In this system, a condition for executing monitoring is set by setting a monitoring data threshold and a monitoring item to be executed when the threshold is exceeded.

また、特許文献6では、アプリケーションがログの出力に用いるログ出力装置において、ログの出力に要する所要時間を測定し、ログ出力の所要時間がアプリケーション全体の実行の所要時間に対して一定の割合以下となるようにログの出力レベルを調整するシステムが示されている。
米国特許第6260187号明細書 米国特許出願公開第2005/0273667号明細書 特表2005−523518号公報 特開2003−233515号公報 特開2004−206495号公報 特開2001−175508号公報 ステファン・A・ホワイト(Stephen A. White)著、日揮情報ソフトウェア株式会社翻訳、「BPMNの概要」、[online]、2004年5月、日揮情報ソフトウェア株式会社、[2005年12月13日検索]、インターネット<URL:http://www.jsys-products.com/iwaken/bpmn/pub/Introduction_to_BPMN.pdf> ビル・シャノン(Bill Shannon)、「ジャバ2 プラットフォーム エンタープライズ エディション スペシフィケーション v1.4(Java 2 Platform Enterprise Edition Specification, v1.4)」、[online]、2003年11月24日、サンマイクロシステムズ社(Sun Microsystems, Inc.)、[2005年6月23日検索]、インターネット<URL:http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf> デビッド・S・フランケル(David S. Frankel)著、日本アイ・ビー・エム株式会社TEC-J MDA分科会翻訳、「MDAモデル駆動アーキテクチャ」、株式会社エスアイビー・アクセス、2003年11月1日 日本BEAシステムズ株式会社、「SOA サービス指向アーキテクチャ」、株式会社翔泳社、2005年3月22日 デビッド・チャペル(David Chappell)、「BizTalk Server 2004 の理解」、[online]、2003年10月、マイクロソフト株式会社、[2005年6月23日検索]、インターネット<URL:http://download.microsoft.com/download/1/1/1/1118730e-ec93-45aa-8c06-97af628db61d/UnderstandingBizTalkServer2004_J.doc> アドベントネット社(AdventNet, Inc.)、「マネージエンジン ジェイエムエックス スタジオ5 プロダクト ドキュメンテーション(ManageEngine JMX Studio 5 Product Documentation)」、[online]、2004年、アドベントネット社(AdventNet, Inc.)、[2005年8月2日検索]、インターネット<URL:http://manageengine.adventnet.com/products/jmx_studio/AdventNetManageEngineJMXStudio.pdf>
In Patent Document 6, the time required for log output is measured in the log output device used by the application for log output, and the time required for log output is less than a certain percentage of the time required for execution of the entire application. A system for adjusting the output level of the log is shown.
US Pat. No. 6,260,187 US Patent Application Publication No. 2005/0273667 JP 2005-523518 A JP 2003-233515 A JP 2004-206495 A JP 2001-175508 A By Stephen A. White, translated by JGC Information Software Co., Ltd., “Outline of BPMN”, [online], May 2004, JGC Information Software Co., Ltd. [searched on December 13, 2005] , Internet <URL: http://www.jsys-products.com/iwaken/bpmn/pub/Introduction_to_BPMN.pdf> Bill Shannon, “Java 2 Platform Enterprise Edition Specification, v1.4” [online], November 24, 2003, Sun Microsystems, Inc. ( Sun Microsystems, Inc.) [Search June 23, 2005], Internet <URL: http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf> By David S. Frankel, translated by IBM Japan, TEC-J MDA Subcommittee, “MDA Model Driven Architecture”, SIB Access Inc., November 1, 2003 Japan BEA Systems Co., Ltd., “SOA Service Oriented Architecture”, Shosuisha Co., Ltd., March 22, 2005 David Chappell, "Understanding BizTalk Server 2004," [online], October 2003, Microsoft Corporation, [searched June 23, 2005], Internet <URL: http://download.microsoft .com / download / 1/1/1 / 1118730e-ec93-45aa-8c06-97af628db61d / UnderstandingBizTalkServer2004_J.doc> AdventNet, Inc., “Manage Engine JMX Studio 5 Product Documentation” [online], 2004, AdventNet, Inc., 2005 Search February 2], Internet <URL: http://manageengine.adventnet.com/products/jmx_studio/AdventNetManageEngineJMXStudio.pdf>

これらアプリケーションプログラムを監視する従来の技術には、以下の様な問題があった。   The conventional techniques for monitoring these application programs have the following problems.

第1に、従来の技術は、アプリケーションプログラムへ監視機能を追加又は変更するために、監視を実行するプログラムモジュールを自動的に生成し、生成したプログラムモジュールをアプリケーション実行中に適用する。しかし、このような従来の技術を利用するためには、監視を実行する場所(点)及び監視対象のデータをプログラムコードのレベルで入力する必要があった。   First, in order to add or change a monitoring function to an application program, the conventional technique automatically generates a program module for executing monitoring, and applies the generated program module during execution of the application. However, in order to use such a conventional technique, it is necessary to input the location (point) for monitoring and the data to be monitored at the program code level.

一般に、追加又は変更されるログを必要とするのは運用管理者又は業務管理者であることが多い。一般に、運用管理者及び業務管理者は、アプリケーションの実装プログラムコードを理解していない。そのため、運用管理者及び業務管理者は、従来の技術を利用するために必要な、監視する内容のプログラムコードレベルでの入力を行うことが出来ない。従って、プログラムコードを理解しているアプリケーションの設計者又はプログラマが、運用管理者又は業務管理者の要求を受けて必要な情報を作成し、入力する必要がある。この手間が、迅速な監視機能の追加又は変更の妨げとなるという問題がある。   In general, it is often an operation manager or a business manager that needs a log to be added or changed. In general, operation managers and business managers do not understand application program code. Therefore, the operation manager and the business manager cannot input the contents to be monitored at the program code level necessary for using the conventional technology. Therefore, it is necessary for an application designer or programmer who understands the program code to create and input necessary information in response to a request from the operation manager or business manager. There is a problem in that this labor is an obstacle to the addition or change of the rapid monitoring function.

この問題に対処するために、入力する情報を事前に準備しておき、その情報の中から、運用管理者が必要に応じて選択したものを適用することもできる。しかし、必要となる可能性があるあらゆる監視内容を事前に把握し、必要な入力情報を用意しておくことは困難である。従って、上記の方法では、事前に想定していなかった監視内容を追加する必要が生じた場合に対処できず、本質的な解決策にはならない。   In order to cope with this problem, it is possible to prepare information to be input in advance, and apply the information selected by the operation manager as needed from the information. However, it is difficult to grasp in advance all the monitoring contents that may be necessary and prepare necessary input information. Therefore, the above method cannot deal with a case where it is necessary to add monitoring contents that were not assumed in advance, and is not an essential solution.

第2に、従来の技術を用いることによって、アプリケーションの状態に応じて監視を実行する項目を制御することができる。ここで、監視の実行を制御する条件を指定する際に、条件の判定に用いる監視項目が指定される。さらに、状態に応じて制御する対象である監視項目が指定される。このとき、指定可能な監視項目がプログラムコードレベルで名前付けされている場合、プログラムコードを理解していない限り、適切に監視の制御を設定できない。また、条件の判定に用いたいデータを監視する機能が存在しない場合、新規に監視機能を追加する必要がある。   Second, by using a conventional technique, it is possible to control items to be monitored according to the state of the application. Here, when a condition for controlling execution of monitoring is specified, a monitoring item used for determining the condition is specified. Furthermore, a monitoring item to be controlled according to the state is designated. At this time, if the monitor items that can be specified are named at the program code level, the monitoring control cannot be set appropriately unless the program code is understood. In addition, when there is no function for monitoring data to be used for condition determination, it is necessary to newly add a monitoring function.

また、従来技術では、アプリケーションからの監視データの出力をフィルタリングすることによって監視の実行が制御される。そのため、監視のためのプログラムコードは、監視データの出力の有無に関わらず、アプリケーションプログラム中に組み込まれ、アプリケーションの実行に従って監視コードの処理を実行する。そのため、監視データの出力を制御しても、完全に監視負荷を削減することができなかった。   In the prior art, the monitoring execution is controlled by filtering the output of the monitoring data from the application. Therefore, the program code for monitoring is incorporated in the application program regardless of whether or not monitoring data is output, and processing of the monitoring code is executed according to the execution of the application. Therefore, even if the output of monitoring data is controlled, the monitoring load cannot be reduced completely.

第3に、一般に、プログラムの実装を理解せずに監視負荷を見積もることは困難である。上記の第1の問題が解決されれば、アプリケーションプログラムの実装を意識することなくアプリケーションの監視機能を追加又は変更することができる。しかし、この場合、意図せずに監視負荷の高い監視機能をアプリケーションプログラムに追加してしまうことによって、アプリケーションプログラムの実行に重大な性能低下が引き起こされる可能性がある。   Third, it is generally difficult to estimate the monitoring load without understanding the program implementation. If the first problem is solved, the application monitoring function can be added or changed without being aware of the implementation of the application program. However, in this case, unintentionally adding a monitoring function with a high monitoring load to the application program may cause a serious performance degradation in the execution of the application program.

従来技術では、監視負荷はアプリケーション外部のログ出力装置において測定されるため、アプリケーションプログラム内部で処理される監視データの取得、生成及び外部への出力要求の処理の負荷を測定することが出来なかった。また、従来技術では、アプリケーションの監視機能全体の負荷が測定され、その結果に基づいて監視の実行が制御される。このため、個別の監視機能の負荷を測定し、その結果に基づいて監視の実行を制御することが出来なかった。   In the prior art, since the monitoring load is measured in the log output device outside the application, it is not possible to measure the load of monitoring data acquisition, generation and output request processing to be processed inside the application program. . In the prior art, the load of the entire monitoring function of the application is measured, and the execution of monitoring is controlled based on the result. For this reason, the load of the individual monitoring function is measured, and the execution of monitoring cannot be controlled based on the result.

上記の点から、本発明が解決しようとする第1の課題は、業務管理者又は運用管理者が理解しうる業務プロセスレベルで、監視を実行する箇所及び監視するデータが指定されたときに、人手を介さずに、指定された監視を実行するプログラムモジュールを生成し、そのプログラムモジュールをアプリケーションプログラムへ挿入するために必要なプログラムコードレベルの指定をする方法を提供することである。   From the above points, the first problem to be solved by the present invention is that when a location to be monitored and data to be monitored are designated at a business process level that can be understood by a business manager or an operations manager, It is an object of the present invention to provide a method for generating a program module for executing specified monitoring without manual intervention and specifying a program code level necessary for inserting the program module into an application program.

本発明が解決しようとする第2の課題は、アプリケーションの監視を条件に基づいて制御することによって、状況に応じて適切な監視を実行することを、プログラムの知識を必要とせずに可能とすることである。   The second problem to be solved by the present invention is to control application monitoring based on conditions, thereby enabling appropriate monitoring according to the situation without requiring knowledge of the program. That is.

本発明が解決しようとする第3の課題は、アプリケーションプログラムに新規の監視機能を追加した結果、追加された監視機能の負荷によってアプリケーションプログラムの実行に重大な性能低下が生じることを防止することである。   The third problem to be solved by the present invention is to prevent the performance of the application program from being seriously degraded due to the load of the added monitoring function as a result of adding a new monitoring function to the application program. is there.

本願で開示する代表的な発明は、アプリケーションプログラムを実行する計算機システムにおいて、前記計算機システムは、前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記一つの段階より進んだ段階における設計情報の構成要素との対応関係を示す情報を保持し、前記対応関係を示す情報に基づいて、前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記アプリケーションプログラムのコードとを対応付けることを特徴とする。   A representative invention disclosed in the present application is a computer system that executes an application program, wherein the computer system includes components of design information in one stage of the development process of the application program and a stage advanced from the one stage. The information indicating the correspondence relationship with the component of the design information is stored, and based on the information indicating the correspondence relationship, the component of the design information in one stage of the development process of the application program and the code of the application program Are associated with each other.

本発明の一実施形態によれば、プログラムの実装を理解していない業務管理者又は運用管理者等であっても、業務の視点で理解できる上流のアプリケーション設計情報上で、アプリケーションプログラムの監視を指定することができる。指定された監視を実現するためのプログラムモジュールは、設計者又はプログラマの作業を必要とせずに、直ちにアプリケーションプログラムに追加され、又は変更される。また、プログラミング作業を必要とせずに、複数の監視機能を協調動作させ、アプリケーションプログラムの実行状態に応じた適切な監視を容易に実現することができる。さらに、不用意な監視設定が、アプリケーションプログラムの実行に重大な性能低下を引き起こすことを防止し、アプリケーション監視の設定を安全に行うことができる。   According to an embodiment of the present invention, even if a business administrator or operation manager who does not understand the implementation of the program, the application program is monitored on the upstream application design information that can be understood from the business viewpoint. Can be specified. The program module for realizing the specified monitoring is immediately added or changed to the application program without requiring the work of the designer or programmer. In addition, it is possible to easily implement appropriate monitoring according to the execution state of the application program by cooperating a plurality of monitoring functions without requiring programming work. Furthermore, careless monitoring settings can be prevented from causing serious performance degradation in the execution of application programs, and application monitoring settings can be performed safely.

以下、本発明の実施の形態について、図面を参照し説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の第1の実施の形態のアプリケーションプログラム監視システムの構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of an application program monitoring system according to the first embodiment of this invention.

公知のアプリケーションサーバ160は、アプリケーションプログラム170を公知のプログラム記憶装置(図示省略)から読み込み、実行する。本実施の形態では、アプリケーションサーバ160がJava 2 Enterprise Edition(J2EE)(Javaは登録商標)アプリケーションサーバであり、アプリケーションプログラム170がJ2EEを用いて実装されたアプリケーションプログラムである場合を例として説明する。また、本実施の形態において、アプリケーションサーバ160は、実行するアプリケーションプログラム170を、バイトコードインスツルメンテーション技術を用いて実行中に書き換える機能、及び、書き換え機能を制御するインタフェース(図示省略)を備える。   The known application server 160 reads the application program 170 from a known program storage device (not shown) and executes it. In the present embodiment, a case where the application server 160 is a Java 2 Enterprise Edition (J2EE) (Java is a registered trademark) application server and the application program 170 is an application program implemented using J2EE will be described as an example. In the present embodiment, the application server 160 includes a function for rewriting an application program 170 to be executed during execution using a bytecode instrumentation technique, and an interface (not shown) for controlling the rewriting function. .

ユーザインタフェース110は、本システムで実行されるアプリケーションプログラムの監視を設定及び管理するユーザインタフェースである。   The user interface 110 is a user interface for setting and managing monitoring of application programs executed in this system.

対応検索部115は、設計対応関係記憶部130に記憶された情報を用いて、設計情報記憶部120に記憶された、アプリケーションの開発工程で作成された設計情報の構成要素間の対応関係を検索する。   The correspondence search unit 115 uses the information stored in the design correspondence storage unit 130 to search the correspondence between the components of the design information created in the application development process stored in the design information storage unit 120. To do.

ここで、設計情報とは、アプリケーションプログラム170の開発の際に用いられるモデル図等の総称である。設計情報の構成要素とは、設計情報上の点(箇所)又はデータ等である。例えば、設計情報の構成要素は、業務プロセス図におけるアクティビティ又は接続フローであってもよいし、UMLシーケンス図におけるメッセージであってもよいし、クラス図におけるクラス、メソッド又はフィールドであってもよいし、プログラムコードにおけるクラス、メソッド又はフィールドであってもよい。   Here, the design information is a general term for model diagrams and the like used when the application program 170 is developed. The components of the design information are points (locations) or data on the design information. For example, the component of the design information may be an activity or connection flow in a business process diagram, a message in a UML sequence diagram, or a class, method, or field in a class diagram. It may be a class, method or field in the program code.

管理部141は、設定に従って、アプリケーションサーバ160においてアプリケーションプログラム170の監視を実行するプログラムモジュールを生成し、さらに、生成したプログラムモジュールをアプリケーションプログラム170に挿入する。この監視を実行するプログラムモジュールをプローブと呼ぶ。   The management unit 141 generates a program module for executing monitoring of the application program 170 in the application server 160 according to the setting, and further inserts the generated program module into the application program 170. A program module that executes this monitoring is called a probe.

条件制御部143は、所定の条件に基づいてプローブの監視動作を制御する。   The condition control unit 143 controls the monitoring operation of the probe based on a predetermined condition.

負荷制御部145は、プローブの監視動作の負荷によるアプリケーションプログラム170への影響を測定し、制御する。   The load control unit 145 measures and controls the influence on the application program 170 due to the load of the probe monitoring operation.

公知の監視イベント出力部180は、アプリケーションプログラム170に対して、監視イベントを出力するApplication Programming Interface(API)を提供する。監視イベント出力部180の例としては、JavaのロギングAPIであるJava Logging API又はLog4J等がある。監視イベント出力部180は、公知の監視イベント記録部190に、監視イベントをユーザが指定した形式で出力する。監視イベント記録部190は、例えば、ファイルシステム又はデータベース等であってもよい。   A known monitoring event output unit 180 provides an application programming interface (API) that outputs a monitoring event to the application program 170. Examples of the monitoring event output unit 180 include Java Logging API or Log4J which is a Java logging API. The monitoring event output unit 180 outputs the monitoring event to a known monitoring event recording unit 190 in a format designated by the user. The monitoring event recording unit 190 may be a file system or a database, for example.

図24は、本発明の第1の実施の形態のアプリケーションプログラム監視システムの物理的な構成を示すブロック図である。   FIG. 24 is a block diagram illustrating a physical configuration of the application program monitoring system according to the first embodiment of this invention.

具体的には、図24は、図1に示したシステムを実現するコンピュータシステムの一例を示している。このコンピュータシステムは、CPU2703、主記憶2705、外部記憶装置2707、入力装置2709、出力装置2711及びネットワークインタフェース2713を備える。これらはバス2701によって接続されている。   Specifically, FIG. 24 shows an example of a computer system that implements the system shown in FIG. This computer system includes a CPU 2703, a main memory 2705, an external storage device 2707, an input device 2709, an output device 2711, and a network interface 2713. These are connected by a bus 2701.

CPU2703は、主記憶2705に格納されたプログラムを実行するプロセッサである。以下の説明において、主記憶2705に格納されたプログラムが実行する処理は、実際にはCPU2703によって実行される。   The CPU 2703 is a processor that executes a program stored in the main memory 2705. In the following description, the processing executed by the program stored in the main memory 2705 is actually executed by the CPU 2703.

主記憶2705は、例えば、半導体装置である。主記憶2705には、外部記憶装置2707から読み込まれたソフトウェアプログラム及びそのプログラムによって参照される情報等が格納される。   The main memory 2705 is, for example, a semiconductor device. The main memory 2705 stores a software program read from the external storage device 2707, information referred to by the program, and the like.

入力装置2709は、例えば、キーボード又はマウスである。   The input device 2709 is, for example, a keyboard or a mouse.

出力装置2711は、例えば、ディスプレイ装置である。   The output device 2711 is, for example, a display device.

外部記憶装置2707は、例えば、ハードディスク装置である。図1に示す設計情報記憶部120、設計対応関係記憶部130及び監視イベント記録部190は、外部記憶装置2707内の記憶領域として実現される。これらの記憶部は、例えば、データベースとして実装されてもよい。さらに、図1に示すアプリケーションプログラム監視システムを構成するソフトウェアプログラムが外部記憶装置2707に格納される。   The external storage device 2707 is, for example, a hard disk device. The design information storage unit 120, the design correspondence storage unit 130, and the monitoring event recording unit 190 illustrated in FIG. 1 are realized as storage areas in the external storage device 2707. These storage units may be implemented as a database, for example. Further, a software program constituting the application program monitoring system shown in FIG. 1 is stored in the external storage device 2707.

アプリケーションプログラム監視システムを構成するソフトウェアプログラムとは、具体的には、ユーザインタフェース110、対応検索部115、管理部141、条件制御部143、負荷制御部145及び監視イベント出力部180である。それらのソフトウェアプログラムが主記憶2705に読み込まれ、CPU2703がそれらを実行することによって、図1に示すシステムが実現される。ユーザインタフェース110は、入力装置2709及び出力装置2711を用いて、ユーザからの入力の受け付け及びユーザへの情報の出力を実行する。   Specifically, the software programs constituting the application program monitoring system are the user interface 110, the correspondence search unit 115, the management unit 141, the condition control unit 143, the load control unit 145, and the monitoring event output unit 180. These software programs are read into the main memory 2705 and executed by the CPU 2703, thereby realizing the system shown in FIG. The user interface 110 uses the input device 2709 and the output device 2711 to receive input from the user and output information to the user.

図1に示すシステムが、一つのコンピュータシステムによって実現される場合、外部記憶装置2707は、さらにアプリケーションサーバ160及びアプリケーションプログラム170を格納する。その場合、アプリケーションサーバ160及びアプリケーションプログラム170は、主記憶2705に読み込まれ、CPU2703によって実行される。   When the system shown in FIG. 1 is realized by a single computer system, the external storage device 2707 further stores an application server 160 and an application program 170. In that case, the application server 160 and the application program 170 are read into the main memory 2705 and executed by the CPU 2703.

図1に示すアプリケーションプログラム監視システムは、一つのコンピュータシステムではなく、ネットワークインタフェース2713を介して接続された複数のコンピュータシステムによって実現することもできる。その場合、図1に示す各部が複数のコンピュータシステム上に分かれて配置され、ネットワークインタフェース2713を介して接続される。   The application program monitoring system shown in FIG. 1 can also be realized by a plurality of computer systems connected via a network interface 2713, instead of a single computer system. In that case, the units shown in FIG. 1 are separately arranged on a plurality of computer systems and connected via a network interface 2713.

次に、図1に示す管理部141が、与えられたアプリケーションプログラムの監視設定に基づいてアプリケーションプログラムの監視を実行する処理の流れを、図3及び図4を参照して説明する。   Next, a flow of processing in which the management unit 141 illustrated in FIG. 1 executes monitoring of an application program based on a given monitoring setting of the application program will be described with reference to FIGS. 3 and 4.

図3は、本発明の第1の実施の形態の管理部141の構成を示す説明図である。   FIG. 3 is an explanatory diagram illustrating a configuration of the management unit 141 according to the first embodiment of this invention.

管理部141は、プローブ定義記憶部1601、プローブ生成部1604及びプローブ挿入部1608を含む。プローブ定義記憶部1601は、主記憶2705又は外部記憶装置2707に確保された記憶領域である。プローブ生成部1604及びプローブ挿入部1608は、管理部141に含まれるプログラムモジュールである。ユーザインタフェース110、アプリケーションサーバ160、アプリケーションプログラム170、監視イベント出力部180及び監視イベント記録部190は、図1に示したものと同一である。   The management unit 141 includes a probe definition storage unit 1601, a probe generation unit 1604, and a probe insertion unit 1608. The probe definition storage unit 1601 is a storage area secured in the main memory 2705 or the external storage device 2707. The probe generation unit 1604 and the probe insertion unit 1608 are program modules included in the management unit 141. The user interface 110, application server 160, application program 170, monitoring event output unit 180, and monitoring event recording unit 190 are the same as those shown in FIG.

アプリケーションプログラム170は、アプリケーションサーバ160に読み込まれ、実行される。   The application program 170 is read into the application server 160 and executed.

プローブ1610は、アプリケーションプログラム170に挿入され、アプリケーションプログラム170の監視を実行するプログラムモジュールである。   The probe 1610 is a program module that is inserted into the application program 170 and executes monitoring of the application program 170.

プローブ定義記憶部1601は、プログラムコードレベルで記述されたアプリケーションプログラム170の監視設定であるプローブ定義を記憶する。プローブ定義によって、アプリケーションプログラムにおける監視を実行する「場所(点)」と、監視する「項目」が、プログラムコードの構成要素を用いて明示的に指定される。   The probe definition storage unit 1601 stores a probe definition that is a monitoring setting of the application program 170 described at the program code level. According to the probe definition, the “location (point)” for executing monitoring in the application program and the “item” to be monitored are explicitly specified using components of the program code.

図4は、本発明の第1の実施の形態のプローブ定義記憶部1601の構成例を示す説明図である。   FIG. 4 is an explanatory diagram illustrating a configuration example of the probe definition storage unit 1601 according to the first embodiment of this invention.

プローブ定義記憶部1601が記憶するプローブ定義は、プローブID1001、プローブ番号1002、プローブ名称1003、プローブ挿入ポイント1012及び監視データ1021からなる。   The probe definition stored in the probe definition storage unit 1601 includes a probe ID 1001, a probe number 1002, a probe name 1003, a probe insertion point 1012, and monitoring data 1021.

プローブID1001は、プローブ1610を一意に識別するためのIDであり、プローブ1610及びプローブ1610が出力する監視データを識別するために用いられる。   The probe ID 1001 is an ID for uniquely identifying the probe 1610, and is used for identifying the probe 1610 and the monitoring data output by the probe 1610.

プローブ番号1002は、同一のプローブID1001を持つプローブ定義が複数存在する場合に、それらを識別する通し番号である。本実施の形態では、一つのプローブIDを持つプローブ定義は一つしか存在しないので、プローブ番号1002は常に「1」となる。そのため、本実施の形態ではプローブ番号1002は必須項目ではない。   The probe number 1002 is a serial number for identifying a plurality of probe definitions having the same probe ID 1001 when they exist. In this embodiment, since there is only one probe definition having one probe ID, the probe number 1002 is always “1”. Therefore, the probe number 1002 is not an essential item in the present embodiment.

プローブ名称1003は、プローブ1610に付与された名称である。   The probe name 1003 is a name given to the probe 1610.

プローブ挿入ポイント1012は、プローブ1610が挿入される場所(点)を指定する。具体的には、プローブ挿入ポイント1012は、アプリケーションプログラムの構成要素によって指定される。   The probe insertion point 1012 designates a place (point) where the probe 1610 is inserted. Specifically, the probe insertion point 1012 is specified by a component of the application program.

監視データ1021は、プローブ1610が取得し、出力するデータを指定する。プローブ1610が取得し、出力するデータとは、通常、いわゆるアプリケーションログとして取得されるものである。プローブ1610は、アプリケーションログとして、例えば、アプリケーションプログラム170によって処理される入出力パラメータ等のデータ、又は、アプリケーションプログラム170の処理時間等を取得し、出力する(図3のS305参照)。   The monitoring data 1021 specifies data to be acquired and output by the probe 1610. The data acquired and output by the probe 1610 is normally acquired as a so-called application log. The probe 1610 acquires and outputs data such as input / output parameters processed by the application program 170 or processing time of the application program 170 as an application log (see S305 in FIG. 3).

図4の例において、1行目のプローブ定義は、プローブID1001が「P001」であるプローブ1610が、メソッド「FuncA.method1(String d1,String d2)」に挿入され、メソッドの第1引数「d1」を監視データとして取得することを示している。また、3行目の監視データ1021の項目に指定された「__responseTime」は、メソッドの処理時間を示す。すなわち、3行目のプローブ定義は、プローブID1001が「P003」であるプローブ1610が、メソッド「FuncC.method3(Data2 d)」に挿入され、そのメソッドの処理時間を監視データとして取得することを示している。   In the example of FIG. 4, in the probe definition on the first line, the probe 1610 whose probe ID 1001 is “P001” is inserted into the method “FuncA.method1 (String d1, String d2)”, and the first argument “d1” of the method "Is acquired as monitoring data. Further, “_responseTime” specified in the item of the monitoring data 1021 on the third line indicates the processing time of the method. That is, the probe definition in the third row indicates that the probe 1610 with the probe ID 1001 “P003” is inserted into the method “FuncC.method3 (Data2 d)” and the processing time of the method is acquired as monitoring data. ing.

本実施の形態において、プローブ1610は、公知技術であるアスペクト指向プログラミングにおけるアドバイスとして実現される。プローブ挿入部1608は、アドバイスとして定義されたプローブ1610のプログラムコードを、アスペクト指向プログラミングフレームワークによってアプリケーションプログラム170に組み込むことによって、プローブ1610をアプリケーションプログラム170に挿入する。プローブ1610を挿入する点は、プローブ定義で指定されるプローブ挿入ポイント1012に基づいて作成されたポイントカットをアスペクト指向プログラミングフレームワークへの入力とすることによって指定される。   In the present embodiment, the probe 1610 is realized as advice in aspect-oriented programming, which is a known technique. The probe insertion unit 1608 inserts the probe 1610 into the application program 170 by incorporating the program code of the probe 1610 defined as advice into the application program 170 by the aspect-oriented programming framework. The point at which the probe 1610 is inserted is specified by using a point cut created based on the probe insertion point 1012 specified in the probe definition as an input to the aspect-oriented programming framework.

アプリケーションプログラム170へのプローブ1610の挿入は、動的なアドバイスの組み込みをサポートするアスペクト指向プログラミングフレームワーク(Dynamic AOPフレームワーク)を用いることによって、アプリケーションプログラム170の実行中に、動的に実行することができる。Dynamic AOPフレームワークの例として、JBoss AOPがある。   The probe 1610 is inserted into the application program 170 dynamically during the execution of the application program 170 by using an aspect-oriented programming framework (Dynamic AOP framework) that supports the incorporation of dynamic advice. Can do. An example of a Dynamic AOP framework is JBoss AOP.

なお、アプリケーションプログラム170の実行中に、動的にプログラムコードを更新する任意の技術を用いることによって、プローブ1610の形態及びプローブ1610のアプリケーションプログラム170への挿入を実現することができる。   Note that by using any technique for dynamically updating the program code during the execution of the application program 170, the form of the probe 1610 and the insertion of the probe 1610 into the application program 170 can be realized.

また、プローブ1610は、アプリケーションプログラム170が実行されていないときに挿入されてもよい。しかし、プローブ挿入部1608がアプリケーションプログラム170の実行中にプローブ1610を挿入する機能を持たない場合、プローブ1610を挿入又は除去するときに、アプリケーションプログラム170の全体又は一部を停止し、その後再起動する必要がある。   The probe 1610 may be inserted when the application program 170 is not executed. However, if the probe insertion unit 1608 does not have a function of inserting the probe 1610 during the execution of the application program 170, when the probe 1610 is inserted or removed, all or part of the application program 170 is stopped and then restarted. There is a need to.

次に、プローブ定義に基づいてアプリケーションプログラム170の監視を実行する処理の流れを、図3を参照して説明する。まず、管理部141内のプローブ生成部は、外部からの要求(S301)に応じて、プローブ定義記憶部1601からプローブ定義を取得する(S302)。この要求は、例えば、業務管理者又は運用管理者がユーザインタフェース110を使用して入力した要求である。そして、プローブ生成部1604は、指定されたデータを取得し、そのデータを監視データとして出力するプローブ1610のプログラムコードを、プローブ定義に監視データ1021の内容に基づいて、アスペクト指向プログラミングのアドバイスとして生成する。   Next, a flow of processing for executing monitoring of the application program 170 based on the probe definition will be described with reference to FIG. First, the probe generation unit in the management unit 141 acquires a probe definition from the probe definition storage unit 1601 in response to an external request (S301) (S302). This request is, for example, a request input by the business manager or the operations manager using the user interface 110. Then, the probe generation unit 1604 acquires the designated data, and generates the program code of the probe 1610 that outputs the data as monitoring data as the advice of aspect-oriented programming based on the contents of the monitoring data 1021 in the probe definition. To do.

プローブ1610のコード生成には、公知のプログラムコード自動生成技術が用いられる。具体的には、プローブ挿入ポイント1012及び監視データ1021を入力として与えられたプローブ生成部1604は、入力に従って、プローブ1610のプログラムコードを自動生成する。このとき生成されるプログラムコードは、入力されたプローブ挿入ポイント1012に対応するアプリケーションプログラム170のコード上の点で、入力された監視データ1021に対応するデータを取得し、そのデータを監視イベント出力部180のAPIを用いて出力する(S305、S306)プログラムコードである。   A known program code automatic generation technique is used for code generation of the probe 1610. Specifically, the probe generator 1604 given the probe insertion point 1012 and the monitoring data 1021 as inputs automatically generates a program code for the probe 1610 according to the inputs. The program code generated at this time is the point on the code of the application program 170 corresponding to the input probe insertion point 1012, acquires data corresponding to the input monitoring data 1021, and the data is sent to the monitoring event output unit The program code is output using 180 APIs (S305, S306).

図5は、本発明の第1の実施の形態においてアドバイスとして生成されるプローブ1610のコード例を示す説明図である。   FIG. 5 is an explanatory diagram illustrating a code example of the probe 1610 generated as advice in the first exemplary embodiment of the present invention.

図5は、図4に例示したプローブID1001が「P002」であるプローブ定義に基づいて生成されるプローブ1610の例を示している。プローブ1610は、Interceptorクラスを継承する一つのクラスとして、プローブ生成部1604によって生成される。一つのプローブに対して一つのプローブアドバイスが生成される。Staticフィールドlogger(5行目)は、監視データを出力する監視イベント出力部180へのインタフェースであり、プローブ1610の挿入時に実行される初期化コード(図示省略)によって設定される。   FIG. 5 shows an example of the probe 1610 generated based on the probe definition whose probe ID 1001 exemplified in FIG. 4 is “P002”. The probe 1610 is generated by the probe generation unit 1604 as one class that inherits the Interceptor class. One probe advice is generated for one probe. The Static field logger (5th line) is an interface to the monitoring event output unit 180 that outputs monitoring data, and is set by an initialization code (not shown) executed when the probe 1610 is inserted.

プローブアドバイスのメソッドinvokeが、アプリケーションプログラム監視を実行するコードである。invokeメソッドのコードが、Dynamic AOPフレームワークによってアプリケーションプログラム170の指定された点に挿入される。   The probe advice method “invoke” is code for executing application program monitoring. The code for the invoke method is inserted at a specified point in the application program 170 by the Dynamic AOP framework.

invokeメソッドでは、まず、JBoss AOPが提供するAPIを用いて、プローブが挿入されたメソッドの第一引数のオブジェクトを取得する(8行目)。更に、そのオブジェクトから特定のフィールドの値を取得し(9行目)、プローブ定義で指定された監視データを取得する。そして、出力する監視イベントオブジェクトeventを生成する(10行目)。監視イベントオブジェクトには、プローブIDが設定される。このプローブIDは監視データを識別するために用いられる。次いで、loggerインタフェースを用いて、生成されたeventオブジェクトを監視イベント出力部180へ出力する(11行目)。その後、このプローブ1610が挿入されたメソッド本体の処理を実行する(12行目)。   In the invoke method, first, using the API provided by JBoss AOP, the object of the first argument of the method in which the probe is inserted is acquired (line 8). Furthermore, the value of a specific field is acquired from the object (line 9), and the monitoring data specified by the probe definition is acquired. Then, the monitoring event object event to be output is generated (line 10). A probe ID is set in the monitoring event object. This probe ID is used to identify monitoring data. Next, the generated event object is output to the monitoring event output unit 180 using the logger interface (11th line). Thereafter, processing of the method main body in which the probe 1610 is inserted is executed (line 12).

プローブ挿入部1608は、プローブ生成部1604によって生成されたプローブ1610を、Dynamic AOPフレームワークによってアプリケーションプログラム170に動的に挿入する(図3のS304参照)。プローブ1610の挿入位置を指定するポイントカットは、プローブ定義のプローブ挿入ポイント1012に基づいて生成される。例えば、図4に示すプローブ定義において、プローブIDが「P002」であるプローブ1610の挿入位置を指定するポイントカットは、“execution(* FuncB->method2(Data1))”となる。   The probe insertion unit 1608 dynamically inserts the probe 1610 generated by the probe generation unit 1604 into the application program 170 using the Dynamic AOP framework (see S304 in FIG. 3). A point cut that specifies the insertion position of the probe 1610 is generated based on the probe insertion point 1012 of the probe definition. For example, in the probe definition shown in FIG. 4, the pointcut that specifies the insertion position of the probe 1610 with the probe ID “P002” is “execution (* FuncB-> method2 (Data1))”.

プローブ挿入部1608は、プローブ1610を挿入するために、JBoss AOPが提供するアスペクトマネージャに、生成したプローブアスペクトのクラスオブジェクト、ポイントカット及びプローブIDを与える(図6参照)。   In order to insert the probe 1610, the probe insertion unit 1608 gives the generated probe aspect class object, point cut, and probe ID to the aspect manager provided by JBoss AOP (see FIG. 6).

図6は、本発明の第1の実施の形態のプローブ1610をアプリケーションプログラム170に追加するためのプログラムコードの例を示す説明図である。   FIG. 6 is an explanatory diagram illustrating an example of a program code for adding the probe 1610 according to the first embodiment of this invention to the application program 170.

図6は、例として、図5に示すプローブ1610をアプリケーションプログラム170に挿入するために、プローブ挿入部1608によって生成されるプログラムコードを示す。以下、図6のプログラムコードによって実行される処理の手順を説明する。   FIG. 6 shows, as an example, program code generated by the probe insertion unit 1608 for inserting the probe 1610 shown in FIG. 5 into the application program 170. Hereinafter, a procedure of processing executed by the program code of FIG. 6 will be described.

まず、プローブ1610を挿入する位置を指定するポイントカットのAdviseBindingオブジェクトbindingを生成する(1行目)。   First, an AdviseBinding object binding of a point cut that specifies a position where the probe 1610 is inserted is generated (first line).

次に、生成したAdviseBindingオブジェクトの名称としてプローブIDを設定し(2行目)、プローブアドバイスのクラスを設定する(3行目)。   Next, a probe ID is set as the name of the generated AdviseBinding object (second line), and a probe advice class is set (third line).

次に、このAdviseBindingオブジェクトをアスペクトマネージャに登録する(4行目)。   Next, this AdviseBinding object is registered in the aspect manager (line 4).

アスペクトマネージャは、登録されたAdviseBindingオブジェクトに設定されたポイントカット及びアドバイスクラスに従って、アプリケーションプログラム170のバイトコードを書き換えることによって、プローブアドバイスのプログラムコードを挿入する。   The aspect manager inserts the program code of the probe advice by rewriting the byte code of the application program 170 according to the pointcut and advice class set in the registered AdviseBinding object.

また、プローブ挿入部1608は、外部からの要求に応じて、既にアプリケーションプログラム170に挿入されているプローブ1610を、Dynamic AOPフレームワークの機能を用いてアプリケーションプログラム170から除去することもできる。プローブ1610の除去は、アスペクトマネージャのremoveBindingメソッドを、除去するプローブ1610のIDを引数として呼び出すことによって実行される。アスペクトマネージャは、アプリケーションプログラム170のバイトコードを書き換えることによって、引数として渡されたプローブIDを名称とするAdviseBindingオブジェクトに設定されたアドバイスのプログラムコードを取り除く。   The probe insertion unit 1608 can also remove the probe 1610 already inserted into the application program 170 from the application program 170 using the function of the Dynamic AOP framework in response to a request from the outside. The removal of the probe 1610 is executed by calling the removeBinding method of the aspect manager with the ID of the probe 1610 to be removed as an argument. The aspect manager rewrites the byte code of the application program 170 to remove the program code of the advice set in the AdviseBinding object whose name is the probe ID passed as an argument.

次に、対応検索部115が設計対応関係を用いて、「監視を実行する点」の設計情報上における指定に対して、対応するプログラムコード上の点、即ち、プローブ定義におけるプローブ挿入点を検索する処理の流れを説明する。   Next, the correspondence search unit 115 uses the design correspondence relationship to search for a point on the program code corresponding to the designation on the design information of “point to execute monitoring”, that is, a probe insertion point in the probe definition. The flow of processing will be described.

最初に、設計対応関係について、図7の例を参照して説明する。   First, the design correspondence will be described with reference to the example of FIG.

図7は、本発明の第1の実施の形態の設計対応関係の例を示す説明図である。   FIG. 7 is an explanatory diagram illustrating an example of the design correspondence relationship according to the first embodiment of this invention.

設計対応関係は、設計対応関係記憶部130に記憶される。設計対応関係は、対応元要素601及び対応先要素603からなる。対応元要素601には、アプリケーションプログラム開発工程の任意の段階で作成された設計情報の構成要素が記憶される。対応先要素603には、対応元要素601として記憶された各構成要素と設計対応関係にある構成要素が記憶される。設計対応関係にある構成要素とは、より開発工程の進んだ段階で作成された設計情報の構成要素である。例えば、図7の設計対応関係611として、対応元要素601「A01.機能1」及び対応先要素603「B02.機能1.処理1(データ1 X)」が記憶されている。これは、ある段階の開発工程における構成要素「A01.機能1」が、一段階進んだ開発工程においては、構成要素「B02.機能1.処理1(データ1 X)」となることを意味する。   The design correspondence relationship is stored in the design correspondence relationship storage unit 130. The design correspondence includes a correspondence source element 601 and a correspondence destination element 603. The correspondence element 601 stores design information components created at any stage of the application program development process. The correspondence destination element 603 stores a component having a design correspondence relationship with each component stored as the correspondence source element 601. The component corresponding to the design correspondence is a component of the design information created at a more advanced stage of the development process. For example, the correspondence source element 601 “A01.function 1” and the correspondence destination element 603 “B02.function 1.processing 1 (data 1 X)” are stored as the design correspondence 611 in FIG. This means that the component “A01.Function 1” in the development process at a certain stage becomes the component “B02.Function 1.Process 1 (Data 1 X)” in the development process advanced by one stage. .

なお、一つの構成要素に対して、一つ又は複数の構成要素が設計対応関係にある場合がある。本実施の形態では、一つの構成要素に対して一つの構成要素のみが対応する場合について説明する。一つの構成要素に対して複数の構成要素が対応する場合については、第2の実施の形態において後述する。   Note that one or a plurality of components may be in a design correspondence relationship with respect to one component. In the present embodiment, a case will be described in which only one component corresponds to one component. The case where a plurality of components correspond to one component will be described later in the second embodiment.

複数の設計情報にわたって任意の構成要素を特定し、構成要素間の設計対応関係を表現するために、設計情報の各構成要素には、それらを一意に識別するIDが付与される。このIDが、設計対応情報として記憶される。本実施の形態では、このIDをオブジェクトIDと呼ぶ。   In order to identify an arbitrary constituent element over a plurality of design information and express a design correspondence between the constituent elements, each constituent element of the design information is given an ID for uniquely identifying them. This ID is stored as design correspondence information. In this embodiment, this ID is called an object ID.

本実施の形態では、オブジェクトIDは、それが識別する構成要素を含む設計情報のIDと、各構成要素のIDとによって構成される。例えば、図7の例において、設計対応関係611の対応元要素のオブジェクトID”A01.機能1"”は、IDがA01である業務プロセス図に存在する、機能1を表すアクティビティ要素を示す。設計情報のIDは、アプリケーションプログラム170の開発工程の段階を示すアルファベット(例えば、A)と、各段階における設計情報の通し番号(例えば、01)で表す。   In the present embodiment, the object ID is composed of an ID of design information including a component identified by the object ID and an ID of each component. For example, in the example of FIG. 7, the object ID “A01.function 1” ”of the corresponding element of the design correspondence 611 indicates an activity element representing the function 1 that exists in the business process diagram with the ID A01. The information ID is represented by an alphabet (for example, A) indicating the stage of the development process of the application program 170 and a serial number (for example, 01) of design information at each stage.

オブジェクトIDは、設計情報の構成要素を一意に識別できればよい。また、オブジェクトIDから、それが指す構成要素を含む設計情報を特定することができればよい。従って、オブジェクトIDは、その一部に設計情報のIDを含んでいることが望ましい。   The object ID only needs to uniquely identify the component of the design information. Further, it is only necessary that design information including the component pointed to by the object ID can be specified. Therefore, it is desirable that the object ID includes the design information ID as a part of the object ID.

図7は、A、B及びCの三つの段階の設計情報を用いて開発されたアプリケーションプログラム170について、段階Aの業務プロセス図の2つのアクティビティ要素(機能1及び機能2)に関する設計対応関係を示している。具体的には、図7の例の設計対応情報は、処理(メソッド)の設計対応関係(611、612、614、617、631、632)、処理の入力データの設計対応関係(615、616)、及び、処理の入力データに用いるデータ構造の設計対応関係(620〜622)を記憶している。   FIG. 7 shows the design correspondence relationship between the two activity elements (function 1 and function 2) of the business process diagram of stage A for the application program 170 developed using the design information of the three stages of A, B and C. Show. Specifically, the design correspondence information in the example of FIG. 7 includes the design correspondence relationship (611, 612, 614, 617, 631, 632) of the processing (method), and the design correspondence relationship of the input data of the processing (615, 616). And the design correspondence (620 to 622) of the data structure used for the input data of the process.

処理の入力データの設計対応関係を示すために、各入力データのオブジェクトIDが用いられる。入力データのオブジェクトIDは、処理の名称と、入力データの表現とを連結することによって構成される。例えば、設計対応関係615では、設計情報B02におけるメソッド“機能1.処理1”の入力データ“X.a”と、設計情報C 02におけるメソッド“FuncA.method1”の入力データd1とが対応していることを示している。   In order to show the design correspondence of the input data of the process, the object ID of each input data is used. The object ID of the input data is configured by concatenating the process name and the input data expression. For example, in the design correspondence relationship 615, the input data “Xa” of the method “Function 1. Processing 1” in the design information B02 and the input data d1 of the method “FuncA.method1” in the design information C 02 correspond to each other. Is shown.

また、設計対応関係631及び632は、設計情報C02の構成要素が、実装されたアプリケーションプログラム170の特定のメソッドに対応していることを示している。   The design correspondences 631 and 632 indicate that the constituent elements of the design information C02 correspond to specific methods of the installed application program 170.

本発明において、設計対応情報の生成、及び、その設計対応情報の設計対応情報記憶部130への蓄積は、任意の方法によって実行することができる。ただし、アプリケーションプログラム170の開発工程で作成される各設計情報に対して、適切な設計対応情報が記憶されている必要がある。   In the present invention, generation of design correspondence information and accumulation of the design correspondence information in the design correspondence information storage unit 130 can be performed by an arbitrary method. However, appropriate design correspondence information needs to be stored for each design information created in the development process of the application program 170.

設計対応情報の生成及び設計対応情報記憶部への蓄積は、アプリケーションプログラム170の開発工程において、開発工程の段階が進んだ設計情報が作成されるたびに実行されることが望ましい。そのために、アプリケーションプログラム170の開発工程で使用されるアプリケーション設計ツールが、設計対応情報の生成及び記憶を実行する機能を備えることが望ましい。   The generation of the design correspondence information and the accumulation in the design correspondence information storage unit are preferably executed every time design information that has advanced in the development process is created in the development process of the application program 170. Therefore, it is desirable that an application design tool used in the development process of the application program 170 has a function of generating and storing design correspondence information.

次に、設計情報上で指定された「監視する点(すなわち、監視の対象の点)」から、指定された監視を行うプローブを挿入する点を、記憶された設計対応関係を用いてプログラムコードレベルで検索する処理の流れを、図8を参照して説明する。   Next, the program code using the stored design correspondence relationship is inserted from the “monitoring point (that is, the point to be monitored)” designated on the design information to the point where the designated monitoring probe is to be inserted. The flow of processing for searching by level will be described with reference to FIG.

図8は、本発明の第1の実施の形態の対応検索部115がプローブ1610を挿入する点を検索する処理のフローチャートである。   FIG. 8 is a flowchart of processing for searching for a point at which the probe 1610 is inserted by the correspondence search unit 115 according to the first embodiment of this invention.

図8の説明では、図7に示した設計対応関係の例を用いる。   In the description of FIG. 8, the example of the design correspondence shown in FIG. 7 is used.

ユーザ(例えば、業務管理者又は運用管理者)が設計情報の構成要素を指定することによって、監視する点が指定される。指定された構成要素のオブジェクトIDが、対応検索部115に入力される。   A point to be monitored is specified by a user (for example, a business administrator or an operation manager) specifying a component of design information. The object ID of the designated component is input to the correspondence search unit 115.

まず、ステップ1201において、対応検索部115は、入力されたオブジェクトIDによって変数oidを初期化する。   First, in step 1201, the correspondence search unit 115 initializes the variable oid with the input object ID.

次に、ステップ1202において、対応検索部115は、oidをキーとして設計対応関係記憶部130にアクセスし、oidを対応元要素601とする設計対応関係を検索する。そして、対応検索部115は、この検索の結果取得された設計対応関係の対応先要素603に記憶されているオブジェクトIDを変数nextOidに格納する。   Next, in step 1202, the correspondence search unit 115 accesses the design correspondence storage unit 130 using oid as a key, and searches for a design correspondence having oid as the correspondence source element 601. Then, the correspondence search unit 115 stores the object ID stored in the correspondence destination element 603 of the design correspondence acquired as a result of this search in the variable nextOid.

次に、ステップ1203において、対応検索部115は、nextOidがアプリケーションプログラム170の実装プログラムコードの構成要素と対応していることを表す特別なオブジェクトIDであるか否かを判定する。実装プログラムコードの構成要素とは、例えば、特定のメソッド等である。   In step 1203, the correspondence search unit 115 determines whether nextOid is a special object ID indicating that it corresponds to a component of the implementation program code of the application program 170. The component of the implementation program code is, for example, a specific method.

ステップ1203において、nextOidがアプリケーションプログラム170の実装プログラムコードの構成要素を識別する特別なIDであると判定された場合、検索された構成要素は、特定のメソッド等と対応している。その場合、処理はステップ1205に移行し、対応検索部115は、nextOidが示すプログラムコード要素を検索結果として出力し、処理を終了する。   If it is determined in step 1203 that nextOid is a special ID for identifying a component of the implementation program code of the application program 170, the retrieved component corresponds to a specific method or the like. In this case, the process proceeds to step 1205, and the correspondence search unit 115 outputs the program code element indicated by nextOid as a search result, and ends the process.

一方、ステップ1203において、nextOidがアプリケーションプログラム170の実装プログラムコードの構成要素を識別する特別なIDでないと判定された場合、指定された構成要素に対応する実装プログラムコードの構成要素がまだ検索されていない。この場合、対応検索部115は、ステップ1204において、検索されたnextOidの値でoidを更新し、ステップ1202に戻る。   On the other hand, if it is determined in step 1203 that nextOid is not a special ID for identifying the component of the implementation program code of the application program 170, the component of the implementation program code corresponding to the designated component has not yet been searched. Absent. In this case, in step 1204, the correspondence search unit 115 updates the oid with the searched nextOid value, and returns to step 1202.

ステップ1202乃至ステップ1204の処理を繰り返すことによって、抽象度の高い、開発工程の初期の設計情報の構成要素から、開発工程の各段階の設計情報の構成要素を段階を追って検索し、最終的にプログラムコードの構成要素が検索される。   By repeating the processing of step 1202 to step 1204, the design information components at each stage of the development process are searched step by step from the design information components at the initial stage of the development process having a high degree of abstraction. The program code component is retrieved.

例えば、図7に示した設計対応関係の例において、業務プロセス図「A01」のアクティビティ「機能1」が監視するポイントとして指定された場合について説明する。この場合、そのオブジェクトIDである“A01.機能1”がoidの初期値となる(ステップ1201)。その後、対応検索部115は、ステップ1202から1204を繰り返し実行することによって、設計対応関係を順に検索する。   For example, the case where the activity “function 1” of the business process diagram “A01” is designated as a monitoring point in the example of the design correspondence relationship shown in FIG. 7 will be described. In this case, the object ID “A01.function 1” becomes the initial value of oid (step 1201). Thereafter, the correspondence search unit 115 sequentially searches for design correspondences by repeatedly executing Steps 1202 to 1204.

検索の結果、“A01.機能1”と対応する“B02.機能1.処理1(データ1 X)”が取得され(対応関係611)、“B02.機能1.処理1(データ1 X)”と対応する“C02.FuncA.method1(String d1,String d2)”が取得され(対応関係614)、“C02.FuncA.method1(String d1,String d2)”と対応する“CODE.FuncA.method1(String d1,String d2)”が取得される(対応関係631)。   As a result of the search, “B02.Function 1.Processing 1 (Data 1 X)” corresponding to “A01.Function 1” is acquired (corresponding relationship 611), and “B02.Function 1.Processing 1 (Data 1 X)” is obtained. “C02.FuncA.method1 (String d1, String d2)” corresponding to “C02.FuncA.method1 (String d1, String d2)” and “CODE.FuncA.method1 (corresponding relationship 614)” are acquired. String d1, String d2) ”is acquired (correspondence 631).

“CODE.FuncA.method1(String d1,String d2)”がプログラムコードの構成要素であるため(ステップ1203)、メソッド“FuncA.method1(String d1,String d2)”が機能1に対応するプログラムコードの要素であることが検索される(ステップ1205)。このメソッドにプローブ1610を挿入することによって、「機能1」における監視が実行される。指定された点において監視する対象が、挿入するプローブを個別に生成する必要がないものである場合、検索されたプログラムコード上のポイントに事前に用意されたプローブアドバイスを挿入することによって、指定された監視を実行する。挿入するプローブを個別に生成する必要がない監視対象とは、例えば、処理時間である。   Since “CODE.FuncA.method1 (String d1, String d2)” is a component of the program code (step 1203), the method “FuncA.method1 (String d1, String d2)” is the program code corresponding to function 1. The element is searched for (step 1205). By inserting the probe 1610 into this method, monitoring in “Function 1” is executed. If the target to be monitored at the specified point does not need to generate the probe to be inserted individually, it is specified by inserting probe advice prepared in advance at the point on the searched program code. Execute monitoring. The monitoring target that does not need to individually generate the probe to be inserted is, for example, processing time.

以上の処理によって、設計情報上で指定された「監視する点」に対応するプログラムコード上のポイントが、記憶した設計対応関係を用いて検索される。そして、検索されたポイントの監視が実行される。その結果、実装されたプログラムコードを意識する必要なく、アプリケーションプログラム開発工程で作成した設計情報上でアプリケーションプログラム170の監視を指定することが実現される。   Through the above processing, a point on the program code corresponding to the “point to be monitored” designated on the design information is retrieved using the stored design correspondence. Then, the searched points are monitored. As a result, it is possible to specify monitoring of the application program 170 on the design information created in the application program development process without having to be aware of the installed program code.

上記図8は、「監視する点」が設計情報上で指定された場合の対応検索部115の処理である。一方、設計情報上の任意のデータが、「監視するデータ(すなわち、監視対象のデータ)」として指定される場合もある。設計情報上の任意のデータとは、業務プロセス上で処理されるデータであり、例えば、いずれかの処理の入出力パラメータである。続いて、「監視するデータ」が設計情報上で指定された場合に、対応検索部115が実行する処理の流れを説明する。この場合、対応検索部115は、設計対応関係を参照して、指定された「監視するデータ」に対応するプログラムコードの構成要素、即ち、プローブ定義における監視データ1021を検索する。   FIG. 8 shows the processing of the correspondence search unit 115 when “monitoring point” is designated on the design information. On the other hand, arbitrary data on the design information may be designated as “data to be monitored (that is, data to be monitored)”. Arbitrary data on design information is data processed in a business process, and is, for example, an input / output parameter of any process. Next, the flow of processing executed by the correspondence search unit 115 when “data to be monitored” is designated on the design information will be described. In this case, the correspondence search unit 115 searches the component of the program code corresponding to the designated “data to be monitored”, that is, the monitoring data 1021 in the probe definition with reference to the design correspondence.

「監視するデータ」の検索は、前述した「監視する点」の検索と同様の処理によって実行される。   The search for “data to be monitored” is executed by the same process as the search for “point to be monitored” described above.

設計対応関係には、設計情報間の「処理」の対応関係だけでなく、「データ構造」及び「入出力パラメータ」の対応関係も含まれる。例えば、図7において、設計対応関係615及び616は、設計対応関係にある処理の入力パラメータ同士の対応関係を示している。設計対応関係615は、処理1の入力パラメータ「X」のフィールド「a」が、処理1に対応するメソッド「method1」の第1引数に対応することを示している。   The design correspondence includes not only the “processing” correspondence between the design information but also the “data structure” and “input / output parameters”. For example, in FIG. 7, design correspondences 615 and 616 indicate correspondences between the input parameters of the processes having the design correspondence. The design correspondence 615 indicates that the field “a” of the input parameter “X” of the process 1 corresponds to the first argument of the method “method1” corresponding to the process 1.

設計対応関係620乃至622は、データ構造「データ1」と、データ構造「Data1」の各フィールドとの対応関係を示す。   The design correspondences 620 to 622 indicate the correspondence between the data structure “data 1” and each field of the data structure “Data1”.

例えば、アプリケーションプログラム開発工程のある段階のクラス図「B02」において、クラス「機能1」のメソッド「処理1」の入力パラメータ「X」について、そのフィールド「b」を監視することを指定する場合、運用管理者又は業務管理者は、対応検索部への入力としてオブジェクトID“B02.機能1.処理1#X.b”を与える。以降、図8に示したフローに従って設計対応関係をたどることによって、実装されたプログラムにおいては、クラス「FuncA」のメソッド「method1」における第2引数「d2」が、指定された監視するデータに対応していることが検索される。この例の場合、監視するデータと共に、監視する点も同時に指定される。このため、検索によって、プローブを挿入するポイントと、プローブが取得するデータの両方が決定され、指定された監視が実行される。   For example, in the class diagram “B02” at a certain stage of the application program development process, when specifying to monitor the field “b” for the input parameter “X” of the method “Process 1” of the class “Function 1”, The operation manager or the business manager gives the object ID “B02. Function 1. process 1 # Xb” as an input to the correspondence search unit. Thereafter, by following the design correspondence according to the flow shown in FIG. 8, in the implemented program, the second argument “d2” in the method “method1” of the class “FuncA” corresponds to the specified monitored data. Is being searched. In the case of this example, the monitoring point is also designated at the same time as the monitoring data. Therefore, the search determines both the point where the probe is inserted and the data acquired by the probe, and the designated monitoring is executed.

設計対応関係記憶部には、監視を実行する点及びデータとして指定可能な全ての構成要素についての設計対応関係が記憶されてもよい。しかし、複数の設計対応関係又は設計情報に関する情報を組み合わせることによって、別の設計対応関係を類推することができる場合、その類推可能な設計対応関係の記憶を省略することによって、設計対応関係の記憶に要するコストを削減することができる。   The design correspondence relationship storage unit may store design correspondence relationships for all components that can be designated as points to be monitored and data. However, when it is possible to infer another design correspondence by combining a plurality of design correspondences or information on design information, it is possible to store the design correspondence by omitting the storage of the design correspondence that can be inferred. The cost required for this can be reduced.

図7の設計対応関係617の例は、対応元の処理における入力パラメータ「X」が対応先の処理の入力パラメータ「d1」に対応していることを示している。しかし、入力パラメータ「X」の個々のフィールドについての設計対応関係は記憶されていない。しかし、入力パラメータ「X」のデータ構造である“B11.データ1”と、入力パラメータ「d1」のデータ構造である“C11.Data1”の設計対応関係620乃至622を用いることで、記憶されていない設計対応関係を類推することができる。その処理の流れを図9を用いて説明する。   The example of the design correspondence 617 in FIG. 7 indicates that the input parameter “X” in the processing of the correspondence source corresponds to the input parameter “d1” of the processing of the correspondence destination. However, the design correspondence relationship for each field of the input parameter “X” is not stored. However, it is stored by using the design correspondences 620 to 622 of “B11.Data1” which is the data structure of the input parameter “X” and “C11.Data1” which is the data structure of the input parameter “d1”. It can be inferred that there is no design correspondence. The processing flow will be described with reference to FIG.

図9は、本発明の第1の実施の形態の対応検索部115が設計対応関係を類推する処理のフローチャートである。   FIG. 9 is a flowchart of processing in which the correspondence search unit 115 according to the first embodiment of this invention infers the design correspondence.

この処理は、図8に示した設計対応関係を用いてプログラムコード要素を特定するフローにおける、ステップ1202の処理に相当する。   This process corresponds to the process of step 1202 in the flow for specifying a program code element using the design correspondence shown in FIG.

まず、ステップ1301において、対応検索部115は、入力されたオブジェクトIDを変数oidに格納する。上記の例では、オブジェクトIDとして、“B02.機能2.処理2#X.a”、すなわち、「処理2」のパラメータ「X」のフィールド「a」が入力される。   First, in step 1301, the correspondence search unit 115 stores the input object ID in a variable oid. In the above example, “B02.Function 2.Process 2 # X.a”, that is, the field “a” of the parameter “X” of “Process 2” is input as the object ID.

次に、ステップ1303において、対応検索部115は、oidをキーとして、設計対応関係記憶部130にアクセスし、oidを対応元要素601とする設計対応関係を検索する。   Next, in step 1303, the correspondence search unit 115 accesses the design correspondence storage unit 130 using oid as a key, and searches for a design correspondence having oid as the correspondence source element 601.

次に、ステップ1305において、対応検索部115は、oidに関する設計対応関係が存在するか否かを判定する。具体的には、対応元要素601がoidである設計対応関係が設計対応関係記憶部130に記憶されているか否かを判定する。   Next, in step 1305, the correspondence search unit 115 determines whether there is a design correspondence relationship regarding oid. Specifically, it is determined whether or not the design correspondence relationship in which the correspondence source element 601 is oid is stored in the design correspondence relationship storage unit 130.

ステップ1305において、oidに関する設計対応関係が存在すると判定された場合、対応検索部115の処理はステップ1307に進む。   If it is determined in step 1305 that there is a design correspondence related to oid, the process of the correspondence search unit 115 proceeds to step 1307.

ステップ1307において、対応検索部115は、検索した設計対応関係の対応先要素603を検索結果として出力し、処理を終了する。   In step 1307, the correspondence search unit 115 outputs the searched correspondence destination element 603 of the design correspondence as a search result, and ends the processing.

ステップ1305において、oidに関する設計対応関係が存在しないと判定された場合、対応検索部115の処理はステップ1309に進む。例えば、oidが“B02.機能2.処理2#X.a”である場合、そのoidを対応元要素601として持つ設計対応関係が存在しない。この場合、処理はステップ1309に進む。   If it is determined in step 1305 that there is no design correspondence related to oid, the process of the correspondence search unit 115 proceeds to step 1309. For example, when the oid is “B02.Function 2.Process 2 # X.a”, there is no design correspondence having the oid as the correspondence source element 601. In this case, the process proceeds to Step 1309.

ステップ1309において、対応検索部115は、oidが指す構成要素の上位の構成要素を特定する。例えば、oidが“B02.機能2.処理2#X.a”である場合、フィールド「a」を削除した“B02.機能2.処理2#X”が上位の構成要素である。この場合、対応検索部115は、“B02.機能2.処理2#X.a”に代わって“B02.機能2.処理2#X”を新たなoidとして、設計対応関係を検索する。   In step 1309, the correspondence search unit 115 identifies a constituent element that is higher than the constituent element indicated by oid. For example, when oid is “B02.Function 2.Processing 2 # X.a”, “B02.Function 2.Processing 2 # X” with the field “a” deleted is a higher-level component. In this case, the correspondence search unit 115 searches for the design correspondence using “B02.function 2.processing 2 # X.a” as a new oid instead of “B02.function 2.processing 2 # X.a”.

次に、ステップ1311において、対応検索部115は、oid(すなわち、ステップ1309で特定された上位の構成要素)に関する設計対応関係が記憶されているか否かを判定する。この判定は、ステップ1305と同様にして実行される。   Next, in step 1311, the correspondence search unit 115 determines whether or not a design correspondence relationship related to oid (that is, a higher-order component specified in step 1309) is stored. This determination is performed in the same manner as in step 1305.

ステップ1311において、oidに関する設計対応関係が記憶されていないと判定された場合、対応検索部115は、ステップ1309に戻り、更に上位の構成要素を特定し、検索する。   If it is determined in step 1311 that the design correspondence related to oid is not stored, the correspondence retrieval unit 115 returns to step 1309 to identify and retrieve a higher-order component.

ステップ1311において、oidに関する設計対応関係が記憶されていると判定された場合、対応検索部115は、ステップ1313に進む。   If it is determined in step 1311 that the design correspondence relationship regarding oid is stored, the correspondence search unit 115 proceeds to step 1313.

ステップ1313において、対応検索部115は、上位の構成要素と設計対応関係にある構成要素を取得する。例えば、上位の構成要素が“B02.機能2.処理2#X”である場合、この構成要素は1つのパラメータXを持つ「B02.機能2.処理2」という処理である。これは設計対応関係617の対応元要素であるB02.機能2.処理2(データ1 X)に相当し、これに関する設計対応関係617が記憶されている。この場合、上位の構成要素に対応する構成要素として“C02.FuncB.method2#d1”が取得される。   In step 1313, the correspondence search unit 115 acquires a component having a design correspondence relationship with a higher-order component. For example, when the upper component is “B02.Function 2.Process 2 # X”, this component is the process “B02.Function 2.Process 2” having one parameter X. This corresponds to B02.Function 2.Processing 2 (data 1 X) which is a corresponding element of the design correspondence 617, and the design correspondence 617 related to this is stored. In this case, “C02.FuncB.method2 # d1” is acquired as a component corresponding to the upper component.

ステップ1315において、対応検索部115は、ステップ1313で検索された上位の構成要素の設計対応関係に基づいて、下位の構成要素の設計対応関係を類推する。例えば、ステップ1313において“C02.FuncB.method2#d1”が取得された場合、対応検索部115は、パラメータ「X」のデータ構造「B11.データ1」について、そのフィールド「a」の設計対応関係を検索する。その結果、パラメータ「D1」のデータ構造「C11.Data1」における「fieldA」が対応することが検索される(設計対応関係621参照)。このため、対応検索部115は、“B02.機能2.処理2 #X.a”と設計対応関係にある構成要素として“C02.FuncB.method2#d1.fieldA”を類推し、設計対応関係の検索結果として出力する。   In step 1315, the correspondence search unit 115 estimates the design correspondence of the lower component based on the design correspondence of the higher component searched in step 1313. For example, when “C02.FuncB.method2 # d1” is acquired in step 1313, the correspondence search unit 115 sets the design correspondence of the field “a” for the data structure “B11.data 1” of the parameter “X”. Search for. As a result, it is searched that “fieldA” in the data structure “C11.Data1” of the parameter “D1” corresponds (see design correspondence 621). Therefore, the correspondence search unit 115 infers “C02.FuncB.method2 # d1.fieldA” as a component having a design correspondence with “B02.Function 2.Process 2 #Xa”, and the design correspondence search result. Output as.

上記のフローにおける上位の構成要素の特定及びそれに基づく設計対応関係の類推は、構成要素の存在する設計情報及び構成要素の種類に応じて事前に定義されたルールに従って実行される。このルールに従って、設計対応関係記憶部130に記憶される設計対応情報を一部省略し、記憶のコストを削減することができる。   The identification of the upper component in the above flow and the analogy of the design correspondence based on it are executed according to the rules defined in advance according to the design information in which the component exists and the type of the component. According to this rule, a part of the design correspondence information stored in the design correspondence storage unit 130 can be omitted, and the storage cost can be reduced.

次に、図1に示したユーザインタフェース110について説明する。   Next, the user interface 110 shown in FIG. 1 will be described.

図10は、本発明の第1の実施の形態における、設計情報上でアプリケーションプログラム170の監視設定を実行するユーザインタフェース110の例の説明図である。   FIG. 10 is an explanatory diagram of an example of the user interface 110 that executes the monitoring setting of the application program 170 on the design information according to the first embodiment of this invention.

図10に示すユーザインタフェース110は、アプリケーションプログラム開発の一設計段階で作成された設計情報の上で、ユーザ(例えば、運用管理者又は業務管理者)が、アプリケーションプログラム170において監視を実行する点(監視ポイント)及び監視する対象のデータ(監視データ)を入力することを可能とする。   The user interface 110 shown in FIG. 10 is a point where a user (for example, an operation manager or a business manager) executes monitoring in the application program 170 based on design information created at one design stage of application program development ( Monitoring point) and data to be monitored (monitoring data) can be input.

設計情報表示ウィンドウ550は、ユーザが監視する内容を入力する設計情報を表示するウィンドウである。ユーザは、このウィンドウに表示される設計情報552の構成要素551を、例えば構成要素をクリックする等の操作によって選択することによって、監視ポイントを指定する。   The design information display window 550 is a window for displaying design information for inputting contents to be monitored by the user. The user designates a monitoring point by selecting the component 551 of the design information 552 displayed in this window, for example, by clicking the component.

監視ポイントが指定されると、ユーザインタフェース110は、指定された監視ポイントにおいて監視可能な項目のリスト562を監視データ選択ウィンドウ560に表示する。ユーザは、項目リスト562に表示される各データ項目に対応するラジオボタン561をチェックすることによって、指定した監視ポイントにおいて監視するデータを選択することができる。   When a monitoring point is specified, the user interface 110 displays a list 562 of items that can be monitored at the specified monitoring point in the monitoring data selection window 560. The user can select data to be monitored at the designated monitoring point by checking the radio button 561 corresponding to each data item displayed in the item list 562.

監視データを選択した後、ユーザが決定ボタン563を操作することによって、指定された監視ポイント及び監視データが決定され、対応検索部115による検索が実行される。   After selecting the monitoring data, when the user operates the determination button 563, the specified monitoring point and monitoring data are determined, and the search by the correspondence search unit 115 is executed.

監視データとして、監視ポイントに固有でないデータ、例えば、処理時間等が指定されている場合、対応検索部115による検索は、指定された監視ポイントのオブジェクトIDをキーとして実行される(図8参照)。そして、検索されたプログラムコードの構成要素は、生成されるプローブ定義のプローブ挿入ポイント1012に記憶される。またプローブ定義の監視データ1021には、処理時間等、選択された監視データを表す予め定義されたシンボルが記憶される。   When data that is not unique to a monitoring point, such as processing time, is specified as the monitoring data, the search by the correspondence search unit 115 is executed using the object ID of the specified monitoring point as a key (see FIG. 8). . The components of the searched program code are stored in the probe insertion point 1012 of the generated probe definition. The probe definition monitoring data 1021 stores a predefined symbol representing the selected monitoring data such as the processing time.

指定された監視データが、監視ポイントに固有の入出力パラメータ等である場合、そのデータを表すオブジェクトIDをキーとして、対応検索部115による検索が実行される(図8参照)。その結果、検索されるプログラムコードの構成要素は、指定された監視ポイントに対応するプログラムコード上のポイントと、そのポイントにおいて扱われるデータの両方の情報を持つ。このため、検索された構成要素に従って、生成されるプローブ定義のプローブ挿入ポイント1012に、監視ポイントに対応するプログラムコード上のポイントが記憶され、監視データ1021に、そのポイントにおいて扱われるデータが記憶される。   When the designated monitoring data is an input / output parameter or the like unique to the monitoring point, a search by the correspondence search unit 115 is executed using the object ID representing the data as a key (see FIG. 8). As a result, the constituent element of the program code to be searched has information on both the point on the program code corresponding to the designated monitoring point and the data handled at that point. Therefore, according to the searched component, a point on the program code corresponding to the monitoring point is stored in the probe insertion point 1012 of the generated probe definition, and data handled at the point is stored in the monitoring data 1021. The

プローブ定義を記憶する際に、ユーザインタフェース110は、入力された監視の設定に付与する名称をユーザに入力させるインタフェースを表示する。そして、ユーザインタフェース110は、入力された名称をプローブ定義のプローブ名称1003に記憶する。さらに、ユーザインタフェース110は、プローブ定義を一意に識別するIDを生成し、そのIDをプローブ定義のID1001として記憶する。   When storing the probe definition, the user interface 110 displays an interface that allows the user to input a name to be given to the input monitoring setting. The user interface 110 stores the input name in the probe name 1003 of the probe definition. Further, the user interface 110 generates an ID for uniquely identifying the probe definition, and stores the ID as the probe definition ID 1001.

図11は、本発明の第1の実施の形態の監視設定テーブルの例を示す説明図である。   FIG. 11 is an explanatory diagram illustrating an example of a monitoring setting table according to the first embodiment of this invention.

監視設定テーブルは、ユーザが入力した監視の設定及びそれに基づいて生成されたプローブ1610を管理するためのテーブルである。監視設定テーブルは、ユーザインタフェース110の一部であってもよいし、ユーザインタフェース110がアクセスすることができるいずれかの記憶部(例えば、設計情報記憶部120)の一部であってもよい。いずれの場合であっても、監視設定テーブルは、主記憶2705又は外部記憶装置2707に格納される。   The monitoring setting table is a table for managing the monitoring setting input by the user and the probe 1610 generated based on the monitoring setting. The monitoring setting table may be a part of the user interface 110 or a part of any storage unit (for example, the design information storage unit 120) that can be accessed by the user interface 110. In any case, the monitoring setting table is stored in the main memory 2705 or the external storage device 2707.

ID901には、個々の監視設定を一意に識別するIDが格納される。   ID 901 stores an ID for uniquely identifying each monitoring setting.

監視設定名称903には、監視設定に付与された名称が格納される。   The monitoring setting name 903 stores the name assigned to the monitoring setting.

監視ポイント912には、入力された監視する箇所のオブジェクトIDが格納される。   The monitoring point 912 stores the object ID of the input location to be monitored.

監視データ921には、入力された監視するデータのオブジェクトID、又は、予め定義された監視データ項目のシンボルが格納される。予め定義された監視データ項目のシンボルとは、例えば、“__responseTime”等である。   The monitoring data 921 stores an object ID of the input monitoring data or a symbol of a monitoring data item defined in advance. The symbol of the monitoring data item defined in advance is, for example, “__responseTime”.

監視設定テーブルのID901及び監視設定名称903には、生成されるプローブ定義のID1001及びプローブ名称1003と同じものが格納される。監視設定とプローブ定義において、同一のIDを用いることで、監視設定とプローブ定義が対応付けられる。   The ID 901 and the monitoring setting name 903 of the monitoring setting table store the same as the ID 1001 and probe name 1003 of the generated probe definition. By using the same ID in the monitoring setting and the probe definition, the monitoring setting and the probe definition are associated with each other.

ユーザインタフェース110は、監視設定テーブルに格納された監視ポイント912及び監視データ921の情報を参照して、設定済みのプローブ1610の情報を設計情報上に表示し、さらに、ユーザに選択させることができる。   The user interface 110 refers to the information of the monitoring point 912 and the monitoring data 921 stored in the monitoring setting table, displays the information of the set probe 1610 on the design information, and further allows the user to select it. .

例えば、ユーザが、図10に示す画面を操作して、監視ポイント“A01.機能1”に対応する箇所において、監視データ“データ1.a”に対応するデータを監視することを指定した場合、監視設定テーブルの監視ポイント912に“A01.機能1”が記憶され、監視データ921に“データ1.a”が記憶される。さらに、ID901及び監視設定名称903に、上記の監視ポイント等を識別する情報が記憶される。図11の例では、監視ポイント“A01.機能1”及び監視データ“データ1.a”を識別するID901及び監視設定名称903として、それぞれ、“P001”及び“処理1入力データ”が記憶される(図11の1行目参照)。   For example, when the user operates the screen shown in FIG. 10 and specifies that the data corresponding to the monitoring data “data 1.a” is to be monitored at the location corresponding to the monitoring point “A01. Function 1”. “A01.Function 1” is stored in the monitoring point 912 of the monitoring setting table, and “Data 1.a” is stored in the monitoring data 921. Further, information for identifying the monitoring point or the like is stored in the ID 901 and the monitoring setting name 903. In the example of FIG. 11, “P001” and “processing 1 input data” are stored as the ID 901 and the monitoring setting name 903 for identifying the monitoring point “A01.function 1” and the monitoring data “data 1.a”, respectively. (See the first line in FIG. 11).

この場合、対応検索部115は、“A01.機能1”及び“データ1.a”を入力として、図8及び図9に示す処理を実行する。その結果、例えば、プローブ挿入ポイント及び監視データとして、それぞれ“FuncA.method1(String d1,String d2)”及び“d1”が取得される。この場合、プローブ定義記憶部1601のID1001及びプローブ名称1003として、監視設定テーブルと同様、“P001”及び“処理1入力データ”が記憶される。そして、プローブ挿入ポイント1012及び監視データ1021として、それぞれ、検索の結果取得された“FuncA.method1(String d1,String d2)”及び“d1”が記憶される(図4の1行目参照)。   In this case, the correspondence search unit 115 receives “A01.function 1” and “data 1.a” as inputs and executes the processes shown in FIGS. As a result, for example, “FuncA.method1 (String d1, String d2)” and “d1” are acquired as the probe insertion point and the monitoring data, respectively. In this case, “P001” and “process 1 input data” are stored as the ID 1001 and the probe name 1003 in the probe definition storage unit 1601 as in the monitoring setting table. Then, “FuncA.method1 (String d1, String d2)” and “d1” acquired as a result of the search are stored as the probe insertion point 1012 and the monitoring data 1021 (see the first line in FIG. 4).

監視ポイント及び監視データを指定するために設計情報表示ウィンドウ550に表示される設計情報として、ユーザの入力に応じてアプリケーション開発工程の任意の段階で作成された任意の設計情報を用いることができる。このとき、表示されている設計情報の構成要素と設計対応関係にある構成要素を含む設計情報を、設計対応情報を用いて検索し、検索された設計情報を、表示する設計情報の候補として表示し、表示された候補のいずれかをユーザに選択させることもできる。   As design information displayed in the design information display window 550 for designating a monitoring point and monitoring data, any design information created at any stage of the application development process according to a user input can be used. At this time, the design information including the components having the design correspondence with the component of the displayed design information is searched using the design correspondence information, and the searched design information is displayed as a candidate of the design information to be displayed. The user can also select one of the displayed candidates.

また、ユーザインタフェース110は、監視定義の設定において、設定する監視定義に付与する監視定義IDおよび監視定義で設定される個々の監視項目に付与する監視項目IDの値を入力させるユーザインタフェースを設けてもよい。あるいは、ユーザインタフェース110は、監視定義ID及び監視項目IDを自動的に生成し、それらを設定してもよい。   Further, the user interface 110 is provided with a user interface for inputting the value of the monitoring definition ID to be assigned to the monitoring definition to be set and the value of the monitoring item ID to be assigned to each monitoring item set in the monitoring definition in the setting of the monitoring definition. Also good. Alternatively, the user interface 110 may automatically generate a monitoring definition ID and a monitoring item ID and set them.

監視設定のためのユーザインタフェース110の構成及び入力の手順は、本実施の形態で示した例に限定されず、監視ポイント、及び、監視ポイントにおいて監視する項目、さらに必要に応じて、監視定義ID及び監視項目IDを入力できるインタフェースであればよい。   The configuration and input procedure of the user interface 110 for the monitoring setting are not limited to the example shown in the present embodiment, and the monitoring point, the item monitored at the monitoring point, and the monitoring definition ID as necessary. And any interface that can input the monitoring item ID.

上記のように、図1に示すシステムを用いれば、ユーザがアプリケーションプログラムの開発工程の一段階の設計情報において、実行したいアプリケーションプログラムの監視を設定すると、入力された設定と実装されたプログラムとの対応付けが、人手を介することなく自動的に実行される。このため、設定されたアプリケーションプログラムの監視を直ちに実行することができる。   As described above, using the system shown in FIG. 1, when the user sets monitoring of an application program to be executed in the design information at one stage of the application program development process, the setting between the input setting and the implemented program is set. The association is automatically executed without human intervention. Therefore, it is possible to immediately monitor the set application program.

次に、アプリケーションプログラム170に挿入されるプローブ1610の監視動作を、指定された条件に従って制御するシステムの構成及び動作について説明する。   Next, the configuration and operation of a system that controls the monitoring operation of the probe 1610 inserted into the application program 170 in accordance with specified conditions will be described.

図12は、本発明の第1の実施の形態のプローブ1610の監視動作を条件に従って制御するシステムの構成を示すブロック図である。   FIG. 12 is a block diagram illustrating a configuration of a system that controls the monitoring operation of the probe 1610 according to the first embodiment of this invention in accordance with conditions.

条件制御部143は、プローブ制御定義記憶部1602、設定部1609、条件判定部1606及びプローブ制御部1607を備える。管理部141は、図3に示したものと同一である。   The condition control unit 143 includes a probe control definition storage unit 1602, a setting unit 1609, a condition determination unit 1606, and a probe control unit 1607. The management unit 141 is the same as that shown in FIG.

プローブ制御定義記憶部1602は、主記憶2705又は外部記憶装置2707に確保された記憶領域である。条件判定部1606、プローブ制御部1607及び設定部1609は、条件制御部143に含まれるプログラムモジュールである。   The probe control definition storage unit 1602 is a storage area secured in the main memory 2705 or the external storage device 2707. The condition determination unit 1606, the probe control unit 1607, and the setting unit 1609 are program modules included in the condition control unit 143.

プローブ1610は、図3に示す管理部141によってアプリケーションプログラム170に挿入されるプログラムモジュールである。一つ又は複数のプローブ1610がアプリケーションプログラム170に挿入されてもよい。   The probe 1610 is a program module inserted into the application program 170 by the management unit 141 shown in FIG. One or more probes 1610 may be inserted into the application program 170.

監視イベント出力部180aは、図1に示す公知の監視イベント出力部180にコレクタ1620を追加したものである。   The monitoring event output unit 180a is obtained by adding a collector 1620 to the known monitoring event output unit 180 shown in FIG.

コレクタ1620は、プローブ1610が出力したデータを取得し、必要に応じてそのデータを条件判定部1606に転送するプログラムモジュールである。   The collector 1620 is a program module that acquires data output by the probe 1610 and transfers the data to the condition determination unit 1606 as necessary.

データ取得部1630は、アプリケーションサーバ160等に配置され、状態監視データ及び外部情報を取得するプログラムモジュールである。図12は、アプリケーションサーバ160上にデータ取得部1630が配置されている例を示している。   The data acquisition unit 1630 is a program module that is arranged in the application server 160 or the like and acquires state monitoring data and external information. FIG. 12 shows an example in which a data acquisition unit 1630 is arranged on the application server 160.

データ取得部1630は、プローブ1610が監視するデータ以外の情報を取得する。具体的には、データ取得部1630は、例えば、アプリケーションプログラム170、アプリケーションサーバ160、アプリケーションサーバ160を実行するOS及びハードウェア、又は、アプリケーションプログラムを監視するシステムそのものの状態監視データを取得する。例えば、データ取得部1630は、状態監視データとして、CPU2703の負荷を取得してもよい。   The data acquisition unit 1630 acquires information other than the data monitored by the probe 1610. Specifically, the data acquisition unit 1630 acquires, for example, the application program 170, the application server 160, the OS and hardware that executes the application server 160, or the state monitoring data of the system itself that monitors the application program. For example, the data acquisition unit 1630 may acquire the load of the CPU 2703 as the state monitoring data.

データ取得部1630は、上記の状態監視データの他に、時刻等の外部情報を取得してもよい。   The data acquisition unit 1630 may acquire external information such as time in addition to the state monitoring data.

プローブ制御定義記憶部1602は、プローブ制御定義を記憶する。プローブ制御定義とは、アプリケーションプログラム170に挿入されたプローブ1610の監視動作を制御する条件、及び、プローブ1610の監視動作を制御する操作を指定する情報である。プローブ1610の監視動作とは、例えば、監視データの取得又は出力である。   The probe control definition storage unit 1602 stores the probe control definition. The probe control definition is information that specifies a condition for controlling the monitoring operation of the probe 1610 inserted in the application program 170 and an operation for controlling the monitoring operation of the probe 1610. The monitoring operation of the probe 1610 is, for example, acquisition or output of monitoring data.

このプローブ制御定義に基づいて、設定部1609は各部を設定し、プローブ1610の監視動作を制御する。   Based on this probe control definition, the setting unit 1609 sets each unit and controls the monitoring operation of the probe 1610.

まず、プローブ制御定義に基づいてプローブ1610の監視動作を制御する処理の流れを説明する。   First, the flow of processing for controlling the monitoring operation of the probe 1610 based on the probe control definition will be described.

図13は、本発明の第1の実施の形態のプローブ制御定義記憶部1602の構成例を示す説明図である。   FIG. 13 is an explanatory diagram illustrating a configuration example of the probe control definition storage unit 1602 according to the first embodiment of this invention.

プローブ制御定義記憶部1602に記憶されるプローブ制御定義は、ID1801、制御条件1803及び制御操作1805を含む。ID1801は、各プローブ制御定義を識別する。制御条件1803は、プローブ1610の監視動作を制御する条件を指定する。制御操作1805は、プローブ1610の監視動作を制御する操作を指定する。   The probe control definition stored in the probe control definition storage unit 1602 includes an ID 1801, a control condition 1803, and a control operation 1805. ID 1801 identifies each probe control definition. The control condition 1803 specifies a condition for controlling the monitoring operation of the probe 1610. A control operation 1805 specifies an operation for controlling the monitoring operation of the probe 1610.

プローブ1610の監視動作の制御は、IF-THEN形式で記述される。具体的には、IF部分が制御条件1803に、THEN部分が制御操作1805に相当する。言い換えると、制御条件1803に記憶された条件が成立するときに、制御操作1805に記憶された操作が実行される。   Control of the monitoring operation of the probe 1610 is described in IF-THEN format. Specifically, the IF portion corresponds to the control condition 1803 and the THEN portion corresponds to the control operation 1805. In other words, when the condition stored in the control condition 1803 is satisfied, the operation stored in the control operation 1805 is executed.

制御条件1803は、条件判定に用いるデータを含む条件式によって記述される。条件判定に用いるデータとして、アプリケーションプログラム170に挿入されたプローブ1610が取得する監視データを指定することができる。あるいは、予めシステムに用意されたデータ取得部1630によって取得される情報が指定されてもよい。   The control condition 1803 is described by a conditional expression including data used for condition determination. Monitoring data acquired by the probe 1610 inserted into the application program 170 can be designated as data used for condition determination. Alternatively, information acquired by the data acquisition unit 1630 prepared in advance in the system may be designated.

それら条件判定に用いるデータを判定情報と呼ぶ。各判定情報は、一意のIDによって識別される。制御条件を表す条件式は、判定情報のIDを用いて記述される。プローブ1610によって取得される監視データが判定情報として使用される場合、図4に示したプローブ定義におけるプローブID1001が判定情報のIDとなる。データ取得部1630によって取得されるデータは、予め付与された特別なIDによって指定される。   Data used for the condition determination is referred to as determination information. Each determination information is identified by a unique ID. The conditional expression representing the control condition is described using the ID of the determination information. When the monitoring data acquired by the probe 1610 is used as determination information, the probe ID 1001 in the probe definition illustrated in FIG. 4 is the ID of the determination information. Data acquired by the data acquisition unit 1630 is specified by a special ID assigned in advance.

制御操作1805には、制御条件1803が成立する場合に実行される制御の方法、及び、その方法によって監視動作が制御されるプローブ1610が記憶される。さらに、必要であれば、制御のパラメータも記憶される。   The control operation 1805 stores a control method executed when the control condition 1803 is satisfied, and a probe 1610 whose monitoring operation is controlled by the method. Further, if necessary, control parameters are also stored.

プローブ1610の監視動作の制御方法とは、例えば、プローブ1610による監視動作の開始又は停止である。あるいは、時間又はアプリケーションプログラム170の実行回数によって設定された所定の間隔ごとに、監視データの取得及び出力を実行させることによって、プローブ1610の監視動作を制御してもよい。   The control method of the monitoring operation of the probe 1610 is, for example, the start or stop of the monitoring operation by the probe 1610. Alternatively, the monitoring operation of the probe 1610 may be controlled by executing acquisition and output of monitoring data at predetermined intervals set by time or the number of executions of the application program 170.

プローブ1610の監視動作の開始又は停止は、プローブ挿入部1608が、アプリケーションプログラム170へプローブ1610を挿入する(insert)、あるいは、アプリケーションプログラム170からプローブを除去する(remove)ことによって実行することができる。あるいは、プローブ1610に監視動作の実行を制御する動作制御コード(図示省略)を組み込み、動作制御コードを制御する変数を割り当ててもよい。この変数を動作制御変数と呼ぶ。動作制御コードが動作制御変数を参照して監視動作の実行の可否を判定することによってプローブの監視動作を制御(停止(di sable)又は開始(enable))することもできる。動作制御変数は、プローブ1610及びプローブ制御部1607の両方からアクセス可能なメモリ領域に格納される。   The start or stop of the monitoring operation of the probe 1610 can be executed by the probe insertion unit 1608 inserting the probe 1610 into the application program 170 (remove) or removing the probe from the application program 170 (remove). . Alternatively, an operation control code (not shown) for controlling the execution of the monitoring operation may be incorporated in the probe 1610 and a variable for controlling the operation control code may be assigned. This variable is called an operation control variable. The monitoring operation of the probe can be controlled (dissable or started) by determining whether or not the monitoring operation can be executed by referring to the operation control variable. The operation control variable is stored in a memory area accessible from both the probe 1610 and the probe control unit 1607.

図13の1行目は、プローブIDがP003であるプローブ1610の監視データの一定期間の平均値が10を上回った場合に、プローブIDがP004であるプローブをアプリケーションプログラム170から除去することを示している。2行目は、プローブP002の監視データの値が5を下回ると、プローブP005の動作を停止することを示している。3行目は、プローブP001の値がAで始まる文字列である場合に、プローブP006の動作を開始することを示している。   The first line in FIG. 13 indicates that the probe with the probe ID P004 is removed from the application program 170 when the average value of the monitoring data of the probe 1610 with the probe ID P003 exceeds 10 for a certain period. ing. The second line indicates that when the value of the monitoring data of the probe P002 is less than 5, the operation of the probe P005 is stopped. The third line indicates that the operation of the probe P006 is started when the value of the probe P001 is a character string starting with A.

上記のシステムによってプローブ1610の監視動作を制御する処理の流れを説明する。   A flow of processing for controlling the monitoring operation of the probe 1610 by the above system will be described.

まず、アプリケーションプログラム170の実行に従って、アプリケーションプログラム170に挿入されたプローブ1610が監視データを出力する(S1201)。出力される監視データは、監視イベント出力部180aを経由して出力される。このとき監視イベント出力部180a内のコレクタ1620は、監視データが判定情報として用いられるデータであるか否かを判定する。監視データが判定情報として用いるデータであると判定された場合、監視イベント出力部180aは、その監視データを条件判定部1606に転送する(S1202)。   First, in accordance with the execution of the application program 170, the probe 1610 inserted into the application program 170 outputs monitoring data (S1201). The output monitoring data is output via the monitoring event output unit 180a. At this time, the collector 1620 in the monitoring event output unit 180a determines whether the monitoring data is data used as determination information. If it is determined that the monitoring data is data used as determination information, the monitoring event output unit 180a transfers the monitoring data to the condition determination unit 1606 (S1202).

一方、判定情報がプローブ1610の監視データ以外のデータである場合、データ取得部1630は定期的にデータを取得し、取得したデータを条件判定部1606に送信する(S1203)。あるいは、条件判定部1606が定期的にデータ取得部1630を呼び出すことによって、判定情報として用いるデータを取得してもよい。   On the other hand, when the determination information is data other than the monitoring data of the probe 1610, the data acquisition unit 1630 periodically acquires the data and transmits the acquired data to the condition determination unit 1606 (S1203). Alternatively, data used as determination information may be acquired by the condition determination unit 1606 calling the data acquisition unit 1630 periodically.

条件判定部1606は、コレクタ1620又はデータ取得部1630から取得した判定情報を用いて、制御条件1803に記憶された条件式を評価し、評価した結果をプローブ制御部1607へ送信する(S1204)。プローブ制御部1607は、条件判定部1606から受信した条件判定の結果に応じて、制御操作1805に記憶された操作を実行することによって、プローブ1610の監視動作を制御する(S1205)。   The condition determination unit 1606 evaluates the conditional expression stored in the control condition 1803 using the determination information acquired from the collector 1620 or the data acquisition unit 1630, and transmits the evaluation result to the probe control unit 1607 (S1204). The probe control unit 1607 controls the monitoring operation of the probe 1610 by executing the operation stored in the control operation 1805 according to the condition determination result received from the condition determination unit 1606 (S1205).

次に、設定部1609がプローブ制御定義に基づいて、プローブ1610の監視動作の制御を実行するように、条件判定部1606及びプローブ制御部1607を設定する処理の流れを図14及び図15を参照して説明する。   Next, refer to FIGS. 14 and 15 for the flow of processing for setting the condition determination unit 1606 and the probe control unit 1607 so that the setting unit 1609 controls the monitoring operation of the probe 1610 based on the probe control definition. To explain.

図14は、本発明の第1の実施の形態の設定部1609が条件判定部1606を設定する処理のフローチャートである。   FIG. 14 is a flowchart of processing in which the setting unit 1609 according to the first embodiment of this invention sets the condition determination unit 1606.

設定部1609は、プローブ定義に基づいて、図14のフローを実行することによって条件判定部1606を設定する。   The setting unit 1609 sets the condition determination unit 1606 by executing the flow of FIG. 14 based on the probe definition.

まず、ステップ2001において、設定部1609は、プローブ制御定義記憶部1602からプローブ制御定義を取得する。   First, in step 2001, the setting unit 1609 acquires a probe control definition from the probe control definition storage unit 1602.

次に、ステップ2003において、設定部1609は、プローブ定義の制御条件1803を解析し、判定情報の指定を抽出する。   Next, in step 2003, the setting unit 1609 analyzes the probe definition control condition 1803 and extracts designation of determination information.

次に、設定部1609は、ステップ2003で抽出された全ての判定情報について、ステップ2005乃至2008の処理を実行する。   Next, the setting unit 1609 executes the processes in steps 2005 to 2008 for all the determination information extracted in step 2003.

ステップ2005において、設定部1609は、判定情報として指定されたデータのIDに基づいて、データがプローブ1610によって取得されるデータであるか否かを判定する。ステップ2005において、指定されたデータがプローブ1610によって取得されるデータであると判定された場合、処理はステップ2006に移行する。一方、ステップ2005において、指定されたデータがプローブ1610によって取得されるデータでないと判定された場合、処理はステップ2007に移行する。   In step 2005, the setting unit 1609 determines whether the data is data acquired by the probe 1610, based on the data ID specified as the determination information. If it is determined in step 2005 that the specified data is data acquired by the probe 1610, the process proceeds to step 2006. On the other hand, if it is determined in step 2005 that the designated data is not data acquired by the probe 1610, the process proceeds to step 2007.

ステップ2006において、設定部1609は、監視イベント出力部180aのコレクタ1620に、指定されたデータのIDを登録する。   In step 2006, the setting unit 1609 registers the ID of the designated data in the collector 1620 of the monitoring event output unit 180a.

ステップ2007において、設定部1609は、判定情報として指定されたデータのIDに基づいて、データを取得するデータ取得部1630を特定し、特定されたデータ取得部1630がデータを取得するように設定する。   In step 2007, the setting unit 1609 specifies the data acquisition unit 1630 that acquires data based on the ID of the data specified as the determination information, and sets the specified data acquisition unit 1630 to acquire data. .

ステップ2006又は2007が実行された後、設定部1609は、ステップ2008において、ステップ2003で抽出された全ての判定情報の処理が完了したか否かを判定する。   After step 2006 or 2007 is executed, the setting unit 1609 determines in step 2008 whether or not the processing of all the determination information extracted in step 2003 has been completed.

ステップ2008において、全ての判定情報の処理が完了したと判定された場合、設定部1609は処理を終了する。一方、ステップ2008において、全ての判定情報の処理が完了していないと判定された場合、未処理の判定情報が存在する。この場合、未処理の判定情報を処理するために、設定部1609はステップ2005に戻る。   If it is determined in step 2008 that all the determination information processes have been completed, the setting unit 1609 ends the process. On the other hand, if it is determined in step 2008 that all the determination information has not been processed, there is unprocessed determination information. In this case, the setting unit 1609 returns to step 2005 in order to process unprocessed determination information.

コレクタ1620は、プローブ1610が監視データを取得し、監視イベント出力部180aを介して出力する際に、監視データに付加されるIDがステップ2006で登録されたIDであるか否かを判定する。IDが登録されていると判定された場合、コレクタ1620は、監視データを条件判定部1606に送信する。   The collector 1620 determines whether or not the ID added to the monitoring data is the ID registered in step 2006 when the probe 1610 acquires the monitoring data and outputs the monitoring data via the monitoring event output unit 180a. When it is determined that the ID is registered, the collector 1620 transmits the monitoring data to the condition determination unit 1606.

条件判定部1606は、判定情報の値を用いて、制御条件1803として記述された条件判定式を解釈し、実行する。具体的には、条件判定部1606が備える公知のインタプリタが条件判定式を解釈し、実行してもよい。あるいは、事前に公知のコンパイラによって条件判定式を実行するプログラムモジュールが生成及び管理され、このプログラムモジュールが条件判定式を解釈し、実行してもよい。   The condition determination unit 1606 interprets and executes the condition determination expression described as the control condition 1803 using the value of the determination information. Specifically, a known interpreter included in the condition determination unit 1606 may interpret the condition determination expression and execute it. Alternatively, a program module that executes a condition determination expression may be generated and managed in advance by a known compiler, and the program module may interpret and execute the condition determination expression.

なお、条件判定式に代わって、条件判定部1606が解釈及び実行することができるプログラム言語で記述された条件判定プログラムコードが、制御条件1803として記憶されてもよい。その場合、条件判定部1606は、条件判定に必要な判定情報を入力として、条件判定プログラムコードを呼び出す。条件判定プログラムコードは、条件判定結果を返すことによって、条件判定を実行する。   In place of the condition determination expression, a condition determination program code described in a program language that can be interpreted and executed by the condition determination unit 1606 may be stored as the control condition 1803. In that case, the condition determination unit 1606 calls the condition determination program code with the determination information necessary for the condition determination as an input. The condition determination program code executes the condition determination by returning the condition determination result.

図15は、本発明の第1の実施の形態の設定部1609がプローブ制御部1607を設定する処理のフローチャートである。   FIG. 15 is a flowchart of processing for setting the probe control unit 1607 by the setting unit 1609 according to the first embodiment of this invention.

設定部1609は、プローブ定義に基づいて、図15に示すフローを実行することによってプローブ制御部1607を設定する。   The setting unit 1609 sets the probe control unit 1607 by executing the flow shown in FIG. 15 based on the probe definition.

ステップ2101において、設定部1609は、プローブ制御定義記憶部1602からプローブ制御定義を取得する。   In step 2101, the setting unit 1609 acquires a probe control definition from the probe control definition storage unit 1602.

次に、ステップ2102において、設定部1609は、プローブ定義の制御操作を解析することによって、制御するプローブ1610のIDと、プローブ1610の監視動作を制御する操作とを特定する。   Next, in step 2102, the setting unit 1609 analyzes the probe definition control operation to identify the ID of the probe 1610 to be controlled and the operation to control the monitoring operation of the probe 1610.

次に、ステップ2104において、設定部1609は、プローブ1610の監視動作制御が、プローブ1610をアプリケーションプログラム170に挿入すること、又は、プローブ1610をアプリケーションプログラムから除去することによって実行されるように指定されているか否かを判定する。ステップ2104において、プローブ1610の挿入又は除去によって制御が実行されると判定された場合、処理を終了する。プローブ1610の挿入又は除去によって制御が実行されないと判定された場合、処理はステップ2105に移行する。   Next, in step 2104, the setting unit 1609 is designated such that the monitoring operation control of the probe 1610 is executed by inserting the probe 1610 into the application program 170 or removing the probe 1610 from the application program. It is determined whether or not. If it is determined in step 2104 that the control is executed by inserting or removing the probe 1610, the process is terminated. If it is determined that control is not performed by insertion or removal of the probe 1610, the process proceeds to step 2105.

ステップ2105において、設定部1609は、ステップ2102で特定されたプローブ1610にそのプローブ1610の監視動作を制御する動作制御コードを組み込んだ新たなプローブ1610を、管理部141に生成させる。管理部141は、特定されたプローブ1610のプログラムコードをプローブ定義に基づいて再生成する。その際、管理部141は、再生成されるプローブ1610に動作制御コードを組み込む。   In step 2105, the setting unit 1609 causes the management unit 141 to generate a new probe 1610 in which an operation control code for controlling the monitoring operation of the probe 1610 is incorporated in the probe 1610 specified in step 2102. The management unit 141 regenerates the program code of the specified probe 1610 based on the probe definition. At that time, the management unit 141 incorporates the operation control code into the regenerated probe 1610.

ステップ2106において、管理部141は、ステップ2105で生成された動作制御コードを組み込んだプローブ1610を、アプリケーションプログラム170に挿入する。ステップ2102で特定されたプローブ1610が既に挿入されている場合、古いプローブ1610のプログラムコードはステップ2105で生成したプローブのプログラムコードで置き換えられる。   In step 2106, the management unit 141 inserts the probe 1610 incorporating the operation control code generated in step 2105 into the application program 170. If the probe 1610 identified in step 2102 has already been inserted, the program code of the old probe 1610 is replaced with the program code of the probe generated in step 2105.

上記の処理によって、プローブ1610の監視動作を制御するために必要な機能が設定される。   With the above processing, functions necessary for controlling the monitoring operation of the probe 1610 are set.

図16は、本発明の第1の実施の形態のプローブ制御部1607がプローブ1610の動作を制御する処理のフローチャートである。   FIG. 16 is a flowchart of processing in which the probe control unit 1607 according to the first embodiment of this invention controls the operation of the probe 1610.

ステップ1901において、プローブ制御部1607は、プローブ1610の監視動作の制御をプローブ1610の挿入又は除去によって実行するか否かを判定する。この判定のために、例えば、プローブ制御部1607にプローブ制御定義のID1801をキーとするテーブル(図示省略)が設けられてもよい。そのテーブルには、プローブ1610の監視動作を制御する方法が記憶される。プローブ制御部1607は、このテーブルを参照することによって、ステップ1901の判定を実行することができる。   In step 1901, the probe control unit 1607 determines whether to control the monitoring operation of the probe 1610 by inserting or removing the probe 1610. For this determination, for example, the probe control unit 1607 may be provided with a table (not shown) using the probe control definition ID 1801 as a key. The table stores a method for controlling the monitoring operation of the probe 1610. The probe control unit 1607 can execute the determination in step 1901 by referring to this table.

ステップ1901において、プローブ1610の監視動作制御をプローブ1610の挿入又は除去によって実行すると判定された場合、処理はステップ1902に移行する。一方、プローブ1610の監視動作制御をプローブ1610の挿入又は除去によって実行しないと判定された場合、処理はステップ1903に移行する。   If it is determined in step 1901 that the monitoring operation control of the probe 1610 is executed by inserting or removing the probe 1610, the process proceeds to step 1902. On the other hand, if it is determined that the monitoring operation control of the probe 1610 is not executed by insertion or removal of the probe 1610, the process proceeds to step 1903.

ステップ1902において、プローブ制御部1607は、制御対象のプローブ1610のIDを指定し、プローブ1610の挿入又は除去を管理部141に指示する。この指示に応じて、管理部141は、指定されたプローブ1610の挿入又は除去を実行する。その結果、プローブ1610によるアプリケーションプログラムの監視動作が開始又は停止される。そして、プローブ動作の制御処理が終了する。   In step 1902, the probe control unit 1607 specifies the ID of the probe 1610 to be controlled, and instructs the management unit 141 to insert or remove the probe 1610. In response to this instruction, the management unit 141 executes insertion or removal of the designated probe 1610. As a result, the monitoring operation of the application program by the probe 1610 is started or stopped. Then, the probe operation control process ends.

ステップ1903において、プローブ制御部1607は、制御対象のプローブ1610に割り当てられた動作制御変数の値を制御の内容に応じて設定する。   In step 1903, the probe control unit 1607 sets the value of the operation control variable assigned to the probe 1610 to be controlled according to the content of control.

ステップ1904において、制御対象のプローブ1610のプログラムコードが実行される際に、監視動作を実行するコードに先立って、動作制御コードが実行される。この動作制御コードは、図15に示したフローのステップ2105において、制御対象のプローブ1610に組み込まれたものである。動作制御コードは、動作制御変数を参照し、その値に応じて監視動作を実行するか否かを判定し、監視動作を行うコードの実行を制御する。そして、プローブ監視動作の制御処理が終了する。   In step 1904, when the program code of the probe 1610 to be controlled is executed, the operation control code is executed prior to the code for executing the monitoring operation. This operation control code is incorporated in the probe 1610 to be controlled in step 2105 of the flow shown in FIG. The operation control code refers to the operation control variable, determines whether to perform the monitoring operation according to the value, and controls the execution of the code that performs the monitoring operation. Then, the control process of the probe monitoring operation ends.

なお、本実施の形態において、プローブ1610からの判定情報の収集は、監視イベント出力部180aのコレクタ1620を介して実行される。しかし、コレクタ1620を介さずに、個々のプローブ1610が取得したデータを条件判定部1606に直接出力してもよい。この場合、図14のフローに示した判定情報の設定処理のステップ2006において、設定部1609がコレクタ1620を設定する代わりに、管理部141がプローブ1610を設定してもよい。その場合、管理部141は、プローブコード生成機能を用いて、プローブ1610が取得した監視項目を、条件判定部1606が備えるインタフェースを通してプローブから直接条件判定部1606に送信するプログラムコードをプローブに組み込む処理を実行する。   In the present embodiment, collection of determination information from the probe 1610 is executed via the collector 1620 of the monitoring event output unit 180a. However, the data acquired by each probe 1610 may be directly output to the condition determination unit 1606 without using the collector 1620. In this case, instead of the setting unit 1609 setting the collector 1620 in step 2006 of the determination information setting process shown in the flow of FIG. 14, the management unit 141 may set the probe 1610. In that case, the management unit 141 uses the probe code generation function to incorporate into the probe a program code that transmits the monitoring item acquired by the probe 1610 directly from the probe to the condition determination unit 1606 through an interface included in the condition determination unit 1606. Execute.

上記の本実施の形態において、条件判定部1606及びプローブ制御部1607はいずれも条件制御部143の一部として構成されている。しかし、条件判定部1606又はプローブ制御部1607が実行する処理の全て又は一部は、管理部141がプローブ1610のプログラムコード生成時に組み込む、条件制御のためのプログラムコードによって実行されてもよい。   In the present embodiment, the condition determination unit 1606 and the probe control unit 1607 are both configured as a part of the condition control unit 143. However, all or part of the processing executed by the condition determination unit 1606 or the probe control unit 1607 may be executed by a program code for condition control that the management unit 141 incorporates when generating the program code of the probe 1610.

その場合、判定情報を出力するプローブ1610や、監視動作の制御対象となるプローブに、判定情報の取得及び受け渡し、判定情報を用いた条件判定及びその判定結果の受け渡し、及び、判定結果に基づくプローブ監視動作の制御などの処理を実行するプログラムコードが、設定部1609の指示に応じて生成される。そして、生成されたプログラムコードが、判定情報を出力するプローブ1610又は監視動作の制御対象のプローブ1610に組み込まれる。   In that case, acquisition and transfer of the determination information to the probe 1610 that outputs the determination information and a probe that is a control target of the monitoring operation, condition determination using the determination information and transfer of the determination result, and a probe based on the determination result Program code for executing processing such as control of the monitoring operation is generated in response to an instruction from the setting unit 1609. Then, the generated program code is incorporated into the probe 1610 that outputs the determination information or the probe 1610 to be controlled in the monitoring operation.

図17は、本発明の第1の実施の形態のプローブ制御定義記憶部1602から取得されるプローブ制御定義を入力するために使用される監視制御設定ユーザインタフェース110の例を示す説明図である。   FIG. 17 is an explanatory diagram illustrating an example of the monitoring control setting user interface 110 used to input the probe control definition acquired from the probe control definition storage unit 1602 according to the first embodiment of this invention.

監視動作制御の設定ウィンドウ1850は、ユーザ(例えば、運用管理者又は業務管理者)にプローブ制御定義を入力させるために、出力装置2711に表示される。   A monitoring operation control setting window 1850 is displayed on the output device 2711 in order to allow a user (for example, an operation manager or a business manager) to input a probe control definition.

監視動作制御の設定ウィンドウ1850は、設定名称入力欄1852、制御条件入力欄1854、制御操作入力欄1856、決定ボタン1858及び取消ボタン1859を備える。   The monitoring operation control setting window 1850 includes a setting name input field 1852, a control condition input field 1854, a control operation input field 1856, an enter button 1858, and a cancel button 1859.

設定名称入力欄1852は、入力されるプローブ制御定義に付与され、ユーザが管理、識別するために使用する名称を入力させるための欄である。   The setting name input field 1852 is a field for inputting a name used for management and identification by a user, which is given to the input probe control definition.

制御条件入力欄1854には、プローブ1610の監視動作を制御する条件式が入力される。条件式の中で判定情報として用いられるデータは、プローブ1610のID及び予め定義されたデータ取得部1630のIDによって指定される。   In the control condition input field 1854, a conditional expression for controlling the monitoring operation of the probe 1610 is input. Data used as determination information in the conditional expression is specified by the ID of the probe 1610 and the ID of the data acquisition unit 1630 defined in advance.

制御操作入力欄1857には、制御条件入力欄に入力された条件が成立する場合に実行される、プローブ1610の監視動作を制御する操作が入力される。制御操作において、監視動作の制御対象のプローブ1610のIDが指定される。   In the control operation input field 1857, an operation for controlling the monitoring operation of the probe 1610, which is executed when the condition input in the control condition input field is satisfied, is input. In the control operation, the ID of the probe 1610 to be controlled in the monitoring operation is designated.

ボタン1855は、ユーザによる制御条件の入力を支援するインタフェースを表示するボタンである。このボタン1855を操作した結果表示されるユーザインタフェース(図示省略)によって、制御条件の記述に用いることができる演算子又は関数の一覧が表示されてもよい。さらに、判定情報に用いることができるプローブ1610及びデータ取得部1630の一覧が表示されてもよい。ユーザは、表示された内容から任意のものを選択することができる。選択された内容は、制御条件入力欄に反映される。   A button 1855 is a button for displaying an interface for assisting the user in inputting control conditions. A list of operators or functions that can be used to describe the control conditions may be displayed by a user interface (not shown) displayed as a result of operating this button 1855. Furthermore, a list of probes 1610 and data acquisition units 1630 that can be used for determination information may be displayed. The user can select an arbitrary one from the displayed contents. The selected content is reflected in the control condition input field.

ボタン1857は、ユーザによる制御操作の入力を支援するインタフェースを表示するボタンである。このボタン1857を操作した結果表示されるユーザインタフェース(図示省略)によって、制御操作の記述に用いることができる制御操作の一覧が表示されてもよい。さらに、監視動作の制御対象とすることができるプローブ1610の一覧が表示されてもよい。ユーザは、表示された内容から任意のものを選択することができる。選択された内容は、制御操作入力欄に反映される。   The button 1857 is a button for displaying an interface for assisting the user in inputting a control operation. A list of control operations that can be used to describe the control operation may be displayed by a user interface (not shown) displayed as a result of operating the button 1857. Further, a list of probes 1610 that can be controlled in the monitoring operation may be displayed. The user can select an arbitrary one from the displayed contents. The selected content is reflected in the control operation input field.

ユーザによって設定名称、制御条件及び制御操作が入力され、決定ボタン1858が操作されると、ユーザインタフェース110は、入力された各項目の内容に従ってプローブ制御定義を生成し、プローブ制御定義記憶部1602に格納する。   When the setting name, control condition, and control operation are input by the user and the enter button 1858 is operated, the user interface 110 generates a probe control definition according to the content of each input item, and stores it in the probe control definition storage unit 1602. Store.

図12に示したシステムによるプローブ1610の監視動作の条件制御は、図10に示すユーザインタフェースが用いられるシステムと組み合わせて実行することができる。図10に示すユーザインタフェースが用いられるシステムでは、設計情報上で監視設定が実行され、その監視設定によって指定された設計情報上の「監視する点」及び「監視するデータ」に基づいてプローブ定義が生成される。具体的には、既に説明したように、図1の対応検索部115が設計対応関係記憶部130を参照して、図8及び図9に示す処理を実行し、設計情報上の指定から、プログラムコードにおいてプローブ1610を挿入する点と監視するデータを特定する。   Condition control of the monitoring operation of the probe 1610 by the system shown in FIG. 12 can be executed in combination with a system using the user interface shown in FIG. In the system using the user interface shown in FIG. 10, the monitoring setting is executed on the design information, and the probe definition is set based on “monitoring point” and “monitoring data” on the design information designated by the monitoring setting. Generated. Specifically, as already described, the correspondence search unit 115 in FIG. 1 refers to the design correspondence storage unit 130 and executes the processes shown in FIGS. The point where the probe 1610 is inserted in the code and the data to be monitored are specified.

この場合、プローブ制御定義の入力の際に、図17に示したユーザインタフェースにおいて判定情報とされるプローブ1610を指定するために、図11に示した監視設定テーブルに記憶された監視設定の情報をユーザに入力させることができる。監視動作の制御対象のプローブ1610の指定においても同様である。監視設定と、それに対応するプローブ定義には、同一のIDが付与される。このため、指定された監視設定のIDに基づいて、対応するプローブ1610が特定される。   In this case, in order to specify the probe 1610 as determination information in the user interface shown in FIG. 17 when inputting the probe control definition, the monitoring setting information stored in the monitoring setting table shown in FIG. Can be input by the user. The same applies to the designation of the probe 1610 to be controlled in the monitoring operation. The same ID is assigned to the monitoring setting and the corresponding probe definition. For this reason, the corresponding probe 1610 is specified based on the ID of the designated monitoring setting.

例えば、プローブ1610を指定するために、監視対象のプローブ1610を、プローブ定義を用いて、「メソッド“FuncA.method1(String d1,String d2)”の第1引数“d1”を監視するプローブ」と表示しても、プログラムの実装を理解していないユーザは、そのプローブ1610が取得するデータの意味を理解することができない。しかし、監視設定の情報を用いて、「設計情報の機能“1”における入力データ“a”を監視するプローブ」と表示されていれば、ユーザはその意味を容易に理解することができる。   For example, in order to specify the probe 1610, the probe 1610 to be monitored is set to “a probe that monitors the first argument“ d1 ”of the method“ FuncA.method1 (String d1, String d2) ”” using the probe definition. Even if displayed, a user who does not understand the implementation of the program cannot understand the meaning of the data acquired by the probe 1610. However, if “probe that monitors input data“ a ”in the design information function“ 1 ”” is displayed using the monitoring setting information, the user can easily understand the meaning.

プローブ1610の監視動作の制御を設定する際に、ユーザが、プローブ定義の情報ではなく、監視設定の情報を用いてプローブ1610を指定することによって、アプリケーションプログラム170の実装を意識することなく設定を実行することができる。   When setting the control of the monitoring operation of the probe 1610, the user designates the probe 1610 using the monitoring setting information instead of the probe definition information, so that the setting can be made without being aware of the implementation of the application program 170. Can be executed.

また、制御条件を入力する際に、監視設定を指定するのではなく、図10に示したようなユーザインタフェースを用いて、設計情報上で監視する点及び監視するデータをユーザに入力させることができる。この場合、上記の設計情報上で監視設定が入力されると、図1の対応検索部115が設計対応関係記憶部130を参照して、入力された監視設定に対応するプローブ1610のプローブ定義を新規に生成する。生成されたプローブ1610は、判定情報を取得するためのプローブ1610又は監視動作の制御対象のプローブ1610として用いられる。   Also, when inputting the control conditions, the monitoring setting is not designated, but the user can input the monitoring point and the monitoring data on the design information using the user interface as shown in FIG. it can. In this case, when the monitoring setting is input on the above design information, the correspondence search unit 115 in FIG. 1 refers to the design correspondence storage unit 130 and determines the probe definition of the probe 1610 corresponding to the input monitoring setting. Create a new one. The generated probe 1610 is used as a probe 1610 for acquiring determination information or a probe 1610 to be controlled in a monitoring operation.

このとき、新規に生成するプローブ定義と同一のプローブ定義が、プローブ定義記憶部に既に存在しているか否かがチェックされる。同一のプローブ1610が既に存在している場合、そのプローブ1610が指定され、既存のプローブ定義が使用される。一方、同一のプローブ1610が存在していない場合、新規に生成されたプローブ定義に従って、判定情報を取得するためのプローブ1610又は監視動作の制御対象のプローブ1610が新規に生成され、アプリケーションプログラム170に挿入される。   At this time, it is checked whether or not the same probe definition as the newly generated probe definition already exists in the probe definition storage unit. If the same probe 1610 already exists, that probe 1610 is designated and the existing probe definition is used. On the other hand, if the same probe 1610 does not exist, a probe 1610 for acquiring determination information or a probe 1610 to be controlled for monitoring operation is newly generated according to the newly generated probe definition, and is stored in the application program 170. Inserted.

また、プローブ1610の条件制御の設定において、図10に示したようなユーザインタフェースを用いて設計情報上において監視設定を行う際に、同時に制御条件及び制御操作をユーザに入力させてもよい。その結果、条件付きの監視設定を入力することができる。この場合、プローブ定義の生成と同時に、プローブ制御定義が生成され、プローブ制御定義記憶部1602に格納される。   Further, in setting the condition control of the probe 1610, when performing the monitoring setting on the design information using the user interface as shown in FIG. 10, the user may simultaneously input the control condition and the control operation. As a result, conditional monitoring settings can be entered. In this case, simultaneously with the generation of the probe definition, a probe control definition is generated and stored in the probe control definition storage unit 1602.

次に、プローブ負荷に応じてプローブ1610の監視動作を制御するシステムの構成および動作について説明する。プローブ負荷とは、プローブ1610がアプリケーションプログラム170に挿入され、アプリケーションプログラム170監視を実行することによって発生する負荷である。プローブ負荷がアプリケーションプログラム170の実行に性能低下等の影響を与えることを防止するため、プローブ負荷が測定され、測定値に応じてプローブの監視動作が制御される。   Next, the configuration and operation of a system that controls the monitoring operation of the probe 1610 according to the probe load will be described. The probe load is a load generated when the probe 1610 is inserted into the application program 170 and the application program 170 is monitored. In order to prevent the probe load from affecting the execution of the application program 170 such as performance degradation, the probe load is measured, and the probe monitoring operation is controlled according to the measured value.

図18は、本発明の第1の実施の形態のプローブ1610の監視動作を、測定されたプローブ負荷に応じて制御するシステムの構成を示すブロック図である。   FIG. 18 is a block diagram illustrating a configuration of a system that controls the monitoring operation of the probe 1610 according to the first embodiment of this invention in accordance with the measured probe load.

負荷制御部140は、測定部2201、制御部2203、設定部2205及びプローブログ記憶部2209を備える。管理部141は、図3に示したものと同一である。   The load control unit 140 includes a measurement unit 2201, a control unit 2203, a setting unit 2205, and a probe log storage unit 2209. The management unit 141 is the same as that shown in FIG.

プローブログ記憶部2209は、主記憶2705又は外部記憶装置2707に確保された記憶領域である。測定部2201、制御部2203及び設定部2205は、管理部141に含まれるプログラムモジュールである。プローブ1610は、図3に示した管理部141によってアプリケーションプログラム170に挿入されるプログラムモジュールである。   The probe log storage unit 2209 is a storage area secured in the main memory 2705 or the external storage device 2707. The measurement unit 2201, the control unit 2203, and the setting unit 2205 are program modules included in the management unit 141. The probe 1610 is a program module inserted into the application program 170 by the management unit 141 shown in FIG.

まず、プローブ負荷を測定する処理を説明する。   First, a process for measuring the probe load will be described.

プローブ負荷の測定が指示されると、設定部2205はアプリケーションプログラム170に挿入されているプローブ1610に、プローブ1610の監視動作のログ(以降、プローブログと記載する)をプローブ負荷の測定期間の間出力させる(S1801)。   When the probe load measurement is instructed, the setting unit 2205 causes the probe 1610 inserted in the application program 170 to send a monitoring operation log of the probe 1610 (hereinafter referred to as a probe log) during the probe load measurement period. Output (S1801).

プローブログは、プローブ1610によって実行される監視動作に関する情報であり、プローブ1610が動作するたびに出力され、プローブログ記憶部2209に蓄積される。プローブログは、少なくとも、プローブ1610が動作したこと(すなわち、プローブ1610が実行されたこと)を示す情報を含む。プローブログは、さらに、プローブ1610が実行した処理に関する種々の情報を含んでもよい。   The probe log is information related to the monitoring operation executed by the probe 1610, and is output every time the probe 1610 operates and is accumulated in the probe log storage unit 2209. The probe log includes at least information indicating that the probe 1610 has been operated (that is, the probe 1610 has been executed). The probe log may further include various types of information related to processing executed by the probe 1610.

プローブログを出力する処理は、各プローブ1610にプローブログを出力させるコードを組み込んだプローブ1610を生成し、生成されたプローブ1610をアプリケーションプログラム170に再度挿入することによって実行してもよい。あるいは、プローブ1610にプローブログを出力する機能をあらかじめ組み込んでおき、これを有効化することで実行してもよい。   The process of outputting the probe log may be executed by generating a probe 1610 incorporating a code for causing each probe 1610 to output the probe log, and inserting the generated probe 1610 into the application program 170 again. Alternatively, the probe 1610 may be executed by incorporating a function for outputting a probe log in advance and enabling it.

あるいは、プローブ負荷の測定に必要な情報が、プローブ1610が出力した監視イベントによって取得できる場合、プローブログを出力する代わりに、各プローブ1610が出力する監視イベントを監視イベント出力部180が捕捉してもよい。この場合、監視イベント出力部180は、監視ベントに付加されているプローブIDに基づいて、動作したプローブ1610を特定し、プローブログに相当する情報を監視イベントから抽出し、プローブログ記憶部2209に出力する。   Alternatively, when the information necessary for measuring the probe load can be acquired by the monitoring event output from the probe 1610, the monitoring event output unit 180 captures the monitoring event output from each probe 1610 instead of outputting the probe log. Also good. In this case, the monitoring event output unit 180 specifies the operated probe 1610 based on the probe ID added to the monitoring vent, extracts information corresponding to the probe log from the monitoring event, and stores it in the probe log storage unit 2209. Output.

測定部2205は、各プローブ1610が出力するプローブログをプローブログ記憶部2209から取得し、集計することによって、各プローブ1610の負荷を計算する。プローブ負荷の計算には、各プローブ1610の動作回数(すなわち、実行回数)等が用いられる。以下、プローブの動作回数が用いられる場合を例として説明する。測定部2205は、プローブログを集計して各プローブ1610の単位時間当たりの動作回数を計算し、この値をプローブ負荷とする。   The measuring unit 2205 calculates the load of each probe 1610 by acquiring the probe log output by each probe 1610 from the probe log storage unit 2209 and counting it. For the calculation of the probe load, the number of operations (that is, the number of executions) of each probe 1610 is used. Hereinafter, a case where the number of probe operations is used will be described as an example. The measuring unit 2205 aggregates the probe logs, calculates the number of operations per unit time of each probe 1610, and uses this value as the probe load.

プローブ負荷の測定期間が終了すると、設定部2201は、各プローブ1610にプローブログの出力を停止させる。プローブログを出力するコードを組み込んだプローブ1610を生成することによってプローブログを出力している場合、設定部2205はプローブログの出力コードを除去したプローブ1610を再度生成する。設定部2205は管理部141を用いて、生成されたプローブ1610をアプリケーションプログラム170に再度挿入する。   When the probe load measurement period ends, the setting unit 2201 causes each probe 1610 to stop outputting the probe log. When the probe log is output by generating the probe 1610 incorporating the code for outputting the probe log, the setting unit 2205 generates the probe 1610 from which the output code of the probe log is removed again. The setting unit 2205 uses the management unit 141 to insert the generated probe 1610 into the application program 170 again.

上記の処理によって、各プローブ1610の監視動作の負荷が測定される。   With the above processing, the monitoring operation load of each probe 1610 is measured.

なお、プローブ負荷の測定処理そのものの負荷を軽減するため、プローブログをプローブ1610の動作ごとに出力させるのではなく、各プローブ1610がプローブログを一時蓄積し、所定の間隔でまとめて出力してもよい。あるいは、プローブ1610に一時蓄積されたプローブログを各プローブ1610が集計し、統計処理された値のみを所定の間隔で出力してもよい。   In order to reduce the load of the probe load measurement process itself, the probe log is not temporarily output for each operation of the probe 1610, but each probe 1610 temporarily accumulates the probe log and outputs it at a predetermined interval. Also good. Alternatively, the probe logs temporarily accumulated in the probes 1610 may be aggregated by each probe 1610, and only the statistically processed values may be output at a predetermined interval.

図19は、本発明の第1の実施の形態の負荷制御部140が、測定されたプローブ負荷に応じて、プローブ1610の監視動作を制御する処理のフローチャートである。   FIG. 19 is a flowchart of processing in which the load control unit 140 according to the first embodiment of this invention controls the monitoring operation of the probe 1610 according to the measured probe load.

まず、ステップ2401において、負荷制御部140は、プローブ負荷の測定を開始する。上記のように、プローブログを出力するコードを組み込んだプローブ1610がアプリケーションプログラム170に挿入されてもよいし、プローブログを出力する機能が有効化されてもよい。   First, in step 2401, the load control unit 140 starts measuring the probe load. As described above, the probe 1610 incorporating the code for outputting the probe log may be inserted into the application program 170, or the function of outputting the probe log may be validated.

次に、ステップ2402において、負荷制御部140は、プローブ1610の負荷を測定する。   Next, in step 2402, the load control unit 140 measures the load of the probe 1610.

次に、ステップ2403において、負荷制御部140は、測定されたプローブ負荷を、あらかじめ設定されたプローブ負荷の基準値と比較する。   Next, in step 2403, the load control unit 140 compares the measured probe load with a preset reference value of the probe load.

ステップ2403において、プローブ負荷が基準を満たしていると判定された場合(すなわち、プローブ負荷が基準値の範囲内である場合)、処理はステップ2407に移行する。一方、ステップ2403において、プローブ負荷が基準を満たしていないと判定された場合、プローブ負荷がアプリケーションプログラム170の実行に与える影響を軽減するために、プローブ負荷を軽減する必要がある。このため、処理はステップ2405に移行する。   If it is determined in step 2403 that the probe load meets the standard (that is, if the probe load is within the range of the reference value), the process proceeds to step 2407. On the other hand, if it is determined in step 2403 that the probe load does not satisfy the standard, it is necessary to reduce the probe load in order to reduce the influence of the probe load on the execution of the application program 170. Therefore, the process proceeds to step 2405.

次に、ステップ2405において、負荷制御部140は、プローブ負荷を軽減するように、プローブの監視動作を制御する。   Next, in step 2405, the load control unit 140 controls the probe monitoring operation so as to reduce the probe load.

次に、ステップ2407において、負荷制御部140は、設定されたプローブ負荷の測定期間が終了したか否かを判定する。   Next, in step 2407, the load control unit 140 determines whether or not the set probe load measurement period has ended.

ステップ2407において、測定期間が終了していないと判定された場合、処理はステップ2402に戻り、プローブ負荷の測定及び監視動作の制御を継続する。   If it is determined in step 2407 that the measurement period has not expired, the process returns to step 2402 to continue control of probe load measurement and monitoring operations.

一方、ステップ2407において、測定期間が終了したと判定された場合、負荷制御部140は、ステップ2409において、プローブ負荷の測定を終了し、処理を終了する。   On the other hand, if it is determined in step 2407 that the measurement period has ended, the load control unit 140 ends the probe load measurement in step 2409 and ends the process.

ステップ2403で比較されるプローブ負荷の基準値は、各プローブ1610の負荷の絶対値によって設定されてもよいし、他のプローブ1610の負荷との相対値によって設定されてもよい。   The reference value of the probe load compared in step 2403 may be set by the absolute value of the load of each probe 1610, or may be set by the relative value with the load of the other probe 1610.

負荷の絶対値を用いる場合、負荷制御部140は、ステップ2403において、各プローブ1610の負荷と、設定された基準値とを比較し、基準の範囲内にあるか否かを判定する。プローブ負荷の基準値は、負荷制御部140の記憶領域にあらかじめ記憶しておく。   When using the absolute value of the load, in step 2403, the load control unit 140 compares the load of each probe 1610 with the set reference value, and determines whether or not the load is within the reference range. The reference value of the probe load is stored in advance in the storage area of the load control unit 140.

一方、負荷の相対値を用いる場合、負荷制御部140は、ステップ2403において、基準となるプローブ1610の負荷と、測定対象のプローブ1610の負荷との相対値を計算する。そして、負荷制御部140は、計算された相対値を、設定された基準値と比較する。相対値を用いてプローブ負荷を評価する場合、アプリケーションプログラム170全体の負荷に関わらず、他のプローブ1610と比較して特に負荷の高いプローブ1610を発見することができる。   On the other hand, when the relative value of the load is used, the load control unit 140 calculates a relative value between the load of the probe 1610 serving as a reference and the load of the probe 1610 to be measured in Step 2403. Then, the load control unit 140 compares the calculated relative value with the set reference value. When the probe load is evaluated using the relative value, a probe 1610 having a particularly high load compared to other probes 1610 can be found regardless of the load of the entire application program 170.

基準値と比較した結果、負荷が基準値を超えているプローブ1610があった場合、負荷制御部140は、そのプローブ1610の監視動作を制御する。監視動作を制御する方法には、例えば、(1)プローブ1610をアプリケーションプログラム170から除去する。(2)プローブ1610の監視データの出力を間引く。等がある。   When there is a probe 1610 whose load exceeds the reference value as a result of comparison with the reference value, the load control unit 140 controls the monitoring operation of the probe 1610. As a method for controlling the monitoring operation, for example, (1) the probe 1610 is removed from the application program 170. (2) The monitoring data output of the probe 1610 is thinned out. Etc.

上記(1)の方法によれば、プローブ1610による監視が完全に停止するとともに、プローブ1610のプログラムコードがアプリケーションプログラム170から取り除かれるため、アプリケーションプログラムの実行への影響が完全に取り除かれる。   According to the method (1), monitoring by the probe 1610 is completely stopped, and the program code of the probe 1610 is removed from the application program 170, so that the influence on the execution of the application program is completely removed.

一方、上記(2)の方法によれば、プローブ1610の監視データの出力を数回に1回とする等によって、プローブ1610の監視データの取得及び出力の処理が行われる回数が減少する。その結果、プローブ1610の負荷が減少する。   On the other hand, according to the method (2), the number of times the monitoring data of the probe 1610 is acquired and output is reduced by, for example, setting the monitoring data of the probe 1610 to be output once every several times. As a result, the load on the probe 1610 is reduced.

負荷制御部140は、上記の監視動作の制御を実行した後、再びプローブ負荷を測定する。   The load control unit 140 measures the probe load again after executing the above control of the monitoring operation.

なお、プローブ1610の監視負荷の測定中に上記(2)の制御を実行する場合、プローブ1610が実際に監視データを出力したか否かに関わらず、プローブ1610が動作したときに必ずプローブログを出力することによって、より正確にプローブ負荷を測定することができる。このとき出力されるプローブログには、監視データが出力されたか否かを示す情報が含まれる。   When the control (2) is performed during measurement of the monitoring load of the probe 1610, the probe log is always displayed when the probe 1610 is operated regardless of whether the probe 1610 actually outputs monitoring data. By outputting, the probe load can be measured more accurately. The probe log output at this time includes information indicating whether or not the monitoring data is output.

あるいは、全プローブ負荷の総和が基準値を超えた場合に、負荷制御部140は、各プローブ負荷の値を上記の処理によって調整し、全体の負荷が基準値を超えないように制御することもできる。この場合、負荷制御部140は、各プローブ1610の負荷のバランス、及び、各プローブ1610が出力する監視データの重要度を考慮して、各プローブ1610の負荷の目標値を計算し、プローブ1610の監視動作を制御する。   Alternatively, when the total sum of all probe loads exceeds the reference value, the load control unit 140 adjusts the value of each probe load by the above processing, and controls so that the entire load does not exceed the reference value. it can. In this case, the load control unit 140 calculates the target value of the load of each probe 1610 in consideration of the balance of the load of each probe 1610 and the importance of the monitoring data output from each probe 1610. Control the monitoring operation.

プローブ負荷の測定及び制御は、新規にプローブ1610をアプリケーションプログラム170に追加する時及びユーザによって指示された時に実行される。   Measurement and control of the probe load is performed when a probe 1610 is newly added to the application program 170 and when instructed by the user.

新規にプローブ1610をアプリケーション170に追加する時、ユーザインタフェース110は、新規のプローブ1610をアプリケーションプログラム170に挿入するように管理部141に指示を出すと同時に、負荷制御部140にプローブ負荷の測定を指示する。   When a new probe 1610 is added to the application 170, the user interface 110 instructs the management unit 141 to insert the new probe 1610 into the application program 170, and at the same time, measures the probe load to the load control unit 140. Instruct.

負荷制御部140は、管理部141が実行する新規プローブ1610のアプリケーションプログラム170への挿入に合わせて、新規プローブ1610を含めたプローブ1610の負荷の測定及び制御を開始する。そして、負荷制御部140は、予め設定された期間、プローブ負荷の測定及び制御を実行し、測定したプローブ負荷及び監視動作の制御の状態をユーザインタフェース110に表示する。   The load control unit 140 starts measuring and controlling the load of the probe 1610 including the new probe 1610 in accordance with the insertion of the new probe 1610 executed by the management unit 141 into the application program 170. Then, the load control unit 140 performs measurement and control of the probe load for a preset period, and displays the measured probe load and the control state of the monitoring operation on the user interface 110.

また、ユーザは、ユーザインタフェース110を使用して、任意にプローブ負荷の測定及び制御の実行を指示するとともに、プローブ負荷の基準値、及び、負荷が基準値を超えている場合に実行される制御の方法等を設定してもよい。   In addition, the user arbitrarily instructs measurement of the probe load and execution of the control using the user interface 110, and also executes the reference value of the probe load and the control executed when the load exceeds the reference value. The method may be set.

図21は、本発明の第1の実施の形態の監視動作負荷の測定に関するユーザインタフェース110の例を示す説明図である。   FIG. 21 is an explanatory diagram illustrating an example of the user interface 110 relating to the measurement of the monitoring operation load according to the first embodiment of this invention.

具体的には、図21のユーザインタフェース110は、ユーザに監視動作の負荷を測定する対象のプローブ1610を入力させ、さらに、入力されたプローブ1610の監視動作の負荷の測定結果を表示する。   Specifically, the user interface 110 in FIG. 21 allows the user to input the probe 1610 to be measured for the monitoring operation load, and further displays the input measurement result of the monitoring operation load of the probe 1610.

測定プローブ設定ウィンドウ2600は、管理部141のプローブ定義記憶部1601に記憶されているプローブ1610を一覧表示する。さらに、測定プローブ設定ウィンドウ2600は、各プローブ1610の監視動作の負荷が既に測定されている場合、測定されたプローブ負荷の値を2605の欄に表示する。   The measurement probe setting window 2600 displays a list of probes 1610 stored in the probe definition storage unit 1601 of the management unit 141. Further, the measurement probe setting window 2600 displays the measured probe load value in the column 2605 when the monitoring operation load of each probe 1610 has already been measured.

各プローブ1610を表す行にはそれぞれチェックボックス2601が設けられる。ユーザは、チェックボックス2601を操作することによって、監視動作の負荷を測定する対象のプローブ1610を選択する。   A check box 2601 is provided in each row representing each probe 1610. The user operates the check box 2601 to select the target probe 1610 for measuring the load of the monitoring operation.

各プローブの負荷の基準値は、基準値入力欄2604に表示される。ユーザは、基準値入力欄2604に値を入力することができる。   The reference value of the load of each probe is displayed in the reference value input field 2604. The user can input a value in the reference value input field 2604.

ユーザが測定ボタン2607を操作すると、上記のプローブ負荷の測定及び制御が実行され、測定されたプローブ負荷がプローブ負荷表示欄2605に、監視動作の制御の状態が制御状態表示欄2606に表示される。   When the user operates the measurement button 2607, the above-described probe load measurement and control are executed, and the measured probe load is displayed in the probe load display field 2605, and the control state of the monitoring operation is displayed in the control state display field 2606. .

なお、各プローブ1610又は全てのプローブ1610について、プローブ負荷の許容基準値を入力させるインタフェースを設け、プローブ1610の測定と共に、図19に示すフローによって、負荷の高いプローブの監視動作の制御を実行してもよい。   Each probe 1610 or all the probes 1610 is provided with an interface for inputting an allowable reference value of the probe load, and the monitoring operation of the probe with a high load is executed by the flow shown in FIG. 19 together with the measurement of the probe 1610. May be.

あるいは、各プローブ1610にプローブ負荷を出力させるのではなく、システム又はアプリケーションプログラム170の性能指標を測定することによってプローブ負荷を測定してもよい。   Alternatively, instead of causing each probe 1610 to output a probe load, the probe load may be measured by measuring a performance index of the system or application program 170.

図20は、本発明の第1の実施の形態の負荷制御部140が、アプリケーションプログラム170の性能指標を測定することによってプローブ負荷を測定する処理のフローチャートである。   FIG. 20 is a flowchart of processing in which the load control unit 140 according to the first embodiment of this invention measures the probe load by measuring the performance index of the application program 170.

ステップ2301において、負荷制御部140は、アプリケーションプログラム170の実行性能を示す指標の測定を開始する。性能指標は、アプリケーションサーバ160等が備える、性能指標を測定する機能によって測定されてもよい。本実施の形態では、アプリケーションサーバ160において測定可能である、アプリケーションプログラム170の処理スループットを、プローブ負荷の測定に用いる性能指標として説明する。   In step 2301, the load control unit 140 starts measuring an index indicating the execution performance of the application program 170. The performance index may be measured by a function for measuring the performance index included in the application server 160 or the like. In the present embodiment, the processing throughput of the application program 170 that can be measured by the application server 160 will be described as a performance index used for measuring the probe load.

次に、ステップ2303において、負荷制御部140は、測定対象プローブ1610を挿入していない状態の処理スループットを測定する。具体的には、測定対象プローブ1610をアプリケーションプログラム170に挿入していない状態でアプリケーションプログラム170を実行し、所定の期間の平均処理スループットを求める。   Next, in Step 2303, the load control unit 140 measures the processing throughput in a state where the measurement target probe 1610 is not inserted. Specifically, the application program 170 is executed in a state where the measurement target probe 1610 is not inserted into the application program 170, and the average processing throughput for a predetermined period is obtained.

次に、ステップ2304において、プローブ挿入部1608が、測定対象プローブ1610をアプリケーションプログラム170に挿入し、プローブ1610による監視を実行する。   Next, in step 2304, the probe insertion unit 1608 inserts the measurement target probe 1610 into the application program 170 and executes monitoring by the probe 1610.

次に、ステップ2305において、測定対象プローブ1610を挿入した状態でアプリケーションプログラム170を実行し、ステップ2303と同様、所定の期間の平均処理スループットを測定する。   Next, in step 2305, the application program 170 is executed with the measurement target probe 1610 inserted, and the average processing throughput for a predetermined period is measured as in step 2303.

次に、ステップ2306において、負荷制御部140は、ステップ2303及びステップ2305において測定された処理スループットの値を用いて、プローブ負荷の値を計算する。   Next, in step 2306, the load control unit 140 calculates a probe load value using the processing throughput values measured in step 2303 and step 2305.

次に、ステップ2308において、負荷制御部140は、ステップ2301で設定した性能指標の測定を停止し、プローブ負荷の測定処理を終了する。   Next, in step 2308, the load control unit 140 stops measuring the performance index set in step 2301, and ends the probe load measurement process.

以上の処理によって、測定対象プローブ1610のプローブ負荷が測定される。   With the above processing, the probe load of the measurement target probe 1610 is measured.

なお、プローブの負荷の測定に用いられる性能指標は、処理スループットに限定されない。また、複数の性能指標を測定することによって、より精度の高いプローブ負荷の測定を実行することもできる。   The performance index used for measuring the probe load is not limited to the processing throughput. In addition, by measuring a plurality of performance indexes, it is possible to perform more accurate probe load measurement.

また、図20のフローにおいて、ステップ2305における性能指標の測定と、ステップ2306におけるプローブ負荷の計算が、同時に実行されてもよい。さらに、計算されたプローブ負荷の値を用いて、図19のステップ2403以降の処理が実行されてもよい。この場合、計算されたプローブ負荷の値が基準値の範囲内であるか否かが判定され、必要に応じてプローブ1610の監視動作が制御される。その結果、ステップ2305において、性能指標を測定する期間の終了を待つことなく、測定対象プローブ1610の負荷が高い場合に、測定対象プローブ1610の監視動作を制御し、アプリケーションプログラム170の実行に影響が生じることを防止できる。   In the flow of FIG. 20, the measurement of the performance index in step 2305 and the calculation of the probe load in step 2306 may be executed simultaneously. Further, the processing after step 2403 in FIG. 19 may be executed using the calculated probe load value. In this case, it is determined whether or not the calculated probe load value is within the range of the reference value, and the monitoring operation of the probe 1610 is controlled as necessary. As a result, in step 2305, when the load of the measurement target probe 1610 is high without waiting for the end of the period for measuring the performance index, the monitoring operation of the measurement target probe 1610 is controlled and the execution of the application program 170 is affected. It can be prevented from occurring.

また、本実施の形態においては、プローブ負荷を測定する度に、ステップ2303において、測定対象プローブ1610を挿入していない状態での性能指標の測定を行っている。そして、ステップ2306において、測定された値を使用してプローブ1610の影響が計算されている。しかし、過去において測定された性能指標を記録しておき、記録した値を用いてステップ2306の計算が実行されてもよい。   In this embodiment, every time the probe load is measured, in step 2303, the performance index is measured in a state where the measurement target probe 1610 is not inserted. Then, in step 2306, the effect of the probe 1610 is calculated using the measured value. However, the performance index measured in the past may be recorded, and the calculation in step 2306 may be executed using the recorded value.

また、本実施の形態においては、測定対象プローブ1610を挿入している状態及び挿入していない状態の性能指標の測定を別個に行っている。しかし、可能であれば、両者を同時に測定してもよい。例えば、測定対象プローブ1610を挿入するメソッドの処理時間を性能指標とする場合、測定対象プローブ1610のプログラムコードに負荷測定プローブ1610の機能を組み込み、測定対象プローブ1610の監視動作の処理を含む処理時間と、測定対象プローブ1610の監視動作の処理を含まない処理時間を同時に測定させてもよい。その結果、両者を同時に測定し、測定対象プローブの負荷を求めることができる。   Further, in the present embodiment, the performance index is measured separately in the state where the measurement target probe 1610 is inserted and in the state where the measurement target probe 1610 is not inserted. However, if possible, both may be measured simultaneously. For example, when the processing time of the method for inserting the measurement target probe 1610 is used as a performance index, the processing time including the processing of the monitoring operation of the measurement target probe 1610 by incorporating the function of the load measurement probe 1610 in the program code of the measurement target probe 1610 Then, the processing time not including the process of the monitoring operation of the measurement target probe 1610 may be measured simultaneously. As a result, both can be measured at the same time, and the load of the probe to be measured can be obtained.

上記本発明の第1の実施の形態は、設計情報上の一つの構成要素が、プログラムコードのただ一つの構成要素と設計対応関係にあることを前提としている。以下、第2の実施の形態として、設計情報上の一つの構成要素に、プログラムコードの複数の構成要素が対応する場合の例を示す。   The first embodiment of the present invention presupposes that one component on the design information is in a design correspondence relationship with only one component of the program code. Hereinafter, as a second embodiment, an example in which a plurality of components of the program code correspond to one component on the design information will be described.

以下、本発明の第2の実施の形態が第1の実施の形態と相違する点についてのみ説明する。以下で説明しない第2の実施の形態の構成は、第1の実施の形態と同様である。   Hereinafter, only the points of the second embodiment of the present invention different from the first embodiment will be described. The configuration of the second embodiment not described below is the same as that of the first embodiment.

図22は、本発明の第2の実施の形態の設計対応関係の例を示す説明図である。   FIG. 22 is an explanatory diagram illustrating an example of the design correspondence relationship according to the second embodiment of this invention.

具体的には、図22は、一つの構成要素に、プログラムコードの一つ又は複数の構成要素が対応する場合の設計対応情報の例を示す。一つの構成要素に複数の構成要素が対応する場合、対応するそれぞれの構成要素のオブジェクトIDと、それらの構成要素の間の関係が、対応先要素603に記憶される。図22の例は、設計対応関係612aにおいて、「機能2」の処理が状況に応じて二つのメソッドのいずれかによって処理されることを示している。   Specifically, FIG. 22 shows an example of design correspondence information in the case where one or a plurality of components of the program code corresponds to one component. When a plurality of constituent elements correspond to one constituent element, the object ID of each corresponding constituent element and the relationship between those constituent elements are stored in the corresponding element 603. The example of FIG. 22 indicates that the process of “function 2” is processed by one of the two methods depending on the situation in the design correspondence 612a.

本実施の形態の対応検索部115は、第1の実施の形態と同様、図8及び図9に示すように、対応するプログラムコードの構成要素の検索処理を実行する。ただし、設計対応関係612aに示すような設計対応関係が存在する場合、対応検索部115は、複数の構成要素を検索する。対応検索部115は、検索された個々の構成要素について、図8及び図9に示した処理を実行し、対応するプログラムコードの構成要素を検索し、指定された監視を実現するために必要な複数のプローブ定義のセットを生成する。   Similar to the first embodiment, the correspondence search unit 115 according to the present embodiment executes a search process of the corresponding program code components as shown in FIGS. However, when a design correspondence as shown in the design correspondence 612a exists, the correspondence search unit 115 searches for a plurality of components. The correspondence search unit 115 executes the processing shown in FIGS. 8 and 9 for each searched component, searches for the corresponding component of the program code, and is necessary for realizing the specified monitoring. Generate multiple probe definition sets.

例えば、図5の例において、“A01.機能2”が監視する箇所として指定された場合、メソッド“FuncB.method2a(Data1 d1)”及びメソッド“FuncB.method2b(Data1 d1)”の二つが、指定された箇所に対応するプログラムコード上の監視する箇所として検索される。その結果、それぞれの箇所に応じたプローブ定義が生成される。これらのプローブ定義には、同一のプローブID1001と、それぞれを識別する通し番号(プローブ番号1002)とが付与される。   For example, in the example of FIG. 5, when “A01.Function 2” is specified as a location to be monitored, two methods “FuncB.method2a (Data1 d1)” and method “FuncB.method2b (Data1 d1)” are specified. It is searched as a monitoring location on the program code corresponding to the specified location. As a result, a probe definition corresponding to each location is generated. These probe definitions are given the same probe ID 1001 and a serial number (probe number 1002) for identifying each.

図23は、本発明の第2の実施の形態のプローブ定義記憶部1601の構成例を示す説明図である。   FIG. 23 is an explanatory diagram illustrating a configuration example of the probe definition storage unit 1601 according to the second embodiment of this invention.

具体的には、図23は、設計対応関係が図22に示す通りである場合のプローブ定義の例を示す。図23の2行目及び3行目が、図22における“A01.機能2”に対応するメソッド“FuncB.method2a(Data1 d1)”及びメソッド“FuncB.method2b(Data1 d1)”に挿入されるプローブ1610を示す。これらのプローブ1610は、同一のプローブID1001「P002」を持ち、異なるプローブ番号1002「1」及び「2」によって識別される。   Specifically, FIG. 23 shows an example of the probe definition when the design correspondence is as shown in FIG. The probes in the second and third lines in FIG. 23 are inserted into the method “FuncB.method2a (Data1 d1)” and the method “FuncB.method2b (Data1 d1)” corresponding to “A01.Function 2” in FIG. 1610 is shown. These probes 1610 have the same probe ID 1001 “P002” and are identified by different probe numbers 1002 “1” and “2”.

管理部141は、プローブID1001を用いて対象となるプローブ1610を指定し、指定されたプローブID1001を持つ全てのプローブ定義に基づいてプローブ1610の生成、挿入及び除去を実行する。図23に示した例では、管理部141が、プローブID1001が「P002」であるプローブの挿入を指示すると、2つのプローブ1610が生成され、それぞれ、アプリケーションプログラム170に挿入される。   The management unit 141 designates a target probe 1610 using the probe ID 1001, and generates, inserts, and removes the probe 1610 based on all probe definitions having the designated probe ID 1001. In the example shown in FIG. 23, when the management unit 141 instructs insertion of a probe whose probe ID 1001 is “P002”, two probes 1610 are generated and inserted into the application program 170, respectively.

特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものが挙げられる。   The following can be cited as representatives of aspects of the present invention other than those described in the claims.

(1)アプリケーションプログラムを実行するアプリケーションサーバを含む計算機システムにおいて、
前記計算機システムは、
前記アプリケーションプログラムを監視するプログラムモジュールを制御するために実行される操作と、前記操作を実行するか否かを判定するために使用される条件と、を保持し、
前記条件が成立する場合、前記操作を実行することを特徴とする計算機システム。
(1) In a computer system including an application server that executes an application program,
The computer system is
Holding an operation executed to control a program module for monitoring the application program, and a condition used to determine whether to execute the operation;
The computer system, wherein the operation is executed when the condition is satisfied.

(2)前記計算機システムは、
前記アプリケーションプログラムを監視する一つ以上の前記プログラムモジュールを実行し、
いずれかの前記プログラムモジュールが取得したデータに基づいて、前記条件が成立するか否かを判定することを特徴とする(1)に記載の計算機システム。
(2) The computer system
Executing one or more of the program modules that monitor the application program;
The computer system according to (1), wherein whether or not the condition is satisfied is determined based on data acquired by any one of the program modules.

(3)前記アプリケーションプログラムを監視するプログラムモジュールを制御するために実行される操作は、前記プログラムモジュールの前記アプリケーションプログラムへの挿入、又は、前記プログラムモジュールの前記アプリケーションプログラムからの除去であることを特徴とする(1)に記載の計算機システム。   (3) The operation executed to control the program module that monitors the application program is insertion of the program module into the application program or removal of the program module from the application program. The computer system according to (1).

(4)前記計算機システムは、前記操作を実行するか否かの判定と、前記判定の結果実行される前記操作と、の全部又は一部を実行するプログラムコードを生成することを特徴とする(1)に記載の計算機システム。   (4) The computer system generates a program code for executing all or part of a determination as to whether or not to execute the operation and the operation executed as a result of the determination ( The computer system described in 1).

(5)前記計算機システムは、前記アプリケーションプログラムを監視するプログラムモジュールを制御するために実行される操作と、前記操作を実行するか否かを判定するために使用される条件と、を入力するためのユーザインタフェースを備えることを特徴とする(1)に記載の計算機システム。   (5) The computer system inputs an operation executed for controlling a program module that monitors the application program and a condition used for determining whether to execute the operation. (1) The computer system described in (1) above.

(6)前記計算機システムは、
前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記一つの段階より進んだ段階における設計情報の構成要素との対応関係を示す情報を保持し、
業務プロセス上の点又はデータを示す情報を入力されると、前記入力された情報及び前記対応関係を示す情報に基づいて、前記操作を実行するプログラムモジュール、又は、前記操作を実行するか否かを判定するために用いられるデータを取得するプログラムモジュールを指定することを特徴とする(5)に記載の計算機システム。
(6) The computer system
Holding information indicating a correspondence relationship between the design information component in one stage of the application program development process and the design information component in a stage advanced from the one stage;
When information indicating a point or data on a business process is input, based on the input information and information indicating the correspondence relationship, a program module that executes the operation, or whether to execute the operation The computer system according to (5), wherein a program module for acquiring data used for determining the data is specified.

(7)前記計算機システムは、
前記指定されたプログラムモジュールが存在しない場合、前記指定されたプログラムモジュールを新規に生成することを特徴とする(6)に記載の計算機システム。
(7) The computer system
The computer system according to (6), wherein when the designated program module does not exist, the designated program module is newly generated.

(8)アプリケーションプログラムを実行するアプリケーションサーバを含む計算機システムにおいて、
前記計算機システムは、前記アプリケーションプログラムを監視するプログラムモジュールを前記アプリケーションプログラムに挿入して実行することによって発生する負荷を測定することを特徴とする計算機システム。
(8) In a computer system including an application server that executes an application program,
The computer system measures a load generated by inserting a program module for monitoring the application program into the application program and executing the program module.

(9)前記計算機システムは、前記アプリケーションプログラムを監視するプログラムモジュールの監視動作のログに基づいて、前記負荷を測定することを特徴とする(8)に記載の計算機システム。   (9) The computer system according to (8), wherein the computer system measures the load based on a log of a monitoring operation of a program module that monitors the application program.

(10)前記計算機システムは、前記アプリケーションプログラムを実行する際の性能指標に基づいて、前記負荷を測定することを特徴とする(8)に記載の計算機システム。   (10) The computer system according to (8), wherein the computer system measures the load based on a performance index when the application program is executed.

(11)前記計算機システムは、測定された前記負荷が所定の条件を満たさない場合に、前記アプリケーションプログラムを監視するプログラムモジュールの動作を制御することを特徴とする(8)に記載の計算機システム。   (11) The computer system according to (8), wherein the computer system controls an operation of a program module that monitors the application program when the measured load does not satisfy a predetermined condition.

(12)前記計算機システムは、測定された前記負荷が所定の条件を満たさない場合に、前記アプリケーションプログラムを監視するプログラムモジュールを除去することによって、前記プログラムモジュールの動作を制御することを特徴とする(11)に記載の計算機システム。   (12) The computer system controls the operation of the program module by removing the program module that monitors the application program when the measured load does not satisfy a predetermined condition. The computer system according to (11).

(13)前記計算機システムは、
前記アプリケーションプログラムを監視するプログラムモジュールを前記アプリケーションプログラムに挿入するときに、前記プログラムモジュールによる負荷を測定し、
前記測定された負荷が所定の条件を満たさない場合、前記プログラムモジュールの動作を制御することを特徴とする(8)に記載の計算機システム。
(13) The computer system
When inserting a program module for monitoring the application program into the application program, the load by the program module is measured,
The computer system according to (8), wherein the operation of the program module is controlled when the measured load does not satisfy a predetermined condition.

(14)前記計算機システムは、測定された前記負荷が所定の条件を満たさない場合に、前記アプリケーションプログラムを監視するプログラムモジュールを除去することによって、前記プログラムモジュールの動作を制御することを特徴とする(13)に記載の計算機システム。   (14) The computer system controls operation of the program module by removing a program module that monitors the application program when the measured load does not satisfy a predetermined condition. The computer system according to (13).

(15)前記計算機システムは、負荷を測定する対象の前記プログラムモジュールと、前記条件とを入力し、前記測定された負荷を表示するユーザインタフェースを備えることを特徴とする(8)に記載の計算機システム。   (15) The computer system according to (8), wherein the computer system includes a user interface that inputs the program module to be measured for load and the condition and displays the measured load. system.

本発明を用いることによって、アプリケーションプログラムの実装を意識することなく、アプリケーションの監視を容易に設定し、実行することができる。   By using the present invention, application monitoring can be easily set and executed without being conscious of implementation of the application program.

本発明の第1の実施の形態のアプリケーションプログラム監視システムの構成を示すブロック図である。It is a block diagram which shows the structure of the application program monitoring system of the 1st Embodiment of this invention. アプリケーションの開発工程、及び、その過程で作成されるモデル図の説明図である。It is explanatory drawing of the development process of an application, and the model figure created in the process. 本発明の第1の実施の形態の管理部の構成を示す説明図である。It is explanatory drawing which shows the structure of the management part of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプローブ定義記憶部の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the probe definition memory | storage part of the 1st Embodiment of this invention. 本発明の第1の実施の形態においてアドバイスとして生成されるプローブのコード例を示す説明図である。It is explanatory drawing which shows the code example of the probe produced | generated as advice in the 1st Embodiment of this invention. 本発明の第1の実施の形態のプローブをアプリケーションプログラムに追加するためのプログラムコードの例を示す説明図である。It is explanatory drawing which shows the example of the program code for adding the probe of the 1st Embodiment of this invention to an application program. 本発明の第1の実施の形態の設計対応関係の例を示す説明図である。It is explanatory drawing which shows the example of the design correspondence of the 1st Embodiment of this invention. 本発明の第1の実施の形態の対応検索部がプローブを挿入する点を検索する処理のフローチャートである。It is a flowchart of the process which the correspondence search part of the 1st Embodiment of this invention searches for the point which inserts a probe. 本発明の第1の実施の形態の対応検索部が設計対応関係を類推する処理のフローチャートである。It is a flowchart of the process in which the correspondence search part of the 1st Embodiment of this invention analogizes a design correspondence. 本発明の第1の実施の形態における、設計情報上でアプリケーションプログラムの監視設定を実行するユーザインタフェースの例の説明図である。It is explanatory drawing of the example of the user interface which performs the monitoring setting of an application program on design information in the 1st Embodiment of this invention. 本発明の第1の実施の形態の監視設定テーブルの例を示す説明図である。It is explanatory drawing which shows the example of the monitoring setting table of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプローブの監視動作を条件に従って制御するシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the system which controls the monitoring operation | movement of the probe of the 1st Embodiment of this invention according to conditions. 本発明の第1の実施の形態のプローブ制御定義記憶部の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the probe control definition memory | storage part of the 1st Embodiment of this invention. 本発明の第1の実施の形態の設定部が条件判定部を設定する処理のフローチャートである。It is a flowchart of the process which the setting part of the 1st Embodiment of this invention sets a condition determination part. 本発明の第1の実施の形態の設定部がプローブ制御部を設定する処理のフローチャートである。It is a flowchart of the process which the setting part of the 1st Embodiment of this invention sets a probe control part. 本発明の第1の実施の形態のプローブ制御部がプローブの動作を制御する処理のフローチャートである。It is a flowchart of the process which the probe control part of the 1st Embodiment of this invention controls operation | movement of a probe. 本発明の第1の実施の形態のプローブ制御定義記憶部から取得されるプローブ制御定義を入力するために使用される監視制御設定ユーザインタフェースの例を示す説明図である。It is explanatory drawing which shows the example of the monitoring control setting user interface used in order to input the probe control definition acquired from the probe control definition memory | storage part of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプローブの監視動作を、測定されたプローブ負荷に応じて制御するシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the system which controls the monitoring operation | movement of the probe of the 1st Embodiment of this invention according to the measured probe load. 本発明の第1の実施の形態の負荷制御部が、測定されたプローブ負荷に応じて、プローブの監視動作を制御する処理のフローチャートである。It is a flowchart of the process which the load control part of the 1st Embodiment of this invention controls the monitoring operation | movement of a probe according to the measured probe load. 本発明の第1の実施の形態の負荷制御部が、アプリケーションプログラムの性能指標を測定することによってプローブ負荷を測定する処理のフローチャートである。It is a flowchart of the process which the load control part of the 1st Embodiment of this invention measures a probe load by measuring the performance parameter | index of an application program. 本発明の第1の実施の形態の監視動作負荷の測定に関するユーザインタフェースの例を示す説明図である。It is explanatory drawing which shows the example of the user interface regarding the measurement of the monitoring operation | movement load of the 1st Embodiment of this invention. 本発明の第2の実施の形態の設計対応関係の例を示す説明図である。It is explanatory drawing which shows the example of the design correspondence of the 2nd Embodiment of this invention. 本発明の第2の実施の形態のプローブ定義記憶部の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the probe definition memory | storage part of the 2nd Embodiment of this invention. 本発明の第1の実施の形態のアプリケーションプログラム監視システムの物理的な構成を示すブロック図である。It is a block diagram which shows the physical structure of the application program monitoring system of the 1st Embodiment of this invention.

符号の説明Explanation of symbols

110 ユーザインタフェース
115 対応検索部
120 設計情報検索部
130 設計対応関係記憶部
141 管理部
143 条件制御部
145 負荷制御部
160 アプリケーションサーバ
170 アプリケーションプログラム
180、180a 監視イベント出力部
190 監視イベント記録部
550 設計情報表示ウィンドウ
551 設計情報構成要素
552 設計情報
560 監視データ選択ウィンドウ
561 監視データ選択ボタン
562 監視データリスト
563 決定ボタン
901 監視設定ID
903 監視設定名称
912 監視ポイント
921 監視データ
601 対応元要素
603 対応先要素
1001 プローブID
1002 プローブ番号
1003 プローブ名称
1012 プローブ挿入ポイント
1021 監視データ
1601 プローブ定義記憶部
1604 プローブ生成部
1608 プローブ挿入部
1610 プローブ
1602 プローブ制御定義記憶部
1606 条件判定部
1607 プローブ制御部
1609 設定部
1620 コレクタ
1630 データ取得部
1801 監視制御設定ID
1803 制御条件
1805 制御操作
1850 監視動作制御設定ウィンドウ
1852 設定名称入力欄
1854 制御条件入力欄
1855 制御条件入力支援インタフェース表示ボタン
1856 制御操作入力欄
1857 制御操作入力支援インタフェース表示ボタン
1858 決定ボタン
1859 取消ボタン
2201 測定部
2203 制御部
2205 設定部
2209 プローブログ記憶部
2600 監視負荷測定設定ウィンドウ
2601 測定プローブ選択チェックボックス
2603 プローブ名称
2604 負荷基準値入力欄
2605 監視負荷表示欄
2606 制御状態表示欄
2607 測定開始ボタン
2701 バス
2703 CPU
2705 主記憶
2707 外部記憶装置
2709 入力装置
2711 出力装置
2713 ネットワークインタフェース
110 User interface 115 Correspondence search unit 120 Design information search unit 130 Design correspondence storage unit 141 Management unit 143 Condition control unit 145 Load control unit 160 Application server 170 Application program 180, 180a Monitoring event output unit 190 Monitoring event recording unit 550 Design information Display window 551 Design information component 552 Design information 560 Monitoring data selection window 561 Monitoring data selection button 562 Monitoring data list 563 Determination button 901 Monitoring setting ID
903 Monitoring setting name 912 Monitoring point 921 Monitoring data 601 Corresponding element 603 Corresponding element 1001 Probe ID
1002 Probe number 1003 Probe name 1012 Probe insertion point 1021 Monitoring data 1601 Probe definition storage unit 1604 Probe generation unit 1608 Probe insertion unit 1610 Probe 1602 Probe control definition storage unit 1606 Condition determination unit 1607 Probe control unit 1609 Setting unit 1620 Collector 1630 Data acquisition Unit 1801 monitoring control setting ID
1803 Control condition 1805 Control operation 1850 Monitoring operation control setting window 1852 Setting name input field 1854 Control condition input field 1855 Control condition input support interface display button 1856 Control operation input field 1857 Control operation input support interface display button 1858 Decision button 1859 Cancel button 2201 Measurement unit 2203 Control unit 2205 Setting unit 2209 Probe log storage unit 2600 Monitor load measurement setting window 2601 Measurement probe selection check box 2603 Probe name 2604 Load reference value input column 2605 Monitor load display column 2606 Control state display column 2607 Measurement start button 2701 Bus 2703 CPU
2705 Main memory 2707 External storage device 2709 Input device 2711 Output device 2713 Network interface

Claims (18)

アプリケーションプログラムを実行する計算機システムにおいて、
前記計算機システムは、
前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記一つの段階より進んだ段階における設計情報の構成要素との対応関係を示す情報を保持し、
前記対応関係を示す情報に基づいて、前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記アプリケーションプログラムのコードとを対応付けることを特徴とする計算機システム。
In a computer system that executes an application program,
The computer system is
Holding information indicating a correspondence relationship between the design information component in one stage of the application program development process and the design information component in a stage advanced from the one stage;
A computer system characterized in that a component of design information in one stage of the application program development process is associated with a code of the application program based on the information indicating the correspondence relationship.
前記アプリケーションプログラムのコードと対応付けられる設計情報の構成要素は、業務プロセス上の点を示す情報であり、
前記計算機システムは、前記対応関係を示す情報に基づいて、業務プロセス上の点と、前記アプリケーションプログラムのコード上の点とを対応付けることを特徴とする請求項1に記載の計算機システム。
The component of the design information associated with the code of the application program is information indicating a point on the business process,
The computer system according to claim 1, wherein the computer system associates a point on a business process with a point on the code of the application program based on the information indicating the correspondence relationship.
前記計算機システムは、前記業務プロセス上の点を示す情報を入力されると、
前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上の点と、前記アプリケーションプログラムのコード上の点とを対応付け、
前記対応付けられたアプリケーションプログラムのコード上の点に、前記アプリケーションプログラムを監視するプログラムモジュールを挿入することを特徴とする請求項2に記載の計算機システム。
When the computer system receives information indicating a point on the business process,
Based on the information indicating the correspondence relationship, a point on the business process identified by the input information is associated with a point on the code of the application program,
3. The computer system according to claim 2, wherein a program module for monitoring the application program is inserted at a point on the code of the associated application program.
前記アプリケーションプログラムに挿入されるプログラムモジュールは、前記アプリケーションプログラムのログ情報を取得することによって、前記アプリケーションプログラムを監視することを特徴とする請求項3に記載の計算機システム。   4. The computer system according to claim 3, wherein the program module inserted into the application program monitors the application program by acquiring log information of the application program. 前記ログ情報は、前記アプリケーションプログラムによって処理されるデータ、又は、前記アプリケーションプログラムの処理時間を示す情報を含むことを特徴とする請求項4に記載の計算機システム。   5. The computer system according to claim 4, wherein the log information includes data processed by the application program or information indicating a processing time of the application program. 前記計算機システムは、前記業務プロセス上の点を示す情報を入力するためのユーザインタフェースを備えることを特徴とする請求項3に記載の計算機システム。   The computer system according to claim 3, further comprising a user interface for inputting information indicating points on the business process. 前記アプリケーションプログラムのコードと対応付けられる設計情報の構成要素は、業務プロセス上で処理されるデータを示す情報であり、
前記計算機システムは、前記対応関係を示す情報に基づいて、業務プロセス上で処理されるデータと、前記アプリケーションプログラムのコード上のデータとを対応付けることを特徴とする請求項1に記載の計算機システム。
The component of the design information associated with the code of the application program is information indicating data processed in the business process,
The computer system according to claim 1, wherein the computer system associates data processed in a business process with data on a code of the application program based on information indicating the correspondence relationship.
前記計算機システムは、前記業務プロセス上で処理されるデータを示す情報を入力されると、
前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上のデータと、前記アプリケーションプログラムのコード上のデータとを対応付け、
前記対応付けられたデータを取得するプログラムモジュールを生成することを特徴とする請求項7に記載の計算機システム。
When the computer system receives information indicating data to be processed on the business process,
Based on the information indicating the correspondence, the data on the business process identified by the input information is associated with the data on the code of the application program,
The computer system according to claim 7, wherein a program module for acquiring the associated data is generated.
前記プログラムモジュールが取得するデータは、前記アプリケーションプログラムのログ情報であることを特徴とする請求項8に記載の計算機システム。   9. The computer system according to claim 8, wherein the data acquired by the program module is log information of the application program. 前記計算機システムは、前記業務プロセス上で処理されるデータを示す情報を入力するためのユーザインタフェースを備えることを特徴とする請求項8に記載の計算機システム。   The computer system according to claim 8, further comprising a user interface for inputting information indicating data processed in the business process. 前記計算機システムによって対応付けられる設計情報の構成要素は、業務プロセス図におけるアクティビティ及び接続フロー、UMLシーケンス図におけるメッセージ、クラス図におけるクラス、メソッド及びフィールド、並びに、プログラムコードにおけるクラス、メソッド及びフィールドの少なくとも一つであることを特徴とする請求項1に記載の計算機システム。   The components of the design information associated by the computer system include at least activities and connection flows in business process diagrams, messages in UML sequence diagrams, classes, methods and fields in class diagrams, and classes, methods and fields in program code. The computer system according to claim 1, wherein the number is one. 前記計算機システムは、
前記各設計情報の構成要素に、前記計算機システム内で一意の識別子を付与し、
前記識別子を用いて前記設計情報の構成要素の対応関係を示す情報を管理することを特徴とする請求項11に記載の計算機システム。
The computer system is
A unique identifier in the computer system is assigned to each design information component,
The computer system according to claim 11, wherein information indicating a correspondence relationship between the components of the design information is managed using the identifier.
アプリケーションプログラムを実行する計算機システムの制御方法であって、
前記方法は、
前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記一つの段階より進んだ段階における設計情報の構成要素との対応関係を示す情報を保持し、
前記対応関係を示す情報に基づいて、前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記アプリケーションプログラムのコードとを対応付けることを特徴とする方法。
A computer system control method for executing an application program,
The method
Holding information indicating a correspondence relationship between the design information component in one stage of the application program development process and the design information component in a stage advanced from the one stage;
A method of associating a component of design information in one stage of the development process of the application program with a code of the application program based on the information indicating the correspondence relationship.
前記アプリケーションプログラムのコードと対応付けられる設計情報の構成要素は、業務プロセス上の点を示す情報であり、
前記方法は、前記業務プロセス上の点を示す情報を入力されると、
前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上の点と、前記アプリケーションプログラムのコード上の点とを対応付け、
前記対応付けられたアプリケーションプログラムのコード上の点に、前記アプリケーションプログラムを監視するプログラムモジュールを挿入することを特徴とする請求項13に記載の方法。
The component of the design information associated with the code of the application program is information indicating a point on the business process,
When the method receives information indicating a point on the business process,
Based on the information indicating the correspondence relationship, a point on the business process identified by the input information is associated with a point on the code of the application program,
14. The method according to claim 13, wherein a program module for monitoring the application program is inserted at a point on the code of the associated application program.
前記アプリケーションプログラムのコードと対応付けられる設計情報は、業務プロセス上のデータを示す情報であり、
前記方法は、前記業務プロセス上で処理されるデータを示す情報を入力されると、
前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上で処理されるデータと、前記アプリケーションプログラムのコード上のデータとを対応付け、
前記対応付けられたデータを取得するプログラムモジュールを生成することを特徴とする請求項13に記載の方法。
The design information associated with the application program code is information indicating data on a business process,
When the method receives information indicating data to be processed on the business process,
Based on the information indicating the correspondence relationship, the data processed on the business process identified by the input information is associated with the data on the code of the application program,
The method according to claim 13, wherein a program module that acquires the associated data is generated.
アプリケーションプログラムを実行する計算機システムを制御するプログラムであって、
前記計算機システムは、
前記プログラムが格納される記憶装置と、前記記憶装置に格納されたプログラムを実行するプロセッサと、を備え、
前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記一つの段階より進んだ段階における設計情報の構成要素との対応関係を示す情報を保持し、
前記プログラムは、前記対応関係を示す情報に基づいて、前記アプリケーションプログラムの開発工程の一つの段階における設計情報の構成要素と、前記アプリケーションプログラムのコードとを対応付ける第1の手順を前記プロセッサに実行させることを特徴とするプログラム。
A program for controlling a computer system that executes an application program,
The computer system is
A storage device that stores the program; and a processor that executes the program stored in the storage device.
Holding information indicating a correspondence relationship between the design information component in one stage of the application program development process and the design information component in a stage advanced from the one stage;
The program causes the processor to execute a first procedure for associating a component of design information and a code of the application program in one stage of the application program development process based on the information indicating the correspondence relationship. A program characterized by that.
前記アプリケーションプログラムのコードと対応付けられる設計情報の構成要素は、業務プロセス上の点を示す情報であり、
前記第1の手順は、前記業務プロセス上の点を示す情報を入力されると、前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上の点と、前記アプリケーションプログラムのコード上の点とを対応付け、
前記プログラムは、さらに、前記対応付けられたアプリケーションプログラムのコード上の点に、前記アプリケーションプログラムを監視するプログラムモジュールを挿入する第2の手順を前記プロセッサに実行させることを特徴とする請求項16に記載のプログラム。
The component of the design information associated with the code of the application program is information indicating a point on the business process,
In the first procedure, when information indicating a point on the business process is input, the point on the business process identified by the input information based on the information indicating the correspondence relationship, and the application Map points on the program code,
The program further causes the processor to execute a second procedure for inserting a program module for monitoring the application program at a point on the code of the associated application program. The listed program.
前記アプリケーションプログラムのコードと対応付けられる設計情報の構成要素は、業務プロセス上のデータを示す情報であり、
前記第1の手順は、前記業務プロセス上で処理されるデータを示す情報を入力されると、前記対応関係を示す情報に基づいて、前記入力された情報によって識別される業務プロセス上で処理されるデータと、前記アプリケーションプログラムのコード上のデータとを対応付け、
前記プログラムは、さらに、前記対応付けられたデータを取得するプログラムモジュールを生成する第2の手順を前記プロセッサに実行させることを特徴とする請求項16に記載のプログラム。
The component of the design information associated with the code of the application program is information indicating data on the business process,
When the information indicating the data to be processed on the business process is input, the first procedure is processed on the business process identified by the input information based on the information indicating the correspondence relationship. And the data on the code of the application program,
The program according to claim 16, further causing the processor to execute a second procedure for generating a program module for acquiring the associated data.
JP2006145199A 2006-05-25 2006-05-25 Computer system and method for monitoring application program Withdrawn JP2007316905A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006145199A JP2007316905A (en) 2006-05-25 2006-05-25 Computer system and method for monitoring application program
US11/746,910 US20080010545A1 (en) 2006-05-25 2007-05-10 Computer system and method for monitoring execution of application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006145199A JP2007316905A (en) 2006-05-25 2006-05-25 Computer system and method for monitoring application program

Publications (1)

Publication Number Publication Date
JP2007316905A true JP2007316905A (en) 2007-12-06

Family

ID=38850715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006145199A Withdrawn JP2007316905A (en) 2006-05-25 2006-05-25 Computer system and method for monitoring application program

Country Status (2)

Country Link
US (1) US20080010545A1 (en)
JP (1) JP2007316905A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011516953A (en) * 2008-04-07 2011-05-26 メタフォリック リミテッド Anti-tamper system using automatic analysis
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component
WO2015071946A1 (en) * 2013-11-12 2015-05-21 株式会社日立製作所 Management computer, deployment management method, and non-transient computer-readable storage medium

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090198496A1 (en) * 2008-01-31 2009-08-06 Matthias Denecke Aspect oriented programmable dialogue manager and apparatus operated thereby
GB0908913D0 (en) * 2009-05-26 2009-07-01 Univ Dundee Software development tool
US9269061B2 (en) * 2009-12-10 2016-02-23 Equinix, Inc. Performance, analytics and auditing framework for portal applications
US20110320179A1 (en) * 2010-06-28 2011-12-29 International Business Machines Corporation Process monitoring
CN104641353B (en) * 2012-09-21 2018-03-06 惠普发展公司,有限责任合伙企业 The available monitor in the case of continuous deployment
JP2017123389A (en) * 2016-01-06 2017-07-13 富士通株式会社 Rigid flexible board and method of manufacturing the same
US11340906B2 (en) 2018-10-04 2022-05-24 Walmart Apollo, Llc System and method for business process monitoring
CN109766241A (en) * 2018-12-29 2019-05-17 中国银行股份有限公司 System monitoring method, apparatus, computer equipment and computer readable storage medium
CN110362459B (en) * 2019-06-18 2023-02-03 中国平安人寿保险股份有限公司 System performance monitoring method and device based on SpringAop and electronic equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260187B1 (en) * 1998-08-20 2001-07-10 Wily Technology, Inc. System for modifying object oriented code
JP4089427B2 (en) * 2002-12-26 2008-05-28 株式会社日立製作所 Management system, management computer, management method and program
US7360114B2 (en) * 2003-06-17 2008-04-15 International Business Machines Corporation Logging of exception data
US7395458B2 (en) * 2004-05-21 2008-07-01 Bea Systems, Inc. Diagnostic instrumentation
US7818721B2 (en) * 2006-02-01 2010-10-19 Oracle America, Inc. Dynamic application tracing in virtual machine environments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011516953A (en) * 2008-04-07 2011-05-26 メタフォリック リミテッド Anti-tamper system using automatic analysis
JP2012133751A (en) * 2010-12-23 2012-07-12 Korea Electronics Telecommun Method and device for monitoring data variable of software component
WO2015071946A1 (en) * 2013-11-12 2015-05-21 株式会社日立製作所 Management computer, deployment management method, and non-transient computer-readable storage medium

Also Published As

Publication number Publication date
US20080010545A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
JP2007316905A (en) Computer system and method for monitoring application program
US11455229B2 (en) Differencing of executable dataflow graphs
US9740479B2 (en) Complexity reduction of user tasks
US7418453B2 (en) Updating a data warehouse schema based on changes in an observation model
RU2419854C2 (en) Template based service management
JP5705084B2 (en) 2-pass automatic application measurement
JP5614843B2 (en) Integrated software design and operation management system
US20090319951A1 (en) Aggregating Service Components
EP2674859A2 (en) Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
US10116512B2 (en) Service discovery and/or effort estimation in networked computing environments
JP5735998B2 (en) Operation system
Danciu et al. Performance awareness in Java EE development environments
US20070240111A1 (en) Pattern based adminstration of an operation in a component based computing solution
US10657476B2 (en) Just in time compilation (JIT) for business process execution
JP4535906B2 (en) UML model creation support method and apparatus
JP5651873B2 (en) Operation support method and computer
do Nascimento et al. A method for rewriting legacy systems using business process management technology
US20140006092A1 (en) Management apparatus and management method
JP2007265231A (en) Implementation determination support system for version upgrade or the like, implementation determination support method for version upgrade or the like, and implementation determination support program for version upgrade or the like
JP5412970B2 (en) Task management system
JP7391740B2 (en) Impact identification support device and impact identification support method
CN116166162A (en) Visual operation method and device of database and computer readable medium
JP2006243996A (en) Job network management system
Kučera Cloud computing using a hierarchical component system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110520