Go 服务的指标收集与分布式追踪实践
1. 流行的 Go 指标库
在 Go 语言中,有一些流行的库可用于处理指标数据,帮助我们摄取和查询时间序列指标数据。以下是对部分库的简要介绍:
| 库名称 | 特点 | 支持的数据摄取 | 集成情况 |
| ---- | ---- | ---- | ---- |
| Tally(https://github.com/uber-go/tally) | 高性能、简约的服务指标发射库 | Prometheus、StatsD、M3 | - |
| rcrowley/go - metrics(https://github.com/rcrowley/go - metrics) | Java 指标库的 Go 移植版 | StatsD、Graphite | 支持导出数据到 Datadog、Prometheus 等多种可观测性系统 |
| go - kit/metrics(https://github.com/go - kit/kit/metrics) | go - kit 工具包的一部分 | StatsD、Graphite | - |
在后续示例中,我们将使用 Tally 库,因为它提供了简单而简约的 API,能很好地说明常见的指标使用场景。
2. 发射服务指标
接下来,我们将提供一些发射和收集服务指标的示例,涵盖测量 API 请求速率、操作延迟以及发射仪表值等常见场景。
2.1 初始化 Tally 库
以下是使用 StatsD 客户端初始化 Tally 库的示例:
s
超级会员免费看
订阅专栏 解锁全文
3396

被折叠的 条评论
为什么被折叠?



