Go 程序的持续分析 | Linux 中国
Google 最有趣的部分之一就是我们规模庞大的持续分析服务。-- Jbd
有用的原文链接请访问文末的“
原文链接
”获得可点击的文内链接、全尺寸原图和相关文章。致谢编译自 | http://medium.com/google-cloud/continuous-profiling-of-go-programs-96d4416af77b
作者 | Jbd
译者 | geekpi ?? ?? 共计翻译:
729
篇 贡献时间:1683 天Google 最有趣的部分之一就是我们规模庞大的持续分析服务。我们可以看到谁在使用 CPU 和内存,我们可以持续地监控我们的生产服务以争用和阻止配置文件,并且我们可以生成分析和报告,并轻松地告诉我们可以进行哪些有重要影响的优化。
我简单研究了
Stackdriver Profiler
[1]
,这是我们的新产品,它填补了针对云端用户在云服务范围内分析服务的空白。请注意,你无需在 Google 云平台上运行你的代码即可使用它。实际上,我现在每天都在开发时使用它。它也支持 Java 和 Node.js。在生产中分析
pprof 可安全地用于生产。我们针对 CPU 和堆分配分析的额外会增加 5% 的开销。一个实例中每分钟收集 10 秒。如果你有一个 Kubernetes Pod 的多个副本,我们确保进行分摊收集。例如,如果你拥有一个 pod 的 10 个副本,模式,那么开销将变为 0.5%。这使用户可以一直进行分析。
我们目前支持 Go 程序的 CPU、堆、互斥和线程分析。
为什么?
在解释如何在生产中使用分析器之前,先解释为什么你想要在生产中进行分析将有所帮助。一些非常常见的情况是:
? 调试仅在生产中可见的性能问题。? 了解 CPU 使用率以减少费用。? 了解争用的累积和优化的地方。? 了解新版本的影响,例如看到 canary 和产品级之间的区别。? 通过关联
[2]
分析样本以了解延迟的根本原因来丰富你的分布式经验。启用
Stackdriver Profiler 不能与 net/http/pprof 处理程序一起使用,并要求你在程序中安装和配置一个一行的代理。
go
get
cloud
.
.
com
/
go
/
profiler
在你的主函数中,启动分析器:
if
err
:=
profiler
.
Start
(
profiler
.
Config
{
Service
:
"indexing-service"
,
ServiceVersion
:
"1.0"
,
ProjectID
:
"bamboo-project-606"
,
// optional on GCP
});
err
!=
nil
{
log
.
Fatalf
(
"Cannot start the profiler: %v"
,
err
)
}
当你运行你的程序后,profiler 包将每分钟报告给分析器 10 秒钟。
可视化
当分析被报告给后端后,你将在
http://console.cloud.google.com/profiler
上看到火焰图。你可以按标签过滤并更改时间范围,也可以按服务名称和版本进行细分。数据将会长达 30 天。你可以选择其中一个分析,按服务,区域和版本分解。你可以在火焰中移动并通过标签进行过滤。
阅读火焰图
Brendan Gregg
[4]
非常全面地解释了火焰图可视化。Stackdriver Profiler 增加了一点它自己的特点。我们将查看一个 CPU 分析,但这也适用于其他分析。
☉ 最上面的 x 轴表示整个程序。火焰上的每个框表示调用路径上的一帧。框的宽度与执行该函数花费的 CPU 时间成正比。☉ 框从左到右排序,左边是花费最多的调用路径。☉ 来自同一包的帧具有相同的颜色。这里所有运行时功能均以绿色表示。☉ 你可以单击任何框进一步展开执行树。你可以将鼠标悬停在任何框上查看任何帧的详细信息。
过滤
你可以显示、隐藏和高亮符号名称。如果你特别想了解某个特定调用或包的消耗,这些信息非常有用。
via:
http://medium.com/google-cloud/continuous-profiling-of-go-programs-96d4416af77b
作者:
JBD
[6]
译者:geekpi
校对:wxy
本文由
LCTT
原创编译,Linux中国
荣誉推出- 山城阴雨持续气温回升 适时增减衣物以防感冒
- "火箭蛋""香死你"会持续吗? 调查:农产品价
- 地磁场为何会倒转?下一次倒转何时来?看详细分析
- 持续有6个表现:很遗憾,你的肝毒已太多,该给肝排毒了
- 今起三天重庆持续阴雨天气 8月山城出现3段区域高温
- 韩正:在持续解决问题中推动食品安全工作
- 纠治“四风”必须持续深化、一严到底
- 人气画家阿果携新书亮相上海 主题画展持续至11月
- 【重磅】2018第十六届新财富最佳分析师评选已进入资格审计阶段,
- 半年报营收逆市小幅攀升 莱绅通灵王室品牌战略持续发力