更新时间:2022.11.11 18:44:54
自定义指标给用户提供了代码级的自定义打点能力,可在探针监控数据的范围之外,基于业务需求打点采集数据,从而自定义监控核心业务指标。目前提供了如下三种语义的接口,具体实现参考各个语言SDK。
func EmitCounter(name string, value float64, tags map[string]string) func EmitTimer(name string, value float64, tags map[string]string) func EmitStore(name string, value float64, tags map[string]string)
EmitCounter:通常用于度量数量,例如错误量 QPS等数据
EmitTimer:通常用于度量接口延迟,针对输入value会进行汇总,最终提供均值和分位值展示
EmitStore:通常用于度量内部系统状态,例如队列长度等等
自定义指标展示所有上报的自定义指标及其自定义维度,支持搜索与筛选,可方便的跳转到可视化查询。
左侧选择指标,右侧可视化展示该指标的时间趋势图,可查看该指标随时间的变化趋势。
所有自定义指标都可以通过自定义看板进行查看,具体参见自定义看板介绍。
推荐采用点作为分隔符,同时命名不能超过256个字符
toutiao.appmonitor.apminsight.collect_latency.us
<service_name>.<metric_name>
apminsight_collect.collect_latency.us
推荐在初始化时设置该应用的服务名,打点时只配置指标名即可
init: Init(WithPrefix(<service_name>))
emit: EmitCounter(<metric_name>, ...)
tagkv一般作为过滤条件和分组条件,要求tagkvs总种类数目不要过多,过多会影响查询效率和展示效果。例如不应该用设备id 邮箱等作为tagkv。