Prometheus 如何在不聚合所有请求大小的情况下获取单个请求大小?

Prometheus 如何在不聚合所有请求大小的情况下获取单个请求大小?,prometheus,Prometheus,我想单独获取单个请求的大小,但当请求发送到API receivedBytes.observereq.size时,返回所有请求的大小的聚合值,直到最后一个请求 我可以单独获得请求的大小而不是聚合值吗?普罗米修斯是一个度量监控系统,所以不关心单个事件。相反,它关心的是请求的平均大小,或者每秒字节数 这里您需要的是一个日志系统,它可以为您记录每个请求的信息。谢谢。还有一个问题,我们可以通过查询普罗米修斯来获得指标的先前值吗?。然后我可以从当前值中减去前一个值,得到最新的请求大小。普罗米修斯(Prome

我想单独获取单个请求的大小,但当请求发送到API receivedBytes.observereq.size时,返回所有请求的大小的聚合值,直到最后一个请求


我可以单独获得请求的大小而不是聚合值吗?普罗米修斯是一个度量监控系统,所以不关心单个事件。相反,它关心的是请求的平均大小,或者每秒字节数


这里您需要的是一个日志系统,它可以为您记录每个请求的信息。

谢谢。还有一个问题,我们可以通过查询普罗米修斯来获得指标的先前值吗?。然后我可以从当前值中减去前一个值,得到最新的请求大小。普罗米修斯(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();
    }
  }
}