『每周译Go』为忙碌开发者准备的 Go 语言性能分析、追踪和可观测性指南

目录

简介:本文内容 · Go 语言的心智模型 · 性能分析与追踪

使用场景: 降低成本 · 降低延迟 · 内存泄露 · 程序挂起(Hanging)· 中断

Go 性能分析:CPU · 内存 · Block · Mutex · Goroutine · ThreadCreate

性能分析可视化: 命令行 · 火焰图 · 浏览器图

Go 执行追踪: 时间线可视化 · 派生分析

其他工具:time · perf · bpftrace

高级话题: 汇编 · 栈追踪

Datadog 产品: 持续性能分析器 · APM(分布式追踪)

???? 本文还在不断撰写过程中。上面列出的部分会陆续有对应的可点击的地址。关注我的 twitter 获取更多进展。

简介 本文内容 本文是实践指南,目标读者是那些想要通过使用性能分析和追踪技术来提升程序的忙碌 gopher。如果你还不熟悉 Go 的内部原理,建议你先阅读整个简介。之后你就可以自由阅读感兴趣的章节。

Go 的心智模型 在不理解 Go 语言底层运行机制的情况下,成为一个熟练编写 Go 代码的开发者是可能的。但当面对性能分析和调试时,理解内部的心智模型将大有裨益。因此下面我们将展示 Go 的基础模型。这个模型应该足够让你避免绝大多数常见的错误,但是 所有的模型都是错误的,因此鼓励你探索更深层的资料,以便在将来解决更难的问题。

Go 的首要工作是复用和抽象硬件资源,与操作系统相似。通常使用两个主要的抽象来实现:

Goroutine 调度器:管理代码如何在系统的 CPU 上执行。 垃圾回收器:提供虚拟内存,在需要时自动释放。Goroutine 调度器 我们先使用下面的例子来讨论调度器:

func main() { res, err := http.Get("https://example.org/") if err != nil { panic(err

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值