Я звоню каждому 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
Как мне этого добиться?