Prometheus 如何在不聚合所有请求大小的情况下获取单个请求大小?
我想单独获取单个请求的大小,但当请求发送到API receivedBytes.observereq.size时,返回所有请求的大小的聚合值,直到最后一个请求Prometheus 如何在不聚合所有请求大小的情况下获取单个请求大小?,prometheus,Prometheus,我想单独获取单个请求的大小,但当请求发送到API receivedBytes.observereq.size时,返回所有请求的大小的聚合值,直到最后一个请求 我可以单独获得请求的大小而不是聚合值吗?普罗米修斯是一个度量监控系统,所以不关心单个事件。相反,它关心的是请求的平均大小,或者每秒字节数 这里您需要的是一个日志系统,它可以为您记录每个请求的信息。谢谢。还有一个问题,我们可以通过查询普罗米修斯来获得指标的先前值吗?。然后我可以从当前值中减去前一个值,得到最新的请求大小。普罗米修斯(Prome
我可以单独获得请求的大小而不是聚合值吗?普罗米修斯是一个度量监控系统,所以不关心单个事件。相反,它关心的是请求的平均大小,或者每秒字节数
这里您需要的是一个日志系统,它可以为您记录每个请求的信息。谢谢。还有一个问题,我们可以通过查询普罗米修斯来获得指标的先前值吗?。然后我可以从当前值中减去前一个值,得到最新的请求大小。普罗米修斯(Prometheus)每分钟抓取一次,因此只有在该时间段内没有多个请求的情况下才有效。
class YourClass {
static final Summary receivedBytes = Summary.build()
.name("requests_size_bytes").help("Request size in
bytes.").register();
static final Summary requestLatency = Summary.build()
.name("requests_latency_seconds").help("Request latency in
seconds.").register();
void processRequest(Request req) {
Summary.Timer requestTimer = requestLatency.startTimer();
try {
//some code goes here.
} finally {
receivedBytes.observe(req.size());
requestTimer.observeDuration();
}
}
}