如何集成测试普罗米修斯指标

How to integration test prometheus metrics

我有一个 golang 服务器 运行,它在 /debug 端点上公开指标。我想测试在我的测试中到达终点时记录的指标。

如何捕获服务器记录的实际指标并在集成测试中使用它们?我在 Github 上看到了很多代码示例,但它们都是单元测试。

针对指标端点的 HTTP GET 请求的响应主体,在您的情况下 /debug,将 return 指标的纯文本表示,如下所示:

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0

然后集成测试可以解析指标的纯文本表示以断言指标的所需值。