そのようなフレームワークを急いで書く前に、誰かがそのようなフレームワークに遭遇したか、開発したかどうかを知りたいです。
私たちのプロジェクトは、パフォーマンスの向上に重点が置かれるポイントに到達しました。私は、Spring リポジトリを使用するサービスに委任するコントローラーがある Spring RESTful マイクロサービスの所有者です。非常に標準的で、特別なことは何もありません。
これが私ができるようにしたいことです。測定するメソッドに注釈を付けたくありません。また、チェックしたいメソッドの最初と最後に明示的なタイマー呼び出しを追加したくありません。ログ出力と同じように、コードは十分に「汚い」です。
私ができるようにしたいのは、外部構成ファイルで測定するメソッドをリストし、春の助けを借りてそれらを傍受して測定することです。ベンチマークは、本番/評価環境でさまざまな方法で収集されます。後で、各メソッドのさまざまな結果を視覚化する UI が必要です。この UI では、異常、つまり呼び出しに最も時間がかかった時間、または最も時間がかかった時間を見つけることができました。そこから、サービス レイヤーにドリルダウンして、サービスの弱点を見つけ、そこから、リポジトリによって呼び出されたパフォーマンスの低いクエリにたどり着くことができました。
指定されたツールがない場合 (利用可能なツールが少なくとも 100 あるとは信じられません)、私の計画は、Spring AOP または AspectJ を使用して、リストしたメソッドをインターセプトすることです。インターセプトごとに、呼び出しベンチマークのログ プリントを配置します。後で、Kibana を利用して各メソッドの弱点を見つけ、ドリルダウンします。
アスペクトがどのように行われるかの実装の詳細と、その目標のためにキバナを使用してデータの視覚化を正確に設定する方法を学ぶ必要があります。
誰かが光を遮ることができる場合-私のニーズに適したフレームワーク、または私の目標を支援するための経験またはコードを提供するか、これらのテストを実行するための代替または別の方法を提供する場合は、感謝の気持ちでそれについて聞きたいです! ありがとうございます!