私はMozillaFirefox用のjavascriptプロファイラーに取り組んでいます。これにより、ページ上のスクリプトの実行に関する利用可能なすべての情報(DOMオブジェクトの呼び出し、イベント、Math.random()などの関数の呼び出し、ドキュメント、ナビゲーターオブジェクト)を取得できます。呼び出し、および引数などを含むコード自体の実行ツリー)。
現在、この種のプロファイラーを実装する最良の方法は、Firefoxe独自のソースコードを変更することだと思います。
これを実行する1つの方法は、対応するメソッド呼び出しのすべての実装を見つけて、そこにプロファイラーログ呼び出しを追加することです。しかし、このアプローチには2つの問題があります。
メソッドとオブジェクトは広く散らばっていて、現時点ではソースコードにあまり詳しくありません。すべての機能を追跡し、プロファイラーが意図したとおりに機能することを確認するには、かなりの時間がかかります
このように作成すると、Firefoxのソースコードが時間とともに進化するときにプロファイラーを維持するのが難しくなります。
だから私は、Firefoxソースに単一のクラス/キークラスの小さなグループがある場合、それを変更して必要な情報を収集できるようにすることができるのだろうかと思っていました。それとも、私がする必要があることを行うためのより良い方法はありますか?