700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 「GoCN酷Go推荐」简单易用的性能分析工具——nitro

「GoCN酷Go推荐」简单易用的性能分析工具——nitro

时间:2022-05-11 07:41:46

相关推荐

「GoCN酷Go推荐」简单易用的性能分析工具——nitro

#1

推荐理由

Golang官方在程序性能分析方面提供了用来分析cpu/内存等采样信息的pprof,以及用来追踪和分析运行时事件的trace,这两个工具对于分析程序的性能瓶颈可以说是得心应手。但是,对于想分析一个项目中的某个代码片段或者函数的耗时/内存占用,pprof和trace就有点不是很方便了。本文介绍的nitro库可以简单方便的应用于类似的性能分析场景。

#2

功能介绍

源码不到200行的nitro,提供执行时间和内存占用的打点和统计功能。

#3

使用指南

注意:nitro非协程安全,也不支持调用链上的性能分析。

安装

/spf13/nitro

代码示例

nitro使用起来非常简单,下面是个简单示例,分析someFunc和otherFunc函数执行耗时和内存分配。

packagemainimport("flag""/spf13/nitro")funcanalysis(){timer:=nitro.Initialize()//通过命令行参数开启分析flag.Parse()//默认开启//nitro.AnalysisOn=truesomeFunc()timer.Step("step1,writeindex")otherFunc()timer.Step("step2,batchinsert")}

nitro将打点结果直接输出到标准输出,对于想输出到日志文件或者监控系统的,源码本身也很简单,改造一下也比较方便,可结合场景自行改造。

#4

总结

nitro适用于分析代码片段的耗时/内存占用,对于类似场景可以考虑使用。

#5

参考资料

/spf13/nitro

《酷Go推荐》招募:

各位Gopher同学,最近我们社区打算推出一个类似GoCN每日新闻的新栏目《酷Go推荐》,主要是每周推荐一个库或者好的项目,然后写一点这个库使用方法或者优点之类的,这样可以真正的帮助到大家能够学习到

新的库,并且知道怎么用。

大概规则和每日新闻类似,如果报名人多的话每个人一个月轮到一次,欢迎大家报名!戳「阅读原文」,即可报名

扫码也可以加入 GoCN 的大家族哟~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。