Вы можете использовать Spring Boot /actuator/metrics/http.server.requests
, чтобы получить все конечные точки, которые выполняются с их счетом, исключением, результатом, состоянием, общим временем и т. Д., Как указано ниже.
Если вы хотите просмотреть детали для конкретной конечной точкизатем вы можете сделать это, вызвав запрос следующим образом
localhost:8889/actuator/metrics/http.server.requests?tag=uri:<endPoint>
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets&tag=status:200
- Вы получите
COUNT
столько раз, сколько конкретная конечная точка была вызвана - Вы получите
COUNT
каксколько раз конкретная конечная точка
вызывается с определенным статусом - Чтобы получить среднее время выполнения конечной точки, вы можете сделать
TOTAL_TIME/COUNT
для конкретной конечной точки, а также для всего приложения
localhost: 8889 / привод / метрики / http.server.requests
{
"name": "http.server.requests",
"description": null,
"baseUnit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 3
},
{
"statistic": "TOTAL_TIME",
"value": 0.21817219999999998
},
{
"statistic": "MAX",
"value": 0.1379249
}
],
"availableTags": [
{
"tag": "exception",
"values": [
"MethodArgumentTypeMismatchException",
"None"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "uri",
"values": [
"/{id}.*",
"/user/asset/getAsset/{assetId}",
"/user/asset/getAllAssets"
]
},
{
"tag": "outcome",
"values": [
"CLIENT_ERROR",
"SUCCESS"
]
},
{
"tag": "status",
"values": [
"400",
"404",
"200"
]
}
]
}
localhost: 8889 / привод / метрики/http.server.requests?tag=uri:/user/asset/getAllAssets
{
"name": "http.server.requests",
"description": null,
"baseUnit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 1
},
{
"statistic": "TOTAL_TIME",
"value": 0.1379249
},
{
"statistic": "MAX",
"value": 0
}
],
"availableTags": [
{
"tag": "exception",
"values": [
"None"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "outcome",
"values": [
"SUCCESS"
]
},
{
"tag": "status",
"values": [
"200"
]
}
]
}
ОБНОВЛЕНИЕ
Другой способ заключается в использовании Spring Boot Admin .Для этого нам нужно настроить клиент-сервер.Чтобы избежать ошибки, убедитесь, что версия для зависимости клиент-сервер одинакова.Мы можем добавить необходимую метрику из выпадающего списка, как показано на изображениях.
На стороне клиента:
pom.xml
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.4</version>
</dependency>
application.properties
spring.boot.admin.api-path=/instances
spring.boot.admin.client.url=http://localhost:6699
management.endpoints.web.exposure.include=*
Сторона сервера:
application.properties
server.port = 6699
spring.boot.admin.server.url=http://localhost:8889
pom.xml
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.4</version>
</dependency>
Добавить @EnableAdminServer
import de.codecentric.boot.admin.server.config.EnableAdminServer;
@SpringBootApplication
@EnableAdminServer
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}
GUI http://localhost:6699/#/applications
Домашняя страница
Метрики
Здоровье
Графики