code: func (s *Server) ServeHTTP(w http.ResponseWriter, req *http.Request) {
  	defer httplog.NewLogged(req, &w).StacktraceWhen(
  		httplog.StatusIsNot(
  			http.StatusOK,
  			http.StatusFound,
  			http.StatusMovedPermanently,
  			http.StatusTemporaryRedirect,
  			http.StatusBadRequest,
  			http.StatusNotFound,
  			http.StatusSwitchingProtocols,
  		),
  	).Log()
  
  	// monitor http requests
  	var serverType string
  	if s.auth == nil {
  		serverType = "readonly"
  	} else {
  		serverType = "readwrite"
  	}
  
  	method, path, host := req.Method, trimURLPath(req.URL.Path), req.URL.Host
  
  	longRunning := strconv.FormatBool(isLongRunningRequest(path))
  
  	servermetrics.HTTPRequests.WithLabelValues(method, path, host, serverType, longRunning).Inc()
  
  	servermetrics.HTTPInflightRequests.WithLabelValues(method, path, host, serverType, longRunning).Inc()
  	defer servermetrics.HTTPInflightRequests.WithLabelValues(method, path, host, serverType, longRunning).Dec()
  
  	startTime := time.Now()
  	defer servermetrics.HTTPRequestsDuration.WithLabelValues(method, path, host, serverType, longRunning).Observe(servermetrics.SinceInSeconds(startTime))
  
  	s.restfulCont.ServeHTTP(w, req)
  }
docs: // ServeHTTP responds to HTTP requests on the Kubelet.