Go go-metrics
go-metrics介绍
go-metrics — 对Go应用的某个服务做监控、做统计,应用级监控和测量。
源码 : https://github.com/rcrowley/go-metrics
文档:https://pkg.go.dev/github.com/rcrowley/go-metrics
Metrics提供5种基本的度量类型:Gauges, Counters, Histograms, Meters和 Timers。
Gauge
Gauge是最简单的度量类型,只有一个简单的返回值,
他用来记录一些对象或者事物的瞬时值。
类似于程序里的常量,是不变的值。
package mainimport ("github.com/rcrowley/go-metrics"
)
func main(){g := metrics.NewGauge()metrics.Register("bar", g)g.Update(1)print(g.Value())//1g.Update(5)print(g.Value())//5
}
Counter
Counter是一个简单的计数器,可以增加和减少。
可以通过inc()和dec()方法对计数器做修改。
package mainimport ("github.com/rcrowley/go-metrics"
)
func main(){c := metrics.NewCounter()metrics.Register("foo", c)c.Inc(45)c.Dec(3)print(c.Count())/42
}
Meter
Meters用来度量某个时间段的平均处理次数(request per second),每1、5、15分钟的TPS。比如一个service的请求数,通过metrics.meter()实例化一个Meter之后,然后通过meter.mark()方法就能将本次请求记录下来。统计结果有总的请求数,平均每秒的请求数,以及最近的1、5、15分钟的平均TPS。
Meters工具会帮助我们统计系统中某一个事件的速率。比如每秒请求数(TPS),每秒查询数(QPS)等等。这个指标能反应系统当前的处理能力,帮助我们判断资源是否已经不足。Meters本身是一个自增计数器。
package mainimport ("time""os""github.com/rcrowley/go-metrics""log"
)func main(){m := metrics.NewMeter()metrics.Register("quux", m)m.Mark(1)go metrics.Log(metrics.DefaultRegistry,1 * time.Second,log.New(os.Stdout, "metrics: ", log.Lmicroseconds))var j int64j = 1for true {time.Sleep(time.Second * 1)j++m.Mark(j)}
}
Histrogram
Histrogram是用来度量流数据中Value的分布情况,Histrogram可以计算最大/小值、平均值,方差,分位数(如中位数,或者95th分位数),如75%,90%,98%,99%的数据在哪个范围内。
Timer
Timer是Histogram跟Meter的一个组合,比如要统计当前请求的速率和处理时间。
Go go-metrics相关推荐
- Kubernetes基于Metrics Server的HPA
Kubernetes基于Metrics Server的HPA [TOC] 1. 环境说明和相关介绍 我的kubernetes环境: kubeadm安装的kubernetes1.11 Horizonta ...
- 评测指标(metrics)
评测指标(metrics) metric主要用来评测机器学习模型的好坏程度,不同的任务应该选择不同的评价指标, 分类,回归和排序问题应该选择不同的评价函数. 不同的问题应该不同对待,即使都是 分类问题 ...
- 回归模型(regression model)有哪些指标?如何计算回归指标(regression metrics)?如何可视化他们?
回归模型(regression model)有哪些指标?如何计算回归指标(regression metrics)?如何可视化他们? metrics.explained_variance_score(y ...
- 【pytorch】Metrics的工作原理
Metrics是torchmetrics库里的度量类基类,本篇大体介绍一下它是如何工作的 它也是一个Model 由类的定义可以看到,它继承与两个类,一个是我们熟悉的Module,另外一个是ABC,所以 ...
- java度量页面_JAVA Metrics 度量工具使用介绍1
Metrics是一个给JAVA提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同一时候,Metrics可以非常好的跟Ganlia.Graphite结合 ...
- Ambari安装之部署 (Metrics Collector和 Metrics Monitor) Install Pending ...问题
问题详细描述如下: Metrics Collector的解决办法 正在重新安装 Metrics Monitor的解决办法 Metrics Collector和 Metrics Monitor 的I ...
- ValueError: Classification metrics can‘t handle a mix of multiclass and unknown targets
ValueError: Classification metrics can't handle a mix of multiclass and unknown targets Keras显示召回率(c ...
- sklearn(五)计算acc:使用metrics.accuracy_score()计算分类的准确率
sklearn.metrics.accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None) 输入参数: y_true:真 ...
- sequential模型编译时的指标设置:sklearn.metrics:指标
sklearn.metrics: Metrics 官网是最好的学习区. See the Model evaluation: quantifying the quality of predictions ...
- vCenter and Memory metrics
vCenter and Memory metrics I received a question last week from a former colleague around some of th ...
最新文章
- idea svn的项目无法标识修改新增的类_是时候让你的 IDEA 飞起来啦!
- Win2K下关联进程/端口之代码初步分析
- 32位python-64位Python调用32位DLL方法(一)
- leetcode算法题--不同路径
- Python学习笔记(四)Python函数
- 如何查看header object和category 03的IBASE的relationship关系
- java 内存机制(堆和栈),内存地址
- mysql床数据库的命令_3种PHP连接MYSQL数据库的常用方法
- Hive 之 导入导出数据
- 《『若水新闻』客户端开发教程》——15代码编写(7)
- 怎样对ListView的项进行排序
- Lecture 6:值函数近似
- mysql中的concat和group_concat的用法
- Vue_(组件)实例属性
- libyuv库简单使用
- 解压软件安装包,winrar
- 问题解决——WSAAsyncSelect模型 不触发 FD_CLOSE
- openbsd mysql_在OpenBSD上运行MyDNSNameservers(MySQL / PHP + MyDNS + MyDNSConfig)
- Win7: Logoff被用户Lock的屏幕
- 华为云BI,真正的一站式BI解决方案
热门文章
- WGAN的成功,可能跟Wasserstein距离没啥关系
- 强化学习中的调参经验与编程技巧(on policy篇)
- 切分也重要:基于多粒度语言单元切分的BERT模型
- ACL 2019开源论文 | 基于图匹配神经网络的跨语言知识图对齐
- 数字图像处理与Python实现笔记之空间滤波
- ps ico插件_常用 PS 插件合集(1)
- 跑monkey需要安装什么_安装隔音吊顶需要注意什么 隔音吊顶材料推荐
- springmvc多个视图解析器管理跳转资源
- 14秋 c 语言程序设计 在线作业1,14秋学期《C语言及程序设计》在线作业
- 完全二叉树最小深度_树与二叉树递归c++