我在SpringBoot应用程序中使用@Timed
注释来监视方法。我还想知道每个状态的响应计数。
@GetMapping("/status/{productNumber}", produces = [MediaType.APPLICATION_JSON_VALUE])
@Timed(value = "status.productnumber", description = "Timed information retrieveProduct()")
fun retrieveProduct(@PathVariable productNumber: String): ResponseEntity {
当我打开 http://localhost:8080/actuator/metrics/status.productnumber 时,我看到:
{
"name": "status.productnumber",
"description": "Timed information retrieveProduct()",
"base_unit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 3.0
},
{
"statistic": "TOTAL_TIME",
"value": 0.515840608
},
{
"statistic": "MAX",
"value": 0.006641343
}
],
"available_tags": [
{
"tag": "exception",
"values": [
"None",
"RuntimeException"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "uri",
"values": [
"/status/{productNumber}"
]
},
{
"tag": "outcome",
"values": [
"SERVER_ERROR",
"SUCCESS"
]
},
{
"tag": "status",
"values": [
"500",
"200"
]
}
]
}
此处的 COUNT
统计信息显示访问此端点或方法的总次数。我可以知道每个状态的计数吗?我想知道500状态码出现了多少次
最佳答案
您可以通过以下方式查询标签:/actuator/metrics/status.productnumber?tag=status:500
,请参阅docs .
一些旁注:
- 指标端点用于指标调试/故障排除目的,它不能替代指标后端,不应该在产品中使用它来代替它
- 我不确定通过阅读其名称是否了解
status.productnumber
的用途
关于spring-boot - 获取每个状态的计数(以微米为单位)@Timed 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72619200/