updateURLMetrics is a convenience function for pushing metrics. It also handles corner cases for incomplete/invalid request data.
(req *Request, resp *http.Response, err error)
| 606 | // updateURLMetrics is a convenience function for pushing metrics. |
| 607 | // It also handles corner cases for incomplete/invalid request data. |
| 608 | func updateURLMetrics(req *Request, resp *http.Response, err error) { |
| 609 | url := "none" |
| 610 | if req.baseURL != nil { |
| 611 | url = req.baseURL.Host |
| 612 | } |
| 613 | |
| 614 | // Errors can be arbitrary strings. Unbound label cardinality is not suitable for a metric |
| 615 | // system so we just report them as `<error>`. |
| 616 | if err != nil { |
| 617 | metrics.RequestResult.Increment("<error>", req.verb, url) |
| 618 | } else { |
| 619 | //Metrics for failure codes |
| 620 | metrics.RequestResult.Increment(strconv.Itoa(resp.StatusCode), req.verb, url) |
| 621 | } |
| 622 | } |
| 623 | |
| 624 | // Stream formats and executes the request, and offers streaming of the response. |
| 625 | // Returns io.ReadCloser which could be used for streaming of the response, or an error |
no test coverage detected