изменение метрики прометея для ошибки API - PullRequest
0 голосов
/ 27 мая 2019

Я звоню каждому API, используя метод ниже.

есть контроль, как показано ниже, я звоню "/ мой", чтобы получить ответ API

   @GetMapping(value = {"/my"}, produces = APPLICATION_JSON_VALUE)
      public ResponseEntity<String> my(HttpServletResponse httpServletResponse,HttpServletRequest httpServletRequest)
  ResponseEntity<String> iapiResponse = apiServices.getJsonResponse(iapi,
                  I_API, HttpMethod.GET,
                  new HttpEntity<String>(Utilities.getHeaders(httpServletRequest)),
                  httpServletRequest);

            return iapiResponse

Который звонит внутри

 private ResponseEntity<String> getJsonResponse(String url,
                                                      String apiName,
                                                      HttpMethod httpMethod,
                                                      HttpEntity<String> httpEntity,
                                                      HttpServletRequest httpServletRequest)
    {
        httpServletRequest.setAttribute("api", apiName);
        ResponseEntity<String> itemResponseEntity = null;
        try {
            itemResponseEntity = restTemplate.exchange(url, httpMethod, httpEntity, String.class);
        } catch (Exception e) {

            throw new LocalHttpClientErrorException(e.getLocalizedMessage());
        }
        return itemResponseEntity;
    }

В Прометее метрика выглядит как

http_server_requests_seconds_sum {исключение = "LocalHttpClientErrorException", метод = "GET", результат = "SERVER_ERROR", статус = "502", uri = "/ my",} 0,740494179

Я хочу изменить это и добавить apiName, чтобы я мог знать, какой API вызывает эту ошибку, что-то вроде этого

http_server_requests_seconds_count {исключение = "LocalHttpClientErrorException", метод = "GET", исход = "SERVER_ERROR", статус = "502", uri = "/ my", api = "iapi"} 18.0

Как мне этого добиться?

...