You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppEngine的response_count指标能否按响应码类别分组?

两个需求均可通过调整MQL(Monitoring Query Language)语句实现,无需依赖指标内置的response_code_class属性,具体方案如下:

合并5xx响应为单一时间序列

你当前的查询已经通过filter限定了仅查询500~599区间的响应码,只需去掉group_by中的metric.response_code维度,聚合后即可得到整个5xx区间的总计数,仅返回单条时间序列:

fetch gae_app::appengine.googleapis.com/http/server/response_count
| filter metric.response_code>=500 && metric.response_code<600
| every 10m
| group_by [], sum(val())

如果需要额外保留分类标签方便后续识别,可通过map子句新增自定义的响应码分类维度:

fetch gae_app::appengine.googleapis.com/http/server/response_count
| filter metric.response_code>=500 && metric.response_code<600
| every 10m
| map add[response_code_class: "5xx"], val()
| group_by [response_code_class], sum(val())

计算5xx请求占总请求的比例

通过MQL的多查询join能力,分别统计同时间窗口内的5xx请求数和总请求数,再做比值计算即可,参考语句如下:

# 统计10分钟窗口内的5xx请求总数
{
    fetch gae_app::appengine.googleapis.com/http/server/response_count
    | filter metric.response_code>=500 && metric.response_code<600
    | every 10m
    | group_by [], sum(val())
    | alias 5xx_count
}
| join
# 统计同一窗口内的全部请求总数
{
    fetch gae_app::appengine.googleapis.com/http/server/response_count
    | every 10m
    | group_by [], sum(val())
    | alias total_count
}
# 计算占比,乘以100可直接得到百分比数值
| value (5xx_count / total_count) * 100
  • 如果需要按服务、版本等其他维度拆分统计占比,只需在两个子查询的group_by参数中同步添加对应的维度字段即可。

内容的提问来源于stack exchange,提问作者Andy H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:30:05