JP2009540463A - Api性能プロファイルを収集し報告するための自動化された方法およびシステム - Google Patents
Api性能プロファイルを収集し報告するための自動化された方法およびシステム Download PDFInfo
- Publication number
- JP2009540463A JP2009540463A JP2009515395A JP2009515395A JP2009540463A JP 2009540463 A JP2009540463 A JP 2009540463A JP 2009515395 A JP2009515395 A JP 2009515395A JP 2009515395 A JP2009515395 A JP 2009515395A JP 2009540463 A JP2009540463 A JP 2009540463A
- Authority
- JP
- Japan
- Prior art keywords
- api
- data
- memory allocation
- timing
- computer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000006870 function Effects 0.000 claims abstract description 70
- 238000003860 storage Methods 0.000 claims description 29
- 238000005259 measurement Methods 0.000 claims description 25
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 14
- 230000002452 interceptive effect Effects 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims 2
- 238000013480 data collection Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000002747 voluntary effect Effects 0.000 description 2
- LZDYZEGISBDSDP-UHFFFAOYSA-N 2-(1-ethylaziridin-1-ium-1-yl)ethanol Chemical compound OCC[N+]1(CC)CC1 LZDYZEGISBDSDP-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- 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/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
API性能プロファイラ
一実施形態では、API性能プロファイルを収集し報告するための自動化された方法およびシステムが提供される。この実施形態は、アプリケーション開発の助けとするために開発者またはツールによって使用することができる性能プロファイルまたはフィンガープリントを生成するために、実行コードの非常に正確で経験的な観察値を収集することに焦点を当てている。この自動化された方法は、専門の性能プロファイラ、公に目に見えるすべての入口点についてのデータを生成するためにバイナリを網羅的に実行する自動化システム、解析ツールによって消費され得る形でこのデータを持続させるための機構、ならびに機能性能特性を理解する助けとするためにプロファイルをグラフィカルにレンダリングするためのシステムの使用を用いる。あるモードでは、プロファイラは、目に見えるAPIについての正確な実行時間情報を収集する。別のモードでは、プロファイラは、いずれかの機能を呼び出すと生じるメモリ割当てに関する詳細を収集する。
最初、APIプロファイラに、特徴付けるべきターゲットAPIが与えられる(ステップ202)。次いで、メモリ割当てプロファイラは、APIによって呼び出されたすべての機能のメモリ割当てを追跡するモードで実行される(ステップ204)。その結果、テスト対象APIによって呼び出されたすべての機能のリストが生成される(ステップ206)。
本発明の一態様では、APIデータは、分散されたやり方で収集されてもよい。分散型APIデータ収集の一目的は、開発者およびユーザがいずれかの1つのAPIを使用するコストを査定する助けとするためにAPIの性能のデータベースを作成することである。データベースにデータを取り込むために「ユーザ環境(in the wild)」API性能の実際の測定値の統計的に興味深いサンプルを収集することが望ましい。データが取り込まれたデータベースは、一般的なハードウェア上で一般的な実際のアプリケーションにおいて観察される一般的な「性能コスト」を性能パラメータが反映している場合、価値が高くなる。したがって、ユーザマシン上で実際に使用されるAPIの性能が望ましい。次いで、このデータ収集プロセスを使用して、実行時間、メモリ割当ておよびディスクI/Oなど、様々な異なる「リソースコスト」の性能コストの特性分布を生成することができる。
1)標準のAPI参照は、グラフィカルと、数字の形で詳細を見るのに使用可能な「ドリルダウン」との両方で表示する、APIプロファイラ結果データベースに含まれた情報を自動的に含む。
a.文書フォーマッティングシステムが、各APIの文書を作成する。
b.各APIについて、それが作成されるときに、API性能コスト要約を取得するためにAPIプロファイラデータに照会する。
c.性能コスト要約が、リンクと共に、グラフィカルな形で文書内に挿入され、このリンクは、収集されたAPI性能データのウェブベース公表において詳細な形で最新データまで「ドリルダウン」することを可能にする。
2)Microsoft(登録商標)Visual Studio(商標)システムのIntellisense(商標)特徴などの設計時間コーディング支援は、一般的なコストが直ちに目に見えるように、新しいAPI呼出しがコーディングされているとき、任意選択のドリルダウンを伴うグラフィカルな形のコスト要約を含むことができる。
a.このシステムは、1組の可能なAPI完了を引き起こす。
b.各完了について、このシステムは、収集されたAPIプロファイラデータに照会する。
c.システム表示はそれぞれ、APIプロファイラによって収集された情報からの要約をグラフィカルな形で提示する。
3)コードプロファイリングシステムの診断部分は、APIプロファイラによって収集されたデータに照会して、所与のいずれかのユーザのAPI使用が、一般的な使用パターンにコスト的に匹敵するかどうか確認する。トラブルシュート体験を向上させるために、異常なコストは、疑わしいとしてユーザに報告されてもよい。
a.プロファイル内の観察された各APIについて、このシステムは、APIプロファイラ結果に照会する。
b.それぞれのAPIについて、観察されたコスト分布が、「置換テスト」などの標準の統計方法を使用して、APIプロファイラ結果分布と比較される。
c.ユーザコスト分布がAPIプロファイラ収集データの分布よりも悪いという統計的証拠があることを統計法が示唆する場合、当該のAPIは、潜在的な改良点としてフラグが立てられ、調査のためにユーザに提示される。
i.提示は、それが呼出しスタック内に現れる場合にAPIを強調表示することによって、または
ii.こうしたAPIのリストの作成することによって、または
iii.観察された最高のコストをAPIが有するコンテキストを強調表示することによって行うことができる。
4)APIベンダは、これらの技術を使用して、顧客の一般的な使用およびコストに関する内部調査を作成して、それによってAPIの改良を目標とし、その成功を追跡してもよい。
a.コストの分布は、発生モジュール、名前空間またはその両方によって細分して、レポート形式で生成することができる。
b.次いで、これらの内訳は、計画作成のために、組織によって消費される。
図4および以下の説明は、媒体記憶装置とインターフェースするのに適したホストコンピュータについて簡潔に概説することを意図している。以下では汎用コンピュータについて説明されているが、これは、単一プロセッサの一例にすぎず、複数のプロセッサを備えたホストコンピュータの実施形態が、ネットワーク/バス相互運用性および相互作用を有するクライアントなどの他のコンピューティング装置と共に実装されてもよい。
Claims (19)
- アプリケーションプログラミングインターフェース(API)の性能を測定する方法であって、
(a)測定するAPIのリストを作成するステップと、
(b)前記リストから単一のターゲットアプリケーションプログラミングインターフェース(API)を選択するステップと、
(c)前記ターゲットAPIへの呼出しをインターセプトし、タイミングおよびメモリ割当てデータを収集するステップと、
(d)前記ターゲットAPIの前記タイミングおよびメモリ割当てデータを記録するステップであって、前記記録されたデータは記憶装置内に置かれるステップと、
(e)測定された結果を併合して、前記収集されたタイミングおよびメモリ割当てデータのlog2を示すバケット化されたデータを含む結果テーブルにするステップと、
(f)前記リスト内の各APIについてステップ(b)からステップ(e)を繰り返すステップと
を備えることを特徴とする方法。 - 結果のデータベースを生成し、前記データベースをAPI性能データのユーザが使用できるようにするステップをさらに備えることを特徴とする請求項1に記載の方法。
- 各機能のヒストグラムを使用してグラフィカルユーザインターフェースを介して前記結果テーブルを提示するステップをさらに備えることを特徴とする請求項1に記載の方法。
- 前記ターゲットAPIによって呼び出された機能のリストを生成するステップであって、前記リストは、前記呼出しスタック上に決して同時に現れない機能を備える非干渉機能を備えるステップと、
複数の非干渉機能についてのタイミングおよびメモリ割当てを同時に測定するステップと
をさらに備えることを特徴とする請求項1に記載の方法。 - 前記非干渉機能の測定された実行結果を併合して、前記タイミングおよびメモリ割当てデータのlog2を示すバケット化されたデータを含む結果テーブルにするステップをさらに備えることを特徴とする請求項4に記載の方法。
- 各機能のヒストグラムを使用してグラフィカルユーザインターフェースを介して前記結果テーブルを提示するステップをさらに備えることを特徴とする請求項5に記載の方法。
- APIの性能を測定するプログラムは複数のユーザコンピュータ内に常駐し、
記憶装置内の前記記録されたデータが閾値量を超えるかどうか確認するためにテストするステップと、
前記閾値量を超えない場合は、メモリ割当ておよびタイミングデータを測定するユーザコンピュータ内の別のAPIを選択し、ステップ(b)からステップ(e)を繰り返すステップと、
記憶装置内の前記記録されたデータが前記閾値量を超える場合は、記憶装置内の前記記録されたデータを中央サービス位置に提出するステップであって、前記中央サービス位置は記憶装置内にAPI測定データを有するステップと、
中央記憶位置で、前記提出されたデータを記憶装置内の前記API測定データと集約するステップと、
結果データベースを生成し、前記データベースをAPI性能データのユーザが使用可能とするステップとをさらに備えることを特徴とする請求項1に記載の方法。 - メモリ割当ておよびタイミングデータを測定するAPIを選択するステップは、ターゲットAPIを選択するために乱数発生器を使用するステップを備えることを特徴とする請求項1に記載の方法。
- アプリケーションプログラミングインターフェース(API)の性能データを取得するためのコンピュータシステムであって、
ソフトウェア命令を実行するプロセッサを備え、前記ソフトウェア命令は、
ターゲットのアプリケーションプログラミングインターフェース(API)のメモリ割当て測定値を生成する、前記APIによって機能が呼び出される回数を測定し記録するメモリ割当てプロファイラモジュールと、
前記ターゲットAPIのタイミング測定値を生成する、前記APIに関連するタイミング情報を測定し記録するタイミングプロファイラモジュールと、
前記ターゲットAPIの各呼出しごとに1回、前記メモリ割当てモジュールおよび前記タイミングプロファイラモジュールを実行し、同じ呼出しスタックに現れる2つのAPIを同時に測定することを回避する調整モジュールと、
前記ターゲットAPIの前記メモリ割当て測定値と前記タイミング測定値とを組み合わせて、結果テーブルにする併合ツールモジュールと、
前記結果テーブルのデータを、前記メモリ割当ておよびタイミング測定値のlog2バケット化による形で表示することができるユーザインターフェースモジュールと
を備えることを特徴とするコンピュータシステム。 - 前記メモリ割当てプロファイラは、包含的メモリ割当て値と排他的メモリ割当て値を別々に測定し記録することを特徴とする請求項9に記載のコンピュータシステム。
- 前記ユーザインターフェースモジュールは、測定された各機能呼出しについて、前記結果テーブルのデータをヒストグラムの形へとレンダリングするグラフィカルユーザインターフェースをさらに備えることを特徴とする請求項9に記載のコンピュータシステム。
- アプリケーションプログラミングインターフェース(API)の性能データを取得する方法を実施するためのコンピュータ実行可能命令を含むコンピュータ読取り可能媒体であって、前記方法は、
(a)測定するAPIのリストを作成するステップと、
(b)前記リストから単一のターゲットAPIを選択するステップと、
(c)前記ターゲットAPIへの呼出しをインターセプトし、タイミングおよびメモリ割当てデータを収集するステップと、
(d)前記ターゲットAPIの前記タイミングおよびメモリ割当てデータを記録するステップであって、前記記録されたデータは記憶装置内に置かれるステップと、
(e)測定された結果を併合して、前記収集されたタイミングおよびメモリ割当てデータのlog2を示すバケット化されたデータを含む結果テーブルにするステップと、
(f)前記リスト内の各APIについてステップ(b)からステップ(e)を繰り返すステップと
を備えることを特徴とするコンピュータ読取り可能媒体。 - 結果のデータベースを生成し、前記データベースをAPI性能データのユーザが使用できるようにするステップをさらに備えることを特徴とする請求項12に記載のコンピュータ読取り可能媒体。
- 各機能のヒストグラムを使用してグラフィカルユーザインターフェースを介して前記結果テーブルを提示するステップをさらに備えることを特徴とする請求項12に記載のコンピュータ読取り可能媒体。
- 前記ターゲットAPIによって呼び出された機能のリストを生成するステップであって、前記リストは、前記呼出しスタック上に決して同時に現れない機能を備える非干渉機能を備えるステップと、
複数の非干渉機能についてのタイミングおよびメモリ割当てを同時に測定するステップと
をさらに備えることを特徴とする請求項12に記載のコンピュータ読取り可能媒体。 - 前記非干渉機能の測定された実行結果を併合して、前記タイミングおよびメモリ割当てデータのlog2を示すバケット化されたデータを含む結果テーブルにするステップをさらに備えることを特徴とする請求項15に記載のコンピュータ読取り可能媒体。
- 各機能のヒストグラムを使用してグラフィカルユーザインターフェースを介して前記結果テーブルを提示するステップをさらに備えることを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
- 記憶装置内の前記記録されたデータが閾値量を超えるかどうか確認するためにテストするステップと、
前記閾値量を超えない場合は、メモリ割当ておよびタイミングデータを測定する別のAPIを選択し、ステップ(b)からステップ(e)を繰り返すステップと、
記憶装置内の前記記録されたデータが前記閾値量を超える場合は、記憶装置内の前記記録されたデータを中央サービス位置に提出するステップであって、前記中央サービス位置は記憶装置内のAPI測定データを有する、ステップと、
中央記憶位置で、前記提出されたデータを記憶装置内の前記API測定データと集約するステップと、
結果データベースを生成し、前記データベースをAPI性能データのユーザが使用可能とするステップと
をさらに備えることを特徴とする請求項12に記載のコンピュータ読取り可能媒体。 - メモリ割当ておよびタイミングデータを測定するAPIを選択するステップは、ターゲットAPIを選択するために乱数発生器を使用するステップを備えることを特徴とする請求項12に記載のコンピュータ読取り可能媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/454,714 | 2006-06-16 | ||
US11/454,714 US7895579B2 (en) | 2006-06-16 | 2006-06-16 | Automated method and system for collecting and reporting API performance profiles |
PCT/US2007/011193 WO2007149156A2 (en) | 2006-06-16 | 2007-05-08 | An automated method and system for collecting and reporting api performance profiles |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009540463A true JP2009540463A (ja) | 2009-11-19 |
JP5249206B2 JP5249206B2 (ja) | 2013-07-31 |
Family
ID=38833905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009515395A Active JP5249206B2 (ja) | 2006-06-16 | 2007-05-08 | Api性能プロファイルを収集し報告するための自動化された方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US7895579B2 (ja) |
EP (1) | EP2035955B1 (ja) |
JP (1) | JP5249206B2 (ja) |
KR (1) | KR20090017586A (ja) |
CN (1) | CN101553802B (ja) |
WO (1) | WO2007149156A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118777A (ja) * | 2010-12-01 | 2012-06-21 | Ricoh Co Ltd | 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体 |
JP2014523022A (ja) * | 2011-06-20 | 2014-09-08 | マイクロソフト コーポレーション | コンピュータにより実行される方法及びコンピュータシステム |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266726B1 (en) | 2003-11-24 | 2007-09-04 | Time Warner Cable Inc. | Methods and apparatus for event logging in an information network |
US8302111B2 (en) | 2003-11-24 | 2012-10-30 | Time Warner Cable Inc. | Methods and apparatus for hardware registration in a network device |
US9213538B1 (en) | 2004-02-06 | 2015-12-15 | Time Warner Cable Enterprises Llc | Methods and apparatus for display element management in an information network |
US8078669B2 (en) | 2004-02-18 | 2011-12-13 | Time Warner Cable Inc. | Media extension apparatus and methods for use in an information network |
US7895579B2 (en) * | 2006-06-16 | 2011-02-22 | Microsoft Corporation | Automated method and system for collecting and reporting API performance profiles |
US7913233B2 (en) * | 2006-09-28 | 2011-03-22 | Bank Of America Corporation | Performance analyzer |
US8370818B2 (en) | 2006-12-02 | 2013-02-05 | Time Warner Cable Inc. | Methods and apparatus for analyzing software interface usage |
KR100921514B1 (ko) * | 2006-12-05 | 2009-10-13 | 한국전자통신연구원 | 성능 예측 기능을 제공하는 소프트웨어 개발 장치 및 방법 |
US8713513B2 (en) * | 2006-12-13 | 2014-04-29 | Infosys Limited | Evaluating programmer efficiency in maintaining software systems |
US8117601B2 (en) * | 2007-11-14 | 2012-02-14 | Microsoft Corporation | Internal test and manipulation of an application |
US8549347B1 (en) | 2010-12-20 | 2013-10-01 | Amazon Technologies, Inc. | Techniques for network replication |
US8321843B2 (en) * | 2009-02-09 | 2012-11-27 | Tranxition Corporation | Automatic analysis of an application's run-time settings |
US8756564B2 (en) * | 2009-05-29 | 2014-06-17 | International Business Machines Corporation | Techniques for providing environmental impact information associated with code |
US8554811B2 (en) * | 2009-11-10 | 2013-10-08 | Microsoft Corporation | Software routine fingerprints in performance data |
CN102486731B (zh) * | 2009-11-30 | 2015-12-09 | 国际商业机器公司 | 增强软件的软件调用栈的可视化的方法、设备和系统 |
US8645914B2 (en) | 2010-01-22 | 2014-02-04 | AgentSheets, Inc. | Conversational programming |
KR101635816B1 (ko) | 2010-07-02 | 2016-07-04 | 삼성전자주식회사 | 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치 |
US8887122B2 (en) * | 2010-11-23 | 2014-11-11 | Red Hat, Inc. | Find and track information of interface usage of software libraries by other software |
US8938706B2 (en) * | 2010-11-23 | 2015-01-20 | Red Hat, Inc. | Providing customized visualization of application binary interface/application programming interface-related information |
US8776036B2 (en) | 2010-11-23 | 2014-07-08 | Red Hat, Inc. | Determining support criteria for shared libraries based on their priority levels |
US8863108B2 (en) * | 2010-11-23 | 2014-10-14 | Red Hat, Inc. | Finding out if software will run on an operating system without installing that software |
US8707276B2 (en) * | 2011-01-07 | 2014-04-22 | Mastercard International Incorporated | Method and system for managing programmed applications in an open API environment |
US9032204B2 (en) | 2011-01-07 | 2015-05-12 | Mastercard International Incorporated | Methods and systems for providing a signed digital certificate in real time |
US9083534B2 (en) | 2011-01-07 | 2015-07-14 | Mastercard International Incorporated | Method and system for propagating a client identity |
US9436534B2 (en) * | 2011-01-17 | 2016-09-06 | Infosys Limited | Method and system for preemptive detection of occurrence of faulty conditions based on resource usage |
CN102203730B (zh) * | 2011-05-20 | 2013-10-02 | 华为技术有限公司 | 开放应用程序编程接口选择方法及设备 |
US8650550B2 (en) * | 2011-06-07 | 2014-02-11 | Blackberry Limited | Methods and devices for controlling access to computing resources |
US8924914B2 (en) * | 2011-06-14 | 2014-12-30 | Sap Se | Application creation tool toolkit |
US8862950B1 (en) * | 2011-09-22 | 2014-10-14 | Amazon Technologies, Inc. | Testing the operation of an application programming interface |
US20130205019A1 (en) * | 2012-02-07 | 2013-08-08 | William Oellermann | Systems and methods for managing api interactions |
US9183108B2 (en) * | 2012-03-27 | 2015-11-10 | Microsoft Technology Licensing, Llc | Logical grouping of profile data |
US8909770B2 (en) * | 2012-06-04 | 2014-12-09 | Brocade Communications Systems, Inc. | Performance estimator for network devices |
US20140068569A1 (en) * | 2012-08-31 | 2014-03-06 | Microsoft Corporation | User directed profiling |
US9015685B2 (en) | 2013-03-01 | 2015-04-21 | International Business Machines Corporation | Code analysis for simulation efficiency improvement |
US10843084B2 (en) * | 2013-10-30 | 2020-11-24 | Nvidia Corporation | Method and system for gathering time-varying metrics |
US9934122B2 (en) | 2014-07-09 | 2018-04-03 | Microsoft Technology Licensing, Llc | Extracting rich performance analysis from simple time measurements |
US9128729B1 (en) | 2014-09-08 | 2015-09-08 | Quanta Computer Inc. | System and method for automatically configuring bios performance profiles |
US9646092B2 (en) * | 2014-10-10 | 2017-05-09 | Adp, Llc | Centralized application programming interface monitoring tool |
US20160225042A1 (en) * | 2015-02-02 | 2016-08-04 | Linkedln Corporation | Determining a cost of an application programming interface |
US9846607B2 (en) | 2015-03-12 | 2017-12-19 | Nvidia Corporation | Method and system for associating crash reports with end user analytics |
CN106843824A (zh) * | 2015-12-03 | 2017-06-13 | 财团法人工业技术研究院 | 图形用户界面的执行方法、追踪方法与电子装置 |
US10884761B2 (en) | 2016-03-22 | 2021-01-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Best performance delivery in heterogeneous computing unit environment |
US10860499B2 (en) * | 2016-03-22 | 2020-12-08 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Dynamic memory management in workload acceleration |
CN106027325B (zh) * | 2016-05-10 | 2018-11-06 | 华中科技大学 | 一种网盘应用程序编程接口的测量方法和系统 |
US9892253B1 (en) * | 2016-06-20 | 2018-02-13 | Amazon Technologies, Inc. | Buffer overflow exploit detection |
CN106201864A (zh) * | 2016-06-27 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种应用程序编程接口api测试方法、装置及移动设备 |
US9871905B1 (en) * | 2016-08-09 | 2018-01-16 | Sprint Communications Company L.P. | Systems and methods for customized delivery of virtually installed applications |
CN106294157A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种操作系统测试方法及装置 |
US9753745B1 (en) * | 2016-08-17 | 2017-09-05 | TCL Research America Inc. | System and method for system function-flow optimization utilizing application programming interface (API) profiling |
US10445151B1 (en) * | 2016-09-14 | 2019-10-15 | Google Llc | Distributed API accounting |
US9990135B2 (en) | 2016-09-23 | 2018-06-05 | Apple Inc. | Providing memory usage analysis by attributing memory allocations to development components |
US20180232442A1 (en) * | 2017-02-16 | 2018-08-16 | International Business Machines Corporation | Web api recommendations |
EP3635540A4 (en) * | 2017-04-25 | 2021-02-24 | Intento, Inc. | INTENT-BASED API ORGANIZATION |
US10776798B2 (en) * | 2017-04-25 | 2020-09-15 | Comscore, Inc. | Device identification systems and methods |
CN109710396B (zh) * | 2017-10-26 | 2023-08-22 | 华为技术有限公司 | 一种信息采集及内存释放的方法及装置 |
US11716558B2 (en) | 2018-04-16 | 2023-08-01 | Charter Communications Operating, Llc | Apparatus and methods for integrated high-capacity data and wireless network services |
US10785017B2 (en) * | 2018-04-24 | 2020-09-22 | Microsoft Technology Licensing, Llc | Mitigating timing attacks via dynamically scaled time dilation |
US10891017B1 (en) | 2018-08-25 | 2021-01-12 | Sprint Communications Company L.P. | Rotating icon selection and interaction software development kit (SDK) |
US11129213B2 (en) | 2018-10-12 | 2021-09-21 | Charter Communications Operating, Llc | Apparatus and methods for cell identification in wireless networks |
US11129171B2 (en) | 2019-02-27 | 2021-09-21 | Charter Communications Operating, Llc | Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system |
US10467062B1 (en) * | 2019-03-11 | 2019-11-05 | Coupang, Corp. | Systems and methods for managing application programming interface information |
CN109933508B (zh) * | 2019-03-25 | 2023-02-24 | 北京百度网讯科技有限公司 | 用于发送信息的方法和装置 |
CN110457196B (zh) * | 2019-08-16 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 函数执行时间的获取方法及装置 |
US10936384B1 (en) * | 2019-10-23 | 2021-03-02 | Sap Se | Performance testing of OData APIs |
US11026205B2 (en) | 2019-10-23 | 2021-06-01 | Charter Communications Operating, Llc | Methods and apparatus for device registration in a quasi-licensed wireless system |
US10951738B1 (en) | 2020-08-06 | 2021-03-16 | Bank Of America Corporation | Automatic API integration |
US10956244B1 (en) * | 2020-08-26 | 2021-03-23 | Coupang Corp. | Systems and methods for automated application programming interface evaluation and migration |
CN112039913A (zh) * | 2020-09-07 | 2020-12-04 | 上海浦东发展银行股份有限公司 | 一种服务端api调用方法、装置及存储介质 |
KR102617002B1 (ko) * | 2022-11-28 | 2023-12-27 | 쿠팡 주식회사 | 애플리케이션의 성능을 측정하는 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314771A (ja) * | 1995-05-10 | 1996-11-29 | Internatl Business Mach Corp <Ibm> | アプリケーションの評価方法及びシステム |
US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
JP2005223847A (ja) * | 2004-02-09 | 2005-08-18 | Intelligent Cosmos Research Institute | ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732273A (en) * | 1995-08-11 | 1998-03-24 | Digital Equipment Corporation | System for monitoring compute system performance |
US5615323A (en) * | 1994-11-04 | 1997-03-25 | Concord Communications, Inc. | Displaying resource performance and utilization information |
US5748878A (en) * | 1995-09-11 | 1998-05-05 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US5920719A (en) * | 1995-11-06 | 1999-07-06 | Apple Computer, Inc. | Extensible performance statistics and tracing registration architecture |
US6330008B1 (en) * | 1997-02-24 | 2001-12-11 | Torrent Systems, Inc. | Apparatuses and methods for monitoring performance of parallel computing |
US6839725B2 (en) | 2000-05-16 | 2005-01-04 | Sun Microsystems, Inc. | Dynamic adaptive tenuring of objects |
US7216160B2 (en) | 2001-10-31 | 2007-05-08 | Sun Microsystems, Inc. | Server-based application monitoring through collection of application component and environmental statistics |
GB0126310D0 (en) | 2001-11-02 | 2002-01-02 | Britax Aircraft Interiors Uk L | Passenger seat |
US7266810B2 (en) * | 2002-04-09 | 2007-09-04 | Hewlett-Packard Development Company, Lp. | Runtime profiling of platform-independent software applications |
US6965978B2 (en) * | 2003-05-15 | 2005-11-15 | Microsoft Corporation | Memory tracking tool |
US7457872B2 (en) * | 2003-10-15 | 2008-11-25 | Microsoft Corporation | On-line service/application monitoring and reporting system |
US7895579B2 (en) | 2006-06-16 | 2011-02-22 | Microsoft Corporation | Automated method and system for collecting and reporting API performance profiles |
-
2006
- 2006-06-16 US US11/454,714 patent/US7895579B2/en active Active
-
2007
- 2007-05-08 EP EP07809053.7A patent/EP2035955B1/en active Active
- 2007-05-08 JP JP2009515395A patent/JP5249206B2/ja active Active
- 2007-05-08 CN CN200780022145XA patent/CN101553802B/zh active Active
- 2007-05-08 WO PCT/US2007/011193 patent/WO2007149156A2/en active Application Filing
- 2007-05-08 KR KR1020087030148A patent/KR20090017586A/ko not_active IP Right Cessation
-
2011
- 2011-01-11 US US13/004,095 patent/US9027000B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314771A (ja) * | 1995-05-10 | 1996-11-29 | Internatl Business Mach Corp <Ibm> | アプリケーションの評価方法及びシステム |
US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
JP2005223847A (ja) * | 2004-02-09 | 2005-08-18 | Intelligent Cosmos Research Institute | ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム |
Non-Patent Citations (1)
Title |
---|
JPN6012036613; Shende, S., et al.: 'A Performance Interface for Component-Based Applications' Procedings of the International Parallel and Distributed Processing Symposium(IPDPS'03) , 20030426, ページ番号無し(全8頁), IEEE * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118777A (ja) * | 2010-12-01 | 2012-06-21 | Ricoh Co Ltd | 情報処理システム、情報処理装置、方法、プログラムおよび記録媒体 |
JP2014523022A (ja) * | 2011-06-20 | 2014-09-08 | マイクロソフト コーポレーション | コンピュータにより実行される方法及びコンピュータシステム |
US9785470B2 (en) | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Memory management model and interface for unmodified applications |
Also Published As
Publication number | Publication date |
---|---|
US7895579B2 (en) | 2011-02-22 |
WO2007149156A2 (en) | 2007-12-27 |
CN101553802A (zh) | 2009-10-07 |
EP2035955A4 (en) | 2009-11-04 |
EP2035955A2 (en) | 2009-03-18 |
JP5249206B2 (ja) | 2013-07-31 |
KR20090017586A (ko) | 2009-02-18 |
WO2007149156A3 (en) | 2008-02-14 |
US20110113405A1 (en) | 2011-05-12 |
US9027000B2 (en) | 2015-05-05 |
EP2035955B1 (en) | 2017-04-26 |
US20070294673A1 (en) | 2007-12-20 |
CN101553802B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5249206B2 (ja) | Api性能プロファイルを収集し報告するための自動化された方法およびシステム | |
US8051332B2 (en) | Exposing application performance counters for .NET applications through code instrumentation | |
Engel et al. | Evaluation of microservice architectures: A metric and tool-based approach | |
US8938729B2 (en) | Two pass automated application instrumentation | |
US9588820B2 (en) | Cloud architecture recommender system using automated workload instrumentation | |
US8938719B2 (en) | System and method for performance assurance of applications | |
Ren et al. | Google-wide profiling: A continuous profiling infrastructure for data centers | |
US8578348B2 (en) | System and method of cost oriented software profiling | |
Theisen et al. | Approximating attack surfaces with stack traces | |
US20080127109A1 (en) | Method and system for generating and displaying function call tracker charts | |
EP2192491B1 (en) | System and method of implementing a concurrency profiler | |
Feitosa et al. | Investigating the effect of design patterns on energy consumption | |
US20090307347A1 (en) | Using Transaction Latency Profiles For Characterizing Application Updates | |
EP3021224A1 (en) | Method and apparatus for producing a benchmark application for performance testing | |
Allier et al. | Deriving coupling metrics from call graphs | |
Browne et al. | Comprehensive, open‐source resource usage measurement and analysis for HPC systems | |
Arisholm | Empirical assessment of the impact of structural properties on the changeability of object-oriented software | |
US20070168742A1 (en) | Isolating code modules | |
Fedorova et al. | Performance comprehension at WiredTiger | |
Diep et al. | Probe distribution techniques to profile events in deployed software | |
Alcocer et al. | Tracking performance failures with rizel | |
Staron et al. | Metrics for software design and architectures | |
Arias et al. | Constructing a resource usage view of a large and complex software-intensive system | |
Hansen | Towards comparative profiling of parallel applications with pperfdb | |
Kvam et al. | Cynical reengineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121109 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20121211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130212 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130411 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5249206 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |