title: framework for method interception for benchmark measurement
body: <p>before I rush into writing such framework, I would like to know if anyone have encountered or developed such framework.</p>
  
  <p>We've reached a point in our project where focus is on performance improvement.
  I'm the owner of a spring RESTful microservice, where there are Controllers, delegating to Services, which use spring Repositories. quite standard, nothing special. </p>
  
  <p>Here's what I would like to be able to do.
  I don't want to annotate the methods I measure, neither do I want to add explicit timer calls at the beginning and ending of the methods I would like to check. The code is "dirty" enough as it is with log prints.</p>
  
  <p>What I would like to be able to do is to list the methods to be measured in an external configuration file, and with the help of spring have them intercepted and measured. benchmarks will be collected for different methods in production/evaluation environment.
  Later I would like to have a UI which will visualize the different results of each method. in this UI I could spot the anomalies, the times where the invocation took the longest, or took the shortest. From there I could drill down into the services layer, spotting the soft points in my services, and from there into the poor performing queries invoked by the repositories.</p>
  
  <p>In the absence of a designated tool (I refuse to believe there aren't at least hundred available) my plan is to use Spring AOP or AspectJ to intercept the methods I had listed. In each interception I'll place a log print of the invocation benchmark. Later on I'll harness Kibana to spot the soft points of each method and then drill down. </p>
  
  <p>I still need to learn the implementation details of how the aspect is done, and also how exactly set up the data visualization using kibana for the sake of that goal.</p>
  
  <p>If anyone can shad some light - offer a framework suitable for my needs, or some experience or code to help with my goal, or maybe offer an alternative or another way to do these tests, I would like to hear about it with great appreciation! thanks a head!</p>