登录
首页 >  Golang >  Go问答

Datadog 中的自定义延迟指标

来源:stackoverflow

时间:2024-04-19 16:36:38 120浏览 收藏

哈喽!今天心血来潮给大家带来了《Datadog 中的自定义延迟指标》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我们公司已成功使用 DD 进行跟踪和监控。我们有一个微服务架构(用 Go 编写的服务),其流程如下: 传入请求 -> 代理服务 -> AWS EventBridge -> Service1 -> Service2 我们可以在 Datadog 上看到跟踪,但我们希望能够测量请求发送到 Service2 所需的时间,并在超出阈值时发出警报。当我们联系 DD 支持时,他们表示尚不支持使用我们拥有的跟踪来测量延迟的功能。 所以我想我可以在 Service2 上发出一个自定义指标,测量请求到达代理服务和 Service2 之间的时间差。我在任何地方都找不到有关如何执行此操作的任何指示。在这方面有什么帮助吗(最好是 Go)?


正确答案


我建议以直方图的形式跟踪计时信息(当前时间戳减去标头时间戳)。默认情况下,它将平均值、中值、最大值和第 95 个百分位值聚合到仪表中,并将样本计数聚合到比率中。

听起来你的延迟测量是 server2 上的当前时间减去标头时间戳。使用 datadog-go 库,它看起来像:

statsd.Histogram("latency.proxy_to_server2", float64(your_measurement), []string{"tag:value"}, 1)

Datadog's docs 详细了解如何提交指标。

根据您的 datadog 代理配置,您可能已经具有自动标记功能。如果没有,并且您正在运行多个 service2 任务/pod/实例,那么您可能需要在 statsd 客户端初始化期间添加一些全局标记。

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

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