登录
首页 >  Golang >  Go问答

使用Gin和Prometheus处理异常的输出

来源:stackoverflow

时间:2024-02-07 10:54:23 473浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《使用Gin和Prometheus处理异常的输出》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

基本上,我正在开发一个 http 端点来从 prometheus 包获取指标。 按照此链接 [https://stackoverflow.com/a/65609042/17150602] 中的说明,我创建了一个处理程序,以便能够像这样调用 promhttp.handler() :

g.get("/metrics", prometheushandler())

func prometheushandler() gin.handlerfunc {
        h := promhttp.handler()
        return func(c *gin.context) {
            h.servehttp(c.writer, c.request)
        }
    }

问题是,当我调用 localhost:1080/metrics 时,输出显示如下(顺便说一句,我正在使用 postman):

postman 请求获取输出错误的指标

但是,例如,如果我更改端口并使用 http 而不是 gin 包,如下所示:

http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(promAddr, nil)

输出显示正常,如下所示:

postman 请求获取具有正确输出的指标

为什么会发生这种情况? 谢谢


正确答案


您可能忘记删除 gzip 等压缩中间件。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>