長時間実行されるメソッドに必要な時間を知るために、ac# モバイル アプリケーション内のパフォーマンスを追跡したいと考えています。目標は、メソッドのレベルでパフォーマンスを知ることです。このトレースは実行時に決定されます。
最初に思いついたアイデアは、グローバル変数「doWeHaveToTrace」を維持し、追跡可能なメソッドが呼び出されるたびにチェックし、その変数が true の場合に追跡することです。この場合、おそらく Logger または TraceListener を使用して、トレース情報をファイルに書き込みます。
しかし、各メソッドで変数をチェックする必要があり、ロガー呼び出しをコーディングする必要があるため、このメカニズムはかなり重いと思います。
before()
アスペクト プログラミング (およびメソッドにトレース コードを挿入するafter()
) も考えましたが、このプロジェクト内でアスペクト プログラミングを許可することはできないと思います。
だから私は疑問に思っていました.そのようなパフォーマンスの追跡を提供できる他の良いメカニズムはありますか? メソッド全体をトレースすることは可能ですか? また、実行時にトレースを停止または再開することを決定するには?