Sunday, February 24, 2013

Servlet Monitoring with Metrics

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:
  1. Add the following dependency to your pom.xml:
            
            
                com.yammer.metrics
                metrics-core
                2.2.0
            
    
  2. 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).

  3. Use the previous Timer when handling HTTP request:
        /**
         * Handles the HTTP
         * POST method.
         *
         * @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();
        }
    
  4. Put some load on your servlet and monitor it using JConsole for instance:

1 comment:

  1. Khống mấy khó khăn khi bạn có nhu cầu làm trắng da và cùng chúng tôi tìm hiểu làm trắng da toàn thân bằng phương pháp tự nhiên
    Cùng tìm hiểu vềbí quyết làm trắng da toàn thân tại nhà
    Bạn không có thời gian đi đến các trung tâm làm đẹp thì hôm nay chúng tôi chia sẻ bạn cáchtự làm trắng da toàn thân tại nhà đơn giản
    Bạn có thể thực hiện làm trắng dưỡng da toàn thân một cách đơn giản tại nhà với chia sẻ chúng tôi về cách làmtrắng da toàn thân đơn giản tại nhà
    Kem chống nắng có công dụng bảo vệ da trước ánh nắng mặt trời nhưng cần biếtcách sử dụng kem chống nắng hiệu quả
    dầu dừa nguyên liệu tự nhiên được sử dụng rộng rãi hiện hay được nhiều người biết đến cùng tìm hiêu công dụnglàm đẹp bằng dầu dừa
    Cùng tìm hiểubí quyết làm trắng da toàn thân
    Hiện nay việc làm trắng da không còn quá phức tạp bạn có thẻ thực hiện tại nhà đơn giản cùng tìm hiểucách làm trắng da toàn thân hiệu quả

    ReplyDelete