簡単なインストールで New Relic をアプリに組み込むにはどうすればよいですか? すべてのメソッド、リクエストなどをどのように認識していますか?
RoR、PHP などで動作します。
その背後にあるテクノロジーを説明できる人はいますか? Rails アプリを利用したいのですが、New Relic のようにスムーズに利用したいです。
ありがとう
簡単なインストールで New Relic をアプリに組み込むにはどうすればよいですか? すべてのメソッド、リクエストなどをどのように認識していますか?
RoR、PHP などで動作します。
その背後にあるテクノロジーを説明できる人はいますか? Rails アプリを利用したいのですが、New Relic のようにスムーズに利用したいです。
ありがとう
まず、NewRelic の機能を自分で複製することはできません。サーバー側を無視すると、rpm Gem は非常に複雑なソフトウェアであり、多くのことを行います。Rails システムにどのように接続されているかを知りたい場合は、ソースを参照してください。ソースは、データをサーバーに送り返す前にデータのスレッド化とマーシャリングに関していくつかの優れた機能を実行するため、読む価値があります。
Newrelic は高価であるために代替品が必要な場合 (当然のことながら、その機能は優れています)、Github のFreeRelicプロジェクトを参照してください。
彼らは、元のメソッド呼び出しをインターセプトし、その周りにインストルメンテーションを追加するために、アスペクト指向プログラミングの概念とリフレクションを多用しています。
Javaの場合、メソッド呼び出しをインターセプトして監視するJavaエージェントをJVMに接続しています。AspectJ を使用して同じ動作を複製し、すべてのメソッド呼び出しを任意の場所に記録できます。たとえば、カスタム Cloudwatch メトリクスを作成します。
Rails ソリューションの場合、より詳細なログ レベル (開発/デバッグ レベル) を実装し、特定のイベント、タイミングなどについて production.log ファイルに問い合わせることができます。