ルートのステップのパフォーマンスの時間を計りたい。私はラクダのAOPを使用してタイマーを開始し、ステップを実行し、タイマーを停止してログに記録することを検討していました。ただし、AOPは現在非推奨であり、Interceptメカニズムの使用を検討しましたが、前に「アドバイス」を追加するだけで、後で必要になります。これを行うためのクリーンな方法はありますか?
3 に答える
ええ、多くの選択肢があります。
Fuse IDE に関する上記のコメントを修正します。このエディタはオープンソースで、誰でも無料で使用できます。サブスクリプションは必要ありません。Red Hat に買収されて以来、これを無料で提供しています。
1)モニタリングについて。次に、 Camel アプリの監視について人々が書いたブログhttp://camel.apache.org/articlesを確認でき ます。
2) また、http://camel.apache.org/user-stories.html には CamelWatch などのサードパーティ製アプリがいくつかあります。
3) James Strachan (Camel の創設者) と Fuse チームの他のメンバーは、Hawt IO と呼ばれる Camel およびその他の統合フレームワーク用の Web コンソールに取り組んでいます - http://hawt.io/
4) アランがすでに指摘したように、利用できるイベントを発行するイベント通知機能を使用できます。
5) Fuse HQ / JON / Hyperic / などのサードパーティ ツールと統合できる JMX API があります。
6) nagios 統合用の camel-nagios コンポーネントがあります
7) また、Camel in Action ブックの第 12 章にもいくつかの詳細があります: http://manning.com/ibsen/
8) グループサイズ/グループ間隔オプションhttp://camel.apache.org/logを使用してパフォーマンスを記録できるログコンポーネントもあります
9) また、トレースにも使用でき、ルーティングのパフォーマンスを測定できるトレーサーがありますhttp://camel.apache.org/tracer
ここには、最初のアイデアを追求するなど、多くの選択肢があります。
1)CamelのEventNotifierに簡単に接続できます。ここに基本的な例がありますhttp://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.html
INFO CamelContextFactoryBean - Using custom EventNotifier with id: myLoggingEventNotifier and implementation: org.apache.camel.processor.MyLoggingSentEventNotifer@76bf9e
INFO MyLoggingSentEventNotifer - Took 1001 millis to send to: Endpoint[direct://bar]
INFO MyLoggingSentEventNotifer - Took 0 millis to send to: Endpoint[mock://result]
INFO MyLoggingSentEventNotifer - Took 1013 millis to send to: Endpoint[direct://start]
2)FuseIDEを使用できます。例はこちら http://fusesource.com/docs/ide/2.1/tutorials/RiderTutorialTrace.html
3)JMXを使用してJavaインスタンスに接続でき、そこから取得できる情報がたくさんあります。