code: public static void before(Object request, Object response) {
          /*
           * Use reflection to access the HttpServletRequest/Response as using the
           * true method signature caused ClassLoader issues.
           */
          Class<?> reqClass = request.getClass();
          try {
              /*
               * Retrieve the tracker from the request and increment nesting level
               */
              HttpRequestTracker tracker;
              Method getAttribute = reqClass.getMethod(GET_ATTRIBUTE, String.class);
              tracker = (HttpRequestTracker) (getAttribute.invoke(request, TRACKER_ATTRIBUTE));
              if (tracker == null) {
                  tracker = new HttpRequestTracker();
              }
              tracker.increment();
              Method setAttribute = reqClass.getMethod(SET_ATTRIBUTE, String.class, Object.class);
              setAttribute.invoke(request, TRACKER_ATTRIBUTE, tracker);
          } catch (Exception e) {
              // Log any exception caused by our injected code
              System.err.println("Javametrics: Servlet callback exception: " + e.toString());
              e.printStackTrace();
          }
      }
docs: Called on method entry for HTTP/JSP requests public static void
  
  True method signature: void before(long requestTime, HttpServletRequest
  request, HttpServletResponse response)
  
  @param request
  HttpServletRequest
  @param response
  HttpServletResponse