query_latency_us指标的使用含义

在使用监控指标过程中,查看query_latency_us有些疑问,还请帮忙解答一下:
参考文档:https://docs.nebula-graph.io/3.2.0/nebula-dashboard/6.monitor-parameter/#graph_space
指标:query_latency_us
如图

问题

(1)指标含义average是什么?
(2)query_latency_us的数值类型是整数还是浮点数?

文档这里应该是多写了个avearge.
query_latency_us是整数, 表示的是查询语句的耗时情况.

1 个赞

我查了一下代码
src/common/stats/StatsManager.cpp:36
源码

void StatsManager::parseStats(const folly::StringPiece stats,
                              std::vector<StatsMethod>& methods,
                              std::vector<std::pair<std::string, double>>& percentiles) {
  std::vector<std::string> parts;
  folly::split(",", stats, parts, true);

  for (auto& part : parts) {
    // Now check the statistic method
    std::string trimmedPart = folly::trimWhitespace(part).toString();
    folly::toLowerAscii(trimmedPart);
    if (trimmedPart == "sum") {
      methods.push_back(StatsMethod::SUM);
    } else if (trimmedPart == "count") {
      methods.push_back(StatsMethod::COUNT);
    } else if (trimmedPart == "avg") {
      methods.push_back(StatsMethod::AVG);
    } else if (trimmedPart == "rate") {
      methods.push_back(StatsMethod::RATE);
    } else if (trimmedPart[0] == 'p') {
      // Percentile
      double pct;
      if (strToPct(trimmedPart, pct)) {
        percentiles.emplace_back(trimmedPart, pct);
      } else {
        LOG(ERROR) << "\"" << trimmedPart << "\" is not a valid percentile form";
      }
    } else {
      LOG(ERROR) << "Unsupported statistic method \"" << trimmedPart << "\"";
    }
  }
}

这块代码是否为统计query_latency_us指标的方法?std::vector<std::pair<std::string, double>>& percentiles的double是什么意思呢?

这里的double是用来记录每个指标的需要计算哪些pxxx的. 主要指标的时候会用到这里.
image
对应0.75, 0.95, 0.99, 0.999

3 个赞

明白了 感谢

我记得是因为统计时间吧。例如统计时间为5秒,这个值就是5秒内的查询的平均延迟时间,而不是单次查询的延迟时间。所以需要avearge。

query_latency_us.p99.5,这个指标怎么解读呢?平均p99不太好理解 @lzy

不好意思这里确实表述的有点问题。
query_lantency_us.avg.5表示过去5s平均延时,必须用avg表示平均。
query_latency_us.p99.5表示过去5s的p99延时

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。