JP2011238233A - 動的計測を介してのカスタムコードの診断を効率化するためのメソッド呼び出しの検出 - Google Patents
動的計測を介してのカスタムコードの診断を効率化するためのメソッド呼び出しの検出 Download PDFInfo
- Publication number
- JP2011238233A JP2011238233A JP2011104689A JP2011104689A JP2011238233A JP 2011238233 A JP2011238233 A JP 2011238233A JP 2011104689 A JP2011104689 A JP 2011104689A JP 2011104689 A JP2011104689 A JP 2011104689A JP 2011238233 A JP2011238233 A JP 2011238233A
- Authority
- JP
- Japan
- Prior art keywords
- methods
- reference methods
- class
- application
- bytecode
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Abstract
【解決手段】アプリケーションがメソッドのような計測されたコンポーネントのベースラインの規定によって構成され実行されることにより、パフォーマンスデータが集められ、いくつかのメソッドのパフォーマンスに問題があることがわかる。問題を解析するために、問題の対象となっているメソッドから呼び出し可能な任意のメソッドは、Java(登録商標)仮想マシン(JVM)にロードされたクラスのバイトコードを検査することによって発見される。他のメソッドを呼び出すためのバイトコードを呼び出すオペコードを特定するために、クラスのバイトコードが構文解析される。定数プールテーブル内のエントリに対するインデックスは、オペコードに基づいて特定される。発見されたメソッドを計測および/または報告するために決定がなされ得る。
【選択図】図6
Description
Claims (25)
- アプリケーションを解析するための方法であってコンピュータに実装される方法であり、コンピュータに実装される以下のステップ:
アプリケーションのコードをコンピュータシステムのメモリ(240)にロードするステップ;このロードするステップは、計測されたメソッド(C1−C7)を含んでいる計測されたコンポーネントのベースラインの規定によってアプリケーションのコードを構成することを含み、このアプリケーションのコードは未計測メソッド(C4A)も含む;
メモリ内のアプリケーションのコードを実行している間に、計測されたメソッドからパフォーマンスデータを取得するステップ;
パフォーマンスデータに基づいて、さらに詳細に解析するために計測されたメソッド(C4A)の少なくとも一つを選択するステップ;
前記選択に基づいて、前記少なくとも一つの選択された計測されたメソッドによって参照された未計測メソッドの一以上の参照メソッド(C5)を特定するステップ;当該一以上の参照メソッドを特定するステップは、
メモリ内にロードされたクラス群の中から、前記少なくとも一つの選択された計測されたメソッドのクラス(725)を決定するステップ;
リソースロケーション(715)からメモリへ前記クラスのバイトコード表現をロードするステップ;
呼び出しバイトコードの一以上のインスタンスを特定するために前記クラスのバイトコード表現を構文解析するステップ;および
前記呼び出しバイトコードの前記一以上のインスタンスに基づいて、前記一以上の参照メソッドを特定するステップ;を有し、
前記特定するステップに対応して、前記一以上の参照メソッドに対する前記アプリケーションのコードをメモリへロードするステップ;当該ロードするステップは、前記一以上の参照メソッドに対する前記アプリケーションの前記コードを計測によって構成することを含む;
を備える方法。 - 前記一以上の参照メソッドに対する前記アプリケーションの前記コードを実行している間に、前記一以上の参照メソッドの計測からパフォーマンスデータを取得する、
請求項1の方法。 - 呼び出しバイトコードの前記一以上のインスタンスは、前記クラスのバイトコード表現における一以上の関連付けられたオペコード(735、740、745および750)から特定され;
一以上のオペコードは、定数プールテーブル(755)内の一以上のエントリへの一以上のインデックス(<indexbyte1, indexbyte2>)に関連付けられ;
前記一以上の参照メソッドは、前記一以上のインデックスを使用して特定される、
請求項2の方法。 - 前記一以上の呼び出しバイトコードは、仮想呼び出し、特定呼び出し、静的呼び出し、および、インタフェース呼び出し、の中の一つ以上を含む、
請求項3の方法。 - 前記クラスは、Java Instrument APIを使用して決定される、請求項4の方法。
- 前記クラスの前記バイトコード表現の前記ロードするステップは、JavaクラスのClassLoader(720)を使用する、請求項5の方法。
- 前記一以上の参照メソッドは、少なくとも一つのメソッドによって呼び出され得るメソッドであるが、前記一以上の参照メソッドを特定する時に前記一以上の参照メソッドが前記少なくとも一つの選択された計測されたメソッドによって呼び出されたかどうかは知られていない、請求項1から6のいずれか一項の方法。
- 前記一以上の参照メソッドは、前記少なくとも一つの選択された計測されたメソッドの一以上の子の参照メソッドであり、
当該コンピュータに実装される方法は、
前記一以上の子の参照メソッドにより参照された未計測の一以上の孫の参照メソッドを特定することをさらに含み、前記一以上の孫の参照メソッドを特定することは:
前記一以上の子の参照メソッドのクラスを決定すること;
前記一以上の子の参照メソッドの前記クラスのバイトコード表現をリソースロケーションから前記メモリにロードすること;
前記一以上の子の参照メソッドの呼び出しバイトコードの一以上のインスタンスを特定するために、前記一以上の子の参照メソッドの前記クラスの前記バイトコード表現を構文解析すること;
前記一以上の子の参照メソッドの前記呼び出しバイトコードの前記一以上のインスタンスに基づいて、前記一以上の孫の参照メソッドを特定すること;および
前記一以上の孫の参照メソッドを文字列として格納すること、
を有する請求項1から7のいずれか一項の方法。 - 前記一以上の未計測の参照メソッドを第1のアプリケーションサーバ(106)からセントラルマネージャ(120)へ報告すること、を含み、
当該セントラルマネージャは、前記アプリケーションの他のインスタンスにおいて前記一以上の未計測の参照メソッドの前記他のインスタンスの計測について第2アプリケーションによる使用のために、前記第2アプリケーションサーバ(110)において前記アプリケーションの他のインスタンスへ前記一以上の未計測の参照メソッドの特定をプッシュする、
ことをさらに有する請求項1から8のいずれか一項の方法。 - 前記一以上の参照メソッドのために、前記一以上の参照メソッドに計測を付加するか否かの決定を助けるために情報を提供すること;ここで、前記情報は、前記アプリケーションの静的計測が一以上の参照メソッドが計測されるべきではないことを示しているか否かを示している;
をさらに有する請求項1から9のいずれか一項の方法。 - 前記一以上の参照メソッドのために、前記一以上の参照メソッドに計測を付加するか否かの決定を助けるために情報を提供すること;ここで、前記情報は、前記一以上の参照メソッドが既に計測されたか否かを示している;
をさらに有する請求項1から10のいずれか一項の方法。 - 前記一以上の参照メソッドのために、前記一以上の参照メソッドに計測を付加するか否かの決定を助けるために情報を提供すること;ここで、前記情報は、前記一以上の参照メソッドがインスタンスを参照しているか否かを示している;
をさらに有する請求項1から11のいずれか一項の方法。 - 前記一以上の参照メソッドのために、前記一以上の参照メソッドに計測を付加するか否かの決定を助けるために、JAVA Reflection APIを用いた情報を提供すること;
をさらに有する請求項1から11のいずれか一項の方法。
- アプリケーションを解析するための方法を実行するために、少なくとも一つのプロセッサをプログラムするために具現化されたソフトウエアであってコンピュータで読み取り可能なソフトウェアを有している有体のコンピュータで読み取り可能な記憶装置であり、当該方法は:
アプリケーションのコードをコンピュータシステムのメモリ(240)にロードすること;このロードすることは、計測されたメソッド(C1−C7)を含んでいる計測されたコンポーネントのベースラインの規定によってアプリケーションのコードを構成することを含み、このアプリケーションのコードは未計測メソッド(C4A)も含む;
メモリ内のアプリケーションのコードを実行している間に、計測されたメソッドからパフォーマンスデータを取得すること;
パフォーマンスデータに基づいて、さらに詳細に解析するために計測されたメソッド(C4A)の少なくとも一つを選択すること;
前記選択に基づいて、前記少なくとも一つの選択された計測されたメソッドによって参照された未計測メソッドの一以上の参照メソッド(C5)を特定すること;当該一以上の参照メソッドを特定することは、
メモリ内にロードされたクラス群の中から、前記少なくとも一つの選択された計測されたメソッドのクラス(725)を決定すること;
リソースロケーション(715)からメモリへ前記クラスのバイトコード表現をロードすること;
呼び出しバイトコードの一以上のインスタンスを特定するために前記クラスのバイトコード表現を構文解析すること;および
前記呼び出しバイトコードの前記一以上のインスタンスに基づいて、前記一以上の参照メソッドを特定すること;を有し、
前記特定することに対応して、前記一以上の参照メソッドに対する前記アプリケーションのコードをメモリへロードすること;当該ロードすることは、前記一以上の参照メソッドに対する前記アプリケーションの前記コードを計測によって構成することを含む;
ことを特徴とするコンピュータで読み取り可能な記憶装置。 - 前記一以上の参照メソッドに対する前記アプリケーションの前記コードを実行している間に、前記一以上の参照メソッドの計測からパフォーマンスデータを取得する、
請求項14の記憶装置。 - 呼び出しバイトコードの前記一以上のインスタンスは、前記クラスのバイトコード表現における一以上の関連付けられたオペコード(735、740、745および750)から特定され;
一以上のオペコードは、定数プールテーブル(755)内の一以上のエントリへの一以上のインデックス(<indexbyte1, indexbyte2>)に関連付けられ;
前記一以上の参照メソッドは、前記一以上のインデックスを使用して特定される、
請求項14又は15の記憶装置。 - 前記一以上の呼び出しバイトコードは、仮想呼び出し、特定呼び出し、静的呼び出し、および、インタフェース呼び出し、の中の一つ以上を含む、
請求項14から16のいずれか一項の記憶装置。 - 前記クラスは、Java Instrument APIを使用して決定される、請求項14から17のいずれか一項の記憶装置。
- 前記クラスの前記バイトコード表現の前記ロードするステップは、JavaクラスのClassLoader(720)を使用する、請求項14から18のいずれか一項のコンピュータに実装される方法。
- ソフトウェア命令を格納する記憶装置;
前記記憶装置から前記ソフトウェア命令がロードされる作業メモリ;および
前記ソフトウェア命令を実行するためのプロセッサ;
を備えており、前記ソフトウェア命令は:
アプリケーションのコードをコンピュータシステムの作業メモリ(240)にロードし;このロードすることは、計測されたメソッド(C1−C7)を含んでいる計測されたコンポーネントのベースラインの規定によってアプリケーションのコードを構成することを含み、このアプリケーションのコードは未計測メソッド(C4A)も含む;
作業メモリ内のアプリケーションのコードを実行している間に、計測されたメソッドからパフォーマンスデータを取得し;
パフォーマンスデータに基づいて、さらに詳細に解析するために計測されたメソッド(C4A)の少なくとも一つを選択し;
前記選択に基づいて、前記少なくとも一つの選択された計測されたメソッドによって参照された未計測メソッドの一以上の参照メソッド(C5)を特定し;当該一以上の参照メソッドを特定する際に、当該ソフトウエア命令は、
メモリ内にロードされたクラス群の中から、前記少なくとも一つの選択された計測されたメソッドのクラス(725)を決定し;
リソースロケーション(715)から作業メモリへ前記クラスのバイトコード表現をロードし;
呼び出しバイトコードの一以上のインスタンスを特定するために前記クラスのバイトコード表現を構文解析し;および
前記呼び出しバイトコードの前記一以上のインスタンスに基づいて、前記一以上の参照メソッドを特定させることを有し、
前記特定することに対応して、前記一以上の参照メソッドに対する前記アプリケーションのコードを作業メモリへロードすること;当該ロードすることは、前記一以上の参照メソッドに対する前記アプリケーションの前記コードを計測によって構成することを含む、
コンピュータシステム。 - 前記ソフトウエア命令は、前記一以上の参照メソッドに対する前記アプリケーションの前記コードが実行されている間に、前記一以上の参照メソッドの計測からパフォーマンスデータを取得する、
請求項20のコンピュータシステム。 - 呼び出しバイトコードの前記一以上のインスタンスは、前記クラスのバイトコード表現における一以上の関連付けられたオペコード(735、740、745および750)から特定され;
一以上のオペコードは、定数プールテーブル(755)内の一以上のエントリへの一以上のインデックス(<indexbyte1, indexbyte2>)に関連付けられ;
前記一以上の参照メソッドは、前記一以上のインデックスを使用して特定される、
請求項20又は21のコンピュータシステム。 - 前記一以上の呼び出しバイトコードは、仮想呼び出し、特定呼び出し、静的呼び出し、および、インタフェース呼び出し、の中の一つ以上を含む、請求項20から22のいずれか一項のコンピュータシステム。
- 前記クラスは、Java Instrument APIを使用して決定される、請求項20から23のいずれか一項のコンピュータシステム。
- 前記クラスの前記バイトコード表現の前記ロードするステップは、JavaクラスのClassLoader(720)を使用する、請求項20から24のいずれか一項のコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/777496 | 2010-05-11 | ||
US12/777,496 US8566800B2 (en) | 2010-05-11 | 2010-05-11 | Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011238233A true JP2011238233A (ja) | 2011-11-24 |
JP5798372B2 JP5798372B2 (ja) | 2015-10-21 |
Family
ID=44475086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011104689A Expired - Fee Related JP5798372B2 (ja) | 2010-05-11 | 2011-05-09 | 動的計測を介してのカスタムコードの診断を効率化するためのメソッド呼び出しの検出 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8566800B2 (ja) |
EP (1) | EP2386955B1 (ja) |
JP (1) | JP5798372B2 (ja) |
KR (1) | KR101705265B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015207079A (ja) * | 2014-04-18 | 2015-11-19 | 富士通株式会社 | 分析方法、分析装置、及び分析プログラム |
JP2016085537A (ja) * | 2014-10-23 | 2016-05-19 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
JP7293975B2 (ja) | 2019-08-20 | 2023-06-20 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732670B1 (en) | 2010-06-29 | 2014-05-20 | Ca, Inc. | Ensuring determinism during programmatic replay in a virtual machine |
US8667472B1 (en) * | 2010-07-29 | 2014-03-04 | Disney Enterprises, Inc. | System and method of instrumenting code for in-production monitoring |
US8745598B2 (en) * | 2010-12-14 | 2014-06-03 | Bmc Software, Inc. | Running injected code prior to execution of an application |
US9116717B2 (en) * | 2011-05-27 | 2015-08-25 | Cylance Inc. | Run-time interception of software methods |
US9454462B2 (en) | 2012-03-16 | 2016-09-27 | International Business Machines Corporation | Run-time instrumentation monitoring for processor characteristic changes |
US9411591B2 (en) | 2012-03-16 | 2016-08-09 | International Business Machines Corporation | Run-time instrumentation sampling in transactional-execution mode |
US9405541B2 (en) | 2012-03-16 | 2016-08-02 | International Business Machines Corporation | Run-time instrumentation indirect sampling by address |
US9471315B2 (en) | 2012-03-16 | 2016-10-18 | International Business Machines Corporation | Run-time instrumentation reporting |
US9465716B2 (en) | 2012-03-16 | 2016-10-11 | International Business Machines Corporation | Run-time instrumentation directed sampling |
US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9442824B2 (en) | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
US9367316B2 (en) | 2012-03-16 | 2016-06-14 | International Business Machines Corporation | Run-time instrumentation indirect sampling by instruction operation code |
US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US9250902B2 (en) | 2012-03-16 | 2016-02-02 | International Business Machines Corporation | Determining the status of run-time-instrumentation controls |
US9430238B2 (en) | 2012-03-16 | 2016-08-30 | International Business Machines Corporation | Run-time-instrumentation controls emit instruction |
US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
US9524225B2 (en) * | 2012-03-26 | 2016-12-20 | Microsoft Technology Licensing, Llc | Dynamically providing application analytic information |
US20150248343A1 (en) * | 2012-07-27 | 2015-09-03 | Freescale Semiconductor, Inc. | Method and apparatus for implementing instrumentation code |
GB2504496A (en) * | 2012-07-31 | 2014-02-05 | Ibm | Removing code instrumentation based on the comparison between collected performance data and a threshold |
US8910127B2 (en) * | 2012-09-20 | 2014-12-09 | Identify Software Ltd. (IL) | Estimating indirect interface implementation before load time based on directly implemented methods |
US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9207969B2 (en) | 2013-01-25 | 2015-12-08 | Microsoft Technology Licensing, Llc | Parallel tracing for performance and detail |
US9021262B2 (en) | 2013-01-25 | 2015-04-28 | Concurix Corporation | Obfuscating trace data |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US9223681B2 (en) | 2013-02-15 | 2015-12-29 | International Business Machines Corporation | Automated debug trace specification |
US9021448B1 (en) | 2013-02-28 | 2015-04-28 | Ca, Inc. | Automated pattern detection in software for optimal instrumentation |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
RU2570897C2 (ru) * | 2013-10-25 | 2015-12-20 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Способ генерирования переменной эдс при возвратно-поступательном движении |
CN105765528B (zh) | 2013-11-13 | 2019-09-24 | 微软技术许可有限责任公司 | 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质 |
US20150378756A1 (en) * | 2014-06-25 | 2015-12-31 | SmartBear Software, Inc. | Systems and methods for mobile application tracing instrumentation |
US10116512B2 (en) | 2014-07-10 | 2018-10-30 | Oracle International Corporation | Service discovery and/or effort estimation in networked computing environments |
US9594662B2 (en) * | 2014-08-27 | 2017-03-14 | Ca, Inc. | Automated instrumentation of applications |
US10310962B2 (en) * | 2014-09-24 | 2019-06-04 | Entit Software Llc | Infrastructure rule generation |
GB2530527A (en) | 2014-09-25 | 2016-03-30 | Ibm | A method for controlling a byte code transformer on detection of completion of an asynchronous command |
US10042735B2 (en) * | 2015-07-10 | 2018-08-07 | Ca, Inc. | Selecting application wrapper logic components for wrapping a mobile application based on wrapper performance feedback from user electronic devices |
US9588873B1 (en) | 2015-09-28 | 2017-03-07 | International Business Machines Corporation | Using core files to develop diagnostic programs |
US9836320B2 (en) | 2016-03-11 | 2017-12-05 | International Business Machines Corporation | Collecting performance metrics from java virtual machines |
US11151604B2 (en) * | 2016-06-10 | 2021-10-19 | International Business Machines Corporation | Revenue management using dynamic customer selection |
US10749782B2 (en) * | 2016-09-10 | 2020-08-18 | Splunk Inc. | Analyzing servers based on data streams generated by instrumented software executing on the servers |
US10289520B2 (en) * | 2017-06-23 | 2019-05-14 | New Relic, Inc. | Adaptive application performance analysis |
CN111124931B (zh) * | 2019-12-30 | 2023-10-10 | 中国农业银行股份有限公司 | 一种Java代码合规性检查方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004264914A (ja) * | 2003-02-24 | 2004-09-24 | Intellaset:Kk | システム性能測定分析装置 |
US20080276227A1 (en) * | 2007-05-06 | 2008-11-06 | Bernd Greifeneder | Method and System for Adaptive, Generic Code Instrumentation using Run-time or Load-time generated Inheritance Information for Diagnosis and Monitoring Application Performance and Failure |
JP2010033543A (ja) * | 2008-06-24 | 2010-02-12 | Smg Kk | ソフトウエア動作監視システム、そのクライアントコンピュータおよびサーバコンピュータ、並びに、そのプログラム |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515536A (en) | 1992-11-13 | 1996-05-07 | Microsoft Corporation | Method and system for invoking methods of an object through a dispatching interface |
US6314558B1 (en) | 1996-08-27 | 2001-11-06 | Compuware Corporation | Byte code instrumentation |
US6425017B1 (en) * | 1998-08-17 | 2002-07-23 | Microsoft Corporation | Queued method invocations on distributed component applications |
CA2255042C (en) | 1998-11-30 | 2004-04-13 | Leonard W. Theivendra | Class loader |
US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US6954747B1 (en) | 2000-11-14 | 2005-10-11 | Microsoft Corporation | Methods for comparing versions of a program |
US7047521B2 (en) | 2001-06-07 | 2006-05-16 | Lynoxworks, Inc. | Dynamic instrumentation event trace system and methods |
US6993760B2 (en) | 2001-12-05 | 2006-01-31 | Microsoft Corporation | Installing software on a mobile computing device using the rollback and security features of a configuration manager |
US7103878B2 (en) | 2001-12-13 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Method and system to instrument virtual function calls |
US6985909B2 (en) | 2001-12-28 | 2006-01-10 | Sap Ag | Modified class loaders and methods of use |
US7281242B2 (en) | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
US20030163608A1 (en) * | 2002-02-21 | 2003-08-28 | Ashutosh Tiwary | Instrumentation and workload recording for a system for performance testing of N-tiered computer systems using recording and playback of workloads |
US7058957B1 (en) | 2002-07-12 | 2006-06-06 | 3Pardata, Inc. | Cluster event notification system |
US7870431B2 (en) | 2002-10-18 | 2011-01-11 | Computer Associates Think, Inc. | Transaction tracer |
US8418145B2 (en) | 2002-11-07 | 2013-04-09 | Ca, Inc. | Simple method optimization |
US7206807B2 (en) | 2003-01-21 | 2007-04-17 | Bea Systems, Inc. | Asynchronous invoking a remote web service on a server by a client who passes on a received invoke request from application code residing on the client |
US7114150B2 (en) | 2003-02-13 | 2006-09-26 | International Business Machines Corporation | Apparatus and method for dynamic instrumenting of code to minimize system perturbation |
US7496903B2 (en) | 2003-08-12 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Synthesizing application response measurement (ARM) instrumentation |
US7293260B1 (en) | 2003-09-26 | 2007-11-06 | Sun Microsystems, Inc. | Configuring methods that are likely to be executed for instrument-based profiling at application run-time |
US7469262B2 (en) | 2003-12-29 | 2008-12-23 | Oracle International Corporation | Customizable metadata merging framework |
US7395458B2 (en) | 2004-05-21 | 2008-07-01 | Bea Systems, Inc. | Diagnostic instrumentation |
US7359831B2 (en) | 2004-05-21 | 2008-04-15 | Bea Systems, Inc. | Diagnostic context |
US7562341B2 (en) | 2004-05-24 | 2009-07-14 | Sap Ag | Deploy callback system with bidirectional containers |
US7546593B2 (en) | 2004-05-28 | 2009-06-09 | Sap Ag | Common class loaders |
US7614045B2 (en) | 2004-09-24 | 2009-11-03 | Sap (Ag) | Sharing classes and class loaders |
US20060174226A1 (en) | 2005-02-03 | 2006-08-03 | Sytex, Inc. | Methods, Test Systems And Computer-Readable Medium For Dynamically Modifying Flow Of Executable Code |
US7926042B2 (en) | 2005-10-31 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | System and method for dynamic instrumentation |
US20070107057A1 (en) | 2005-11-10 | 2007-05-10 | Docomo Communications Laboratories Usa, Inc. | Method and apparatus for detecting and preventing unsafe behavior of javascript programs |
US7483927B2 (en) | 2005-12-01 | 2009-01-27 | International Business Machines Corporation | Method for merging metadata on files in a backup storage |
US20070150870A1 (en) | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | Method and apparatus for context oriented computer program tracing and visualization |
US20070234307A1 (en) | 2006-03-06 | 2007-10-04 | Chi-Keung Luk | Methods and apparatus to inline conditional software instrumentation |
JP4722740B2 (ja) | 2006-03-22 | 2011-07-13 | 株式会社沖データ | 媒体搬送装置、及び画像形成装置 |
WO2007113542A1 (en) * | 2006-03-31 | 2007-10-11 | British Telecommunications Public Limited Company | Server computer component |
US8261244B2 (en) | 2006-06-02 | 2012-09-04 | Microsoft Corporation | Arbitrary runtime function call tracing |
US20080034352A1 (en) | 2006-06-29 | 2008-02-07 | Mckinney Howard M | System and method for determining unimportant probe locations by examination of byte code to identify method by name pattern |
US8151277B2 (en) | 2007-05-15 | 2012-04-03 | Dynatrace Software Gmbh | Method and system for dynamic remote injection of in-process agents into virtual machine based applications |
US7957934B2 (en) * | 2007-05-15 | 2011-06-07 | Dynatrace Software Gmbh | Method and system for processing application performance data ouside of monitored applications to limit overhead caused by monitoring |
US20080148242A1 (en) | 2006-12-18 | 2008-06-19 | Computer Associates Think, Inc. | Optimizing an interaction model for an application |
US8079020B2 (en) | 2007-03-05 | 2011-12-13 | Microsoft Corporation | Preferential path profiling |
WO2008156782A2 (en) | 2007-06-19 | 2008-12-24 | Sand Holdings, Llc | Devices and methods for automatic reset of monitored network network equipment |
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 |
EP2238540A1 (en) | 2008-02-01 | 2010-10-13 | The Mathworks, Inc. | Selective code instrumentation for software verification |
US8019863B2 (en) | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US8141056B2 (en) * | 2008-04-03 | 2012-03-20 | International Business Machines Corporation | Just-in-time dynamic instrumentation |
US20100131930A1 (en) | 2008-11-21 | 2010-05-27 | International Business Machines Corporation | Selective Code Coverage Instrumentation |
-
2010
- 2010-05-11 US US12/777,496 patent/US8566800B2/en active Active
-
2011
- 2011-05-09 JP JP2011104689A patent/JP5798372B2/ja not_active Expired - Fee Related
- 2011-05-11 KR KR1020110044254A patent/KR101705265B1/ko active IP Right Grant
- 2011-05-11 EP EP11250521.9A patent/EP2386955B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004264914A (ja) * | 2003-02-24 | 2004-09-24 | Intellaset:Kk | システム性能測定分析装置 |
US20080276227A1 (en) * | 2007-05-06 | 2008-11-06 | Bernd Greifeneder | Method and System for Adaptive, Generic Code Instrumentation using Run-time or Load-time generated Inheritance Information for Diagnosis and Monitoring Application Performance and Failure |
JP2010033543A (ja) * | 2008-06-24 | 2010-02-12 | Smg Kk | ソフトウエア動作監視システム、そのクライアントコンピュータおよびサーバコンピュータ、並びに、そのプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015207079A (ja) * | 2014-04-18 | 2015-11-19 | 富士通株式会社 | 分析方法、分析装置、及び分析プログラム |
JP2016085537A (ja) * | 2014-10-23 | 2016-05-19 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
US10089211B2 (en) | 2014-10-23 | 2018-10-02 | Canon Kabushiki Kaisha | Information processing apparatus that executes processing by using a bytecode, method for controlling the same, and non-transitory computer-readable medium |
JP7293975B2 (ja) | 2019-08-20 | 2023-06-20 | 株式会社リコー | 情報処理装置、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5798372B2 (ja) | 2015-10-21 |
EP2386955B1 (en) | 2013-07-10 |
KR20110124733A (ko) | 2011-11-17 |
US20110283264A1 (en) | 2011-11-17 |
EP2386955A1 (en) | 2011-11-16 |
KR101705265B1 (ko) | 2017-02-22 |
US8566800B2 (en) | 2013-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5798372B2 (ja) | 動的計測を介してのカスタムコードの診断を効率化するためのメソッド呼び出しの検出 | |
JP5723207B2 (ja) | 特定のトランザクションコンテキストにおけるソフトウェアによる条件付き動的計測 | |
JP5705084B2 (ja) | 2パス自動アプリケーション計測 | |
JP5723208B2 (ja) | コールバックを用いたソフトウェアの動的計測のためのフェイルセーフメカニズム | |
US8752015B2 (en) | Metadata merging in agent configuration files | |
US8423973B2 (en) | Instrumenting an application with flexible tracers to provide correlation data and metrics | |
US9411616B2 (en) | Classloader/instrumentation approach for invoking non-bound libraries | |
US7496615B2 (en) | Method, system and article for detecting critical memory leaks causing out-of-memory errors in Java software | |
US20100281488A1 (en) | Detecting non-redundant component dependencies in web service invocations | |
US20050204342A1 (en) | Method, system and article for detecting memory leaks in Java software | |
US9588872B2 (en) | Discovery of code paths | |
US9679245B2 (en) | Predicting the impact of change on events detected in application logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20120920 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150428 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150717 |
|
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: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5798372 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |