JP2012221500A - 論理的なサブシステムのマップを介してのフローによるトランザクショントレースの可視化 - Google Patents

論理的なサブシステムのマップを介してのフローによるトランザクショントレースの可視化 Download PDF

Info

Publication number
JP2012221500A
JP2012221500A JP2012087286A JP2012087286A JP2012221500A JP 2012221500 A JP2012221500 A JP 2012221500A JP 2012087286 A JP2012087286 A JP 2012087286A JP 2012087286 A JP2012087286 A JP 2012087286A JP 2012221500 A JP2012221500 A JP 2012221500A
Authority
JP
Japan
Prior art keywords
transaction
subsystem
subsystems
user
node
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.)
Granted
Application number
JP2012087286A
Other languages
English (en)
Other versions
JP5909138B2 (ja
Inventor
G Beck Laura
ジー. べック,ローラ
E Litt Natalya
イー. リット,ナタリア
A Isley Nathan
エー. イスレイ,ネイサン
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.)
CA Inc
Original Assignee
Computer Associates Think Inc
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 Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of JP2012221500A publication Critical patent/JP2012221500A/ja
Application granted granted Critical
Publication of JP5909138B2 publication Critical patent/JP5909138B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks

Abstract

【課題】コンピュータシステムのサブシステムを介してフローを可視化することによってコンピュータシステムにおける問題を診断する。
【解決手段】ウェブブラウザ102からのユーザからのリクエストは、ネットワーククラウド104を介して受信され、任意のコンピューティングデバイス106、110および114に送られる。コンピューティングデバイス上で実行するエージェントソフトウェアA1(108)、A2(112)およびA3(116)は、コンピューティングデバイス上で実行されている、アプリケーション、ミドルウェアまたはその他のソフトウェアから、情報を収集する。エージェントは、マネージャ120と通信してデータをまとめ最適化する。マネージャは、エージェントから受信したデータに基づく情報をユーザインタフェース122に表示し、またデータベース118に格納する。
【選択図】図1

Description

本発明は、コンピューティング環境におけるソフトウェアを監視する技術に関する。
インターネットの存在が増長するにつれて、イントラネット、エクストラネットなどの他のコンピュータネットワークと同様に、電子商取引、教育、他の分野において多くの新しいアプリケーションをもたらした。組織は、ビジネスやその他目的を行うのにそのようなアプリケーションへの依存を深めており、期待通りの成果を確実に得るために相当の資源を投入している。このような状況のもと、様々なアプリケーションの管理技術が開発されている。
1つのアプローチとして、アプリケーションで呼び出される個々のソフトウェアコンポーネントに関するアプリケーションの実行データを集めることにより、アプリケーションの基礎構造を監視することが挙げられる。このアプローチでは、監視されるシステムに元来、存在するエージェントを用いることができる。例えば、ソフトウェアによる計測を用いることによって、呼び出される個々のコンポーネントを特定するためや、個々のコンポーネントの実行時間のような実行データを得るために、スレッドまたはプロセスがトレースされ得る。コンピュータプログラムが実行するステップの詳細なレコード、またはトレースを得ることをトレーシングという。トレースのタイプの1つにスタックトレースがある。トレースはデバッグにおける補助の役目を果たし得る。
しかし、問題の診断は依然として厄介な問題である。例えば、トランザクションまたはアプリケーションに障害が生じている場合、プロバイダは起きつつある故障とその原因を正確に知りたい。改善された診断技術が必要とされている。
本発明は、コンピュータシステムのサブシステムを介してフローを可視化することによってコンピュータシステムにおける問題を診断するための方法を提供する。
一実施形態では、1以上のアプリケーションを介してフローを可視化するための方法を実行するため少なくとも1つのプロセッサをプログラミングするために、コンピュータで読み取り可能なソフトウェアを有している一時的でないコンピュータで読み取り可能な有体の記憶装置が具現化されて提供される。実行される方法は、以下を有する。(a)1以上のアプリケーションに関連付けられた1以上のエージェントであって1以上のアプリケーションにインストールされた計測を用いてそのデータを提供するエージェントから取得されるデータにアクセスするためにデータストアにアクセスすること。(b)ユーザインタフェース上にトリアージマップ領域を表示すること。ここで、トリアージマップ領域には、1以上のアプリケーションのサブシステムおよびサブシステム間の依存関係が図を用いて示され、そこではサブシステムがノードによって示され、依存関係がノードを接続する矢印によって示される。(c)アクセスされたデータに基づいて、ユーザインタフェースの補助領域を表示すること;補助領域は少なくとも1つのトランザクションのインスタンスに関連付けられた情報を提供すること。
別の実施形態では、1以上のアプリケーションを介してフローを可視化するためのコンピュータに実装される方法が提供される。その方法は、コンピュータに実装される次のステップを含む。(a)1以上のアプリケーションに関連付けられた1以上のエージェントであって1以上のアプリケーションにインストールされた計測を用いてデータを提供するエージェントから取得されるデータにアクセスするためにデータストアにアクセスすること。(b)ユーザインタフェース上にトリアージマップの領域を表示すること。ここで、トリアージマップの領域には、1以上のアプリケーションのサブシステムおよびサブシステム間の依存関係が図表を用いて示され、サブシステムがノードによって示され、依存関係がノードを接続する矢印によって示され、そしてトリアージマップの領域が業務トランザクションおよび業務トランザクション内で呼び出される複数のサブシステムを識別する。(c)アクセスされたデータに基づいて、ユーザインタフェースの補助領域を表示すること。
別の実施形態では、1以上のアプリケーションを介してフローを可視化するための方法を実行するように少なくとも1つのプロセッサをプログラミングするためのコンピュータで読み取り可能なソフトウェアを有している一時的でないコンピュータで読み取り可能な有体の記憶装置が具現化されて提供される。この実行される方法は、次を有する。(a)1以上のアプリケーションに関連付けられた1以上のエージェントであって1以上のアプリケーションにインストールされた計測を用いてデータを提供するエージェントから取得されるデータにアクセスするためにデータストアにアクセスすること。(b)ユーザインタフェース上にトリアージマップの領域を表示すること。ここで、トリアージマップの領域が1以上のアプリケーションのサブシステムおよびサブシステム間の依存関係を図表を用いて示し、サブシステムがサブシステムの名称を有するノードとして示され、そして依存関係がノードを接続する矢印によって示される。(c)サブシステムの1つは少なくとも第1および第2の業務トランザクションによって呼び出され、サブシステムのノードの1つによって示される。(d)トリアージマップの領域は、第1の業務トランザクションの名称を有する第1の業務トランザクションのノード、および第2の業務トランザクションの名称を有する第2の業務トランザクションのノードを表示する。(e)サブシステムのノードの1つをユーザが選択することに応答して、ユーザインタフェースがサブシステムの1つのためのコンテキストメニューを表示する。ここで、コンテキストメニューは、第1の業務トランザクションの少なくとも一部としてサブシステムの1つを呼び出す将来のある期間におけるトランザクションのインスタンスを検索するオプションを含む。(f)検索されたトランザクションのインスタンスに関連付けられた情報を提供するためにユーザインタフェースを更新すること。
方法に対応して、実行時に、本明細書で提供される方法を実行する命令がエンコードされた記憶媒体を含むシステムおよびコンピュータもしくはプロセッサで読み取り可能な記憶装置が提供される。
管理されたアプリケーションを含むシステムを示す。 トランザクショントレースを開始するためのプロセス[処理]の一実施形態を説明するフローチャートである。 トランザクショントレースを終了するためのプロセス[処理]の一実施形態を説明するフローチャートである。 図1のネットワークのコンピューティングデバイスを示す。 1以上のアプリケーションの動作を説明する際に使用する階層を示す。 トランザクション内で呼び出されるコンポーネントのシーケンスの例における依存関係を示す。 図4Aのコンポーネントの1つの可能なシーケンスに基づいて、トランザクション内で呼び出されたコンポーネントのシーケンスのためのトランザクショントレースの例を示す。 図4B1のトランザクショントレースの例における待機期間を示す。 従属する計測されたサブシステムのシーケンスのための、合計時間幅、正味の時間幅、待機時間およびサブシステム相互の通信時間を決定する方法を示す。 業務サービスがユーザによって選択された場合におけるサブシステムのユーザインタフェース(UI)および業務トランザクションを示す。 ログイン業務トランザクション304のためのメトリックを示すホバーボックスを付加した図5Aのユーザインタフェースを示す。 認証サービスサブシステム322のためのメトリックを示すホバーボックスを付加した図5Aのユーザインタフェースを示す。 ログイン業務トランザクション304のためのオプションを示すコンテキストメニュー532を付加した図5Aのユーザインタフェースを示す。 図5Cのユーザインタフェースのコンテキストメニュー532から起動されるログイン業務トランザクションのマップのユーザインタフェースを示す。 図5Cのユーザインタフェースのコンテキストメニュー532から起動されるログイン業務トランザクションに一致するトランザクションを検索するユーザインタフェースを示す。 選択された業務トランザクションのコンテキストにおける認証サービスサブシステムに一致するトランザクションを検索するユーザインタフェースを示す。 複数の業務トランザクションのコンテキストにおける認証サービスサブシステムに一致するトランザクションを検索するユーザインタフェースを示す。 ログインのすべてよりも少ないサブシステムが選択された業務トランザクションのインスタンスによって呼び出される、ユーザインタフェースを示す。 図5Cのユーザインタフェースのコンテキストメニュー532から起動されるログインのための場所を有するユーザインタフェースを示す。 図5Cのユーザインタフェースのコンテキストメニュー532から起動されるログイン業務トランザクションの正常性メトリックのユーザインタフェースを示す。 ノード322と補助領域562から「詳細」のタブをユーザが選択した後の図5Gのユーザインタフェースを示す。 ノード328と補助領域562から「詳細」のタブをユーザが選択した後の図5Gのユーザインタフェースを示す。 図5E1のユーザインタフェースから起動される選択されたトランザクションのインスタンスのためのトランザクショントレースを示す。 ユーザがサブシステムのノードを選択する場合の図5Kのユーザインタフェースを示す。 ユーザがトランザクショントレースを選択する場合の図5Kのユーザインタフェースを示す。 ユーザがトランザクショントレースのコンポーネントを選択する場合の図5Kのユーザインタフェースを示す。 サブシステムのノード322がタイムマーカの位置に基づいて強調表示されている場合の、再生モードにおける図5Kのユーザインタフェースを示す。 パス513が強調表示されている場合の図5Nのユーザインタフェースを示す。 サブシステムのノード328が強調表示されている場合の、再生モードにおける図5Kのユーザインタフェースを示す。 パス613が強調表示されている場合の、再生モードにおける図5Kのユーザインタフェースを示す。 SQL文を付加した図5Qのトランザクショントレース651を示す。 ユーザが矢印613を選択し、その結果、図5M1の補助領域562におけるグラフ部分CM8(647)、CM9(648)およびCM10(649)が視覚的に区別される、ユーザインタフェース680の例を示す。 ユーザインタフェースを提供するための方法を示す。
本発明は、本発明は、コンピュータシステムのサブシステムを介してフローを可視化することによってコンピュータシステムにおける問題を診断する方法を提供する。
業務トランザクションまたはアプリケーションに障害が生じている場合、プロバイダは起きつつある故障とその原因を正確に知りたい。業務トランザクションは、ウェブサイトにログインしてアイテムを発注するなどのように、クライアントの観点からタスクを表すことが可能である。時には問題は一般的であり、トランザクションは毎回障害を起こし、そして時にはそれがより限定的である。例えば、一定のユーザがそれを試みるときにだけに、またはアイテムの一定の種類が要求されたときにだけにトランザクションが障害を起こすことがある。問題が一般的であるかまたは限定的であるかを決定することは困難で、問題の発生源を区分けすることはさらに難しい。
別の診断ツールが一般的および限定的なケースのために提供される。例えば、トリアージマップは、トランザクションを集約するように、および関連付けられた論理的なサブシステムが相互作用し得るすべての可能な方法を表示するように、一般的なケースに対処するために使用される。またそれは、各サブシステムの全体的な正常性を表示する。トランザクショントレースのツールは最も具体的なケースを扱うために使用される。個々のトランザクションがシステムを通過し、指定時刻に作動する低レベルのメソッド呼び出しのシーケンスとしてそれらを表示するときに、トランザクションツールは、個々のトランザクションを記録する。問題は2つのツール間に大きな隔たりがあることである。トリアージマップが大まか過ぎて粗い粒度であれば、トランザクショントレーサは具体的過ぎて粒状になる。トリアージマップで始めたユーザは、一般的な傾向がなく何の故障も発見することなく、トランザクショントレースを引っ張ることを開始してパターンを識別するためにそれらを拾い読みしなければならない。サブシステムレベルに戻って問題をマッピングすることは、ソフトウェアと根底にある基盤との両方に精通していることを必要とする。
したがって、論理的なサブシステムを介して時刻を決められた一連のステップとして個々のトランザクションを表示するためには、2つの視覚化を組み合わせることが本当に必要となる。1つの可能な解決策は、関連付けられている有向グラフ上の個々のトランザクショントレース(または関連したトレースの集合)を、ユーザが「重ね合わせる」ことを許容する。それゆえ、問題が特定の業務トランザクションで報告される場合には、ユーザは業務トランザクションのためのトリアージマップを最初に見ることができる。関係付けられたサブシステムの全体的な正常性が平常に現れる場合、ユーザは、問題が一般的なものではないと認識することができる。その後、ユーザは、業務トランザクションのためのトランザクショントレースを要求する。トランザクショントレーサが記録をし、業務トランザクションのパラメータ(例えば、特定のURLおよびPOSTのパラメータ)と一致する最新のトランザクションの一覧表を返して、指定された期間を超えると、ユーザは「マッピング」するために1以上を選択する。パターンが出現するかどうか、例えば、ある特定のホストから生じたデータベース呼び出しが遅延の原因であるか否かを見る場合、ユーザはすべての最長のトランザクションを1つずつ(または同時に)マッピングすることを選択する。
マッピングされたトランザクションは、各ノード上および関連のある各辺の横に記載されている時間幅で、現在のマップの強調表示部分として現れる。辺は、サブシステム間の遷移を表し、矢印で表される。つまり、トランザクション内でアクティブになっているそれらのサブシステムは、あるサブシステムから次のサブシステムの呼び出しを表す辺に従ってマップ内で強調表示される。サブシステム間の呼び出しの長さは、辺の横に現される一方で、サブシステム内で費やされた合計時間はノード上に現される。マップ内の最長の合計時間幅を有するコンポーネントは、時計記号などの特殊なアイコンでマークされている。複数の重ね合わせられたトランザクションの場合では、平均時間幅が表示されることに注意されたい。個々の時間幅は、ツールチップのホバー[ホバーボックス]で提供される。
さらに、マップ下部のタブ付きの表示枠のような補助領域は、付加的なオプションや情報を提供する。最初のタブは返されたトランザクションの一覧表(トランザクション一覧表)を含むので、ユーザはどのアイテムが選択された(およびマップ上に重ね合わせられた)か、を見て変更できる。「さらに検索」ボタンは、ユーザが同じパラメータを使用してより多くのトランザクションを記録することを許容する。2番目のタブ(詳細)は、マップ内で現在選択されている項目に関する情報を提供する。例えば、フロントエンドのノードが選択されている場合、そのフロントエンドに対応する重ね合わされたトランザクションのすべてのコンポーネントが、それらのエージェントの識別子およびそれらの時間幅と一緒にクラスおよびメソッドによって一覧表にされる。ユーザは、これらのノードからインベスティゲータエージェントツリーにおける応答するメトリックパスに移動する。
最終的に、マップに表示されるトランザクションに対して、タブは、巻き戻し、再生、停止、一時停止および早送りなどのVTR型の制御がその上に現れて、トランザクショントレーサ内に現れるようにトランザクションの「トレース表示」を表示する。ユーザがトレース内の個々のコンポーネントを選択すると、コンポーネントを呼び出す対応するサブシステムがマップ内で選択される。またユーザはトランザクション全体を「再生」を選択することもある。再生中に、トレース内の各コンポーネントは、順番に選択され、マップ内の対応するサブシステムも同様に選択される。関連した時間幅が選択された項目と一緒にマップに表示される。再び、ユーザは、トレース表示内のコンポーネントからインベスティゲータエージェントツリーにおける対応するメトリックパスに移動する。
これと同じ機能がトランザクショントレースを提供する既存のインタフェース全般において使用可能である。トレースがトリアージマップにおいて利用できるアプリケーションまたは業務トランザクションの1つと一致した場合、オプションは、「このトランザクションをマッピングする」ために提供される。これによって、上述したように、対応する重ね合わせに適切なマップが提示される。
さらに、この特徴はトランザクショントレースから計測を動的に付加するためのオプションを含むように拡張される。一時的な計測は、ユーザによって付加され、より詳細な情報のために遅いトランザクションを調査する。それはまた、現在の計測が特定の業務トランザクションの性能を追跡調査するために適正または最適であるか否かを評価するために使用され得る。適正または最適でない場合、一時的に付加された計測を恒久的にすることが可能である。次のレベルに進むと、この機能は、ユーザがそれらの業務サービスを監視するためにそれらのシステムを設定するためのシンプルな方法を提供する。
さらに後述するように、様々な種類のデザインの画面またはユーザインタフェースが提供される。
ユーザインタフェースを介して、ユーザは、サブシステムとトリアージマップのトランザクションとの間、およびサブシステムとトランザクションのインスタンスデータとの間、の関係を容易に知ることができる。
図1は、複数の異なるコンピューティングデバイスがマネージャにデータを提供するネットワーク100を示す。コンピューティングデバイス106、110および114の例は、アプリケーションサーバまたは必要な機能を実現するためのコードを実行するプロセッサを有するコンピューティングデバイスの他の種類を含む。コンピューティングデバイスは、互いに離れて位置することができ、または同じ場所に位置することもできる。この例では、コンピューティングデバイス106、110および114は、ローカルのマネージャコンピュータ120と通信する。マネージャコンピュータ120は、代わりにコンピューティングデバイス106、110および114から離れることが可能で、そのような場合の通信はネットワーククラウド104を介して行われる。
例えば、ウェブベースの電子商取引アプリケーションなどの企業のアプリケーションを実行している会社は、負荷分散のために1つの場所で複数のアプリケーションサーバを使用する。例えば、ユーザのウェブブラウザ102からのようなユーザからのリクエストは、インターネットのようなネットワーククラウド104を介して受信され、任意のコンピューティングデバイス106、110および114に送られる。ウェブブラウザ102は、図示していないインターネットサービスプロバイダを介してネットワーククラウド104に、通常、アクセスする。コンピューティングデバイス106、110および114上で実行するエージェントソフトウェアは、エージェントA1(108)、エージェントA2(112)およびエージェントA3(116)によってそれぞれ表され、ある可能なアプローチとして、それぞれのコンピューティングデバイス106、110および114上で実行されている、アプリケーション、ミドルウェアまたはその他のソフトウェアから、情報を収集する。例えば、そのような情報は、計測を用いることによって得ることができ、その一例はバイトコードの計測である。しかしながら、集められたデータは他の方法でも得ることができる。エージェントは、監視するコンピューティングデバイスに元来存在してデータの取得ポイントを提供する。エージェントは、マネージャ120と通信してデータをまとめ最適化する。
マネージャ120は、エージェントから受信したデータに基づく情報を表示するため、例えばモニタなどのユーザインタフェース122と通信するワークステーションのような分離したコンピューティングデバイス上に提供され得る。マネージャは、またエージェントから受信したデータを格納するためデータベース118にアクセスする。提示された例では、コンピューティングデバイスは、ネットワーククラウド104にアクセスすることなく、マネージャ120と通信する。例えば、通信は、ローカルエリアネットワークを介して行われる。他の設計では、マネージャ120は、ネットワーククラウド104を介して複数のコンピューティングデバイスのエージェントからデータを受信する。例えば、大きな組織は、セントラルネットワークオペレーションセンタを運用する。そこでは、1以上のマネージャが、地理的に異なる場所に分散している複数のエージェントからデータを取得する。説明すると、ウェブベースの電子商取引企業では、顧客の注文を受ける地理的に異なる場所にあるサーバからエージェントのデータを取得することがある。支払いを処理するサーバ、倉庫で在庫を調べたり、受注を受けたりするサーバなどである。マネージャ120およびユーザインタフェースディスプレィ122は、企業の本社の場所で提供され得る。必ずしも、ウェブベースまたは小売、もしくはその他の販売に関する必要はなく、他のアプリケーションにおいて同様にシステムを管理するためにエージェントとマネージャを利用する。例えば、銀行では、小切手の処理やクレジットの口座用にアプリケーションを使用することがある。また、上述した複数コンピュータのデバイスアレンジに加えて、1以上のエージェントによって単一のコンピュータデバイスが同様に監視されることがある。
監視を実行するソフトウェアを計測するのに、様々なアプローチが知られている。例えば、最初に述べたように、トレーシングはソフトウェアの実行を追跡するために用いることができる。トレーシングの例が、”Transaction Tracer”と題する米国特許出願公開番号2004/0078691(2004年4月22日公開)に記載されている。その内容は参照により本明細書に組み込まれる。その中で述べられているアプローチにおいては、監視すべきアプリケーションのオブジェクトコードまたはバイトコードが計測され、例えばプローブにより変更される。アプリケーションのジョブまたは他のロジックを変更することなくアプリケーションについての特定の情報をプローブが測定する。一旦、プローブがアプリケーションのバイトコードにインストールされると、管理されたアプリケーションと称される。エージェントソフトウェアは、プローブからの情報を受信し、その情報を、例えばマネージャ120において、別のプロセスに伝達することがある。また、情報が異常状況を示すか否かを判定するなど、情報をローカルで処理する。エージェントは、このようにプローブから受信した情報を収集し要約する。指示ファイルによって定義されるように、プローブは、情報を収集する。例えば、プローブからの情報は、トランザクションまたは他の実行フローの開始や停止の回数、またはトランザクション/実行フロー内の個々のコンポーネントの開始や停止の回数を示す場合がある。この情報は、それが範囲内にあるかどうかを判定するために予め決められた基準と比較される。もし情報が範囲内にない場合には、エージェントは適切なトラブルシューティングが実行できるようにこの事実をマネージャに報告する。エージェント108、112および116は、それぞれが関連付けられているローカルコンピューティングデバイス106、110および114上でソフトウェアが実行中であることを通常認識している。
プローブは、CORBAメソッドタイマ、リモートメソッドインボケーション(RMI)メソッドタイマ、スレッドカウンタ、ネットワークバンド幅、JDBC更新およびクエリタイマ、サーブレットタイマ、Javaサーバページズ(JSP)タイマ、システムログ、ファイルシステム入出力バンド幅メータ、使用可能および使用済メモリ、ならびにEBJ(エンタープライズJavaビーンズ)タイマを含むメトリックの標準セットを報告する。メトリックは、特定のアプリケーションのアクティビティの計測値である。
エージェントは、アプリケーションによってアクセスされるリソースを識別するトランザクションに関する情報を報告する。1つのアプローチでは、トランザクションについて報告する場合における「呼び出された」という語はリソースを指す。このリソースは、消費者が親のコンポーネントであるところのリソース(またはサブリソース)である。例えば、トランザクションで呼び出される最初のコンポーネントがサーブレットAであると仮定する。消費者のサーブレットA(下記参照)の下には、EJBと称されるサブリソースがある。消費者とリソースは、ツリーのような形でエージェントよって報告される。トランザクションのデータは、またツリーに従って格納される。例えば、もしサーブレット(例えばサーブレットA)が、ネットワークのソケット(例えば、ソケットC)の消費者であり、かつEJB(例えば、EJB B)の消費者でもあるとすれば、次にはJDBC(例えば、JDBC D)の消費者であり、ツリーは以下のように見える。
Servlet A(サーブレットA)
Data for Servlet A(サーブレットAのデータ)
Called EJB B(呼び出されたEJB B)
Data for EJB B(EJB Bのデータ)
Called JDBC D(呼び出されたJDBC D)
Data for JDBC D(JDBC Dのデータ)
Called Socket C(呼び出されたソケットC)
Data for Socket C(ソケットCのデータ)
一実施形態では、上記ツリーは、ブレイムスタックと称されるスタックにエージェントによって格納される。トランザクションが開始すると、トランザクションはスタックへプッシュされる。トランザクションが完了すると、トランザクションはスタックからポップされる。一実施形態では、スタック上の各トランザクションは、次に続く情報、トランザクションの型、トランザクションのためにシステムで使用される名称、パラメータのハッシュマップ、トランザクションがスタックへプッシュされたときのタイムスタンプおよびサブエレメント、が格納されている。サブエレメントは、注目すべきトランザクション内から開始されている他のコンポーネント(例えば、メソッド、プロセス、プロシージャ、関数、スレッド、命令セットなど)のためのブレイムスタックのエントリである。上記の例のようにツリーを使用すると、サーブレットAのためのブレイムスタックのエントリは2つのサブエレメントを有する。第1サブエレメントは、EJB Bへのエントリで、第2サブエレメントは、ソケットスペースCへのエントリである。サブエレメントは特定のトランザクションのためのエントリの一部であるにもかかわらず、サブエレメントはまた独自のブレイムスタックのエントリを有する。上記のツリーに示されるように、EJB BはサーブレットAのサブエレメントであり、また独自のエントリを有する。トランザクションに対する一番上(最初)のエントリ(例えばサーブレットA)は、ルートコンポーネントと称される。スタック上の各エントリはオブジェクトである。
図2Aは、トランザクショントレースを開始するための処理の一実施形態を説明するフローチャートである。ステップは適切な(複数の)エージェントにより実行される。ステップ130ではトランザクションを開始する。一実施形態では、プロセス[処理]は、メソッド(例えば、“loadTracer”メソッドの呼び出し)の開始によってトリガ(起動)される。ステップ132において、エージェントは所望のパラメータ情報を取得する。一実施形態では、ユーザは、構成ファイルまたはUIを介して、どのパラメータ情報を取得するかを設定することができる。取得されたパラメータは、ブレイムスタックへプッシュされるオブジェクトの一部であり、ハッシュマップに格納される。他の実施形態では、パラメータの識別は、予め設定されている。格納されるパラメータには様々なものがある。一実施形態では、使用されるパラメータの実際の一覧表は、監視されるアプリケーションに依存している。以下の表は、取得され得るいくつかのパラメータの例を示す。
Figure 2012221500
パラメータは、クエリ、クッキー、POST、URLおよびセッションの型の名称/値の組を含む。
ステップ134では、システムは現在の時刻を示すタイムスタンプを取得する。ステップ136ではスタックエントリが作成される。ステップ138において、スタックエントリはブレイムスタックへプッシュされる。一実施形態では、タイムスタンプがステップ138の一部として付加される。トランザクションが開始されるときにプロセス[処理]が実行される。同様のプロセス[処理]が、トランザクションのサブコンポーネントが開始するときに実行される(例えば、EJB BはサーブレットAのサブコンポーネントである−上述したツリーを参照のこと)。
図2Bは、トランザクショントレースを終了するためのプロセス[処理]の一実施形態を説明するフローチャートである。トランザクションが終了するときにエージェントによりプロセス[処理]が実行される。ステップ140において、プロセス[処理]がトランザクション(例えばメソッド)の終了(例えば、“finishTrace”メソッドの呼び出し)によってトリガされる。ステップ142では、システムは現在の時刻を取得する。ステップ144では、スタックエントリが削除される。ステップ146において、トランザクションの実行時間は、ステップ142からのタイムスタンプをスタックエントリに格納されているタイムスタンプと比較することによって算出される。ステップ148では、トレースのためのフィルタが適用される。例えば、フィルタは1秒の閾値期間を含む。したがって、ステップ148は、ステップ146から算出された時間幅が1秒よりも大きいか否かを決定することを含む。閾値を超えない場合(ステップ150)、トランザクションのデータは破棄される。一実施形態では、スタックエントリの全体が破棄される。別の実施形態では、パラメータとタイムスタンプだけが破棄される。他の実施形態では、データの様々なサブセットが破棄される。いくつかの実施形態では、閾値の時間幅を超えていない場合には、エージェントにより、データは図1のシステム内の他のコンポーネントに送信されない。時間幅が閾値を超える場合(ステップ150)、ステップ160においてエージェントがコンポーネントデータを組み立てる。コンポーネントデータは、報告されるトランザクションに関するデータである。一実施形態では、コンポーネントデータは、トランザクションの名称、トランザクションの型、トランザクションの開始時刻、トランザクションの時間幅、パラメータのハッシュマップ、およびサブエレメント(エレメントの帰納的なリスト)のすべてを含む。その他の情報もまたコンポーネントデータの一部である。ステップ162において、エージェントは、マネージャ120にTCP/IPプロトコルによりコンポーネントデータを送信することによってコンポーネントデータを報告する。
図2Bは、トランザクションが終了すると何が起こるかを表している。しかしながら、サブコンポーネントが終了すると、実行されるステップは、タイムスタンプを取得すること、サブコンポーネントのためのスタックエントリを削除することおよび完了したサブエレメントを以前のスタックエントリに加えることを含む。一実施形態では、フィルタおよび判断ロジックは、特定のサブコンポーネントというよりも、トランザクションの開始および終了に適用される。
一実施形態では、トランザクショントレーサがオフになっている場合、システムは依然としてブレイムスタックを使用するが、しかし、パラメータは格納されことなく、コンポーネントデータは作成されないことに注意されたい。いくつかの実施形態では、トレーシング技術をオフにすることによってシステムはトレーシングを開始しない。トレーシングは上述したように、ユーザが要求した後にだけ開始する。
図2Cは、図1のネットワークのコンピューティングデバイスを示す。コンピューティングデバイス200は、図1に関連して説明したように、ウェブブラウザ、アプリケーションサーバ、マネージャおよび/またはユーザインタフェースで使用されるシステムを簡略化して表したものである。コンピューティングデバイス200は、ハードディスクまたはポータブルメディアのような記憶装置210、他のコンピューティングデバイスと通信するためのネットワークインタフェース220、ソフトウェアの命令を実行するためのプロセッサ230、例えば、記憶装置210からロードされた後にソフトウェアの命令を格納するためのRAMのような作業メモリ240、および1以上のビデオモニタのようなユーザインタフェースディスプレィ250を含むものである。ユーザインタフェースは1以上のモニタを提供する。記憶装置210は、本明細書で説明した機能を提供するための方法を実行するのにプロセッサ230をプログラミングするために具現化されているプロセッサ読み取り可能なコードを有する、プロセッサまたはコンピュータで読み取り可能な有体であり一時的でない記憶装置と考えることができる。ユーザインタフェースディスプレィ250は、1以上のエージェントから受信したデータに基づいて、人間のオペレータに情報を提供する。ユーザインタフェースディスプレィ250は、グラフィカルまたは表形式のような既知の任意の表示方式を使用する。画面上の表示に加えて、プリンタからのハードコピーなどの出力も提供する。
記憶装置210がアプリケーションサーバ、マネージャおよび/またはユーザインタフェースのようなコンピューティングデバイス200の一部である場合、データベース118は記憶装置210に含まれる。記憶装置210は、1以上のエージェントから受信したデータを格納し、本明細書で説明したようにユーザインタフェースを提供するためにデータを取得するためにアクセスされる、1以上の記憶装置を表し得る。記憶装置210は、データストアを表し得る。
また、本明細書で説明した機能は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの両方の組み合わせを使用して実装されてもよい。ソフトウェアについては、1以上のプロセッサをプログラミングするために具現化されているプロセッサで読み取り可能なコードを有する、プロセッサで読み取り可能な1以上の一時的でない有体の記憶装置が使用される。プロセッサ読み取り可能な一時的でない有体の記憶装置は、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアなどのコンピュータで読み取り可能な媒体を含む。例えば、コンピュータにより読み取り可能な一時的でない有体の媒体には、コンピュータにより読み取り可能な命令、データ構造やプログラムモジュールまたは他のデータなどの情報を記憶するために、任意の方法や技術で実装された、揮発性、不揮発性、リムーバブルや非リムーバブルメディアが含まれ得る。コンピュータにより読み取り可能な一時的でない有体の媒体の例としては、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、ディジタルバーサタイルディスク(DVD)、または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、他の磁気記憶装置、または所望の情報を格納したり、コンピュータによってアクセスしたりすることに用いられる他の媒体などがある。他の実施形態においては、一部またはすべてのソフトウェアは、カスタムIC、ゲートアレイ、FPGA、PLDや特殊用途向けプロセッサなど、専用のハードウェアに置き換えることができる。一実施形態では、1以上の実施形態を実装するソフトウェア(記憶装置に格納されている)は、1以上のプロセッサをプログラムするために用いられる。1以上のプロセッサは、コンピュータにより読み取り可能な有体の媒体/記憶装置、周辺機器および/または通信インタフェースと通信することができる。
図3は、1以上のアプリケーションの操作を示す際に用いられる階層を示す。複数の異なるレベルの階層が必要な組織構造に基づいて定義され得る。例えば、階層は、人間が理解し易い用語を含み、その用語は、クライアントの、監視されるアプリケーションとの相互関係の理解を容易にするものである。階層は、例えば、電子商取引のトランザクション、教育組織または政府組織などの営利目的の業務の領域にある、アプリケーションとの相互関係の類型を包含する。さらに、1以上の階層は、各ノードが記述名を持つ1以上の階層の複数の異なるレベルにおけるノードを含む。階層は、人間のオペレータにいっそう理解され易い仕方でアプリケーションを実行するやり方についての情報を、体系化する方法を提供する抽象的な構成であると考えられる。
階層の最上位レベルは、「ドメイン」と名付けられたドメインレベル300である。階層の次のレベルは、業務サービスレベル302である。業務サービスの例は、ウェブサイトを用いた株式やその他の金融商品を扱う取引に関連する。このように「取引」は、階層の業務サービスレベルにおけるノードの名称である。取引業務サービスの特定のインスタンスは、例えば、特定のユーザが取引を実行すると発生する。他の業務サービスの例には、書籍販売のウェブサイトのための「書籍購入」、および福利厚生制度における従業員登録のための「福利厚生に登録」などがある。
階層の次のレベルは、業務トランザクションレベルである。前述したように、業務トランザクションは、ウェブサイトにログインしてアイテムを発注するなどのように、クライアントの観点からタスクを表す。業務サービスは、複数の業務トランザクションで構成され得る。例えば、取引に対しては、業務トランザクションは、ログイン304(例えば、ウェブサイトにログイン)、残高306(例えば、口座の残高を取得する)、取引概要308(例えば、最近の売買活動の報告を取得する)、発注310(例えば、オプション以外の株または債権のような証券を売買するために発注する)、およびオプション取引312(リサーチおよび/またはオプション取引を行う)を含む。ユーザがアカウントにログインしようとすると、ログインの特定のインスタンスが発生する。
さらに業務トランザクションは、1以上の業務トランザクションコンポーネントに関連付けられる。1つのアプローチでは、業務トランザクションは、唯一の識別コンポーネントを有する。業務トランザクションコンポーネントは、サーブレットまたはEJBのように、サーバによって認識可能かつ測定可能なアプリケーションのコンポーネントの型である。1つのアプローチでは、アプリケーションのコンポーネントの1つは、業務トランザクションのためのトランザクションコンポーネントを識別する、業務トランザクションコンポーネントとして設定される。業務トランザクションコンポーネントは、業務トランザクションのためのトランザクションを識別するトランザクションのためにトランザクションコンポーネントを識別する。トランザクションは、クライアントに対応するレスポンスを提供するために、クライアントからのリクエストに応答して呼び出されるソフトウェアコンポーネントのシーケンスを表す。例えば、業務トランザクションコンポーネントは、エージェントによって報告されたコンポーネントデータが一セットのルールに一致する時期を判定することによって識別される。この定義は、例えば、特定のURLのホスト名称、URLのパラメータ、HTTPポストのパラメータ、クッキーおよび/またはセッションマネージャのパラメータなどを含む。加えて、またはその代わりに、定義は、特定のURLのホスト名称で開始するトランザクションを要求する場合もある。エージェントまたはマネージャは、例えば、業務トランザクションコンポーネントが業務トランザクション内に存在している時期を判定するために、コンポーネントデータと一セットのルールを比較する。業務トランザクションコンポーネントが検出される場合、関係付けられた業務トランザクションは特定の型のものである。例えば、業務トランザクションコンポーネント305、307、309、311または313が検出される場合、関係付けられた業務トランザクションは、それぞれログイン304、残高306、取引概要308、発注310またはオプション取引312である。
例えば、サーブレットに関係付けられているトランザクションのために、業務トランザクションコンポーネントは、セカンダリフレーム内にロードされているJavaサーバページズ(JSP)に接続して呼び出される。
加えて、1以上のアプリケーションは、複数の異なるサブシステム、例えば、特定のタスクを実行するソフトウェアコンポーネントを含む。通常、業務トランザクションの各インスタンスは、1以上のサブシステムのシーケンスのコードの実行に関与する。サブシステムは、互いに依存し、例えば、直列または分岐した連鎖で互いに呼び出す。異なる業務トランザクションが共通のサブシステムを使用することもある。
サブシステムの例には、破線のボックスによって表される計測されたサブシステムがあり、これは、通常、フロントエンドのサブシステムである。同様に、点線のボックスによって表される未計測のサブシステムがあり、これは、通常、バックエンドのサブシステムである。本明細書で使用されるように、フロントエンドのサブシステムは、通常、計測され、バックエンドのサブシステムは、通常、計測されない。さらに、あるフロントエンドのサブシステムは、ウェブサービスの呼び出しなどを介して別のフロントエンドのサブシステムを呼び出す。また、フロントエンドのサブシステムは、バックエンドのサブシステムを呼び出す。性能メトリックの全範囲は、計測されたサブシステムから取得される。限定された情報は、計測されたサブシステムからメソッドに呼び出されて使用されるメソッドから、未計測のサブシステムに着目して得られる。未計測のデータベースの場合、例えば、JDBCドライバ(呼び出しフロントエンドと同じJavaバーチャルマシン(JVM)に位置する)は、データベースの応答性についての見解を与えるメトリックを提供する。未計測のメインフレームの場合、通常、メインフレームの特定のポートにメインフレームを呼び出すメソッドが存在し、その呼び出しにどのくらい時間がかかるか、またはそれがストールするか否かもしくはエラーを報告するか否かを評価できる。
多くの場合、未計測のサブシステムは、メインフレーム、データベース、または他の未計測のコンピューティングデバイスなどのバックエンドのサブシステムである。これらは不明のコンポーネント/宛先である。計測されたサブシステムは、取引サービス320、注文エンジン326、認証エンジン328、報告サービス324、認証サービス322および報告エンジン330を含む。未計測のサブシステムは、注文レコードSQL322、報告レコードSQL338、ポート番号6543を経由してアクセスされるシステムのcaDBホスト334、ポート番号3456を経由してアクセスされるシステムのcaSAPホスト321および顧客レコードSQL336を含む。その名称にSQLを含むサブシステムは、ストラクチャードクエリランゲージ(SQL)のデータベースである。「?」は、サブシステム334および321が不明であることを示す。
図4Aは、業務トランザクション内で呼び出されるコンポーネントのシーケンスの例における依存関係を示す。コンポーネント指向のプログラミングモデルは、プログラマに、コンポーネントに関係する構成要素からアプリケーションや他のプログラムを構築させるのに役に立つ。各コンポーネントは、ソフトウェアの全体的機能に適合するよう特定の機能を実行する。さらに、コンポーネントは、コンポーネントのシーケンスがプログラム内で呼び出されるように、他のコンポーネントを呼び出し、同様に、再帰呼び出しでは自分自身を呼び出す。コンポーネント指向のプログラミングモデルの一例は、J2EEであるが、Javaサーバページズ、エンタープライズJavaビーンズ(EJB)、サーブレットおよびJavaデータベースコネクティビティ(JDBC)のコンポーネントといったコンポーネントを用いることができる。JDBCは、クライントがいかにデータベースにアクセスするかを定義するJava(登録商標)プログラミング言語のためのアプリケーションプログラミングインタフェース(API)である。それは、データベース内のデータを照会や更新する方法を提供する。しかしながら、.NETのような他のコンポーネント指向のプログラミングモデルを使用することもできる。また、プログラミングモデルは、オブジェクト指向である必要はない。
この例では、前述のログイン業務トランザクションの詳細を提供する。1つの可能な実装では、ログインの各コンポーネントは、クラスメソッド(CM)の組である。例えば、サーブレットはJavaクラスである。リクエストを受信し、対応するレスポンスを生成するのはオブジェクトである。クラスメソッドの組は、class.methodの表記により表される。ログインは、ログイン名やパスワードなどのユーザのログイン認証情報を取得する1番目のクラスメソッドの組CM1を含む。CM1の書式の例は、ServletA1.ObtainLoginCredentialsである。
例として、CM1は、ログインの業務トランザクションコンポーネントである。したがって、エージェントは、CM1が呼び出されたことを検出するたびに、現在のトランザクションは、ログインの一部でありそのコンポーネントデータはログインと関連付けられると結論する。
2番目のクラスメソッドの組CM2(例えばServletA2.CheckLoginCredentials)は、ログイン認証情報の書式を調べる。
ログイン認証情報が適式でない場合、CM2は、ユーザに正しい入力をするように促すエラーメッセージを表示する、3番目のクラスメソッドの組CM3(例えば、ServletA3.DisplayErrorMessage)を呼び出す。ログイン認証情報が適式である場合、CM2は、CM4a(例えば、ServletA4.ValidateLoginCredentials)を呼び出す。CM4aは、CM7(例えば、ServletB1.ReceiveLoginCredentials)を呼び出し、その際にログイン認証情報をCM7に渡す。
CM7はユーザのログイン認証情報が顧客レコードと一致するか否かを判定するデータベースにアクセスするCM8(例えば、JDBCドライバの呼び出し/CheckCredentialRecordsのSQL文)を呼び出す。一致することをCM8がCM7に返答した場合、CM7はユーザのアカウントが有効であるか否かを判定するためにデータベースにアクセスするCM9を呼び出す(例えば、JDBCドライバの呼び出し/CheckAccountStandingのSQL文)。アカウントが有効であることを示すレスポンスをCM9がCM7に提供した場合、CM7は、ユーザがログインしていることを示すようにデータを更新するためにCM10(例えば、JDBCドライバの呼び出し/UpdateLoginRecordsのSQL文)を呼び出し、CM10はCM7にlogin status=trueを返す。CM8において認証情報が一致しない場合、またはCM9においてアカウントが有効ではない場合、デフォルトのlogin status=falseが残るように、CM7はlogin status=falseを設定し、CM10が呼び出されることはない。
例示の実装では、CM8からCM10は、データベース内にテーブルエントリを作成したりエントリにデータを付加したりするなどのように、1以上のSQL文を呼び出すJDBCドライバの呼び出しを含む。また、必要に応じて、各SQL文はJDBCドライバの呼び出しによって呼び出される分離したコンポーネントとして特定される。図5Rを参照されたい。
CM7はCM4aにリプライを返し、CM4aはlogin status=true または login status=falseのいずれかでCM2にリプライを返す。login status=trueであれば、CM2はCM4bを呼び出し、CM4bはアクセスが許可されたことをユーザに示すメッセージを表示するCM5(例えば、ServletA5.DisplayMessageAccessGranted)を呼び出す。またlogin status=falseであれば、CM2はCM4bを呼び出し、CM4bはアクセスが拒否されたことをユーザに示すメッセージを表示するCM6(例えば、ServletA6.DisplayMessageAccessDenied)を呼び出す。
分離したコンポーネントCM4aおよびCM4bは、CM4aによるCM7への呼び出しや、CM4bによるCM5またはCM6への呼び出し、といった別々の計測を可能にするために使用されることに注意されたい。あるいは1つのコンポーネント、CM4がCM4aおよびCM4bの機能を扱う。この1つのコンポーネントは、同じアプリケーションサーバ内の別のメソッド(CM5またはCM6)と、ウェブサービスコール(CM7)の両方を呼び出す。
説明のように、CM1からCM6は認証サービスサブシステム内で実行され、一方、CM7からCM10は認証エンジンサブシステム内で実行される。ログインは、このようにこれらのサブシステムの両方で実行し、または呼び出す。
コンポーネントは、非同期、マルチスレッドまたはマルチプロセスのモードで実行を開始する別のコンポーネントを呼び出した後、実行を継続できることに注意されたい。または、この呼び出されたコンポーネントが同期モード、シングルスレッドまたはシングルプロセスのモードで実行を終了するまで、コンポーネントを一時的に休止できる。休止しているコンポーネントは、待機期間にあると考えられ、一方、実行されているコンポーネントはアクティブで、実行モードであると考えられる。コンポーネントは、トランザクションの間中、2回以上呼び出されることが可能である。
図4B1は、図4Aのコンポーネントの1つの可能なシーケンスに基づいて、トランザクション内で呼び出されたコンポーネントのシーケンスのためのトランザクショントレースの例を示す。水平方向は時間を表し、垂直方向は呼び出しスタックの深さや位置を表す。また、呼び出しスタックと称されるトランザクショントレースは、1以上のプログラム、プロセスまたはスレッドの実行中に、呼び出されるかまたは起動される計測されたコンポーネントを識別する。計測されたコンポーネントのトレースデータは、アプリケーションを理解したりデバッグしたりするために従属データとともに使用される。トランザクショントレースは、トレースまたはトランザクションの全部もしくは一部とすることができ、それぞれのエージェントを有する1以上のコンピューティングデバイスに及ぶ。
特に、分離したトランザクショントレースは、別々のスレッドが別々のトランザクショントレースに分離されるように各エージェントに対し提供される。さらに、各トランザクショントレースは、分離して水平に拡張した領域、または図の「スイムレーン」で表される。この図では、認証サービスサブシステムのためのエージェントのトランザクショントレース401が一番上の水平に拡張する領域にあり、認証エンジンサブシステムのためのエージェントのトランザクショントレース403が一番下の水平に拡張する領域にある。2つのトランザクショントレースは、関係のあるタイミングの一層の理解を可能にするため、一緒に表される。別々のエージェントの時計が十分に同期すると知られている場合には、別々のトランザクショントレースの関連性のあるタイミングについて正確な結論が得られる。矢印400および402は、個々に、トランザクショントレース401および403に対するそれぞれの呼び出しスタックの深さを表す。
ユーザインタフェースディスプレイ上で提供されるグラフ表示において、コンポーネントCM1は、トランザクショントレース401の第1またはルートのコンポーネントである。トランザクショントレースは、第2層でCM2、第3層でCM4aおよびCM4bならびに第4層でCM5を含む。トランザクショントレース403において、CM7は第1レベルにあり、CM8、CM9およびCM10は第2レベルにある。オプションとして、トランザクショントレース403は、さらに詳細を示すこともできる。例えば、後述のように、図5Rに示されるように、CM8、CM9 およびCM10が各JDBCドライバの呼び出しである場合、トランザクショントレース403は、子のSQL文691、692および693をそれぞれ示すように変更可能である。
時間のスケールは0−t13に延びており、例えば1300ミリ秒(ms.)を表す。トランザクショントレースは、コンポーネントが実行する時間間隔、およびコンポーネント間の呼び出し関係を示す。例えば、CM1がt0からt13で実行し、CM2がt1からt12.5で実行し、CM4aがt2からt10(およそ)で実行し、CM4bがt10(およそ)からt12で実行し、およびCM5がt11からt11.5で実行する。さらに、CM1はCM2を呼び出し、CM2はCM4aおよびCM4bを呼び出し、ならびにCM4bはCM5を呼び出す。
図4B2は、図4B1のトランザクショントレースの例における待機期間を示す。同期のトランザクションは、例えばCM1のような1つのコンポーネントが、例えばCM2のような別のコンポーネントの呼び出し、および継続/再開の実行の前に応答するCM2のための待機を含む。呼び出しメソッドによって要求される時間が呼び出しメソッドのための「待機時間」であると仮定する。非同期のトランザクションもまたトレースすることが可能であり、図4B1に類似したトランザクショントレースの表示に示すことができる。待機時間プラス正味の時間幅が実行または応答時間の合計時間幅に等しくなるように、待機時間外のコンポーネントにより消費される時間は、実行または応答時間の正味の時間幅であると考えられる。コンポーネントの合計時間幅は、コンポーネントによって直接呼び出されるすべてのメソッドに対する時間幅を合計し、コンポーネントに対する合計記録時間幅からの合計を減算することによって算出される。
グラフ中の水平の各棒ついて、無地の部分は呼び出されたコンポーネントからの応答を待たないことを示し、斜線模様のある棒はコンポーネントが呼び出されたコンポーネントからの応答を待つことを示す。たとえコンポーネントの計測がコンポーネントの実行中または待機中であるかを明示的に示さないとしても、同期の場合には、先のコンポーネントはそれらが呼び出したメソッドが実行している間は待機するものと推測できる。コンポーネントによって消費される時間内に、その一部は、ネットワークまたはCPUの遅延などによって遅れて、応答するために呼び出されたコンポーネントを実行や待機するのに費やされる。
この例では、CM1は、ログイン業務トランザクションのインスタンスの開始時のt0において実行を始め、t1においてCM2を呼び出す。CM2は、t1において実行を始め、t2においてCM4aを呼び出す。CM4aはt2において実行を始める。この例では、CM7は、異なるエージェントに関連付けられて異なるサブシステム上にあることから、トランザクショントレース401は、CM4aがt3においてCM7を呼び出したことを特定しない。また、例えば、ネットワーク通過時間、処理遅延、またはその他の要因によって、CM4aがCM7を呼び出すこととCM7の実行を開始することとの間に遅れが生じることがある。しかしながら、トランザクショントレース403は、CM7がt3.5において実行を開始し、CM4aによって、例えばクロスプロセスの呼び出しにおいて呼び出されたことを示す。つまり、CM7は、CM4aの呼び出しの結果として実行を開始する。CM7はt4においてCM8を呼び出し、CM8はt4からt5で実行する。CM7はt6においてCM9を呼び出し、CM9はt6からt7で実行する。CM7はt8においてCM10を呼び出し、CM10はt8からt9で実行する。t9において制御フローはCM7に戻り、t9.5においてCM7は実行を停止する。制御フローは、上記の要因によってt10までCM4aに戻らない。t10において制御フローは、CM4aに短時間戻って、t10の直後にCM2がCM4bを呼び出すときにCM2に短時間戻る。トランザクショントレース401では、CM4bはt11においてCM5を呼び出し、CM5はt11からt11.5で実行する。t11.5において制御フローはCM4bに戻り、t12において、制御フローはCM2に戻る。そしてt12.5において制御フローはCM1に戻る。
CM8、CM9およびCM10はそれぞれデータベース(顧客レコードSQL)を呼び出す。しかし、データベースは未計測であることから、データベースによって消費される時間の量は、トランザクショントレース403のCM8、CM9またはCM10の合計実行時間から区別されない。
この例では、CM1ついては、合計時間幅はt13−t0=1300ミリ秒で、待機時間はt12.5−t1=1150ミリ秒、そして、正味の時間幅は1300−1150=150ミリ秒である。CM2については、合計時間幅は1150ミリ秒で、待機時間はt12−t2=1000ミリ秒、そして、正味の時間幅は1150−1000=150ミリ秒である。CM4aについては、合計時間幅はt10−t2=800ミリ秒で、待機時間はt10−t3=700ミリ秒、そして、正味の時間幅は800−700=100ミリ秒である。CM4bについては、合計時間幅はt12−t10=200ミリ秒、待機時間はt11.5−t11=50ミリ秒、そして、正味の時間幅は200−50=150ミリ秒である。CM5については、合計時間幅はt11.5−t11=50ミリ秒で、待機時間は0ミリ秒、そして、正味の時間幅は50−0=50ミリ秒である。
同様に、トランザクショントレース403では、CM7については、合計時間幅はt9.5−t3.5=600ミリ秒で、バックエンドの呼び出し時間はt5−t4+t7−t6+t9−t8=100+100+100=300ミリ秒、そして、認証エンジンサブシステムで費やされる時間は600−300=300ミリ秒である。この費やされた時間は正味の時間幅に類似している。CM8については、合計時間幅はt5−t4=100ミリ秒で、待機時間は0ミリ秒であると仮定して、正味の時間幅は100ミリ秒となる。CM9については、合計時間幅はt7−t6=100ミリ秒で、待機時間は0ミリ秒であると仮定して、そして正味の時間幅は100ミリ秒になる。CM10については、合計時間幅はt9−t8=100ミリ秒で、待機時間は0ミリ秒であると仮定して、そして正味の時間幅は100ミリ秒である。
認証エンジンサブシステムのルートコンポーネント、CM7の合計時間幅に基づく、認証エンジンサブシステムの合計時間は600ミリ秒である。サブシステム(例えば、最下位レベルのコンポーネント、CM8、CM9およびCM10のt4、t6、t8におけるそれぞれの呼び出し)の外側で呼び出しが行われる時間に基づき、呼び出しに対応する応答が受信された時間(例えば、それぞれt5、t7およびt9)に基づく、認証エンジンサブシステムのバックエンドの呼び出し時間は、100+100+100=300ミリ秒である。そして、認証エンジンサブシステムで費やされる時間は、バックエンドの呼び出し時間を除いた合計時間幅、つまり600−300=300ミリ秒である。バックエンドの呼び出し時間は、呼び出された1以上の計測または未計測のサブシステムに割り当てられる。この例では、1つの未計測のサブシステムが呼び出され(顧客レコードSQL)、300ミリ秒がそれによるものと考えられる。
認証エンジンサブシステムは、全体として機能的に、1つの実装においては認識される「待機時間」が存在しない。CM8、CM9およびCM10は、「バックエンド呼び出し」時間に対応している。トレースの3つのコンポーネントが、1以上のバックエンドへの呼び出しを表すが、呼び出しを実行する際に費やされた時間と、応答するためのバックエンドの待機に費やされた時間とを区別することができない。認証エンジンの「フロントエンド」で費やされた時間と「バックエンド呼び出し」で費やされた時間との区別をすることができるように、認証エンジンに対する合計時間からバックエンドの時間を減算する。この場合、すべてのバックエンドの呼び出しは、同じバックエンドに向かうので、単一の値、即ち顧客レコードSQLの呼び出しで費やされる合計時間に集約することができる。他の場合には、分離したバックエンドの呼び出し時間は、複数のバックエンドにそれぞれ集約可能である。
同様に、認証サービスサブシステムの合計時間幅は、ルートコンポーネントCM1の合計時間幅から1300ミリ秒と決定することができる。サブシステムの外側で最下位レベルのコンポーネントの呼び出し(例えば、最下位レベルのコンポーネントCM4aによる、t3におけるCM7の呼び出し)が行われる時間と、呼び出しに対応するレスポンスが受信された時間(例えばt10)と、に基づく認証サービスサブステムの待機時間は700ミリ秒である。そして、認証サービスサブシステムの正味の時間幅は、待機時間を除いた合計時間幅、つまり1300−700=600ミリ秒である。
さらに、認証サービスサブシステムの700ミリ秒の待機時間は、認証サービスサブシステムが呼び出す1以上のサブシステムによるものであると考えられる。認証エンジンサブシステムは、認証サービスサブシステムによって呼び出される唯一のサブシステムであることから、700ミリ秒は認証エンジンサブシステムによるものであると考える。しかしながら、認証エンジンサブシステムの合計時間幅は、600ミリ秒しかないと判定された。したがって、700−600=100ミリ秒が、認証サービスサブシステムから認証エンジンサブシステムへのリクエストを伝達し、認証エンジンサブシステムから認証サービスサブシステムへの対応するリプライを伝達するのに消費される時間によるものであると考えることができる。サブシステム間のリクエストやリプライを伝達することには、ネットワーク遅延およびCPU遅延に加えて、ウェブサービスなどのサービスにアクセスすることを含むことに注意されたい。
このように、合計時間幅、サブシステムで費やされた正味の時間幅または時間、待機時間、バックエンドの呼び出し時間(または未計測のサブシステムへの他の呼び出し)、およびサブシステム相互通信の時間を判定するために、最後に呼び出されたサブシステムから最初に呼び出されたトランザクションのサブシステムまで過去に遡って作業をする。バックエンドの呼び出し時間を表すという点では、いつ、どのようにして正味の時間幅に対する全時間幅を使用するかという問題がある。より高い粒度が提供され得ることから正味の時間幅が好ましいが、呼び出しが未計測のバックエンドに行われる場合には全時間幅しかない。正味の時間幅が利用できるルールを設定したが、時間が未計測のバックエンドのものを含む場合、グループ分けした大括弧または類似のもので示すことができる。手順の例を次に説明する。
図4B3は、従属する計測されたサブシステムのシーケンスのための、合計時間幅、正味の時間幅、待機時間、およびサブシステム相互の通信時間を決定する方法を示す。計測されたサブシステムのシーケンスは直列であることから、シーケンス内には唯一の分岐または連鎖があるので、1つのサブシステムが1番目の次のサブシステムを呼び出し、1番目の次のシステムが2番目の次のサブシステム、等々を呼び出す。また、シーケンスは、例えば、1つのサブシステムが1番目の次のサブシステムおよび2番目の次のサブシステムを呼び出すときのように、1以上の並列分岐を有する。例えば、図5Aにおいて後述するように、計測されたサブシステムの直列シーケンスは、認証サービスが認証エンジンを呼び出すログインのために提供される。さらに、計測されたサブシステムの複数分岐シーケンスは発注に提供され、そこでは、取引サービスが、別々の分岐において注文エンジンおよび認証エンジンの両方を呼び出す。さらに、従属するサブシステムのシーケンスの段階が定義される。例えば、ログインについては、認証サービスは第1段階で、認証エンジンは第2(および最終)段階である。発注については、取引サービスは第1段階で、注文エンジンおよび認証エンジンは共に第2(および最終)段階である。
これらの概念の表示では、図4B3のステップ422は、トレースがサブシステムによって呼び出されたコンポーネントから得られている計測されたサブシステムを選択することを含む。例えば、図4B2では、認証サービスサブシステムとそのトレース401を選択する。ステップ424は、サブシステムのルートコンポーネントの時間幅からサブシステムの合計時間幅T1を決定する。例えば、トレース401におけるCM1に基づいてT1=1300ミリ秒になる。ステップ426は、サブシステムから計測または未計測の宛先サブシステムに向かう呼び出し(例えば、クロスプロセス呼び出し)に対応するトレースにおけるすべてのコンポーネントを識別する。例えば、トレース401においてはCM4aを識別する。サブシステムの外部の全ての呼び出しの合計時間幅T2を得るために、ステップ428は、識別されたコンポーネントの時間を合計する。ここで、Tc1=700ミリ秒を有するCM4aのような特定されたコンポーネントが唯一存在し、T2=Tc1=700ミリ秒になる。ステップ430は、フロントエンド時間とも称される、サブシステムの正味の時間幅T3を得るため、サブシステムの合計時間幅T1からサブシステムの外部のすべての呼び出しの合計時間幅T2を減算する。トレース401については、T3=T1−T2=1300−700=700=600ミリ秒になる。
ステップ432は、識別されたコンポーネントをコンポーネントの宛先サブシステム別によってグループ分けして、各グループ分の時間(例えば、ステップ428のTc1、Tc2...のような時間)を合計する。これらの合計は、宛先サブシステムへの呼び出しに対する全時間幅TFである。トレース401については、例えば、認証エンジンサブシステムのような宛先サブシステムが1つしかないので、グループは1つしか存在しない。認証エンジンサブシステムの時間の合計は、TF=700ミリ秒である。判断ステップ434が、分析するための次のサブシステムが存在するか否かを判定する。分析するための次のサブシステムがある場合は、ステップ422から432は、次のサブシステムのために繰り返される。例えば、分析するための次のサブシステムは、ステップ426で識別される宛先サブシステムを含む。プロセスは、サブシステムのシーケンスの最前段で開始し、1以上の直列パスで呼び出されたサブシステムに連続して入っていく。例えば、認証エンジンサブシステムは、認証サービスサブシステムの宛先サブシステムである。
したがって、図4B2の認証エンジンサブシステムとそのトレース403は、ステップ422で選択されている。ステップ424は、サブシステムのルートコンポーネントCM7の時間幅からサブシステムの合計時間幅T1=600ミリ秒を決定する。ステップ426は、この場合、未計測のバックエンドの顧客レコードSQLに対して、サブシステムからの呼び出しに対応するCM8、CM9およびCM10を識別する。サブシステムの外部のすべての呼び出しの合計時間幅T2を得るため、ステップ428は、識別されたコンポーネントの時間を合計する。ここで、CM8についてはTc1=100ミリ秒で、CM9についてはTc2=100ミリ秒およびCM10についてはTc3=100ミリ秒で、そしてT2=300秒である。ステップ430は、トレース403について、T3=T1−T2=600−300=300ミリ秒を提供する。
ステップ432は、識別されたコンポーネントをコンポーネントの宛先サブシステム別にグループ分けし、各グループ分の時間(TF=Tc1+Tc2+Tc3=300ミリ秒)を合計する。判断ステップ434は、分析するための次のサブシステムが存在するか否かを判定する。判断ステップ434で、分析するための次のサブシステムがない場合には、プロセスは、計測され、各エージェントと関連付けられた宛先サブシステムへの各呼び出しを再度行う。具体的には、ステップ436は、計測された宛先サブシステムを選択する。図4B2の例では、認証エンジンサブシステムが再度行われている。ステップ438は、宛先サブシステムへの呼び出しのための正味の時間幅TN=100を得るために、宛先サブシステムへの呼び出しの全時間幅TF=700ミリ秒から合計時間幅(T1=600ミリ秒)を減算する。
図5Aは、取引の業務サービスがユーザによって選択された場合におけるサブシステムのユーザインタフェース(UI)および業務トランザクションを示す。UI500は、サブシステムの相互の依存関係、例えば相互の呼び出し順序など、を、サブシステムを示すノード及びノードを接続する矢印を用いた図表で表したマップを提供する。そのようなマップは、アプリケーションの依存関係マップ、またはトリアージマップとも称される。さらに、マップは、どのサブシステムが特定の業務トランザクションに関連付けられているかを示す。業務トランザクションは、1以上のコンピューティングデバイスで1以上のサブシステムに関連付けられたコンポーネントを呼び出す。どのサブシステムが潜在的に互いに呼び出すかを判定するために、1以上の管理されたアプリケーションの分析に基づいてマップが作成される。この分析は、管理されたアプリケーションの特定の時間間隔においてコンポーネントデータが得られる前に行われる。マップは、1以上の業務トランザクションのサブシステムを含む。
ユーザインタフェースの領域504は、ユーザがマップタブ506またはブラウズタブ508を選択することを許容する。現在、マップタブ506は選択されている。タブは、使用可能な業務サービスの表示を提供するために開放されるノード、および使用可能なフロントエンドの表示を提供するために開放されるノードを含むノードのツリーを提供する。業務サービスによるノードは、取引と称される業務サービスのノードを含み、取引は、前述したように、業務トランザクションを構成するためのノード、即ち、残高、ログイン、オプション取引、発注、取引概要を含む。取引はユーザによって選択され、現在の表示はこの選択に基づくものである。この選択は、領域504のツリーにおける「取引」に下線を引くことにより示される。
この選択に応答して、多く(1以上)の関連付けられた業務トランザクション、業務トランザクションのサブシステムおよびサブシステム間の依存関係を示す矢印が、トリアージマップの領域に示されるようにユーザインタフェースのメインエリア502に表示される。左側の楕円形のノード304、306、308、310および312は、それぞれ業務トランザクションの名称を含んで表す。辺とも称される矢印は、業務トランザクションのためにどのサブシステムが最初に呼び出されるか、および、続いて呼び出されるサブシステムはどれかを示す。ある場合には、共通のサブシステムが別々の業務トランザクションのインスタンスのために呼び出される。例えば、認証サービスはオプション取引やログイン業務トランザクションによって呼び出される。
与えられた業務トランザクションのインスタンスに呼び出されたコンポーネントは、コンポーネントが同じサブシステムにあったとしても、一意の識別子を用いて個別に追跡することができる。また、コンポーネントの分離したインスタンスは、別々の業務トランザクションのインスタンスにおいて(単一の)サブシステムで呼び出される可能性もある。これらの分離したインスタンスは、再度、別々に追跡することができる。
また、同じ業務トランザクションの分離した複数のインスタンスは、同じサブシステムを呼び出す必要はないことに注意されたい。例えば、業務トランザクションのインスタンスは、エラーまたはネットワークの障害によっては、エラーが生じなかった場合に呼び出される特定のサブシステムを呼び出すことはない。また、時刻や使用可能なリソースに起因して、同じ業務トランザクションの分離した複数のインスタンスは、別々のサブシステムを呼び出す。これらの簡略化された例には示されていないが、様々なバリエーションが可能である。
ノードの枠は、ノードが強調表示されているか否かを示すために使用されており、強調表示の一種になる場合もある。強調表示は、あるノードを他のノードから視覚的に区別する方法である。異なる色が使用されることもある。あるアプローチでは、実線が強調を示す一方で、点線または破線の枠は強調を示さない。二重の枠も同様に使用される。あるアプローチでは、実線の外側の枠は、ノードがユーザによって選択されたことを示し、破線の外側の枠は、ユーザによる他のコマンドに基づいてノードが視覚的に区別されていることを示す。ノードの強調表示は、領域504におけるユーザの選択、およびUIにおけるノードそのもののユーザの選択、に反応する。様々な強調表示、色分けおよび他の視覚的な効果が、ユーザに情報を伝達するために提供される。サブシステムのいくつかのノードは、(a)フロントエンドまたは集約されたフロントエンド(例えば、同じアプリケーションコンテキストを共有するすべてのサーブレット)を示す2つの重複する画面のような記号、(b)データベースを表す円筒形の記号、または(c)サブシステムの種類を識別するためにソケット呼び出しの宛先である不明の(未計測の)サブシステムを表す記号を、含む。
他の種類の表記には、メトリックと警告がある。警告は、業務トランザクション(関連付けられたコンポーネントデータに基づくもの)のため、フロントエンドの全体的なパフォーマンス(「正常性」)のため、およびフロントエンドによって未計測のバックエンドまたは別のフロントエンドにされるバックエンドの呼び出しのため、に使用可能である。別のフロントエンドに行われる呼び出しは、マップ上に現われるように、ウェブサービスまたはEJBクライアントを介して行われる。これらの警告は、ユーザによって作成および設定される。したがって、ある与えられた業務トランザクション、フロントエンドもしくはバックエンドの呼び出しは、業務トランザクションのために明示された警告を有する、または有しない。警告が明示される場合、いくつかの状態、即ち、正常(緑色)、注意(黄色)、危険(赤色)、データなし(灰色)、計画的な停止時間(黒色および灰色)が現れる。警告が明示されない場合、業務トランザクションまたはフロントエンド内にはアイコンは現れることなく、小さな「メトリックアイコン」が、メトリックデータはここで使用可能であることを示すために、バックエンドの呼び出しの終点で現れる。
1つのサブシステムから別のサブシステムの呼び出しを表す矢印の終わりに現れる円は、呼び出しのために使用可能な最新のデータが存在するが警告は明示されてはいないことを示している。バックエンドの呼び出しのために警告が明示されている場合には、警告アイコンが重ね合わせられて実質的にメトリックアイコンを置き換える。すべての円/警告のアイコンの欠如は、マップはロードされているので、呼び出しのための見えるメトリックが存在しないことを意味する。メソッド呼び出しのための警告アイコンは、メソッド呼び出しの合計時間幅に基づいて設定される。円は、呼び出されたサブシステムの隣に、矢印の先端に配置される。わかり易くすると、この例では、全体が暗色に着色に着色された円は危険の警告状態を示し、白丸は正常の警告状態を示し、そして半分が暗色に着色された円はメトリックが使用可能で警告が明示されていないことを示す。領域504は、どの警告レベルが関連付けられた階層レベルのために表示されるかを示すために、業務サービスおよび業務トランザクションの名称の隣に警告表記を提供している。業務トランザクションのための領域504において、円表記がノード304、306、308、310および312のための円表記と一致している。対象のサブシステムの関連付けられたすべての宛先サブシステムと同様に、対象のサブシステムの警告レベルは、サブシステムの正常性メトリックに基づいて、最高の警告レベルを表す。また、業務サービスの警告レベルが任意の業務トランザクションの最高の警告レベルとして設定される。
フロントエンドのサブシステムは、ソケットを介してアプリケーションサーバからの呼び出しを行う。これらの呼び出しは、ウェブサービスの呼び出し、JDBCドライバの呼び出しまたはその他の呼び出しである。ウェブサービスは、通常、アプリケーションプログラミングインタフェース(API)またはハイパーテキストトランスファープロトコル(HTTP)を介してアクセスされたウェブAPIであり、リクエストされたサービスをホスティングするリモートシステムにおいて実行される。これらの呼び出し、およびJDBCドライバの呼び出しのようなその他の呼び出しは、呼び出しを検出して呼び出しに関するメトリックを取得するため、依然としてアプリケーションサーバにあるが、しかしアプリケーションサーバから呼び出すことから、バックエンドコールと称される。したがって、図5Aにあるように全体のマップは、検出されたフロントエンドおよびフロントエンドがバックエンドに対して行う呼び出しを示す。これらのバックエンド呼び出しの宛先は、他のフロントエンド(ウェブサービスやいくつかのEJB呼び出しの場合)または未計測のバックエンドのコンポーネントのいずれかである。これらの未計測のコンポーネントのほとんどは、少なくとも部分的にはバックエンド呼び出しから識別される。例えば、JDBCドライバの呼び出しは、その宛先データベースの名称でラベルが付されており、デフォルトのソケット呼び出しは、宛先ホストおよびポートでラベル付けされている。他の場合では、ユーザはカスタム呼び出しを定義しその宛先でラベル付けをする。これらのすべての場合で、UIは、データベースまたはコンポーネントの他の適切な型を示すアイコンで適切にラベル付けされたバックエンドの宛先を表すボックスを提供する。
例えば、ソケットを介して呼び出しがあり、その呼び出しは計測されていて56ミリ秒かかることが判明しているが、その宛先(どのサブシステムをそれが呼び出したか)が不明である場合、バックエンドのノードと並んで「不明のコンポーネント」のアイコンを示し、システムのホスト名称とポートによってラベル付けされた、UIにおける時間メトリックを表示し得る。バックエンド321、332、334、336および338は、計測されることなく、そのため宛先によって報告された情報がない宛先を表すため、実質的にマップ内のダミーのノードである。これらのノードに隣接した円のアイコンは、フロントエンドからの呼び出しを表す矢印の端で、バックエンド呼び出しのメトリックおよびそれに関連付けられた警告のプレースホルダとして機能する。
1つのフロントエンドから別のフロントへの呼び出しには、十分な計測が可能である。呼び出しは、例えば、ウェブサービスまたはEJBクライアントを介して行われる。単一のフロントエンドから発しているすべてのウェブサービスの呼び出しは、集約され、単一の「ウェブサービス」のバックエンド呼び出しとして表されている。このように、他の種類の呼び出しとは異なり、ウェブサービスの呼び出しは、2以上の宛先を有し得る。この場合、バックエンド呼び出しは、マップ内の二股分岐または枝分岐の矢印として現される。1セットのデータだけがこの呼び出しに関連付けられており、1つのアプローチでは、マップにおいて、円に「W」のアイコンが宛先ボックスの横ではなく二股分岐の基部に現れる。図5Aにおいて、ウェブサービス510および512は、同じくウェブサービスの呼び出しであるが単一の宛先を有するもので、認証サービス322と認証エンジン328と間の呼び出しの対比として、2つのそのような二股分岐のウェブサービスの呼び出しを示す。具体的には、ウェブサービスのアイコン510は、二股分岐の基部にあり、宛先ノード326および328の横にはないため、ウェブサービス510への呼び出しに関連付けられたデータの1つのセットが存在する。呼び出しのためには宛先は1つしか存在しないことから、ウェブサービスのアイコン515は、宛先ノード328の横にあるかまたは隣接してある。必要に応じて、ウェブサービスのアイコン515は、矢印513がノード322とウェブサービスのアイコン515との間で依然として延長するようにノード322と328の間に存在する。しかし、追加の矢印(図示せず)がウェブサービスのアイコン515とノード328の間で延長する。ウェブサービスのノード512は、二股分岐の基部にあり、宛先ノード328および330の横にはないため、ウェブサービス512への呼び出しに関連付けられたデータの1つのセットが存在する。
例えば、取引サービス320のノードは、複数のマシンにわたって実行する取引サービスのサブシステムの複数のインスタンスの概要を表すことを想起されたい。ウェブサービス510は、取引サービス320のサブシステムが実行する1以上のコンピューティングデバイス/マシンに関連付けられており、ウェブサービス512は、報告サービス324のサブシステムが実行する1以上のコンピューティングデバイス/マシンに関連付けられている。ウェブサービス510および512のメトリックまたは警告のアイコンは、1つのコンピューティングデバイスから次のコンピューティングデバイスへ行われるメソッド呼び出しの性能または正常性を表す。
1つのアプローチでは、警告は、応答時間などの時間メトリックに関連している。警告は、正常状態が第1レベルL1未満の応答時間に対して示されるように設定可能で、注意状態がL1から第2レベルL2の間の応答時間に対して示され、危険状態がL2よりも大きい応答時間に対して示される。警告は、性能メトリックのどんな種類に基づいても設定可能である。例えば、計測は多くの種類の性能メトリックを生成することができ、それらには、コンポーネントの平均実行時間または応答時間、毎秒または間隔ごとの呼び出し率、呼び出し回数、開始したが終了していない間隔ごとの呼び出しの回数を示す同時実行のメトリック、および呼び出しを開始した間隔ごとのメソッド呼び出しの回数が特定の閾値を超えた呼び出し回数を示すストール状態のメトリックが含まれる。これらは、アプリケーション実行時間において取得され、エージェントによって報告された、コンポーネントデータの例である。警告は、どんな種類のアイテムにも提供可能である。
また、サブシステムをサポートするコンピューティングマシン上で使用されるリソースに対して、計測は、例えば、ガーベジコレクションのヒープサイズ、ファイルやソケットのアクティビティを示すバンド幅メトリック、スレッドの数、システムログ、例外処理、メモリリークおよびコンポーネントの相互作用を特定するようなデータを生成する。警告は、またどんな種類のアイテムにも提供可能である。
さらに、警告は、特定のパラメータを有するURLのような業務トランザクションコンポーネントための1以上の性能メトリックに基づいて設定可能である。例えば、警告は、特定の時間を超えた業務トランザクションコンポーネントの平均応答時間を表す。
後述するように、警告およびメトリックアイコンに基づいて、ユーザは、UIに示された、業務トランザクション、サブシステムおよび呼び出し、に関するさらなる情報を取得するために様々な手段を得ることができる。1つのアプローチでは、ユーザは、警告およびメトリックアイコンの存在によって案内され、関連付けられた、業務トランザクション、サブシステムおよび呼び出しに関するさらなる情報を、例えば問題を診断するために取得しようとする。また、後述するように、他の種類の情報が、診断を支援するためにUIに表示される。一般的に、本明細書で提供される様々なUIが1以上のウィンドウで提供され、情報にアクセスするための、ポップアップウィンドウ、マウスオーバーもしくはホバーボックス、ツールチップならびに右クリックのような既知のUIの技術をUIが使用する。
特定の業務トランザクションおよびそのサブシステムについて、UIは、発注310、およびオプション取引312の両方が、フロントエンドのサブシステム、即ち取引サービス320を呼び出すことを示している。ある設定例では、例えば、株や債権の売買をするため、発注される注文を決めることにより、ユーザは発注310を開始する。すべての、ユーザ入力ならびにユーザに与えられる情報もしくは指示が、ウェブページまたは他のUIを介して提供される。または、プットオプションやコールオプションのようなオプションに関係する取引を決めることによって、ユーザはオプション取引312を開始する。いずれの場合も取引サービスが使用される。取引サービスは、例えば、注文/取引を処理するために付加的な情報を取得するシステムcaSAPホスト321を呼び出す。システムcaSAPホスト321は、計測されていないことからそれについてはあまり知られておらず、そのノードは単なるプレースホルダである。取引サービスのインスタンスにより呼び出されるコンピューティングデバイス321のポートが知られており(例えば、ポート3456)、この情報がノード321を修飾するために使用される。システムcaSAPホスト321は、別のホストまたはリソース(図示せず)を呼び出し得るが、これは図示されていない。
コンピュータネットワークでは、ポートは、通信のエンドポイントとして貢献するアプリケーション固有またはプロセス固有のソフトウェアの構成である。例えば、トランスミッションコントロールプロトコル(TCP)およびユーザデータグラムプロトコル(UDP)のようなインターネットプロトコルスイートのトランスポート層のプロトコルによって使用される。特定のポートは、一般にポート番号として知られている番号、関連付けられたIPアドレス、および通信に使用されるプロトコルによって識別される。TCPおよびUDPは、パケットのヘッダ内の送信元と宛先のポート番号を特定する。プロセスは、バインディングとして知られるプロセスで、ネットワークを介してデータを送受信するため、その入出力チャンネルのファイル記述子(ソケット)をポート番号およびIPアドレスと関連付ける。オペレーティングシステムのネットワーキングソフトウェアは、すべてのアプリケーションのポートからネットワークへの出て行くデータを送信するとともにパケットのIPアドレスとポート番号を一致させることによって到着するネットワークパケットをプロセスに転送する、タスクを有する。
プロセスは、ソケットを用いて転送プロトコルのポートとの関連付けを作成する。ソケットは、転送のエンドポイントとして使用されるソフトウェア構造である。プロセスのためにオペレーティングシステムによって作成され、ポート番号とIPアドレスの組み合わせで構成されたソケットのアドレスに結び付けられている。ソケットは、一度に一方向に(半二重)または同時に双方向に(全二重)データを送受信するために設定される。
取引サービス320は、注文/取引をリクエストするために、1以上のウェブサービス(ウェブサービスのノード510に集約されている)を使用する。ウェブサービス510は、ユーザの資格情報を検証するために、(a)注文/取引を処理する注文エンジンサブシステム326、および/または、(b)注文/取引を認証する認証エンジンサブシステム328、を順々に呼び出す。マップは、ほぼ同じ時間にまたは異なる時間(例えば、注文レコードSQLデータベースへの呼び出しが行われた後)に、同じ業務トランザクションの一部または異なる業務トランザクションの一部(結局、取引サービスに関連付けられた2つの業務トランザクションが存在する)等として、これらの他サブシステムの両方を取引サービスが呼び出すことを必ずしも示すわけではない。他サブシステムは、同じ業務トランザクションの一部として呼び出されることも可能であるが、それは異なるインスタンス間である。マップは、特定された期間のあるポイントで、取引サービスがウェブサービス510を用いてこれらのフロントエンドの両方を呼び出したことを伝えている。
ウェブサービス510からの1以上の呼び出しを処理するために、注文エンジンサブシステム326は、2つのバックエンド、即ちSQL文を使用して注文レコードを格納する注文レコードSQLデータベース332とシステムcaDBホスト334を呼び出す。システムcaDBホスト334は、例えば、JDBCドライバの一部としてマークされていない管理ハンドシェイクまたはその他のタスクのために使用される。認証エンジンサブシステム328は、例えば、ユーザ/顧客が注文/取引を行うことについて認証されていることを確認するため、顧客レコードを格納する顧客レコードSQLデータベース336を呼び出す。
ログイン304の業務トランザクションは、フロントエンドのサブシステム、即ち認証サービス322を含む。設定例では、前述したように、ログインは、認証サービスサブシステム322においてコンポーネントCM1からCM4aを呼び出し、認証エンジンサブシステム328においてCM7からCM10を呼び出す。
矢印513によって示されるように、認証サービスサブシステム322よりも同じサーバまたは異なるサーバになる認証エンジンサブシステム328において、CM4aはCM7を呼び出す。CM7はCM8を呼び出し、CM8は、ユーザのログインがパスワードと一致することを確認するための顧客レコードにアクセスするために顧客レコードSQLデータベース336を呼び出す。これが成功すると仮定すれば、制御フローはCM7に戻り、CM7がCM9を呼び出す。CM9は、アカウントを維持するため、例えば、ユーザが料金を支払ったり最低限度の取引を行ったりするなどして、ユーザのアカウントが有効であることを確認するために顧客レコードに再びアクセスして、顧客レコードSQLデータベース336(または別のデータベース)を呼び出す。これが成功すると仮定すれば、制御フローはCM7に戻り、CM7はCM10を呼び出す。CM10は、ユーザが現在ログインしていることを示すため、レコードを更新するために顧客レコードに再びアクセスして顧客レコードSQLデータベース336(または別のデータベース)を呼び出し、login status=trueをCM7に返す。制御フローは、次にCM2に戻り、CM2はCM4bを呼び出してCM4bがCM5を順々に呼び出す。制御フローは、次にCM4bに戻り、その次にCM2に戻って最後にログイン業務トランザクションのインスタンスが終了するポイントであるCM1に戻る。
残高306および取引概要308の両方が、共通のフロントエンドのサブシステム、即ち報告サービス324を呼び出す。設定例では、ユーザは、例えば、特定のアカウントでの資金量を知るために口座残高を取得するリクエストを行うことによって、残高を開始する。また、ユーザは、例えば注文/残高、送金などの最近のトランザクションの報告(例えばステートメント)を取得するためにリクエストを行うことによって取引概要308を開始する。いずれの場合も、報告サービス324はウェブサービス512を呼び出すことによって報告のリクエストを処理し、同様に、ウェブサービス512は認証エンジンサブシステム328を呼び出して、認証エンジンサブシステム328は、ユーザ/顧客が報告を取得することを承認されていることを確認するために顧客レコードにアクセスするため、顧客レコードSQLデータベース336を呼び出す。
一実施形態では、制御フローは報告サービス324に戻り、報告サービス324はウェブサービス512を介して報告エンジンサブシステム330への別の呼び出しをして、報告エンジンサブシステム330は報告を提供するために使用されるレコードを取得するため、報告レコードSQLデータベース338を呼び出すことによって報告のリクエストを遂行する。ウェブサービス512へのこの呼び出しには、必要とされる報告の種類、アカウントの識別子、関連する時間フレームなどを特定する情報を含む。
図4B1から図4B3に関連して説明したように計算された時間メトリックは、対応するノードの上に表されるようにUI505に表示される。つまり、UIおよびそのノードと矢印は、メトリックによって修飾されている。合計時間幅、正味の時間幅および/または待機時間が表示される。ここで、ログインの合計時間幅(1300ミリ秒またはミリ秒)がログインのノード304の上に、600ミリ秒の正味の時間幅が認証サービスのノード322の上に、認証エンジン328への呼び出しのためサブシステム相互の通信時間(100ミリ秒)が矢印513の上に表示され、時間幅300ミリ秒が認証エンジンのノード328の上に表示され、顧客レコードSQLに割り当てられる300ミリ秒の待機時間が矢印613の上に表示される。ノードと矢印はこのようにメトリックで修飾されている。これらのメトリックは、ログインのような業務トランザクションの単一のインスタンスに対するものであるか、またはより一般的には、特定の時間間隔に亘る業務トランザクションの複数のインスタンスの平均である。
ログインのノード304に対して表示されている危険レベルの警告は、例えば1000ミリ秒のような閾値レベルを超える1300ミリ秒の時間に基づくものである。認証サービスのノード322に対して表示されている危険レベルの警告は、例えば300ミリ秒のような閾値レベルを超える600ミリ秒の時間に基づくものである。矢印513に対して表示されている危険レベルの警告は、例えば50ミリ秒のような閾値レベルを超える100ミリ秒の時間に基づくものである。認証エンジンのノード328に対して表示される正常レベルの警告は、例えば500ミリ秒のような閾値レベルを超えない300ミリ秒の時間に基づくものである。矢印613の先端(例えば、バックエンド呼び出しの終点)の半分が暗色に着色された円が、関連したメトリックが使用可能であって警告が定義されていないことを示している。
一般的に、UI510には、様々な業務トランザクション、サブシステムおよび呼び出しに対する時間メトリックが付加される。時間メトリックは、ログイン業務トランザクション304に対して単純に示されているにすぎないが、実際には、すべての業務トランザクションに対して同時に表示可能である。複数の時間メトリックが異なる業務トランザクション(例として、発注310およびオプション取引312によって呼び出される取引サービス320)によって呼び出されるサブシステムと関連付けられている場合、各時間メトリックは、色分けまたは他の可視化技術によって業務トランザクションの1つに関連付けられる。例えば、発注と関係付けられた時間メトリックは、取引サービスのノード320の上にある一色で表示され、一方、オプション取引に関連付けられた別の時間メトリックは、取引サービスのノード320の上に別の色で表示される。
時計のアイコン511は、ログイン業務トランザクションのすべてサブシステムの間において、最長の正味の時間幅(または合計時間幅、または待機時間)を有するサブシステムに提供される。2つの正味の時間幅が許容範囲内で同じの場合、高いレベルのサブシステムがアイコンを受け、アイコンは両方のサブシステムで表示される。またはアイコンは表示される必要はない。
このようにして、ユーザは、与えられたサブシステムに問題があることを迅速に確認でき、そのサブシステムに関する診断に重点的に取り組むことができる。問題のある複数のサブシステムもまた特定される。また、警告の重大度はユーザに指針を与える。例えば、通常レベルの警告が認証エンジンサブシステムに表示され、危険レベルの警告が認証サービスサブシステムに表示される場合、ユーザは、最初に認証サービスサブシステムを調査するように導かれる。様々な技術が提供され、それによってユーザはサブシステムとそれが呼び出すコンポーネントに関する付加的な詳細を取得可能となる。
UI上で提供されているメトリックは、特定の時間間隔で、管理されたアプリケーションからのデータに基づいている。1つのアプローチでは、UIは、最初はメトリックなしで表示され、例えば、ユーザに規定されたフィルタ基準と一致するトランザクションを見つけることによってメトリックを取得するためのコマンドをユーザが入力する。ユーザは、手動で基準を規定でき、または1以上の基準のデフォルトセットが使用される。そして、UIには、基準と一致するトランザクションによるメトリックが付加される。別のアプローチでは、UIは、フィルタ基準のデフォルトセットに基づいてキャプチャされたメトリックを最初に表示する。
図5B1は、ログイン業務トランザクション304のためのメトリックを示すホバーボックスを付加した図5Aのユーザインタフェースを示す。UI520において、ユーザは、関連した性能メトリックを表示するため、業務トランザクション、サブシステムもしくはウェブサービスの呼び出しのノードの上または矢印の上にカーソル(角度のある矢印で表される)を指すように、例えばマウスのようなポインティングデバイスを使用する。一般的に、ユーザは、後述するように、UIの補助領域に関連情報を表示させるため、選択を入力するためにノードを指してクリックする。エレメントを指すと、通常、上に重なるツールチップが出現し、エレメントをクリックすると(例えば選択すると)、通常、UIの別の部分に関連した情報を表示する。ノードは、例えば、業務トランザクションの全体または業務トランザクションのサブシステムに関連付けられている。特定の性能メトリックおよびその形式は設定することができる。ここで、カーソルがログインのノードをしばらく指したままでいると、ホバーボックス522が出現する。そして、ユーザは、選択された業務トランザクションと関連付けられたメトリックを表示するためにコマンドを提供する。
ホバーボックスは、警告レベルおよび関連した時間間隔の性能メトリックと同様に、業務トランザクション(ログイン)の名称を特定する。警告レベルは危険な状態を示す。次に、1300ミリ秒の平均応答時間(合計時間幅)が表示される。この設定では、一例として、ログインの応答時間は、ログインの4つのインスタンスの平均である。「カウント」は、分析対象の時間間隔である最新の時間間隔でのログインのインスタンスまたは呼び出しの回数を示す。ここで、カウント=4は、4つの呼び出しを示す。「最小」は、最小応答時間、例えば1100ミリ秒を示し、「最大」は、最大応答時間、例えば1500ミリ秒を示す。「間隔ごとのエラー数」は、最新の時間間隔におけるログインでのエラーの数を特定する。「間隔ごとの応答数」は、4つの応答のようにログインに関連付けられた応答の数を特定する。「ストールカウント」は、ゼロストールのように最新の時間間隔におけるログインでのストール数を特定する。ホバーボックスは、選択された業務トランザクションを報告する、すべてのコンピューティングデバイス/エージェントに亘る概要性能データを提供する。
図5B2は、認証サービスサブシステム322のためのメトリックを示すホバーボックスを付加した図5Aのユーザインタフェースを示す。UI525において、例えば、ノード304を経由した業務トランザクションのためにホバーボックスを提供することに加え、メトリックを有するホバーボックスがログインの任意のサブシステムのために同様に提供される。例えば、認証サービスサブシステム322のためのホバーボックス523は、サブシステムに特有のメトリック、例えば、警告レベル、平均応答時間、同時呼び出しの回数、間隔ごとのエラー、間隔ごとの応答およびストールカウントを示す。
したがって、与えられたサブシステムに対して、ユーザは、関連付けられた性能メトリックの表示を起動する。これは、サブシステムを通過するすべてのトランザクションに亘るもので、そのため一般的な正常性または全体のパフォーマンスを表す。
さらなる例として、ウェブサービス342ためのホバーボックスが、取引サービス320によって行われた呼び出しに特有の類似したメトリック、例えば、警告レベル、平均応答時間、間隔ごとのエラー、ストールカウントを示す。
また、ユーザは、エージェントおよびエージェントごとのデータを報告する一覧表の表示を起動させる。エージェントごとのデータとともに、依存関係マップは、例えば、特定の業務トランザクションを報告するすべてのコンピューティングデバイス/エージェントに亘る全体の正常性データのような概要性能データを表示する。現在値がホバーボックスで表示されて、時間的傾向も、例えば、下方のタブに、トランザクションの一覧表、詳細およびトレース表示のラベルが付けられ、補助領域において使用可能である。最終的に、同じ種類の概要データもまた、ホバーボックスのスナップショットと時間的傾向の両者に対して特定されたサブシステム(フロントエンドとそれらのバックエンドの呼び出し)のためにも使用可能である。
ツールチップのデータ(および図5Hに示されるデータチャート)は、すべてのエージェントにおいて関連したすべてのトランザクションに亘って要約されるので、「一般的な正常性」または「全体的な性能」に対応する。寄与エージェントおよびバイエージェントの性能メトリックを一覧表にする場合(図5Gにあるように)、表にされたエージェント(例えば、特定のJVMで実行される)によって報告された関連したすべてのトランザクションに亘って要約する。これをサブシステムの単一の「ロケーション」と称し、場所の正常性メトリックについて説明する。
図5Cは、ログインためのオプションを示すコンテキストメニュー532を付加した図5Aのユーザインタフェースを示す。一般的に、ノード304のような業務トランザクションのノードは、ポインティングデバイスを介して入力されるコマンドのようなノードに関連付けられたユーザコマンドを提供するために使用される。ユーザは、ノードに特有のオプションの一覧表をUI530に表示させるため、ノードを指してマウスを右クリックする。そして、1つの可能なアプローチとして、カーソルでオプションを指定して左クリックすることによってオプションが選択される。
例えば、コンテキストメニュー532は、ログイン304に関する付加的な情報を取得するため、ユーザが4つのオプションから選択することを許容する。第1のオプションは、図5Dのインタフェースとなるログインのマップを表示することである。第2のオプションは、図5E1のインタフェースとなる一致するトランザクションを検索することである。第3のオプションは、図5Gのインタフェースとなるログインのためのロケーション(例えば、寄与エージェントおよびそれらと関連付けられた正常性メトリックのデータ)を検索することである。第4のオプションは、図5Hのインタフェースとなるログインのための正常性メトリックを表示することである。例えば、正常性メトリック、性能メトリックのセットは、ログインの全体的な正常性を示す。
図5Dは、図5CのUIのコンテキストメニュー532から起動されるログイン業務トランザクションのマップのユーザインタフェースを示す。「ログインのマップを表示する」が選択される場合、領域504のツリーは、ログインが選択されたことを示すために自動的に更新され(例えば下線により)、UI540は、この選択された業務トランザクションについての詳細を提供する。あるいは、ユーザは、コンテキストメニュー532を使用する代わりに、ツリーにおいて、対応するノードを選択することによって領域504からログインを選択することができる。また、ユーザは、矢印のカーソル(図示された)を使用することによってログインのノード304でダブルクリックする。ノード304でシングルクリックすることにより、ノードを選択して、補助表示領域または下部の表示枠562(後述)を出現させることができる。
ここで、ユーザの選択によりUIは、ログイン304を表すノード304ならびに関連したサブシステムのノード322、328および336を太実線枠で強調表示する。また、ノードの枠を変更することで強調表示することは1つのオプションで、色の使用や影および/または他の視覚的効果も可能である。ログインに関連付けられた矢印もまた、例えば、線幅を増やすなど他の可視化技術によって強調表示される。この強調表示によって、ユーザは、サブシステム間の依存関係の呼び出しと同様に、ユーザが選択した業務トランザクションに関与するサブシステムを容易に識別して集中することができる。ユーザが選択した業務トランザクションに関与していないサブシステムのノードは、強調表示されることなく、例えば、破線や点線の枠により重視されない。強調表示は、1つのノードまたは矢印を別のノードまたは矢印から視覚的に区別する1つの方法である。
図5E1は、図5CのUIのコンテキストメニュー532から起動されるログイン業務トランザクションに一致するトランザクションを検索するユーザインタフェースを示す。UI550において、ウィンドウ564が表示され、例えばログインのような現在選択されている業務トランザクションのために一致するトランザクションのインスタンスをユーザが検索することを許容する。ウィンドウは、トランザクションのマッピングモードにおいて、将来のある期間にアプリケーションの計測からデータを取得するのに使用される1以上のフィルタ基準でユーザがコマンド入力することを許容する。例えば、ログインが異常に長いログイン時間を要する場合のようなクライアントのコンピューティングデバイスのユーザがアプリケーションにログインの問題を抱えている状況を考える。ユーザは、ヘルプセンターの担当者に電話して問題を説明する。ヘルプセンターの担当者は、トランザクションからのメトリックの新しい記録を開始する一方、問題が起きた同じ手順をユーザに繰り返すように指示するなどして問題を診断する措置をとる。これは、ヘルプセンターの担当者が、問題がそのユーザにいつも起きるといった特定のユーザに固有のものであるか、またはログインを試みるすべてまたは大半で起きるといった一般的なものであるか、を判断するのに役立つ。問題がユーザに固有のものである場合、追加の一致するトランザクションがそのユーザに対してだけ設置される。ウィンドウ564は、フィルタ基準としてクライアントのコンピューティングデバイスのユーザを識別するフィールド(ユーザID)を含む。問題が一般的であるかまたは限定的であるかを決定することは、問題の発生源を区分けするのに有用である。
ヘルプセンターの担当者は、例えば、次の数秒または数分のようなその後の監視期間におけるデータの記録を構成することによって追加のデータを取得することができる。ヘルプセンターの担当者は、ミリ秒またはそれ以上の特定の時間である、トランザクションに対する閾値の時間幅を入力する。これは、閾値を超えたその後のログイン業務トランザクション(例えばCM1を呼び出すトランザクション)について、コンポーネントデータだけがUIを介してキャプチャされて表示されることを意味する。場合によっては、1つのアプローチでは、業務トランザクションは、最初のスレッドがキャプチャされて表示されるケースでは、複数のスレッドを含む。構成に応じて、すべてのスレッドをキャプチャし得るが、通常、最初のスレッドの最初のコンポーネントによってトレースを一覧表にしたり/ラベルを付けしたりする。
さらに、ヘルプセンターの担当者は、(a)特定の秒数、および(b)一致するトランザクション(例えば、一致するインスタンスまたはトレース)の特定の数が検出された後よりも早い時期の後に終了する期間を設定する。例として、ヘルプセンターの担当者は、1000ミリ秒の閾値に設定し、180秒(3分)後、または一致するトランザクションが10になった後、のいずれか早く到来する方で停止する。ヘルプセンターの担当者は、その監視期間を開始するために「OK」ボタンを選択するか、または新しい監視期間を開始することなくウィンドウを閉じるために「閉じる」ボタンを選択する。
ウィンドウ564は、エージェントもしくはホスト識別子、または他の要因によってフィルタリングするのと同様に、最小値および最大値のトランザクションの時間幅を含む任意のフィルタ基準を設定するために使用される。
一致するトランザクションについての情報は、補助領域562に示されている。補助領域562は、合計時間幅、または各トランザクションのインスタンスの、報告エージェント識別子の、エージェントが実行するホストの識別子の、およびトランザクションの開始時刻のタイムスタンプの、その他の時間メトリックを一覧表にするテーブルを提供する。時刻は、時間、分および秒で載せられている。秒の小数点以下の桁も提供されている。補助領域562は、トランザクションのインスタンスに関連付けられた性能メトリックの任意の型を提供する。
例えば、15秒ごとに収集するメトリックは、このトランザクショントレースのデータと異なる。トランザクショントレースは、一致するトランザクションを記録すること、および呼び出しシーケンスと各呼び出しの合計時間幅(とシーケンスの合計時間幅)を識別することに関与する。また、特定のトランザクションがエラーを報告したか否かについての情報を取得する。
補助領域562は、例えば、ウィンドウまたはUI550の他の部分として、または分離したディスプレィ画面に表示される。補助領域がトリアージマップの領域502と同時に表示されると有用である。補助領域はUIの任意の部分に現れる。
ユーザは、補助領域562のテーブルエントリをソートするために、列の見出しをクリックする。別のアプローチでは、補助領域562は、1つの軸が時間を表し、1以上の他の軸が他のテーブルの見出し、例えば、時間幅、トランザクションID、エージェントIDおよびホストIDを表す、2以上の軸に基づいて結果を表す。棒グラフ、円グラフなどのその他の視覚的な表示も可能である。最長の時間幅のトランザクションが、例えば診断などのために迅速に識別される。
ここでは、4つのトランザクションが設置されており、2つはホストAにおけるエージェントAからで、また2つはホストBにおけるエージェントBからである。エージェントAにおけるトランザクションの応答時間(合計時間幅)は、平均1150ミリ秒の、1100ミリ秒と1200ミリ秒である。エージェントBにおけるトランザクションの応答時間(合計時間幅)は、平均1450ミリ秒の、1500ミリ秒と1400ミリ秒である。4つのトランザクションの平均応答時間は、従って1300ミリ秒である。ユーザは、補助領域562に現在表示されている同じ型のトランザクションのインスタンスをもっと取得するため、「さらに検索」ボタンを選択することができる。1つのアプローチでは、この検索は、ユーザが基準を再入力することを要求されないように、ウィンドウ564によって設定された同じフィルタ基準を自動的に使用する。つまり、「さらに検索」コマンドは、以前と同じ基準を使用してトランザクショントレースのセッションを繰り返す。または、ユーザは新しい基準で再び検索可能である。いずれの場合も補助領域562は、以前の結果の代わりにまたは加えて、新しい結果で更新する。
補助領域562は、付加的な一致するトランザクションが識別されると、リアルタイムで更新される。さらに、領域566は、完了以前に検索の進行状況をユーザに知らせる。ここで、ユーザは、時間幅における1000ミリ秒を超える4つのトランザクションが今のところトレースされ/割り当てられ、検索における残り時間は53秒であることを知らされる。領域566のボタンは、ユーザが現在の検索を停止または再開することを許容する。付加的なトランザクションが割り当てられているので、補助領域562の相対的な大きさは、あるポイントまで拡張される。すべての結果を同時に表示するには画面上に十分なスペースがない場合、スクロール機構は、ユーザが付加的なトランザクションを見ることを許容する。あるアプローチでは、結果は、テーブルのエントリや行として表示される。「クリア」ボタンは、一覧表から古いトランザクションのインスタンスのすべて、つまり以前の記録のセッションからのすべてのトレースをユーザが削除することを許容する。エントリの隣のチェックボックスを選択し、次に「削除」ボタンを選択することにより、個々のエントリはユーザによって削除される。
記録のセッションが終了し、補助領域562において選択されたトランザクションがない場合、ログインのノードの近くに配置されたタイミングデータは、メトリックの現在のセットを反映するために更新される。例えば、ログインの平均時間幅(1300ミリ秒)が表示される。関連付けられたサブシステムのノード322、328および336の平均合計時間幅およびサブシステム相互の通信時間もまた表示される。ユーザが、補助領域562における1以上のトランザクションをチェックボックスで選択し、その後で「マップで表示」ボタンを選択する場合には、トリアージマップの領域502が対応するメトリックで更新される。例えば、最初の2つのエントリが選択される場合、1150ミリ秒の時間幅が、ログインのノード304に提供され、応答するメトリックが他のノードに任意に提供される。
いくつかのトランザクションに対しては、すべてよりも少ない業務トランザクションが呼び出されることが可能であることに注意されたい。ユーザが「マップで表示」に続いて補助領域562からそのトランザクションのインスタンスを選択する場合、これは、トリアージマップの領域502の他のサブシステムではなく、呼び出されたサブシステムだけを強調表示することによって反映される。例えば、図5Fに示すように、トランザクションのインスタンスの1つは、認証エンジンまたは顧客レコードSQLではなく、認証サービスを呼び出す。その場合、ノード304および322は強調表示されるが、ノード328および336、または矢印513および613は強調表示されない。
図5E2は、選択された業務トランザクションのコンテキストにおける認証サービスサブシステムに一致するトランザクションを検索するユーザインタフェースを示す。業務トランザクションに関係付けられているトランザクショントレースを検索することに代わるものとして、選択された業務トランザクションのコンテキストにおける、ユーザが選択した1以上のサブシステムに関連付けられたトランザクションのトレースを検索することが可能である。この例では、ユーザがUI555における認証サービスサブシステムのために領域504のフロントエンドの表示を選択する。フロントエンドの表示は、フロントエンドサブシステムから発しているすべてのトランザクションを表す。この選択により、選択されたサブシステムに関係付けられていない領域502におけるノードは削除される。必要に応じて、関係付けられた業務トランザクション304および312のノードは残る。さらに、認証サービスサブシステムに従属する1以上の付加的なサブシステムが表示される。例えば、別の不明のコンポーネント(ソケット)323が示される。認証サービスは、取引業務サービスの一部であると定義されるどんな業務トランザクションも含まないバックアップシステムを時々呼び出す。この場合、そのバックアップシステムは、フロントエンド表示に現れるが、取引業務サービスのマップには現れない。
ここで、ユーザは、コンテキストメニュー(図5Cにおけるコンテキストメニュー532のような)を呼び出すためにアイコンを指すことによってアイコン322を選択し、一致するトランザクションを検索するために「一致するトランザクションを検索する」を選択し、その結果、ウィンドウ565が表示される。この例では、ログイン業務トランザクションでのみ認証サービスを呼び出す、一致するトランザクションであると考えられるログイン業務トランザクションが選択されている。閾値は、サブシステムの合計時間幅と比較して実行される。閾値は、再びこの例では、1000ミリ秒と設定されている。このように、フロントエンドに関係なく特定の業務トランザクションのためのトランザクションを検索する以前の例と同様に、フロントエンドと業務トランザクションのためにフィルタと合致するトランザクションのインスタンスを検索する。換言すると、最初のサブシステムが認証サービスである、ログインのすべての業務トランザクションを探す。この場合、ログインのインスタンスに戻るが、認証サービスを使用した認証を必要とする他の業務トランザクションからのスタンドアロンのスレッドには戻らない。例えば、認証サービスも呼び出すオプション取引のトランザクションに戻らない。補助領域562は、3つのトランザクションが今のところ一致し、それらは応答時間1150ミリ秒、1250ミリ秒および1550ミリ秒のエージェントAならびにエージェントBからのものであることを示している。
上記の例では、3以上の業務トランザクションがサブシステムを呼び出す場合に拡張可能である。例えば、ユーザは、第3ではなく、第1および第2の業務トランザクションをフィルタ基準として選択する。
図5E3は、複数の業務トランザクションのコンテキストにおける認証サービスサブシステムに一致するトランザクションを検索するユーザインタフェースを示す。図5E2とは対象的に、ユーザインタフェース556は、すべての関連付けられた業務トランザクションに亘って認証サービスのための一致するトランザクションをユーザが設定することを許容する。ここで、ログインやオプション取引のためのアイコンが選択されることなく、認証サービスのアイコン322が選択される場合、ウィンドウ567は、フィルタ基準が特定の業務トランザクションを特定しないということを示す。必要に応じて、例えば、図5E1のような業務トランザクションの表示から、ユーザは、業務トランザクションから独立し選択されたサブシステムに一致するトランザクションをリクエストすることができる(業務サービスがツリー内から選択された場合、これはデフォルトになる)。その後、図5E3にあるように、トレースを実行する前にユーザをそのサブシステムのためにフロントエンド表示にジャンプさせる。
図5Fは、ログインのすべてよりも少ないサブシステムが選択された業務トランザクションのインスタンスによって呼び出される、ユーザインタフェース560を示す。時間幅のようなメトリックは、呼び出されていないサブシステムには提供されない。業務トランザクションの特定のインスタンスが、集約された業務トランザクションにおいて呼び出されるサブシステムのサブセットだけを呼び出す状況が、例えば、発生したエラーによって起こされる、またはフローに影響を与えた時間幅のいくつかのパラメータによって生じる。また、エラーの状況においては、補助領域562におけるトランザクションの一覧表は、例えば、異なるフォントや色を使用してエラーを含んだトランザクションを識別する。フローに影響を与える業務トランザクションのパラメータの例が表示されており、例えば、ユーザIDに不正な文字があるとUIは認証エンジンが呼び出される前にエラーを返す。
図5Gは、図5CのUIのコンテキストメニュー532から起動されるログインのロケーションを有するユーザインタフェース570を示す。UIは、ログインのインスタンスが呼び出されたロケーション、つまりエージェントおよびコンピューティングデバイス(コンピューティングマシン)が特定の期間内にログインの1以上のインスタンスを報告したロケーションを表示する。この選択に応答して、コンテキストメニュー532の中で、「ログインのロケーションを示す」を選択することによって、補助領域562が提供される。コンテキストメニュー532は、ユーザが補助領域562にリンクすることを許容する。ロケーションは、ソフトウェアの計測からメトリックを取得する関連付けられたエージェントと同様に、ログインのソフトウェアが実行するホストコンピューティングデバイスを一覧表にすることによって識別される。現在の時間間隔のためのメトリック、例えば、応答時間(R/T)(合計時間幅)、ログインの同時呼び出しの回数、エラーの回数、応答回数およびストールの回数など、もまた提供される。エージェントおよびホストのロケーションには、メトリックにインデックスが付けられている。
この例では、2つのエージェント/コンピューティングデバイスは、それぞれログインの2つのインスタンスを報告し、ログインするためのロケーションを報告する。具体的には、ホストAにおけるエージェントAは2つのログイントランザクションのインスタンスを検出し、平均応答時間または時間幅は1150ミリ秒(例えば、1100ミリ秒のあるインスタンスと1200ミリ秒の別のインスタンスとの平均)である。ホストBにおけるエージェントBは2つの他のログイントランザクションのインスタンスを検出し、平均応答時間または時間幅は1450ミリ秒(例えば、1400ミリ秒のあるインスタンスと1500ミリ秒の別のインスタンスとの平均)である。必要に応じて、補助領域562は、各エージェント/ホストのインスタンスを集約する代わりに、ログインの各インスタンスに対するエントリを表示する。ホストは、テキスト名称またはインターネットプロトコル(IP)アドレスや他のネットワークアドレスによって識別される。これら両方のホストは、ログイントランザクションのトリガ要求を記録したコンピューティングデバイスを表し、したがって両方が認証サービスに関連付けられている。しかし、これらの番号は、業務トランザクションを定義する特定の業務トランザクションコンポーネントのためのメトリック、即ち認証サービスのフロントエンドのために測定された合計のアクティビティのサブセットを表す。
ログインを実装するためのソフトウェアは、1つだけのコンピューティングデバイスにインストールされることが可能である。または、ログインを実装するためのソフトウェアは、複数のコンピューティングデバイスにインストールされるが、そのうちの1つだけが、情報が報告される特定の期間内にログインを呼び出す。この情報は、補助領域562において明らかにされる。報告されたメトリックは、1つの実装において、UIを提供するセントラルマネージャについてのエージェントによって提供される。
図5Hは、図5CのUIのコンテキストメニュー532から起動されるログインの正常性メトリックのユーザインタフェース580を示す。領域504では、ツリーは、正常性メトリックが使用可能であるコンポーネントを識別するために拡張されている。ここで業務トランザクションおよび他のサブシステムに示されるメトリックのグラフは、すべてのエージェント上のすべてのトランザクションのインスタンスにわたって要約されている。1つのアプローチでは、ツリーは、各業務トランザクションのための単一の子のノードを有する。そのようなそれぞれの子のノードは、1つの実装において、計測によって実際に測定される唯一のコンポーネントである関連付けられた業務トランザクションコンポーネント(BTC)のために名前を付けられる。ツリーのBTCを選択するとグラフが表示される。
正常性メトリックは、平均応答時間、間隔ごとの応答、同時呼び出し、間隔ごとのエラーおよびストールカウントなどのメトリックを提供する、グラフ、テーブルまたは他の視覚的表現も含む。UI550は、例えば、UI530上で新しいウィンドウやポップアップウィンドウとして、または分離したディスプレィ画面で、起動される。
ツリーのノードは、各オプションを表示するために拡張され、またはオプションを非表示にするために折り畳まれる。「業務サービスによるもの」および「フロントエンドによるもの」は、マップのツリーの異なる部分(異なるサブツリー)で、アプリケーションを介してトランザクションをグループ分けしたりマッピングしたりするのに使用される異なるオブジェクト(業務トランザクションおよびフロントエンド)を表している。つまり、トランザクションは、特定の業務トランザクションに一致するものとして分類されるか、またはサブシステムのフロントエンド(または両方)のように特定のサブシステムを有するものとして分類される。業務トランザクションとその従属物(例えば、業務トランザクションに一致するトランザクションによって呼び出されるすべてのサブシステム)、またはフロントエンドとその従属物(例えば、そのフロントエンドから発しているトランザクションによって呼び出されるすべてのサブシステム)をマッピングする。
ツリー領域504の「業務サービスによるもの」または「フロントエンドによるもの」を選択すると、第1のケースにおいては特定の業務サービスまたは業務トランザクションを検索する検索ユーティリティを提供し、また第2のケースにおいてはフロントエンドまたはバックエンドの呼び出しを提供する。ツリーで業務サービスまたは業務トランザクションを選択することは、アプリケーショントリアージマップの「業務表示」、つまり業務サービスのすべての業務トランザクションのマップが表示される(業務トランザクションが選択されている場合にはそれらのいずれかが強調表示される)。ツリーにおいてフロントエンドを選択することは、アプリケーショントリアージマップの「フロントエンド表示」、つまりそのフロントエンドのマップとその従属物を表示する。業務トランザクションのまたはフロントエンドのレベルの下位のものをどれか選択することは、選択された項目またはその子のノードについてのメトリックの情報を生成する。
性能メトリックは、業務トランザクション(実際には、業務トランザクションコンポーネント)のために、またはフロントエンドの全体的な正常性やその様々なバックエンドの呼び出しのために、収集される。ツリーにおける業務サービスのノードは、関連付けられた業務トランザクションをグループ分けするためのフォルダ(それらをすべてまとめてマッピングする)で、業務トランザクションのノードは、業務トランザクションのマップを示し、フロントエンドのノードは、フロントエンドのマップを示し、そして他のすべてのノードは関連するパフォーマンスデータを示す。
したがって、ツリー領域504におけるエレメント「業務サービスによるもの」は、例えば、ユーザが業務サービスおよび業務トランザクションの階層的な配置の観点からデータを見ることを許容する。
ツリー領域504におけるエレメント「フロントエンドによるもの」は、ユーザがフロントエンドサブシステムの観点からデータを見ることを許容する。これは、「業務サービスによるもの」という表示のように同じデータを調べるための異なった方法である。例えば、ツリーのノードは、前述したものとは違ったサブシステムを含む。報告サービスのノードは、正常性メトリックにアクセス可能であることを示すために拡張されている。このノードは、平均応答時間、同時呼び出し、間隔ごとのエラー、間隔ごとの応答時間およびストールカウントなどのサブノードを提供するために拡張される。「バックエンド呼び出し」のノードは、ウェブサービスとその性能メトリックのためのサブノードを示すために拡張されている。前述したように、円が警告レベル(正常レベルための白および危険レベルのための暗色)を区別する。これは、ユーザが問題を迅速に診断することを許容している。
特に、警告は、親のノードが子のノードのいずれかの最悪ケースの警告状態を示すようにツリーにおいて「バブルアップ」する。そのため、報告サービスのウェブサービスのバックエンド呼び出しは危険レベルの警告を有し、その上の「バックエンド呼び出し」のノードも危険レベルの警告を有し、そして報告サービスのノード自身もそのようになる。(「正常性」のノードはフロントエンドそのものの正常性を表し、その一方で、その上のノードは、項目のフルセット、つまりそのアプリケーションのフロントエンドおよびバックエンド呼び出し、を表す。)実際の警告の閾値は、フロントエンドの「正常性」、バックエンド呼び出し、および業務トランザクションコンポーネント、に関連付けられている個々のメトリックに対して規定されている。残りは、これらに基づく概要の警告である(最悪のケース、「バブルアップ」の警告)。
図5Iは、ノード322と補助領域562から「詳細」タブをユーザが選択した後の図5Gのユーザインタフェースを示す。UI590で選択されたサブシステム322(認証サービス)に関する詳細が提供されている。ユーザがサブシステム(例えば二重の実線の枠)を選択する場合、業務トランザクションのパス(例えば単一の実線の枠)を示すためにサブシステムが強調表示されたときとは対照的に、異なる種類の強調表示が使用されることに注意されたい。
例えば、領域562は、ログインの一部としてサブシステムで呼び出されるコンポーネントの各インスタンスを特定する。単純な例では、各コンポーネントの唯一のインスタンスが示される。実際には、各コンポーネントの複数のインスタンスが示される。例としては、CM1、CM2、CM4a、CM4bおよびCM5の応答時間(合計時間幅)は、それぞれ、1300ミリ秒、1150ミリ秒、800ミリ秒、200ミリ秒および50ミリ秒である。CMはクラスのメソッドの組であることを想起されたい。さらに、ホストAのエージェントAは、各コンポーネントに関連付けられており、各コンポーネントの実行開始時間が明示されている。正味の時間幅もまた付加的にまたは選択的に提供される。詳細タブが、今、アクティブで選択されているので、それがトリアージマップにおいて、認証サービスのノード322と関連付けられているトランザクショントレースからのメソッド呼び出しを一覧表示にする。
必要に応じて、対象のサブシステムのノードだけがユーザにより選択された場合、従属的なサブシステムを呼び出す対象のサブシステムのコンポーネントは、補助領域562において提供されない。例えば、サブシステムのノード322だけが選択される場合、CM1、CM2、CM4aおよびCM5は、補助領域562で一覧表にされるが、CM4aはサブシステム328おいてCM7を呼び出すため、CM4aは表に載らない。このアプローチにおいて、従属的なサブシステム(例えばCM4a)への呼び出しコンポーネントは、ユーザが矢印513だけを選択する場合、補助領域内でそれ自体によって一覧表にされる。ユーザが、ノード322を選択する場合も、付加的なコンポーネントCM1、CM2、CM4aおよびCM5は一覧表にされる。これは、ユーザが粒度の大きいトリアージマップを調査することを許容する。
サブシステムによって呼び出されて他のサブシステムを呼び出すコンポーネント(呼び出しコンポーネント)も、サブシステムによって呼び出され、他のサブシステムを呼び出さないコンポーネントと視覚的に(例えば、色、フォント、アイコン、注釈などで)補助表示領域562において識別される。例えば、呼び出しコンポーネントCM4aは、図5Mにおいてイタリック体によって識別される。
ユーザは、任意のタブから閉じるボタンを選択し、「トランザクションマッピングモード」を終了させ、マップをその標準的な外観および動作に戻す。
別のオプションでは、1以上の「トランザクション一覧表」、「詳細」および「トレース表示」のタブのもとでの情報が、タブ付きの表示を使用する代わりに、ユーザインタフェースで同時に提供される。
図5Jは、補助領域562からノード328および「詳細」のタブをユーザが選択した後の図5Gのユーザインタフェースを示す。UI600において、選択されたサブシステム328(認証エンジン)に関する付加的な詳細が提供されている。既に述べたように、サブシステムのノードがユーザによって選択されているときには異なる種類の強調表示(二重の実線)が使用されている。補助領域562は、選択されたサブシステムでログインの一部として呼び出されたコンポーネントの各インスタンスを特定する。単純な例では、各コンポーネントの一つのインスタンスが示される。実際には、各コンポーネントの複数のインスタンスが示される。例としては、CM7の応答時間は、600ミリ秒で、CM8、CM9およびCM10のそれぞれの応答時間は100ミリ秒である。ホストBのエージェントBは、各コンポーネントに関連付けられており、各コンポーネントの実行開始時間が明示されている。
必要に応じて、上述したように、対象のサブシステムのノードだけがユーザにより選択された場合には、従属するサブシステムを呼び出す対象のサブシステムのコンポーネントは、補助領域562に提供されない。例えば、サブシステムのノード328だけが選択される場合、CM7は、補助領域562で表に載るが、CM8、CM9およびCM10はサブシステム336を呼び出すため、CM8、CM9およびCM10は一覧表にされない。このアプローチにおいて、従属するサブシステムへの呼び出しコンポーネント(例えば、CM8、CM9およびCM10)は、ユーザが矢印613および/またはノード336だけを選択する場合、補助領域内でそれら自体によって一覧表にされる。そしてまた、ユーザがノード328も選択する場合には付加的なコンポーネントCM7が一覧表に載る。
サブシステムによって呼び出されて他のサブシステムを呼び出すコンポーネント(呼び出しコンポーネント)も、サブシステムによって呼び出され、他のサブシステムを呼び出さないコンポーネントと視覚的に(例えば、色、フォント、アイコン、注釈などで)補助表示領域562において区別される。例えば、呼び出しコンポーネントは、図5Jにおいてイタリック体によって区別される。
図5Kは、図5E1のユーザインタフェースから起動される選択されたトランザクションのインスタンスのためのトランザクショントレースを示す。例えば、ユーザは、図5E1の補助領域562の「トランザクション一覧表」のタブからトランザクションのインスタンスの1つを選択し、次に「トレース表示」のタブを選択する。トレース表示は、選択されたトランザクションのインスタンスのための1以上のトランザクショントレースを提供する。図4B1および図4B2のトランザクショントレースは詳細が既に述べられており、図5E1におけるトランザクションの代表的なものであるので、この例では、図4B1および図4B2のトランザクショントレースが繰り返されている。
UI610の補助領域562において、トランザクショントレース641は、認証サービスに関連付けられたエージェントからのコンポーネントデータに基づいて提供され、トランザクショントレース651は、認証エンジンに関連付けられたエージェントからのコンポーネントデータに基づいて提供される。トランザクショントレース641は、CM1、CM2、CM4a、CM4bおよびCM5をそれぞれ表すために、グラフ部分642、643、639、644および645を含む。トランザクショントレース651は、CM7、CM8、CM9およびCM10をそれぞれ表すために、グラフ部分646、647、648および649をそれぞれ含む。
ユーザは、1以上の画面の同じUIにおいて、トリアージマップの領域502とトランザクショントレースを同時に見ることができ、そのうえ両者の相互関係を調査する。ユーザは、トランザクショントレースを全体として(例えば、ポインティングデバイスを使用して)選択可能であるか、またはトリアージマップの領域502において1以上の対応するノードを視覚的に区別できるようにそのグラフ領域639および642から649を選択可能である。
ユーザが1番目のトランザクショントレース641を選択する場合、ノード322は、ノード328および他のノードと視覚的に区別される。そして、ユーザが2番目のトランザクショントレース651を選択する場合、ノード328は、ノード322および他のノードから視覚的に区別される。別の可能なアプローチでは、ユーザが1番目のトランザクショントレース641を選択する場合、ノード322およびすべての従属するノード(328、336)ならびに関連付けられた矢印(513、613)は、他のノードおよび矢印から視覚的に区別される。そして、ユーザが2番目のトランザクショントレース651を選択する場合、ノード328およびすべての従属的な頂点(336)ならびに関連付けられた矢印(613)は、他のノードおよび矢印から視覚的に区別される。
図5Lは、ユーザがサブシステムのノードを選択した場合の図5Kのユーザインタフェースを示す。ここで、UI620において、カーソルの位置および二重の実線の枠で示されるように、ユーザがノード322を選択する。この選択の結果、対応するトランザクショントレース641は強調表示され、あるいは、そうでなければ補助領域562においてより太い実線でトランザクショントレース651から視覚的に区別される。よって、ユーザは、サブシステムに関連付けられた補助領域562における複数のトレースの中からトランザクショントレースを迅速に識別できる。代わりに、ユーザがノード328を選択することで、対応するトランザクショントレース651が強調表示され、またはトランザクショントレース641から視覚的に区別される。
必要に応じて、ユーザがノード322だけを選択する場合、トランザクショントレース641において別のサブシステムを呼びださないコンポーネント(例えば、CM1、CM2、CM4bおよびCM5であり、CM4aではない)だけが視覚的に区別される。ユーザが矢印513だけを選択する場合には、トランザクショントレース641において別のサブシステムを呼び出すコンポーネント(例えばCM4a)だけが視覚的に区別される。ノード322と矢印513の両方をユーザが選択する場合にすべてのコンポーネントが視覚的に区別される。同様に、ユーザがノード328だけを選択する場合、そのときはトランザクショントレース651におけるCM7だけが視覚的に区別される。ユーザが矢印613および/またはノード336を選択する場合、トレース651におけるCM8、CM9およびCM10(しかしCM7ではない)だけが視覚的に区別される。
図5M1は、ユーザがトランザクショントレースを選択する場合の図5Kのユーザインタフェースを示す。ここで、UI630において、カーソルの位置で示されるように、ユーザがトランザクショントレース641を選択すると(つまり、ユーザは対応するグラフの部分を選択する)、太線で示されるように、トランザクショントレース641はトランザクショントランザクショントレース651から視覚的に区別される。この結果、対応するサブシステムのノード322がより太い破線で強調表示され、したがってノード328から視覚的に区別される。よって、ユーザは、選択されたトランザクショントレースに関連付けられたトリアージマップの領域502内の複数のサブシステムの中からサブシステムを迅速に識別する。代わりに、ユーザがトランザクショントレース651を選択することで、トランザクショントレース641から視覚的に区別される。この結果的、対応するサブシステムのノード328が強調表示され、したがってノード322から視覚的に区別される。
別の例では、ユーザは、サブシステムとバックエンドの間の呼び出し関係を示す矢印(例えば、サブシステム328とバックエンド336の間の矢印613)を選択する。それに応答して、補助領域562におけるトレースの1以上のグラフ部分は、例えば、図5M1の補助領域562におけるグラフ部分CM8(647)、CM9(648)およびCM10(649)のように、または後述する図5Rの補助領域562におけるグラフ部分691から693のように、視覚的に区別される。これらのグラフ部分は、バックエンド336を呼び出すためにサブシステム328において呼び出されるコンポーネントを表す。サブシステム328および/またはバックエンド336もまたこのユーザの選択に基づいて強調表示される。または、ユーザは、バックエンド(例えばバックエンド336)を示すノードを選択し、それに応答して、補助領域562においてトレースの1以上のグラフ部分が視覚的に区別される。これらのグラフ部分は、バックエンド336を呼び出すためにサブシステム328において呼び出されるコンポーネントを表す。サブシステム328および/または矢印613もまたこのユーザの選択に基づいて強調表示される。詳細は図5Sを参照されたい。
図5M2は、ユーザがトランザクショントレースのコンポーネントを選択する場合の図5Kのユーザインタフェースを示す。ユーザインタフェース631、即ち補助領域562において、ユーザは、単一のコンポーネントCM2を選択し、それに応答して、関連付けられたサブシステムのノード322が視覚的に区別される。またユーザは、トレースの複数のコンポーネントを選択するが、トレースのすべてのコンポーネントよりも少なく、これに応答して、関連付けられたサブシステムのノード、またはノードが視覚的に区別される。これによりユーザは、より大きな粒度でシステムを理解することができる。
図5Nは、再生モードにおける図5Kのユーザインタフェースを示す。この表示では、サブシステムのノード322がタイムマーカの位置に基づいて強調表示される。この場合には、丸の付いた太い垂直線のようなタイムマーカ657をドラッグすることができ、ユーザによって所望のタイムポイントにセットされる。丸は、例えば、タイムマーカが重なったトレースの最下位レベルにおけるトランザクショントレースとタイムマーカの交点658示す。このアクションは、交点でのトランザクショントレースのコンポーネントを選択する。
タイムマーカは、ユーザによって、例えばそれをドラッグすることにより手動で、または再生モードにおいて自動的に、移動させることができる。再生モードでは、補助領域562は、VTR型の再生制御ボタンの領域656を含み、それには、始めに飛ぶ(js)、後退(sb)、再生/一時停止(pp)、停止(sp)、前進(sf)および終わりに飛ぶ(je)のボタンを含む。後退や前進のボタンを使用する代わりに、ユーザは、再生が一時停止している間に、次(nx)または前のエレメント(pe)をクリックすることもできる。「再生する」が、現在選択されているセグメントの最初(または何も選択されていない場合の最初のセグメント)からいつも開始する前提では、代替手段は、「後退、再生/停止、前進」である。停止は、このように一時停止と同じで、ユーザは、巻き戻しするために最初のエレメントをクリックするか、または前方に飛ぶために後のエレメントをクリックする。
これらの制御を作動させることによって、タイムマーカと交点が移動し、マップの対応する部分が強調表示される。1つのアプローチにおいて、業務トランザクションの各連続したノードは、交点658の現在の位置に基づいて強調表示され、一方、以前に強調表示されたノードは強調表示されたままで残る。別のアプローチでは、タイムマーカの現在の位置に関係付けられたノードだけが強調表示される。業務トランザクション(ログイン)を識別するノード304は、必要に応じて、再生を通して強調表示されたまま残る。
例えば、「再生」を選択することによって、タイムマーカはt0で開始し、一定速度で時間を増加させ、または次第に時間を増加させて、左から右に徐々に移動する。ユーザは、再生速度を調整する能力を有する。さらに、ユーザは、小さなセグメントの中を大きく可視化するようにトランザクショントレースのタイムスケールを調整することができる。再生速度は、典型的には、データが記録される実際の速度よりも遅い。
1つのオプションにおいて、「前にスキップ」または「後ろにスキップ」のボタンが、例えば、階段のような離散的な増加分だけ再生を進めることを許容することにより、トリアージマップの強調表示されたノードにおける変化を通してユーザの作業が迅速に進むように、強調表示されたノードおよび/またはノード間の矢印に変化を生じさせる。例えば、ユーザが「前にスキップ」のボタンをクリックするごとに、タイムマーカ657はノードの強調表示に変化を生じさせる次のタイムポイントに飛ぶ。このケースでは、タイムマーカは、各増加分のためのユーザのコマンドに対して各増加分、スキップする。同様に、ユーザが「後ろにスキップ」のボタンをクリックするごとに、タイムマーカ657はノードの強調表示に変化を生じさせる以前のタイムポイントに飛ぶ。別のオプションでは、「前にスキップ」のボタンは、ユーザにより一度選択されたトグルボタンで、これに応答して、各増加分に対するコマンドを再選択することをユーザに要求することなく、同じ離散的な増加分だけ再生を進める。タイムマーカは、このようにサブシステムのノードおよび/または矢印の強調表示に変化を生じさせないタイムポイントでは停止することなく、サブシステムのノードおよび/または矢印の強調表示に変化を生じさせる、選択されたタイムポイントにおいて停止するため増加分を移動する。これらの選択されたタイムポイントは、例えば、グラフ内の各遷移に基づいてグラフを所定の間隔で分割すること、各間隔に関連付けられた1以上のサブシステムおよび/または矢印を識別すること、および、同じ1以上のサブシステムまたは/および矢印に関連付けられた隣接する間隔を組み合わせることによって、特定される。残りのタイムポイントは、強調表示の変化が発生するタイムポイントである。ボタンを二度クリックすると、ボタンはその通常の上がった状態に戻り、通常のセグメントごとの更新を再開させて再生を始める。
強調表示されたノードおよび/または矢印、強調表示されたサブシステムのノードおよび/または矢印に変化を生じさせる離散的な増加分、および応答時間の例は、t0(ノード322)、t2(矢印513)、t3.5(ノード328)、t4(矢印613)、t5(ノード328)、t6(矢印613)、t7(ノード328)、t8(矢印613)、t9(ノード328)、t9.5(矢印513)、t10(ノード322)であり、場合によっては、エンドポイントとしてのt13(ノード322)である。
別のオプションでは、タイムマーカは、トレースを均一に横断移動するのではなく、トランザクショントレースにおいてコンポーネントからコンポーネントにスキップをする。それぞれのスキップは、トリアージマップに変化を生じさせる場合もあれば、生じさせない場合もある。しかし、それは別々のコンポーネントがトレースのどこにあり、いくつのコンポーネントが同じサブシステムに関連付けられているかを、ユーザが理解するのに役立つ。また、マップは、例えば、サブシステムの合計時間ではなく、現在選択されているコンポーネントの時間幅を表示するために更新される。例えば、後述するように、図5Qにおいて、tdは、コンポーネントCM8のための時間である。コンポーネント−コンポーネント間でスキップをするための離散的な増加分、強調表示されているサブシステムのノードおよび/または矢印、および、応答時間は、先の例と同じで、t1(ノード322)、t11(ノード322)、t11.5(ノード322)、t12(ノード322)およびt12.5(ノード322)を付加している。
スキップのアプローチでは、タイムマーカは、それぞれの離散的時間の増加分の左端、中央または右端に位置する。
図5Oは、パス513がUI650において強調表示されている場合の図5Nのユーザインタフェースを示す。この時間においては、t2からt3でCM4はt2よりも早くCM7へその呼び出しを行い、CM7はt3まで実行を開始せず、そのためパス513を介した通信が行われる。その結果、パス513が強調表示される。
図5Pは、サブシステムのノード328がUI660において強調表示されている場合の、再生モードにおける図5Nのユーザインタフェースを示す。この時間においては、t3からt4でCM7が実行されているが、バックエンド336への呼び出しはまだ行われておらず、そのためパス613が強調表示されていない。
図5Qは、パス613がUI670において強調表示されている場合の、再生モードにおける図5Nのユーザインタフェースを示す。この時間においては、t4からt5でCM8はバックエンド336への呼び出しを行い、そのためパス613(矢印および円のアイコン)が強調表示されている。1つのアプローチでは、ノード328はデータベース336からの応答を待っているため、ノード328は強調表示されない。1つのアプローチでは、ノード336は計測がないためトランザクショントレースでは見ることができないダミーのノードであることから、ノード336は強調表示されない。代わりに、矢印613およびノード336は、互いに強調表示される(またはされない)ために結合される。バックエンドへの呼び出しは、例えば、ウェブサービスの呼び出しまたはJDBCドライバの呼び出しは、1以上の子のSQL文を組み合わせて表すことを想起されたい。したがって、CM8、CM9およびCM10は、トランザクショントレースにおける深さの分離したレベル(あるレベルにおけるJDBCドライバ呼び出および次の低レベルにおけるSQL文)で現れる1以上の子のSQL文を組み合わせにおけるJDBCドライバの呼び出しをそれぞれ表す。簡略かのため、これらは、トランザクショントレース641および642において1つのレベルで結合される。
図5Rは、SQL文を付加した図5Qのトランザクショントレース651を示す。前述したように、1つの可能な実装では、CM8、CM9およびCM10はそれぞれJDBCドライバの呼び出しであるが、一方、子のSQL文691、692および693もまたそれぞれ表示されている。
図5Sは、ユーザが矢印613を選択し、その結果、図5M1の補助領域562におけるグラフ部分CM8(647)、CM9(648)およびCM10(649)が視覚的に区別される、ユーザインタフェース680の例を示す。矢印のカーソルおよびその結果のより太い矢印613は、ユーザの選択を示す。図5Rの補助領域で、付加的にまたは選択的に、グラフ部分691から693は視覚的に区別される。
図6は、ユーザインタフェースを提供するための方法を示す。前述のように、管理されたアプリケーションを実行すると、関連するコンポーネントデータは、アプリケーションの計測から取得される。この情報は、エージェントによってセントラルマネージャに報告される。マネージャにおけるデータは、記憶装置210(図2C)のようなデータベース118(図1)に提供される。データは、様々なデータフィールドを含むことができ、そのデータフィールドは、本明細書で説明した機能を達成するために、複数の異なる方法でデータを問い合わせアクセスさせるようにすることができる。
ステップ694において、データは、例えば15分といったデフォルトの値、またはユーザによって指定されるように設定された分析のもとで、指定された時間間隔でアクセスされる。1つのアプローチにおいて、このステップは、前述したように「さらに検索」コマンドを含む。データは、例えば、データストアからアクセスされる。大量なトランザクショントレースのデータを収集して格納することは、処理時間および記憶容量の点でコストがかかるが、過去のデータ(過去の数日または数ヶ月)も使用される。また、より高い周波数に設定したサンプリングにより、進行中のトランザクショントレースのサンプリングに頼ることも可能である。
通常、3つの分離した処理経路が続く。第1の処理経路では、応答時間および時間幅のような性能メトリックがステップ698でのトランザクショントレース/呼び出しから計算される。ステップ699は、例えば、性能メトリックを個々の閾値と比較することによって警告レベルを決定する。警告は、サブシステムの全体的な性能メトリックに基づいて計算される。トランザクショントレースの時間幅に対する閾値については、トランザクショントレースで測定された対応する時間幅を閾値に適用することによって、サブシステムの「平均応答時間」の警告のための閾値を再利用できる。これらの閾値は、単一のトランザクションの使用に対しては過度に反応し、多くの黄色や赤の警告といった結果を招き得る。1つのアプローチにおいて、性能メトリックおよび警告は、直接依存しているわけではなく、トリアージマップの構造から独立して計算される。性能メトリックは、業務トランザクションコンポーネントのパフォーマンス、即ちフロントエンドおよびバックエンド呼び出しを全体として記述する。つまり、特定の時間間隔に亘る、通常は15秒ごとに観察されたトランザクションである。このデータは現在および過去のモードで、トリアージマップで使用される。
性能メトリックは、平均応答時間、同時呼び出し、間隔ごとのエラー、間隔ごとの応答およびストールカウントを含む。さらに、特定のトランザクションのインスタンスに対して、トランザクショントレーサは、各業務トランザクション、例えば、図4B1および関連した考察に基づくようなトランザクションおよびコンポーネントに対する実行時間および呼び出し時間幅を算出する。
第2の処理経路において、2つの異なるデータのセット、即ちトリアージマップの構造を特定するためのデータと、そのマップ構造に特定のトランザクションのトレースをマッピングするためのデータ、が提供される。これらは、トリアージマップ上にトランザクショントレースの情報の重ね合わせを提供するために使用される。これらのデータのセットを提供するために、ステップ695において、期間内に呼び出された業務トランザクションとフロントエンドサブシステムとを特定する。トリアージマップのデータは、すべてのトランザクションに亘って提供される。トリアージマップを構築するために使用されるデータは、キャプチャされ、継続的に(データのサンプリングとともに)格納される。各マップは−デフォルトで−例えばリアルタイムで更新しつつ過去3日間のデータを表す。構成設定は、このデフォルトの時間ウィンドウを変更することができ、ユーザも過去の時間範囲を指定することができる。どちらのケースでも、マップを構築するための情報はデータストアから取得される。
業務トランザクションへのサブシステムの関連付けは、発生しているトランザクションについての情報を返す報告をする特別のマップトレーサを使用して実現する。トランザクションが業務トランザクションコンポーネントに一致する場合、そのトランザクションは、業務トランザクションコンポーネントの名称でラベルが付けられ、そのトランザクション内で呼び出されるすべての下位レベルのコンポーネントが業務トランザクションコンポーネント(つまりその業務トランザクション)に関連付けられる。これらの下位レベルのコンポーネントは、後に特定のルールに基づいて「サブシステム」に集約される。
業務トランザクションは、選択された業務トランザクションコンポーネントまたはフロントエンドの識別子をスレッドの最初のセグメントとして探すことによって特定される。一旦、サブシステムの識別子がトランザクショントレースで発見されると、サブシステムは呼び出されたと結論付けられる。トランザクション内でその時点から行われたすべての呼び出しは、次の認識されるサブシステムが呼び出されるまで(フロントエンドまたはバックエンド呼び出し)、同じサブシステムの必要な部分となる。
また、個々のトランザクショントレース内で、マップとツリーに現れる、フロントエンドおよびバックエンドの呼び出しは、そのコンポーネントがトレースされたトランザクションの一部としてヒットされる場合にセグメントに関連付けられている特定のメトリックパス(識別子)に関連付けられる。
第3の処理経路では、ステップ700は、トリアージマップ上のサブシステムのための付加的なデータのセットにおける正常性メトリックを算出する。図5Hを参照されたい。これらのメトリックは、トランザクショントレースから取得される応答時間などの性能メトリックと対照的である。
ステップ696は、ユーザコマンドを受信することを含む。ユーザコマンドは、本明細書で説明されるように、ツリー領域504、メインエリア502および補助領域562のようなユーザインタフェースの様々な部分における選択および/またはエントリを含む。ステップ697は、例えば、モデルを使って、ユーザインタフェースを分析対象の時間間隔についての関連する情報で更新するような表示をすることを含む。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、本発明の範囲を限定するものではない。上記した技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記した実施形態は、本発明の原理をベストに説明するために選定されたものであり、その実用に際しては、本発明が最適にその有用性を発揮するように、その特定用途に適するように当業者が様々に変形し得る。発明の範囲は、ここに添付した特許請求の範囲によって定められることを意図している。
プローブは、CORBAメソッドタイマ、リモートメソッドインボケーション(RMI)メソッドタイマ、スレッドカウンタ、ネットワークバンド幅、JDBC更新およびクエリタイマ、サーブレットタイマ、Java(登録商標)サーバページズ(JSP)タイマ、システムログ、ファイルシステム入出力バンド幅メータ、使用可能および使用済メモリ、ならびにEBJ(エンタープライズJava(登録商標)ビーンズ)タイマを含むメトリックの標準セットを報告する。メトリックは、特定のアプリケーションのアクティビティの計測値である。
例えば、サーブレットに関係付けられているトランザクションのために、業務トランザクションコンポーネントは、セカンダリフレーム内にロードされているJava(登録商標)サーバページズ(JSP)に接続して呼び出される。
サブシステムの例には、破線のボックスによって表される計測されたサブシステムがあり、これは、通常、フロントエンドのサブシステムである。同様に、点線のボックスによって表される未計測のサブシステムがあり、これは、通常、バックエンドのサブシステムである。本明細書で使用されるように、フロントエンドのサブシステムは、通常、計測され、バックエンドのサブシステムは、通常、計測されない。さらに、あるフロントエンドのサブシステムは、ウェブサービスの呼び出しなどを介して別のフロントエンドのサブシステムを呼び出す。また、フロントエンドのサブシステムは、バックエンドのサブシステムを呼び出す。性能メトリックの全範囲は、計測されたサブシステムから取得される。限定された情報は、計測されたサブシステムからメソッドに呼び出されて使用されるメソッドから、未計測のサブシステムに着目して得られる。未計測のデータベースの場合、例えば、JDBCドライバ(呼び出しフロントエンドと同じJava(登録商標)バーチャルマシン(JVM)に位置する)は、データベースの応答性についての見解を与えるメトリックを提供する。未計測のメインフレームの場合、通常、メインフレームの特定のポートにメインフレームを呼び出すメソッドが存在し、その呼び出しにどのくらい時間がかかるか、またはそれがストールするか否かもしくはエラーを報告するか否かを評価できる。
図4Aは、業務トランザクション内で呼び出されるコンポーネントのシーケンスの例における依存関係を示す。コンポーネント指向のプログラミングモデルは、プログラマに、コンポーネントに関係する構成要素からアプリケーションや他のプログラムを構築させるのに役に立つ。各コンポーネントは、ソフトウェアの全体的機能に適合するよう特定の機能を実行する。さらに、コンポーネントは、コンポーネントのシーケンスがプログラム内で呼び出されるように、他のコンポーネントを呼び出し、同様に、再帰呼び出しでは自分自身を呼び出す。コンポーネント指向のプログラミングモデルの一例は、J2EEであるが、Java(登録商標)サーバページズ、エンタープライズJava(登録商標)ビーンズ(EJB)、サーブレットおよびJava(登録商標)データベースコネクティビティ(JDBC)のコンポーネントといったコンポーネントを用いることができる。JDBCは、クライントがいかにデータベースにアクセスするかを定義するJava(登録商標)プログラミング言語のためのアプリケーションプログラミングインタフェース(API)である。それは、データベース内のデータを照会や更新する方法を提供する。しかしながら、.NETのような他のコンポーネント指向のプログラミングモデルを使用することもできる。また、プログラミングモデルは、オブジェクト指向である必要はない。
この例では、前述のログイン業務トランザクションの詳細を提供する。1つの可能な実装では、ログインの各コンポーネントは、クラスメソッド(CM)の組である。例えば、サーブレットはJava(登録商標)クラスである。リクエストを受信し、対応するレスポンスを生成するのはオブジェクトである。クラスメソッドの組は、class.methodの表記により表される。ログインは、ログイン名やパスワードなどのユーザのログイン認証情報を取得する1番目のクラスメソッドの組CM1を含む。CM1の書式の例は、ServletA1.ObtainLoginCredentialsである。

