在我们的 go 应用程序中, 我们如果想要查看应用程序的相关指标,该如何操作呢?

解决

Prometheus 的官方 pkg 提供了 promhttp.Handler() 方法, 但是该方法返回了一个 http.Handler 接口, 不满足 gin 所使用的类型, 我们采用其他的方法进行。

具体的代码:

1
2
3
promhttp.InstrumentMetricHandler(prometheus.DefaultRegisterer, promhttp.HandlerFor(prometheus.DefaultGatherer, promhttp.HandlerOpts{
DisableCompression: true,
})).ServeHTTP(c.Writer, c.Request)

通过在路由处理函数中添加此代码,就能顺利的展示与应用程序相关的指标。

img.png

如果想要自定义指标,你只需将自定义的指标进行相应的注册。

参考链接