我有我的API的端点,现在我想跟踪的是,每当对端点发出请求时,有多少返回200,有多少返回400或其他HTTP状态代码,请告知我如何实现在弹簧靴项目中相同,我使用的是弹簧靴致动器2。
假设我的端点是:
https://localhost:9090/users
所以我想要的是:
{
"404": 1,
"200": 6,
"409": 1
}
答案 0 :(得分:0)
您可以使用/actuator/metrics/
来获取执行/调用的所有端点,它们具有计数,异常,结果,状态,总时间等。在这种情况下,计数,状态有用
为此,您必须在pom.xml或类似级别中添加一个依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
要获取已执行/调用的all endPoint
的详细信息(请参见所有端点的结果)
localhost:8889/actuator/metrics/http.server.requests
要获取particular endPoint
的详细信息(请参见特定结果)
endPoint)
localhost:8889/actuator/metrics/http.server.requests?tag=uri:<endPoint>
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/users
使用状态码获取特定端点的计数(请参见结果) 具有状态代码的特定端点)
localhost:8889/actuator/metrics/http.server.requests?tag=uri:/users&tag=status:200
胜过所有端点
{
"name": "http.server.requests",
"description": null,
"baseUnit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 13
},
{
"statistic": "TOTAL_TIME",
"value": 0.42338
},
{
"statistic": "MAX",
"value": 0
}
],
"availableTags": [
{
"tag": "exception",
"values": [
"None"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "uri",
"values": [
"/actuator/metrics/{requiredMetricName}",
"/getCountByStatus"
]
},
{
"tag": "outcome",
"values": [
"CLIENT_ERROR",
"SUCCESS"
]
},
{
"tag": "status",
"values": [
"404",
"200"
]
}
]
}
查看特定终点的结果
{
"name": "http.server.requests",
"description": null,
"baseUnit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 5
},
{
"statistic": "TOTAL_TIME",
"value": 0.1830878
},
{
"statistic": "MAX",
"value": 0
}
],
"availableTags": [
{
"tag": "exception",
"values": [
"None"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "outcome",
"values": [
"CLIENT_ERROR",
"SUCCESS"
]
},
{
"tag": "status",
"values": [
"404",
"200"
]
}
]
}
使用状态代码显示特定的终点
{
"name": "http.server.requests",
"description": null,
"baseUnit": "seconds",
"measurements": [
{
"statistic": "COUNT",
"value": 3
},
{
"statistic": "TOTAL_TIME",
"value": 0.034849
},
{
"statistic": "MAX",
"value": 0
}
],
"availableTags": [
{
"tag": "exception",
"values": [
"None"
]
},
{
"tag": "method",
"values": [
"GET"
]
},
{
"tag": "outcome",
"values": [
"SUCCESS"
]
}
]
}
答案 1 :(得分:-1)
在pom.xml文件中配置Spring启动执行器依赖项。
此端点localhost:8080/actuato/metrics
可以访问您所需的指标
它将包含线程,堆内存,剩余内存等统计信息。
对于您而言,JSON响应中的这两个键将非常有用。
指南和计数器
指南-将给出每个API响应时间。
计数器-这样可以完全满足您的要求,例如{
200:4,
400:1
}
说明: 您的API会返回200次状态码4次,并返回400次状态码1次。