Claims (21)

  1. コンピュータに実装される方法であってアプリケーションを介してフローを可視化する方法であり、その方法は:
    アプリケーションに関連付けられたエージェント(108、112、116)から取得されるデータにアクセスするためにデータストア(118)にアクセスすること;エージェントはアプリケーションにインストールされた計測を用いてデータを提供する;
    ユーザインタフェース(122、500、520、525、530、540、550、555、556、560、570、580、590、600、610、620、630、640、650、660、670、680)上にトリアージマップ領域(502)を表示すること;トリアージマップ領域は、アプリケーションのサブシステムおよびサブシステム間の依存関係を図表を用いて示し、サブシステムは、サブシステムの名称を有するノード(320、321、322、324、326、328、330、336)として示され、依存関係は、ノードを接続する矢印(513)によって示される;および
    アクセスされたデータに基づいて、ユーザインタフェースの補助領域(562)を表示すること;補助領域はトランザクションのインスタンスに関連付けられた情報を提供する;
    を有する。
  2. コンピュータに実装される請求項1の方法は:
    補助領域を介して、トランザクションのインスタンスのユーザの選択を受けること;および
    ユーザの選択に応答して、トランザクションのインスタンスによって呼び出された複数のサブシステムの1つのサブシステムのノードをトランザクションのインスタンスによって呼び出されない複数の別のサブシステムのノードから視覚的に区別すること、
    をさらに有する。
  3. コンピュータに実装される請求項2の方法は:
    ユーザの選択に応答して、トランザクションのインスタンスのトランザクショントレース(401)を表示すること;トランザクショントレースはトランザクションのインスタンスの呼び出されたコンポーネント、および呼び出されたコンポーネント間の呼び出し関係を特定するグラフである;
    をさらに有する。
  4. コンピュータに実装される請求項1から3のいずれか一項の方法は:
    トリアージマップ領域において、第1の業務トランザクションの名称を有する第1の業務トランザクションのノード(304、306、308、310および312)、および第2の業務トランザクションの名称を有する第2の業務トランザクションのノードを表示すること;サブシステムの1つが第1および第2の業務トランザクションによって呼び出され、サブシステムのノードの1つによって示される;
    サブシステムのノードの1つをユーザが選択することに応答して、ユーザインタフェースにおいて、サブシステムの1つのためのコンテキストメニュー(532)を表示すること;コンテキストメニューは、サブシステムの1つを呼び出す将来のある期間におけるトランザクションのインスタンスを検索するオプションを含み、コンテキストメニューのオプションは、第1の業務トランザクションの一部としてサブシステムの1つを呼び出す将来の所定の期間におけるトランザクションのインスタンスを検索する;および
    検索されたトランザクションのインスタンスに関連付けられた情報を提供するためにユーザインタフェースを更新すること;
    を含み、更新することは、
    ユーザが第1の業務トランザクションのノードを選択するが、第2の業務トランザクションのノードは選択しない場合、コンテキストメニューのオプションは、第2の業務トランザクションの一部ではなく、第1の業務トランザクションの一部としてサブシステムの1つを呼び出す将来のある期間におけるトランザクションのインスタンスを検索し;
    ユーザが第1および第2の業務トランザクションのノードを選択する場合、コンテキストメニューのオプションは、第1の業務トランザクションのインスタンスの一部としてサブシステムの1つを呼び出す将来の所定の期間におけるトランザクションのインスタンスおよび第2の業務トランザクションの一部としてサブシステムの1つを呼び出す将来の所定の期間におけるトランザクションのインスタンスを検索する。
  5. コンピュータに実装される請求項1から4のいずれか一項の方法は:
    サブシステムのノードを正味の時間幅で修飾すること;正味の各時間幅は、待機時間を除いた合計時間幅に基づく;
    をさらに有する。
  6. コンピュータに実装される請求項1から5のいずれか一項の方法であって実行されるその方法は:
    未計測のバックエンドがサブシステムの1つによって呼び出されるものであり:
    未計測のバックエンドへのバックエンド呼び出しの時間を除いた合計時間幅に基づいて、サブシステムの1つにおいて消費される時間によって、サブシステムの1つのノードを修飾することをさらに有する。
  7. コンピュータに実装される請求項1から6のいずれか一項の方法は:
    矢印の1つをサブシステム相互通信の時間を表す時間幅で修飾することをさらに有する。
  8. コンピュータに実装される請求項1から7のいずれか一項の方法であり:
    警告アイコンがサブシステムの関連したメトリックに基づいて警告レベルを示す場合、トリアージマップ領域は、サブシステムの1つを警告アイコンで修飾する。
  9. コンピュータに実装される請求項1から8のいずれか一項の方法であり:
    警告アイコンが矢印によって表されるメソッド呼び出しの関連したメトリックに基づいて警告レベルを示す場合、トリアージマップ領域は、矢印の1つを警告アイコンによって修飾する。
  10. コンピュータに実装される請求項1から9のいずれか一項の方法であり:
    サブシステムは未計測のサブシステム(118)を呼び出す計測されたサブシステムを有し、
    矢印の1つは、計測されたサブシステムのノードを未計測のサブシステム(321、332、334、336、338)のノードに接続し;および
    トリアージマップ領域は、未計測のサブシステムの呼び出しの中で計測されたサブシステムによって使用される時間幅を示すための矢印の1つを修飾する。
  11. コンピュータに実装される請求項1から10のいずれか一項の方法は:
    トリアージマップ領域を介して、ユーザの選択であって、複数のサブシステムの1つに含まれる複数のノードの1つの選択を受けること;および
    ユーザの選択に応答して、補助領域を介して、複数のサブシステムの1つのトランザクションのインスタンスに関連付けられた詳細を表示すること;
    を含み、詳細を表示することにおいて:
    詳細は、複数のサブシステムの1つのトランザクションのインスタンスによって呼び出されるコンポーネント(CM1、CM2、CM4a、CM4b、CM5、CM7、CM8、CM9、CM10)を有し;
    複数のサブシステムの1つにおいて呼び出される呼び出しコンポーネントは別のサブシステムを呼び出し;
    トリアージマップ領域において、矢印の1つは、複数のサブシステムの1つに含まれる複数のノードの1つと別のサブシステムのノードとを接続し;および
    ユーザの選択であって矢印の1つの選択に応答して、詳細は、呼び出しコンポーネントの特定を有する。
  12. コンピュータに実装される請求項1から11のいずれか一項の方法であり:
    サブシステムの1つで呼び出された呼び出しコンポーネントは、別のサブシステムを呼び出し;
    トリアージマップ領域において、複数の矢印の一つは、複数のサブシステムの1つのノードの1つを別のサブシステムのノードに接続するものであり;
    その方法は、さらに:
    複数の矢印の1つのユーザの選択に応答して、複数のサブシステムの1つに含まれる複数のノードの1つのユーザの選択なしに、補助領域において、複数のサブシステムの1つの、他のコンポーネントの特定を表示することなく、呼び出しコンポーネントの特定を表示すること;および
    複数の矢印の1つのユーザの選択に応答して、複数のサブシステムの1つに含まれる複数のノードの1つのユーザの選択によって、補助領域において、呼び出しコンポーネントの特定およびサブステムの1つの他のコンポーネントの特定を表示すること、
    をさらに有する。
  13. コンピュータに実装される請求項1から12のいずれか一項の方法は:
    トリアージマップ領域において、業務トランザクションの名称を有するノード(304、306、308、310および312)、および業務トランザクション内で呼び出される複数のサブシステムを表示すること;
    ユーザインタフェースにおいて、ユーザが業務トランザクションの名称を有するノード上にポインティングデバイスを向ける場合、業務トランザクションの名称を有するノード(304)のためのホバーボックス(522)を表示すること;ホバーボックスは業務トランザクションのための性能メトリックを特定する;
    をさらに有する。
  14. コンピュータに実装される請求項1から13のいずれか一項の方法は:
    トリアージマップ領域において、業務トランザクションの名称を有するノード(304、306、308、310および312)および業務トランザクション内で呼び出される複数のサブシステムを表示すること;および
    ユーザインタフェースにおいて、ユーザが業務トランザクションの名称を有するノード(304)にポインティングデバイスを向けることに応答して、業務トランザクションのためのコンテキストメニュー(532)を表示すること;コンテキストメニューは、トリアージマップ領域の業務トランザクションの複数のサブシステムのノードをトリアージマップ領域の1つの他の業務トランザクションのサブシステムのノードから視覚的に区別することによって業務トランザクションのマップを表示するオプションを有する;
    をさらに有する。
  15. コンピュータに実装される請求項14の方法であり:
    コンテキストメニューは、補助領域において、業務トランザクションのためのロケーションを表示するオプションを有する;ロケーションは、エージェント(エージェントA、エージェントB)、ホスト(ホストA、ホストB)および関連した性能メトリック(R/T)を特定する。
  16. コンピュータに実装される請求項14または15の方法であり:
    コンテキストメニュー(532)は、業務トランザクションに関連付けられた正常性メトリックを表示するオプションを有する。
  17. コンピュータに実装される請求項14から16のいずれか一項の方法であり:
    コンテキストメニュー(532)は、フィルタ基準に合致する将来の特定の期間における業務トランザクションのトランザクションインスタンスを検索するためのオプションを有する;オプションは、ユーザがフィルタ基準を入力することを許容するウィンドウ(564)を表示する;
    フィルタ基準に合致する検索されたトランザクションのインスタンスに関連付けられた情報を提供するために、補助領域を更新すること;および
    ユーザがフィルタ基準を再入力することを要求せずに、フィルタ基準に合致する別の将来の期間で業務トランザクションのトランザクションインスタンスをさらに検索するためにユーザコマンド(さらに検索)を受けること;
    を有する。
  18. アプリケーションを介してフローを追跡するためのシステムであり:
    コンピュータで読み取り可能なコードを記憶する記憶装置(210、240);および
    前記記憶装置に通信するプロセッサ(230)を有しており、
    前記プロセッサは、以下の処理を記したコンピュータ読み取り可能なコードを実行する:
    アプリケーションに関連付けられたエージェント(108、112、116)から取得されるデータにアクセスするためにデータストア(118)にアクセスすること;エージェントは、アプリケーションにインストールされた計測を使用してデータを提供する;
    ユーザインタフェース(122、500、520、525、530、540、550、555、556、560、570、580、590、600、610、620、630、640、650、660、670、680)上にトリアージマップ領域(502)を表示すること;トリアージマップ領域は、アプリケーションのサブシステムおよびサブシステム間の依存関係を図表を用いて示し、サブシステムは、サブシステムの名称を有するノード(320、321、322、324、326、328、330、336)として示され、そして依存関係はノードを接続する矢印により表示される;および
    アクセスされたデータに基づき、ユーザインタフェースの補助領域を表示すること;補助領域(562)はトランザクションのインスタンスに関連付けられた情報を提供する。
  19. 請求項18のシステムであり、プロセッサが以下の処理を記したコンピュータで読み取り可能なコードを実行する:
    トランザクションのインスタンスによって呼び出された複数のサブシステムの1つのサブシステムのノードをトランザクションのインスタンスによって呼び出されない複数のサブシステムの別のサブシステムのノードから視覚的に区別すること。
  20. 請求項18または19のシステムであり、プロセッサは、以下の処理を記したコンピュータで読み取り可能なコードを実行する:
    トリアージマップ領域において、第1の業務トランザクションの名称を有する第1の業務トランザクションのノード(304、306、308、310および312)、および第2の業務トランザクションの名称を有する第2の業務トランザクションのノードを表示すること;サブシステムの1つが第1および第2の業務トランザクションによって呼び出され、サブシステムのノードの1つによって示される;および
    サブシステムのノードの1つをユーザが選択することに応答して、ユーザインタフェースにおいて、サブシステムの1つのためのコンテキストメニュー(532)を表示すること;コンテキストメニューは、サブシステムの1つを呼び出す将来の所定の期間におけるトランザクションのインスタンスを検索するオプションを含み、コンテキストメニューのオプションは第1の業務トランザクションの一部としてサブシステムの1つを呼び出す将来の所定の期間におけるトランザクションのインスタンスを検索する。
  21. 請求項20のシステムであり、
    ユーザが第1の業務トランザクションのノードを選択するが、第2の業務トランザクションのノードは選択しない場合、コンテキストメニューのオプションは、第2の業務トランザクションの一部ではなく、第1の業務トランザクションの一部としてサブシステムの1つを呼び出す将来のある期間におけるトランザクションのインスタンスを検索し;および
    ユーザが第1および第2の業務トランザクションのノードを選択する場合、コンテキストメニューのオプションは、第1の業務トランザクションのインスタンスの一部としてサブシステムの1つを呼び出す将来の期間におけるトランザクションのインスタンスおよび第2の業務トランザクションの一部としてサブシステムの1つを呼び出す将来のある期間におけるトランザクションのインスタンスを検索する。
