Spring Boot Actuator: Spring MVC метрики

Автоконфигурирование позволяет инструментировать запросы, обрабатываемые Spring MVC. Если для параметра management.metrics.web.server.request.autotime.enabled задано значение true, этот инструментарий выполняется для всех запросов. В качестве альтернативы, если установлено значение false, вы можете включить инструментарий, добавив @Timed к методу обработки запросов:

@RestController
@Timed // 1
public class MyController {

    @GetMapping("/api/people")
    @Timed(extraTags = { "region", "us-east-1" }) // 2
    @Timed(value = "all.people", longTask = true) // 3
    public List listPeople() { ... }

}

1 - Класс контроллера для включения таймингов на каждом обработчике запросов в контроллере.

2 - Метод для включения для отдельной конечной точки. В этом нет необходимости, если он есть в классе, но его можно использовать для дальнейшей настройки таймера для этой конкретной конечной точки.

3 - Метод с longTask = true, чтобы включить таймер длинной задачи для метода. Таймеры с длинными задачами требуют отдельного имени метрики и могут быть сложены с помощью короткого таймера задач.

По умолчанию метрики создаются с именем http.server.requests. Имя можно настроить, установив свойство management.metrics.web.server.request.metric-name.

По умолчанию метрики, связанные с Spring MVC, помечены следующей информацией:

Тег Описание
exception
Простое имя класса любого исключения, которое было сгенерировано при обработке запроса.
method
Метод запроса (например, GET или POST)
outcome
Результат запроса на основе кода состояния ответа. 1xx - INFORMATIONAL, 2xx - SUCCESS, 3xx - REDIRECTION, 4xx CLIENT_ERROR и 5xx - SERVER_ERROR.
status
HTTP-код статуса ответа (например, 200 или 500)
uri
Если возможно, шаблон URI запроса до замены переменной (например, /api/person/{id})

Чтобы настроить теги, предоставьте @Bean, который реализует WebMvcTagsProvider.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки