2012-04-25 3 views
3

ランタイムソフトウェアプロファイリングによるアプリケーションの動作を分析します。私が知る限り、プロファイリング技術には2つの基本的なタイプがあります。第1はサンプルベースのプロファイリングであり、第2はインストゥルメンテーションです。 どうすればいいですか?シングル(java)アプリケーションの動作を分析したいと思います。私はCPUのサイクルタイム、メモリ割り当てなどのパフォーマンス関連の問題について心配していません私に役立ついくつかのツールを提案してください。どのようなプロファイリング手法がプログラムの振る舞いを分析するのに最も適しているか

本当にありがとうございます。

ありがとうございます。

+0

パフォーマンスとメモリ使用量に関心がない場合は、何を意味するのですか? – assylias

+0

基本的には、攻撃者がアプリケーションを操作した場合のアプリケーションの動作がどのように違うかをテストしたい。例えば、呼び出しコンテキストツリーは、ある程度アプリケーションの動作を記述することができます。他にもいくつかの方法があります。 – Ragini

+0

私が理解するところでは、コンテキストツリーを呼び出すことは、制御フローグラフに似ています。あなたは正確に何を探していますか?プログラムがどのように正常に動作しているか、悪用されているときにどのように動作するかを見たいですか? – viking

答えて

1

制御フローに興味がある場合、サンプリングは適切ではありません(パフォーマンスのボトルネックを見つけるのに最適です)。計測フローのみが制御フローのデータを提供できます。

アプリケーションのメソッドレベルの時系列データを記録すると、計測するクラスを慎重に定義しない限り、膨大な量のデータが生成されます。

JProfilerには、目的に適したコール・トレーサ・ビューがあります(this questionも参照)。

免責事項:私の会社はJProfilerを開発しています。

+0

JProfilerさんのリンクから、それが支払われたようです。 u plはいくつかの良いオープンソースのJavaプロファイラを提案できますか?プロファイラが提供するコールグラフに興味があります。 – Ragini

関連する問題