JP2012087286A 2011-04-08 2012-04-06 論理的なサブシステムのマップを介してのフローによるトランザクショントレースの可視化 Active JP5909138B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/082723 2011-04-08
US13/082,723 US8516301B2 (en) 2011-04-08 2011-04-08 Visualizing transaction traces as flows through a map of logical subsystems

Publications (2)

Publication Number Publication Date
JP2012221500A true JP2012221500A (ja) 2012-11-12
JP5909138B2 JP5909138B2 (ja) 2016-04-26

Family

ID=45976172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012087286A Active JP5909138B2 (ja) 2011-04-08 2012-04-06 論理的なサブシステムのマップを介してのフローによるトランザクショントレースの可視化

Country Status (4)

Country Link
US (1) US8516301B2 (ja)
EP (1) EP2508995B1 (ja)
JP (1) JP5909138B2 (ja)
KR (1) KR101837109B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145652A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 管理装置および管理方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202185B2 (en) * 2011-04-08 2015-12-01 Ca, Inc. Transaction model with structural and behavioral description of complex transactions
US8782614B2 (en) 2011-04-08 2014-07-15 Ca, Inc. Visualization of JVM and cross-JVM call stacks
US8626543B2 (en) * 2011-10-08 2014-01-07 Sap Ag Tracing software execution of a business process
US9043760B2 (en) * 2012-05-08 2015-05-26 International Business Machines Corporation Creating dynamic interactive views from trace events for performing deterministic performance analysis
JP5835255B2 (ja) * 2013-03-19 2015-12-24 カシオ計算機株式会社 グラフ表示装置及びグラフ表示プログラム
US9674042B2 (en) * 2013-11-25 2017-06-06 Amazon Technologies, Inc. Centralized resource usage visualization service for large-scale network topologies
US9647904B2 (en) * 2013-11-25 2017-05-09 Amazon Technologies, Inc. Customer-directed networking limits in distributed systems
CN105224536A (zh) * 2014-05-29 2016-01-06 国际商业机器公司 划分数据库的方法和装置
US9250895B2 (en) 2014-06-24 2016-02-02 International Business Machines Corporation Establishing subsystem boundaries based on call flow graph topology
WO2016018210A1 (en) * 2014-07-28 2016-02-04 Hewlett-Packard Development Company, L.P. Detection of abnormal transaction loops
US9095633B1 (en) 2014-10-30 2015-08-04 Daylight Medical Object decontamination apparatus with an adjustable ultraviolet source
US9912522B2 (en) * 2015-04-29 2018-03-06 Cisco Technology, Inc. Automatic task tracking
US10049350B2 (en) 2015-06-25 2018-08-14 Bank Of America Corporation Element level presentation of elements of a payment instrument for exceptions processing
US10115081B2 (en) 2015-06-25 2018-10-30 Bank Of America Corporation Monitoring module usage in a data processing system
US10229395B2 (en) 2015-06-25 2019-03-12 Bank Of America Corporation Predictive determination and resolution of a value of indicia located in a negotiable instrument electronic image
US10373128B2 (en) 2015-06-25 2019-08-06 Bank Of America Corporation Dynamic resource management associated with payment instrument exceptions processing
US10031815B2 (en) * 2015-06-29 2018-07-24 Ca, Inc. Tracking health status in software components
US11550688B2 (en) 2015-10-29 2023-01-10 Micro Focus Llc User interaction logic classification
KR101591324B1 (ko) 2015-11-20 2016-02-03 (주)다봄소프트 데이터의 계층관계 추출시스템 및 그 방법
US10223237B2 (en) * 2016-10-31 2019-03-05 Cisco Technology, Inc. Mid-method instrumentation
US10261886B2 (en) 2016-11-09 2019-04-16 Entit Software Llc Function call visualization
US10282274B2 (en) * 2017-06-14 2019-05-07 Microsoft Technology Licensing, Llc Presenting differences between code entity invocations
KR102119611B1 (ko) * 2018-11-05 2020-06-05 서강대학교 산학협력단 스마트 컨트랙트의 분류 장치 및 분류 방법
US11481240B2 (en) * 2018-11-30 2022-10-25 International Business Machines Corporation Capturing traces of virtual machine objects combined with correlated system data
US10802897B1 (en) 2019-05-07 2020-10-13 Morgan Stanley Services Group Inc. System for tracking transaction data across applications
CN111611097B (zh) * 2020-05-13 2023-09-05 中国移动通信集团江苏有限公司 故障检测方法、装置、设备及存储介质
US20220245552A1 (en) * 2021-02-03 2022-08-04 Dynatrace Llc Optimizing Cloud-Based IT-Systems Towards Business Objectives: Automatic Topology-Based Analysis To Determine Impact Of IT-Systems On Business Metrics

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
US20040075690A1 (en) * 2002-10-18 2004-04-22 Cirne Lewis K. User interface for viewing performance information about transactions
JP2005302057A (ja) * 2005-06-13 2005-10-27 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2006157313A (ja) * 2004-11-26 2006-06-15 Nec Corp 経路作成システム、経路作成装置及び経路作成プログラム
JP2010044742A (ja) * 2008-07-16 2010-02-25 Fujitsu Ltd システム分析プログラム、システム分析装置、およびシステム分析方法
JP2010117757A (ja) * 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法
US20100281488A1 (en) * 2009-04-30 2010-11-04 Anand Krishnamurthy Detecting non-redundant component dependencies in web service invocations

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485616A (en) 1993-10-12 1996-01-16 International Business Machines Corporation Using program call graphs to determine the maximum fixed point solution of interprocedural bidirectional data flow problems in a compiler
US5592600A (en) 1994-09-27 1997-01-07 International Business Machines Corporation Animated display showing execution of object-oriented programs
US6186677B1 (en) * 1996-08-27 2001-02-13 Compuware Corporation Byte code instrumentation
JPH1124901A (ja) 1997-06-27 1999-01-29 Internatl Business Mach Corp <Ibm> プログラム情報の解析・表示方法およびシステム
US6282701B1 (en) 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6338159B1 (en) 1997-12-12 2002-01-08 International Business Machines Corporation System and method for providing trace information
US6260187B1 (en) * 1998-08-20 2001-07-10 Wily Technology, Inc. System for modifying object oriented code
US6584501B1 (en) 1999-02-03 2003-06-24 Compuware Corporation Method to display information representing network traffic on a computer display monitor
AU7620400A (en) * 1999-09-29 2001-04-30 Anna Petrovskaya System for development and maintenance of software solutions for execution on distributed computer systems
US7003781B1 (en) 2000-05-05 2006-02-21 Bristol Technology Inc. Method and apparatus for correlation of events in a distributed multi-system computing environment
AU2001261258A1 (en) * 2000-05-05 2001-11-20 Aprisma Management Technologies, Inc. Help desk systems and methods for use with communications networks
WO2002017183A2 (en) 2000-08-04 2002-02-28 Xtremesoft, Inc. System and method for analysing a transactional monitoring system
US6857120B1 (en) 2000-11-01 2005-02-15 International Business Machines Corporation Method for characterizing program execution by periodic call stack inspection
US7065566B2 (en) 2001-03-30 2006-06-20 Tonic Software, Inc. System and method for business systems transactions and infrastructure management
US8473922B2 (en) 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US6996806B2 (en) 2001-09-21 2006-02-07 International Business Machines Corporation Graphical view of program structure during debugging session
US7216160B2 (en) 2001-10-31 2007-05-08 Sun Microsystems, Inc. Server-based application monitoring through collection of application component and environmental statistics
US7290048B1 (en) 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
US20040039728A1 (en) 2002-08-23 2004-02-26 Diring Software Method and system for monitoring distributed systems
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US20040054782A1 (en) 2002-09-16 2004-03-18 Fabian Donze Software application domain and storage domain stitching process and method
US6792460B2 (en) 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7870431B2 (en) * 2002-10-18 2011-01-11 Computer Associates Think, Inc. Transaction tracer
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US8244853B1 (en) 2003-03-03 2012-08-14 Vmware, Inc. Method and system for non intrusive application interaction and dependency mapping
US7505953B2 (en) 2003-07-11 2009-03-17 Computer Associates Think, Inc. Performance monitoring of method calls and database statements in an application server
US7310780B2 (en) 2003-08-14 2007-12-18 International Business Machines Corporation Methods, systems and computer program products for visually tethering related graphical objects
US7668953B1 (en) 2003-11-13 2010-02-23 Cisco Technology, Inc. Rule-based network management approaches
US7191364B2 (en) * 2003-11-14 2007-03-13 Microsoft Corporation Automatic root cause analysis and diagnostics engine
US7590614B2 (en) 2003-12-11 2009-09-15 Sap Ag Method, apparatus, and computer program product for implementing techniques for visualizing data dependencies
US7987453B2 (en) 2004-03-18 2011-07-26 International Business Machines Corporation Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
US8352423B2 (en) 2004-05-07 2013-01-08 Inceptia Llc Apparatus and method for providing streaming data
US20060036726A1 (en) 2004-07-12 2006-02-16 Vieo, Inc. User interface for a distributed computing environment and method of using the same
US7203624B2 (en) 2004-11-23 2007-04-10 Dba Infopower, Inc. Real-time database performance and availability change root cause analysis method and system
US7509632B2 (en) 2005-03-24 2009-03-24 International Business Machines Corporation Method and apparatus for analyzing call history data derived from execution of a computer program
US7743128B2 (en) 2005-04-20 2010-06-22 Netqos, Inc. Method and system for visualizing network performance characteristics
US7350107B2 (en) 2005-04-29 2008-03-25 Microsoft Corporation Method and apparatus for performing network diagnostics
US8694621B2 (en) 2005-08-19 2014-04-08 Riverbed Technology, Inc. Capture, analysis, and visualization of concurrent system and network behavior of an application
US7904892B2 (en) 2006-01-06 2011-03-08 Northrop Grumman Corporation Systems and methods for identifying and displaying dependencies
US8656006B2 (en) 2006-05-11 2014-02-18 Ca, Inc. Integrating traffic monitoring data and application runtime data
US8578017B2 (en) 2006-05-11 2013-11-05 Ca, Inc. Automatic correlation of service level agreement and operating level agreement
US9519571B2 (en) 2007-07-13 2016-12-13 International Business Machines Corporation Method for analyzing transaction traces to enable process testing
US8208381B2 (en) 2007-07-27 2012-06-26 Eg Innovations Pte. Ltd. Root-cause approach to problem diagnosis in data networks
US20090112667A1 (en) 2007-10-31 2009-04-30 Ken Blackwell Automated Business Process Model Discovery
US8464270B2 (en) * 2007-11-29 2013-06-11 Red Hat, Inc. Dependency management with atomic decay
US20090177509A1 (en) * 2008-01-09 2009-07-09 Joshua David Business Service Management Dashboard
US7681182B1 (en) 2008-11-06 2010-03-16 International Business Machines Corporation Including function call graphs (FCG) generated from trace analysis data within a searchable problem determination knowledge base
US8027981B2 (en) 2008-12-10 2011-09-27 International Business Machines Corporation System, method and program product for classifying data elements into different levels of a business hierarchy
US8135739B2 (en) * 2008-12-29 2012-03-13 Microsoft Corporation Online relevance engine
US8589196B2 (en) * 2009-04-22 2013-11-19 Bank Of America Corporation Knowledge management system
US8490055B2 (en) 2010-09-17 2013-07-16 Ca, Inc. Generating dependency maps from dependency data
US9202185B2 (en) * 2011-04-08 2015-12-01 Ca, Inc. Transaction model with structural and behavioral description of complex transactions
US8438427B2 (en) * 2011-04-08 2013-05-07 Ca, Inc. Visualizing relationships between a transaction trace graph and a map of logical subsystems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
US20040075690A1 (en) * 2002-10-18 2004-04-22 Cirne Lewis K. User interface for viewing performance information about transactions
JP2006157313A (ja) * 2004-11-26 2006-06-15 Nec Corp 経路作成システム、経路作成装置及び経路作成プログラム
JP2005302057A (ja) * 2005-06-13 2005-10-27 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2010044742A (ja) * 2008-07-16 2010-02-25 Fujitsu Ltd システム分析プログラム、システム分析装置、およびシステム分析方法
JP2010117757A (ja) * 2008-11-11 2010-05-27 Nomura Research Institute Ltd 性能監視システムおよび性能監視方法
US20100281488A1 (en) * 2009-04-30 2010-11-04 Anand Krishnamurthy Detecting non-redundant component dependencies in web service invocations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145652A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 管理装置および管理方法

Also Published As

Publication number Publication date
JP5909138B2 (ja) 2016-04-26
KR20120115477A (ko) 2012-10-18
KR101837109B1 (ko) 2018-04-19
EP2508995A1 (en) 2012-10-10
EP2508995B1 (en) 2016-01-06
US8516301B2 (en) 2013-08-20
US20120260133A1 (en) 2012-10-11

Similar Documents

Publication Publication Date Title
JP5909139B2 (ja) トランザクショントレースグラフと論理的サブシステムのマップとの関係の可視化
JP5909138B2 (ja) 論理的なサブシステムのマップを介してのフローによるトランザクショントレースの可視化
JP5909140B2 (ja) Jvmおよびクロスjvm呼び出しスタックの可視化
JP2012221499A (ja) 複雑なトランザクションの構造的および動作的な記述を有するトランザクションモデル
US10031815B2 (en) Tracking health status in software components
US10373094B2 (en) Automated model based root cause analysis
US10637745B2 (en) Algorithms for root cause analysis
JP5886712B2 (ja) 分散環境におけるトランザクション別に区別されたメトリックの効率的収集
US20200201750A1 (en) Trace management
CN110928772B (zh) 一种测试方法及装置
US10402052B2 (en) Guided exploration of root cause analysis
US10706108B2 (en) Field name recommendation
US10644971B2 (en) Graph search in structured query language style query
US20170285923A1 (en) Multi-perspective application components dependencies

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120920

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160325

R150 Certificate of patent or registration of utility model

Ref document number: 5909138

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250