Metrics-Go
metrics-go
是cudgx指标打点工具,它集成了监控和数据分析指标能力。
数据流程
指标数据流程为:
- 用户代码调用打点
- SDK指标聚合 ,SDK会将用户的打点数据按照指定时间周期聚合(默认是1s)
- batch推送 ,每个聚合周期会将指标推送到Gateway中
- Gateway 将数据分发到Kafka
- 消费数据,存储到Clickhouse
- 用户基于Clickhouse查询指标
如何使用
指标分为两类: 监控指标和流式指标
监控指标: sdk聚合之后存储链路将数据直接存储在clickhouse中 流式指标: sdk收集指标详细数据,不做聚合将数据传输到clickhouse,用户可以基于收集到的数据对数据流失计算
新建监控指标
latencyMin = metricGo.NewMonitoringMetric("latencyMin", []string{}, aggregate.NewMinBuilder())
latencyMax = metricGo.NewMonitoringMetric("latencyMax", []string{}, aggregate.NewMaxBuilder())
新建流式指标
latency = metricGo.NewStreamingMetric("latency", []string{})
打点
latencyMin.With().Value(float64(cost))
latencyMax.With().Value(float64(cost))
latency.With().Value(float64(cost))
行为准则
授权
Metrics-Go使用Elastic License 2.0授权协议进行授权