Metrics¶
概述¶
Metrics用于度量服务性能指标。开发者可通过配置文件来将框架自动手机的metrics导出并让prometheus收集。
如果有业务代码定制的metrics,也可以通过API来调用,来定制自己的的metrics
配置¶
cse.metrics.enable
(optional, bool) 是否开启metrics功能,默认为false
cse.metrics.apipath
(optional, string) metrics接口,默认为/metrics
cse.metrics.enableGoRuntimeMetrics
(optional, bool) 是否开启go runtime监测,默认为false
API¶
包路径
import "github.com/ServiceComb/go-chassis/metrics"
获取go-chassis的metrics registry,用户定制的metrics,可以通过这个registry来添加,最终也会自动导出到API的返回中
func GetSystemRegistry() metrics.Registry
获取go-chassis使用的prometheus registry,允许用户直接对Prometheus registry进行操作
func GetSystemPrometheusRegistry() *prometheus.Registry
创建一个特定名称的metrics registry
func GetOrCreateRegistry(name string) metrics.Registry
使用特定metrics registry向prometheus汇报metrics数据
func ReportMetricsToPrometheus(r metrics.Registry)
汇报metrics数据的http handler
func MetricsHandleFunc(req *restful.Request, rep *restful.Response)
示例¶
cse:
metrics:
apiPath: /metrics # we can also give api path having prefix "/" ,like /adas/metrics
enable: true
enableGoRuntimeMetrics: true
若rest监听在127.0.0.1:8080,则作上述配置后,可通过 http://127.0.0.1:8080/metrics 获取metrics数据。