code: private void visitHttp(int version, int access, String name, String signature, String superName,
              String[] interfaces) {
  
          /*
           * Instrument implementers of javax/servlet/jsp/HttpJspPage
           */
          if (interfaces != null) {
              for (String iface : interfaces) {
                  if (HTTP_JSP_INTERFACE.equals(iface)) {
                      jspImplementers.add(name);
                      httpInstrumentJsp = true;
  
                      if (Agent.debug) {
                          System.err.println("Javametrics: " + name + " implements " + HTTP_JSP_INTERFACE);
                      }
                  }
              }
          }
  
          /*
           * Instrument classes that extend/override implementers of
           * javax/servlet/jsp/HttpJspPage
           */
          if (jspImplementers.contains(superName)) {
              jspImplementers.add(name);
              httpInstrumentJsp = true;
  
              if (Agent.debug) {
                  System.err.println(
                          "Javametrics: " + name + " extends " + superName + " that implements " + HTTP_JSP_INTERFACE);
              }
          }
  
          /*
           * Instrument classes that extend javax/servlet/http/HttpServlet but not
           * if it is already instrumented as a JSP
           */
          if (!httpInstrumentJsp && servletExtenders.contains(superName)) {
              servletExtenders.add(name);
              httpInstrumentServlet = true;
              if (Agent.debug) {
                  System.err.println("Javametrics: " + name + " extends " + superName);
              }
          }
      }
docs: Check if HTTP request instrumentation is required
  
  Servlets: instrument any class that is a subclass of HttpServlet
  
  JSP pages: instrument any class that implements the HttpJspPage interface
  
  NOTE: This assumes the superclasses are visited first which appears to be
  the case
  
  @param version
  @param access
  @param name
  @param signature
  @param superName
  @param interfaces