如何在不汇总所有请求大小的情况下获得单个请求大小?

时间:2019-08-27 11:29:47

标签: 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();
    }
  }
}

我想分别获取单个请求的大小,但是当请求发送到API时,receivedBytes.observe(req.size())返回直到最后一个请求为止的所有请求的大小的合计值。

我可以分别获取请求的大小而不是合计值

1 个答案:

答案 0 :(得分:1)

Prometheus是一个指标监视系统,因此不关心单个事件。而是关心诸如平均请求大小或每秒字节数之类的事情。

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