Metrics from Coda Hale is a wonderful library to ease the monitoring of the performance of your code. It gives you tons of metrics directly via JMX, logs or CSV files.
I use it to monitor the performance of servlet in a JEE6 application. It is very simple to set up:
I use it to monitor the performance of servlet in a JEE6 application. It is very simple to set up:
- Add the following dependency to your pom.xml:
com.yammer.metrics metrics-core 2.2.0 - Declare a Timer:
/** * the timer for monitoring incoming HTTP POST requests. */ private final Timer postTimer = Metrics.newTimer(getClass(), "post-requests-timer", TimeUnit.MILLISECONDS, TimeUnit.SECONDS);This code instantiates a new Timer where duration is measured in milliseconds and rate in seconds (to compute request per second). - Use the previous Timer when handling HTTP request:
/** * Handles the HTTP *POSTmethod. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // starts stopwatch final TimerContext context = postTimer.time(); // handles request and response, calls business logic ... // ends stopwatch context.stop(); } - Put some load on your servlet and monitor it using JConsole for instance:
No comments:
Post a Comment