WriteHeader captures the status code for metric submission and collects the pace_api_http_request_total counter and pace_api_http_request_duration_seconds histogram metric
(statusCode int)
| 103 | // collects the pace_api_http_request_total counter and |
| 104 | // pace_api_http_request_duration_seconds histogram metric |
| 105 | func (m *Metric) WriteHeader(statusCode int) { |
| 106 | clientID, _ := oauth2.ClientID(m.request.Context()) |
| 107 | IncPaceAPIHTTPRequestTotal(strconv.Itoa(statusCode), m.request.Method, m.path, m.serviceName, clientID) |
| 108 | duration := float64(time.Since(m.requestStart).Nanoseconds()) / float64(time.Second) |
| 109 | AddPaceAPIHTTPRequestDurationSeconds(duration, m.request.Method, m.path, m.serviceName) |
| 110 | m.ResponseWriter.WriteHeader(statusCode) |
| 111 | } |
| 112 | |
| 113 | // Write captures the length of the response body. |
| 114 | func (m *Metric) Write(p []byte) (int, error) { |