G’Day。我使用这个网站来分享和书签各种东西,主要是我用电脑工作。虽然我目前在Netflix从事大规模云计算性能方面的工作,但这个网站反映了我自己多年来的观点和工作。我有一个个人博客,我也在推特上。这是我的生物和反生物。
此页面列出了所有内容:文档,视频,软件,杂项。有关最热门内容的简短选择,请参阅我的概述页面。
文档
我写的文档,大致按时间倒序排列:
- 一个页面,总结我的Linux性能相关材料。
- 幻灯片为我的YOW!关于计算性能2021:即将发生的事情的演讲,涵盖处理器,内存,磁盘,网络,虚拟机管理程序等(幻灯片共享,PDF)。
- 我在IntelON上露面,谈论处理器基准测试(幻灯片共享,PDF,视频@25:04)。(2021)
- ZFS的故事神秘地吃掉了我的CPU,包括一个难以置信的火焰图。
- 使用传统、Ftrace 和 BPF 性能工具混合分析高分页率的粗略说明。
- Slack的秘密STDERR消息的粗略说明,其中我使用eBPF和其他工具来调试Slack的神秘崩溃(2021年)。
- 我的eBPF峰会主题演讲幻灯片 eBPF的业绩胜利:入门(幻灯片共享,PDF,youtube)(2021年)。
- 我的Facebook Systems@Scale幻灯片演讲BPF的绩效胜利:入门(幻灯片共享,PDF,视频)(2021)。
- 我关于计算性能:即将召开的 USENIX LISA 2021 大会的全体会议演讲,涵盖处理器、内存、磁盘、网络、虚拟机管理程序等的现状和未来。(博客,幻灯片共享,PDF,YouTube)(2021).
- 一篇关于如何将eBPF可观察性添加到您的产品的帖子,针对那些将其添加到商业或内部可观察性平台的人(2021年)。
- 在USENIX LISA 2021会议上,关于BPF内部(eBPF)的122张幻灯片演讲,我展示了从高级bpftrace语言到机器代码(博客,幻灯片共享,PDF,youtube)的所有步骤(2021年)。
- 我得到的最令人惊讶的软件演示的故事:一个令人难以置信的演示。
- 由于它已成为常见问题解答,因此在“什么是可观察性”上发表了一篇文章,这是我和其他性能工程师在流行(2021年)之前一直使用的术语。
- 关于BPF二进制文件的帖子:BTF,CO-RE和eBPF性能工具的未来(2020)。
- 我的eBPF峰会主题演讲幻灯片 BPF的绩效胜利:入门,我展示了如何以简单的方式开始,因为我不断看到人们开始以艰难的方式浪费自己的时间(幻灯片共享,PDF,youtube)(2020年)。
- 我的YOW2020讲座Linux系统性能的幻灯片,在线交付(slideshare,PDF,youtube)(2020年)。
- 我的最新书籍网站:系统性能:企业和云,第二版和关于它的博客文章。出版商是Addison-Wesley,草稿书超过800页。这将更新Linux和云内容,并添加有关perf,Ftrace和BPF(2020)的章节。
- 在我的帖子BPF Theremin,Tetris和Typewriters中,我分享了我在会议主题演讲期间演示的BPF Theremin的来源,它将WiFi信号强度转化为声音。(2019)
- 我的书网站:BPF性能工具:Linux系统和应用程序的可观察性以及有关它的博客文章。出版商是Addison-Wesley,这本书有880页,包括100多个新的BPF工具来分析所有的东西(2019年)。
- 我的AWS re:Invent 2019讲座BPF性能分析的幻灯片在Netflix(幻灯片共享,youtube)。
- 我的Ubuntu Masters 2019主题演讲扩展BPF:一种新型软件的幻灯片,我首先讨论了BPF如何成为一种新型软件以及对50年历史的内核模型的根本性变化,以及我们如何观察这种已经在大公司生产的新软件(slideshare,PDF,youtube)。
- opensource.com:Linux的bpftrace简介,总结了语法并包括一个单行教程(PDF)(2019)。
- 我的USENIX LISA 2019关于Linux系统性能的演讲幻灯片,涵盖可观察性,方法,基准测试,分析,跟踪和调整。它旨在让每个人都了解基础知识,一些公司表示他们将使用它进行新员工培训。(slideshare, PDF, youtube).
- 我的LSFMM 2019年关于BPF可观察性的主题演讲的幻灯片,lwn.net 也总结了这一点(slideshare,PDF)。
- 我的SCaLE17x演讲eBPF Perf Tools的幻灯片,尽管我花了一半的时间来演示如何使用eBPF现场检测Minecraft,但幻灯片(slideshare,PDF,youtube)没有捕获(幻灯片共享,PDF,youtube)(2019)。
- 我在Netflix上发表的YOW2018主题演讲“云性能根本原因分析”的幻灯片,我在悉尼,布里斯班和墨尔本交付了该幻灯片(幻灯片共享,PDF,youtube)。
- 我的 YOW2018 CTO 峰会主题演讲幻灯片在 Netflix 工作(幻灯片共享、PDF、youtube)。
- 幻灯片为我的所有事情开放(ATO)谈话Linux性能2018(它没有视频)(幻灯片共享,PDF)(2018)。
- 我发布了FlameScope模式识别,展示了如何解释配置文件数据的亚秒偏移热图视图,并在LinkedIn性能工程聚会(slideshare,PDF,youtube)(2018)上与Martin Spier讨论了这个问题。
- Linux获得了一个高级的eBPF前端:Linux 2018的bpftrace(DTrace 2.0)。该存储库包含我开发的工具和文档,包括 bpftrace 单行教程、bpftrace 参考指南和内部开发指南(2018)。
- 为了帮助每个人在基准测试时减少错误,我出版了《评估评估:基准检查表》(2018)。
- 在NetConf 2018上,我做了一个关于BPF可观察性的演讲/讨论,Linux TCP / IP堆栈的顶级贡献者参加了会议(slideshare,PDF)。
- 我的PerconaLive 2018主题演讲幻灯片总结了Linux Performance 2018(slideshare,PDF,youtube)。
- 对于Netflix TechBlog,我发布了Netflix FlameScope(PDF),展示了新的开源性能分析工具,用于可视化和探索带有火焰图的配置文件,Martin Spier和我一直在研究(2018年)。
- KPTI/KAISER Meltdown Initial Performance Regressions的一篇文章,显示了模拟工作负载在Linux上估计的性能损失(2018年)。
- 关于工作集大小估计的页面,涵盖了我对该主题的了解和发展。它包括使用Linux引用和空闲页面标志进行基于页面的WSS估计的新工具(2018-)。
- 有关 AWS EC2 Virtualization 2017 的帖子,解释了虚拟化性能多年来如何提高,以及新的 AWS Nitro 虚拟机管理程序 (2017) 的详细信息。
- 我的 AWS re:Invent 2017 年幻灯片,内容涉及 Netflix 如何调整 EC2 实例的性能,描述了实例选择、EC2 功能、内核调整和可观察性(幻灯片共享、youtube、PDF)。
- 关于7个工具的文章,用于分析Linux中 opensource.com bcc / BPF的性能,这也是我关于Fedora / Red Hat系列操作系统的eBPF的第一篇文章(PDF)(2017)。
- 在《Brilliant Jerks in Engineering》上发表的一篇文章描述了两个虚构的混蛋,一个是无私的,一个是自私的,以探索他们的行为,造成的损害,以及使用“没有聪明的混蛋”政策(2017)。
- 我的USENIX LISA 2017讲座Linux容器性能分析幻灯片(幻灯片共享,youtube,PDF)。
- 我的 Kernel Recipes 2017 幻灯片,关于在 Netflix 使用 Linux 性能,重点是修复 CPU 性能分析(slideshare、youtube、PDF)。
- 在 EuroBSDcon 2017 上,我以系统性能分析方法论 (BSD) 为主题演讲,并使用 FreeBSD 作为许多示例。在这次演讲中,我介绍了一个 FreeBSD 静态性能工具图,60 秒内 BSD 性能分析检查表,以及用于线程状态分析的 tstate.d 工具(slideshare、youtube、PDF)。
- 我的OSSNA 2017幻灯片演讲性能分析超能力与Linux BPF。这次演讲没有被录像。(幻灯片共享, PDF)。
- 关于 Solaris 到 Linux 迁移 2017 的帖子。Solaris是一个曾经被广泛使用的操作系统,但现在的开发似乎已经停止了。有人问我关于 Solaris 到 Linux 的迁移,但我从未见过一个资源能深入介绍它们(也许是因为没有其他人有专业知识或意愿来编写它),所以这是我的总结。
- 在一篇关于Linux负载平均值:解开谜团的帖子中,我挖掘了将不间断睡眠状态添加到Linux负载平均值的补丁,并将该状态下的代码路径测量为非CPU火焰图(2017)。
- 我在SBSRE聚会上为云上的PMC幻灯片,与Netflix perf团队(slideshare,youtube,meetup,PDF)(2017)。
- 我的2017年USENIX ATC Performance Analysis Superpowers with Linux eBPF的幻灯片,更新了我之前的演讲(slideshare,youtube,PDF)。
- 我的2017年USENIX ATC演讲的幻灯片使用火焰图可视化性能,包括更新和挑战(幻灯片共享,youtube,PDF)。
- 我的Velocity演讲性能分析超能力与Linux eBPF的幻灯片(幻灯片共享,youtube,PDF)(2017)。
- 一篇关于在Netflix工作2017的帖子,继我之前的帖子之后。我扩展了一些平凡的话题,比如我每周有多少次会议,因为最近有人问我这个问题。(2017).
- CPU利用率是错误的:一篇文章解释了内存停滞周期主导%CPU的日益严重的问题(2017)。
- 在我的文章《EC2 的 PMC:测量 IPC》中,我首次演示了在 AWS EC2 云中测量性能监控计数器 (PMC),这是我与 Amazon 和其他公司合作了一段时间的事情。PMC 对于了解 CPU 行为(包括内存 I/O、停滞周期和缓存未命中)至关重要。(2017).
- 一篇关于我的 DockerCon 2017 容器性能分析演讲的帖子,其中我展示了如何查找主机与容器中的瓶颈,如何分析容器应用程序,并更深入地了解内核(博客,幻灯片共享,PDF,youtube)。(2017).
- 我在 Linux 4.x 跟踪上的 SCaLE15x 演讲的幻灯片:使用 bcc/BPF 的性能分析,其中我还首次包含了一个层演示(slideshare,youtube,PDF)(2017)。
- 在 2017 年 IO Visor (iovisor) 峰会上,我主持了关于 BPF 工具和可观察性的讨论,内容包括战略、当前工具和未来挑战(slideshare、PDF)。
- BSidesSF 2017的幻灯片与Alex Maestretti在Linux Monitoring at Scale with eBPF 上(slideshare,youtube,PDF)。
- 我发布了我的磁盘空间去哪儿了?文件系统的火焰图和火焰图 vs 树图 vs 旭日 (2017).
- 我 Linux.conf.au 2017 年关于 BPF:跟踪等的演讲的幻灯片,总结了增强 BPF 的其他用途。(slideshare, youtube, PDF).
- 一篇关于Golang bcc / eBPF函数跟踪的帖子,其中我弄清楚了如何跟踪不同Go编译器的函数和参数(2017)。
- 一个页面,用于总结使用Linux eBPF的eBPF工具和bcc前端的高级可观察性和跟踪工具(2016+)。
- 我的USENIX LISA 2016幻灯片讨论了Linux 4.x跟踪工具:使用BPF Superpowers,重点是我开发的密件抄送工具。这包括我的演示给我15分钟,我将改变你对Linux跟踪的看法。(slideshare, PDF, youtube demo, youtube talk).
- DTrace for Linux 2016,宣布Linux内核现在通过增强的BPF具有与Linux 4.9中的DTrace类似的原始功能。我一直积极参与这个项目,特别是作为头号用户,达到这个里程碑真是太好了。
- 在第一届系统会议上关于设计跟踪工具的演讲幻灯片(slideshare,youtube,PDF)(2016)。
- 我编写了原始的bcc / BPF最终用户教程,Python开发人员教程和参考指南(2016)。
- 几篇介绍新的Linux bcc / BPF跟踪工具的帖子:bcc / BPF跟踪安全功能,bcc / BPF MySQL慢速查询跟踪,bcc / BPF ext4延迟跟踪,Linux bcc / BPF运行队列(Scheduler)延迟,Linux bcc / BPF节点.js UST跟踪,Linux bcc tcptop,Linux 4.9的基于BPF的高效探查器,Linux bcc / BPF tcplife:TCP Lifespans(2016)。
- 我的 JavaOne 2016 幻灯片,用于 Java 性能分析 Linux with Flame Graphs(仅限幻灯片:slideshare,PDF),以及有关 Java Warmup Analysis with Flame Graphs 的后续文章。
- gdb调试完整示例(教程)上的一篇文章:我共享了一个完整的调试会话,包括所有输出和死胡同。它包括一个小的ftrace和BPF(2016)。
- 我在ACM Applicationative 2016的主题演讲幻灯片上是关于系统方法论:现代系统的整体性能分析,其中我使用了几种不同的操作系统作为示例(幻灯片共享,PDF,youtube)。
- 一篇由llnode演示新功能的帖子.js内存泄漏分析(2016)。
- Linux 4.7 中关于 Linux Hist 触发器的帖子演示了这一新的跟踪功能(2016 年)。
- 对于PerconaLive 2016,我的Linux Systems Performance 2016概述讲座的幻灯片(幻灯片共享,PDF,视频)。
- ACMQ/CACM 的 Flame Graph 文章定义了 Flame Graph,描述了它们的起源,解释了如何解释它们,并讨论了可能的未来发展(2016)。
- 对于 SREcon 2016 Santa Clara,我的 SRE 演讲性能清单幻灯片,这也是我第一次谈论我最近在 Netflix 的 SRE(站点可靠性工程)工作(博客、幻灯片共享、PDF、youtube、usenix)。
- 一篇关于在Netflix工作2016的帖子,作为我2015年帖子的后续内容。这仍然值得一谈:自由和责任,杰出和专业的同事,等等。它与许多其他硅谷公司不同。
- 对于Facebook的性能@Scale会议,我的Linux BPF Superpowers演讲的幻灯片,其中介绍了Linux 4.x系列中这一新功能的跟踪功能(幻灯片共享,PDF,视频)(2016年)。
- 更多 Linux BPF/BCC 文章展示了如何分析 CPU 关机时间并深入钻取:Linux eBPF Off-CPU Flame Graph、Linux Wakeup 和 Off-Wake Profiling、谁在唤醒唤醒器?(Linux链图原型)(2016).
- 在Unikernel Profiling: Flame Graphs from dom0上发表了一篇文章,其中我展示了一些工程工作的可观察性确实是可能的,因为有些人认为并非如此(2016年)。
- 我的Broken Linux Performance Tools SCaLE14x演讲的幻灯片,类似于我之前的QCon演讲,但仅适用于Linux,并包括更多的建议(slideshare,PDF,视频)(2016)。
- 60,000 毫秒的 Linux 性能分析显示了可以使用的前十个命令(视频、PDF)。由我和Netflix的性能工程团队编写(2015年)。
- 我的QConSF 2015演讲“损坏的性能工具”的幻灯片,重点介绍了通用Linux / Unix系统的系统指标,工具和方法的常见陷阱(幻灯片共享,PDF,视频)(2015)。
- 在JavaOne 2015上,我利用JDK8u60中新的-XX:+PreserveFramePointer功能(博客,幻灯片共享,youtube,PDF)(2015)做了一个关于Java Mixed-Mode Flame Graphs的演讲。
- 通过密件抄送、tcpconnect 和 tcpaccept (bcc) 以及 eBPF Stack Trace Hack (bcc) 使用 eBPF,这些工具显示了我开发的一些新的 Linux 跟踪性能工具,这些工具通过密件抄送前端使用 eBPF (2015-6)。
- 对于Netflix Tech博客,我与Martin Spier一起发布了Java in Flames(PDF),其中显示了使用新的-XX:+PreserveFramePointer JDK选项的混合模式火焰图。很高兴在一个可视化中看到所有CPU使用者(2015年)。
- 有关导航不同 Linux 跟踪程序的摘要和建议:选择 Linux 跟踪程序 (2015)。
- 一些关于uprobes的帖子:Linux uprobe:User-level Dynamic Tracing,它通过我的uprobe工具演示了uprobes,以及Hacking Linux USDT with Ftrace(2015)。
- 我在 Monitorama 2015 的 Netflix 实例性能分析要求中进行了演讲,在演讲中,我展示了这些产品的理想和不受欢迎的功能。这是针对那些一直试图向我销售这些产品的众多供应商,以及可以将此演讲用作功能请求来源的客户。(slideshare, PDF, vimeo)
- 我在 Linux eBPF 上的第一篇文章,即将内核内映射引入 Linux 跟踪(2015 年)。
- 我在 Velocity 2015 上为 Linux 性能工具教程提供的幻灯片,这是我之前关于同一主题的演讲的扩展版本。这是我做过的最详细的版本(slideshare,PDF,youtube)。
- Netflix内部演示文稿的幻灯片发布在RxNetty vs Tomcat Performance Results上,我使用了许多工具,包括跟踪和PMC,来解释这些框架之间的性能差异(slideshare,PDF)(2015)。
- 我在Netflix上为SCALE 13x(2015)进行的Linux性能分析,在那里我介绍了如何使CPU分析工作,包括Java和Node.js,以及其他perf_events功能(幻灯片共享,PDF,youtube)。
- 一篇关于在Netflix工作的帖子,描述了这种文化。这值得一写,因为Netflix在公司文化和技术方面都是先驱,并表明文化可以被设计成积极的(2015年)。
- 对于LISA2014,我的Linux性能分析:新工具和旧秘密演讲,我介绍了ftrace和我最近开发的perf_events工具(slideshare,PDF,youtube,USENIX)。
- 我在 AWS re:Invent 2014 上发表的关于 EC2 性能调优 Linux 实例的演讲,其中我介绍了 Netflix 如何选择、调整和观察 Linux 云实例(slideshare、youtube)的性能。
- 介绍差分火焰图的文章,可用于性能回归分析。我还写了关于 CPI 火焰图的文章,它使用差分火焰图代码,以及 FreeBSD 上的 pmcstat (2014)。
- 我在 FreeBSD 上的 Flame Graphs 演讲,为 2014 年 FreeBSD 开发者和供应商峰会而作。我总结了不同的类型, 用 FreeBSD 命令来创建它们 (slideshare, PDF, youtube).
- 在我的第一次BSD会议MeetBSDCA 2014中,我的BSD性能分析演讲,我讨论了5个方面:可观察性,方法,基准测试,分析和调整(幻灯片共享,PDF,youtube)。
- 在 FreeBSD wiki 页面上的 DTrace 上贡献了文档:初始单行列表 (PDF) 和一个由 12 部分组成的教程 (PDF)。
- 我的 Linux 性能工具在 2014 年欧洲 LinuxCon 上进行了演讲,其中我总结了可观察性、基准测试、调优、静态性能调优工具和跟踪。这是我早期LinuxCon关于同一主题(slideshare,PDF,youtube)的演讲的更新版本。
- 对于2014年的Singing Summit,我的“从DTrace到Linux”演讲,总结了Linux可以从DTrace中学到什么(slideshare,PDF,youtube)。
- My Surge 2014 演讲从云到根源,讲述了 Netflix 如何在 Linux 云上进行根本原因性能分析。这是我迄今为止最全面的性能分析演讲。我不仅仅关注低级工具,而是提供了上下文,然后显示了从云到根的完整路径。(slideshare, PDF, youtube).
- 我的文章 EC2 的 MSR 是第一个表明 CPU 模型特定寄存器在云中可用的,可用于测量有趣的细节,例如实例(Xen 来宾)的实际 CPU 时钟速率和温度。在我发表这篇文章几周后(可能受到它的启发),一位安全研究人员在EC2中发现了一个MSR漏洞,需要云范围的重启(2014年)。
- 我的 LinuxCon North America 2014 中的幻灯片介绍了 Linux 性能工具,其中总结了性能可观察性、基准测试和调优工具,并说明了它们在 Linux 系统功能图 (PDF) 中的作用。
- 总结Linux Java CPU Flame Graphs和Node.js CPU Flame Graphs(2014)的帖子。
- 我的 lwn.net 文章Ftrace:隐藏的光开关(2014)。
- 描述基于Linux perf_events和ftrace(都是核心Linux内核跟踪器)的perf工具的帖子:perf Hacktogram,iosnoop,iosnoop Latency Heat Maps,opensnoop,execsnoop,tcpretrans(2014)。
- 关于Linux perf_events的帖子:perf CPU采样,perf Static Tracepoints,perf Heat Maps,perf Counting,perf Kernel Line Tracing(2014)。
- 带有perf_events(标准 Linux 探查器)的 perf 示例的页面。页面包括单行和火焰图。
- 我写了一篇名为strace Wow Much Syscall的警告文章,其中讨论了用于生产用途的strace(1),其中包括一个有趣的例子,以及许多与strace相关的坏笑话(2014)。
- 两篇文章介绍了 AWS EC2 上的 Xen 模式:您的 Xen 是什么颜色和 Xen 功能检测 (2014)。
- 基准悖论:一篇简短的文章,解释了基准评估中一个看似悖论(2014)。
- 我在MacIT 2014上使用USE方法分析OS X系统性能演讲(幻灯片共享,PDF)。
- 在SCaLE12x(2014)上,我发表了关于Linux可以从Solaris性能中学到什么的主题演讲,反之亦然(PDF,youtube)。
- The Case of the Clumsy Kernel (PDF):一篇针对USENIX的内核性能分析文章;login (2013)。
- 我的USENIX / LISA 2013幻灯片Blazing Performance with Flame Graphs,是两个演讲合二为一:第1部分涵盖了常用的CPU火焰图,第2部分涵盖了各种高级火焰图(PDF,youtube)。
- 基于lua的Linux动态跟踪工具的ktap示例页面,包括一个衬里和工具(不再维护)(2013)。
- TSA 方法,一种性能分析方法,用于识别导致应用程序性能不佳的问题。这是一种面向线程的方法,是对面向资源的 USE 方法的补充。它解决了无数问题。
- 我的绩效分析方法摘要和链接的页面。
- Systems Performance: Enterprise and the Cloud, Prentice Hall, 2013 (ISBN 0133390098).本书涵盖了系统性能的新发展:特别是动态跟踪和云计算。它还引入了许多新方法,以帮助广泛的受众入门。它以Ubuntu,Fedora和CentOS的Linux示例为首,并且还涵盖了illumos发行版。涵盖两个不同的内核提供了额外的视角,增强了读者对每个内核的理解。这本书有635页加附录。
- 我为新系统性能的简短演讲提供了幻灯片,其中我总结了从1990年代到今天(2013年7月,PDF,youtube)的主题如何变化。
- 主动基准测试:一种成功进行基准测试的方法,以及它在Bonnie++中的使用示例。
- 我的 OSCON 2013 开源系统性能幻灯片,其中我提供了一个独特的视角,我最适合就开源和封闭采购软件以及这对系统性能分析意味着什么(PDF,youtube)给出。
- 使用频率轨迹可视化分布,如简介中所述,然后使用它们来检测异常值、测量模式和模态以及平均值的真正含义。
- 我在 Velocity 2013 上为 Stop the Guessing: Performance Methods for Production Systems 演讲(Slideshare, PDF, youtube)的幻灯片。
- 我在SCaLE11x(2013)上发表的Linux性能分析和工具演讲中非常受欢迎的幻灯片,其中包括鲜为人知的工具,如perf的动态跟踪和静态跟踪点。我被告知人们想要在咖啡杯上滑动16!(slideshare, PDF, youtube).
- 虚拟化性能摘要:区域、KVM、Xen,重点介绍 I/O 路径开销(2013 年)。
- ACMQ(2012)和CACM的有条不紊地思考性能文章,基于我之前的USE方法文章。
- USENIX / LISA 2012关于性能分析方法的幻灯片,总结了十种方法和反方法(幻灯片共享,PDF,youtube)。
- 对于 illumosday 和 zfsday,我的幻灯片用于 DTracing the Cloud(PDF,youtube)和 ZFS Performance Analysis and Tools(PDF,youtube)。
- 引入了新的可视化类型:亚秒级偏移热图,允许在一秒钟内看到行为。
- USE方法,我为识别常见的系统瓶颈和错误而开发,并在企业和云性能环境中成功使用了多年。基于 USE 方法:Linux 性能检查表、Solaris 性能检查表、SmartOS 性能检查表、Mac OS X 性能检查表、FreeBSD 性能检查表和 Unix 7th Edition 性能检查表。还有USE方法罗塞塔石碑的性能清单。
- Flame Graph可视化以及有关将它们用于CPU Flame Graph的单独页面,包括如何修复Java和Node的堆栈跟踪和符号.js;内存火焰图的不同技术,包括分配器跟踪和页面故障火焰图;以及 CPU 外火焰图的不同技术,包括块 I/O 火焰图、唤醒火焰图、非唤醒火焰图和链式图。
- Colony Graphs,计算机生命形式的可视化,以及它们用于可视化云,过程快照和过程执行。
- 设备利用率的不同可视化演示,这被描述为年度博客文章(2011)。
- 操作系统性能中的狭窄主题:ZFS ARC 的活动。
- 一篇关于在 Ubuntu 和 CentOS Linux 发行版上使用 SystemTap 的长篇文章,写于 2011 年末。
- 介绍 Off-CPU 性能分析技术,该技术可以确定由于阻塞事件而导致的高延迟的原因。
- 适用于 Mac OS X 性能分析和故障排除的 Top 10 DTrace 脚本,旨在覆盖更广泛的 Mac OS X 社区。这包括有关如何查找和运行终端应用程序和 sudo 的分步说明。
- 一系列关于文件系统延迟的博客文章,使用MySQL作为示例应用程序(1,2,3,4,5)(2011)。
- 使用 DTrace 的 MySQL Query Latency (2011)。
- 关于 DTrace pid 提供程序的一系列博客文章,超出了 DTrace 书(2011 年)中的内容。
- The DTrace book with Jim Mauro (Prentice Hall, 2011;国际标准书号0132091518)。有关文件系统的示例章节已联机。这本1152页的书花了一年多的时间编写,包括数十个新的DTrace脚本和单行本的研究,开发和测试,并征求了许多专家的意见。例如,Solaris被用作主要操作系统,其他例子来自Mac OS X和FreeBSD。使用动态跟踪工具(DTrace、SystemTap 等)最困难的挑战是知道该如何处理它。本书提供了一百多个用例(脚本),即使在示例代码过时之后,这些用例(脚本)也将是非常宝贵的。
- 关于热图的页面,以及延迟热图的演示,其中包括生成热图的示例软件。
- 我的Percona Live New York 2011演讲的幻灯片,关于使用DTrace分解MySQL / Percona查询延迟(PDF)。
- 性能分析的可视化幻灯片,USENIX/LISA 2010。本文介绍了系统性能的两种不同方法(方法):工作负载分析和延迟分析,使用的指标,然后介绍各种热图可视化。本演讲最后描述了云计算的挑战,以及热图如何非常适合数据规模 (PDF)。
- Jim Mauro 和我自己在 Oracle OpenWorld 2010 上发表的“如何使用 Oracle Solaris DTrace 构建更好的应用”演讲幻灯片。
- CACM 也发表了一篇关于使用延迟热图可视化系统延迟的文章(2010 年)。这包括我使用Sun Storage Analytics发现的有趣的延迟热图,包括Rainbow Pterodactyl和Icy Lake。这是一项开创性的工作,延迟热图花了数年时间才出现在其他性能分析产品中。
- 我的 DTrace 备忘单,总结了探测器、变量和操作。灵感来自乔纳森·亚当斯(Jonathan Adams)的mdb备忘单。(2009).
- 7410之后的硬件更新,并分析了HyperTransport,我使用PIC(又名PMC)来分析CPU互连和其他总线,并发现了显着的性能胜利(2009年)。
- 一篇关于ZFS独立意图日志的帖子:SLOG屏幕截图,包括Analytics关于技术和延迟热图的讨论,显示了改进(2009年)。
- 有关对一系列存储设备(1、2、3)进行性能测试的一系列文章。我在2009年写了这些,当时我经常保存基准测试事故。他们非常成功(感谢那些阅读他们的人),因为寻求帮助的呼声大大减少。
- 对于位于科罗拉多州丹佛市的Front Range OpenSolaris用户组(FROSUG),我为我的“性能恐怖小店”演讲提供了幻灯片,在那里我讨论了出错而不是正确的事情。这很有趣,尽管发生了一场大暴风雪(2009年),人们还是出现了。
- 使用Sun Storage Analytics展示新的(和有趣的)性能可视化的帖子,特别是延迟热图:延迟艺术:彩虹翼龙,热图分析,延迟艺术:X标记斑点(2009)。
- 使用 Sun Storage Analytics (2009) 中的延迟热图可视化 DRAM 延迟。
- 演示 Sun Storage 7000 产品中基于 Kstat/DTrace 的分析工具:JBOD 分析示例、网络分析示例、NFS 分析示例(2008-9)。
- 展示我正在使用的基于 ZFS 的 Sun Storage 7000 系列存储设备的性能限制以及我们的分析可观察性工具的文章:25 万 NFS IOPS、高达 2 GB/秒的 NFS、1 GB/秒的 NFS、从磁盘流式传输、My Sun Storage 7410 性能限制、CIFS 为 1 GB/秒、My Sun 存储 7310 性能限制、 混合存储池:最高速度(2008-9)。
- 存储设备仪表板,我在其中使用天气图标突出显示性能问题并传达某些指标的歧义(2008)。
- 与 Bryan Cantrill 合作的 CEC2008 Fishworks Analytics 幻灯片 (PDF),我们推出了一款领先于行业的存储设备性能分析工具。实时动态跟踪 GUI、延迟热图等
- 与Cindi McGuire合作的CEC2008上Fishworks概述幻灯片(PDF),我们在那里推出了第一个基于ZFS的存储设备Sun Storage 7000系列。Fishworks是开发它的团队。我们在一个私人网站工作,模仿旧金山的一家初创公司。
- 最初的ZFS L2ARC帖子(2008)和后来的L2ARC截图(2009)。由于代码更改每晚都是公开的,因此我在 usr/src/uts/common/fs/zfs/arc.c(2007 年 11 月添加)中的块注释通过将“短行程磁盘”列为第一个预期设备而不是 SSD 来掩盖该技术当时的秘密意图。
- 我编写了最初的 Sun ZFS Storage 7000 管理指南和在线帮助,同时在 Sun Microsystems 中创建了最先进的内容系统:一个可以自动生成 Sun 样式的 PDF 和其他格式的内容 wiki,允许在几秒钟内构建版本,而不是通常的 2 周过程。这个2010年版本有许多来自其他员工的更新(我还没有找到我的原始2008 PDF)(2008)。
- MacOS X中DTraceToolkit上的一篇文章,默认情况下(2008年)在/usr/bin中包含(并更新)了我的44个DTraceToolkit工具。
- 一个宣布DTraceToolkit版本0.99的帖子,一个主要的版本是我添加了许多语言提供者工具(2007)。
- 我的 Solaris 性能:2007 年 5 月的简介幻灯片 (PDF),涵盖了 Solaris 的性能特性和可观察性。这包括我的两种性能分析方法:“按层策略”和“3 度量策略”(当我用“s”拼写利用率时)。后一种策略就是我后来所说的 USE 方法。
- 2007 年 DTrace 演讲中的幻灯片 (PDF):DTrace Intro、DTraceToolkit 和 DTrace Java。
- 演示 DTrace Bourne shell (sh) 提供程序和 iSCSI DTrace 提供程序的帖子 (2007)。
- 一篇关于DTracing Off-CPU Time的帖子,我使用DTrace和我的DTraceToolkit来分析gnome-terminal启动延迟(2007年)。
- OSCON 2007 演讲的幻灯片可观察性很重要:DTrace 如何帮助 Twitter,作者是 Adam Leventhal 和我自己。当时,Twitter是一家在Solaris上运行的一年创业公司,存在严重的性能问题,Sun的顶级工程团队(包括Adam和我)访问了SF总部寻求帮助。本文总结了该团队的调查结果(2007年)。
- 在AMD64 PIC,CPI上,我使用Solaris cpustat和PIC(又名PMC)来测量每条指令的周期,并总结了低或高CPI的调整策略(2007)。
- 在Colortrace上发表了一篇文章,其中我开发了一个DTrace工具,用于跨不同操作系统堆栈层进行流跟踪并对输出进行着色(2007年)。
- 一篇关于DTracing vim Latency的帖子,其中我展示了如何使用DTrace和我的DTraceToolkit(2006)将vim启动时间缩短340倍。
- 我开发的 DTrace 网络提供程序的设计文档,以及 CEC2006 演示页面,其中显示了我的 DTrace TCP 提供程序在 CEC 会议(2006 年)上的首次现场演示。
- 我的帖子DTrace遇到了JavaScript,在那里我宣布了我一直在开发的第一个JavaScript的DTrace提供商,这是针对Mozilla Spider Monkey引擎的,然后是JavaScript Provider ver 2.0(2006-7)。
- Solaris Internals 2nd Edition: Solaris Performance and Tools的姊妹书,与Richard McDougall和Jim Mauro合著(Prentice Hall,2006;国际标准书号0131568191)。这些章节始于 Solaris Internals 第 2 版的开发过程中,后来被拆分为一个单独的姊妹卷。它运作良好:一本关于内部的参考书,以及一本关于绩效的从业者的配套书。444页。
- 文章一个向下的接口咀嚼了多少CPU?,解决了Solaris上一个神秘的性能问题(2006)。
- 我在伦敦开发和交付的 DTrace 研讨会的 233 张幻灯片,其中总结了 Solaris 性能和 DTrace 分析。作为本次研讨会的一部分,我创建了表演实验室供学生解决(不包括在幻灯片中)(2006年)。
- 我的 Solaris 10 区域页面从 2005 年开始,我在其中开发了使用资源控制配置区域的模型。这是容器性能隔离的开创性工作(现在是Linux cgroups的领域)。我当时不是Sun的员工。Sun后来将他们的官方文档基于我的工作,没有署名(他们不允许在官方Sun参考文献中包含我的主页URL)。
- DTrace vs truss,一个解释DTrace优于桁架的优点的页面,Solaris syscall tracer(2005)。
- 使用DTrace分析prstat与top,并显示为什么它们的表现不同(2005)。
- 另一个 DTrace 案例研究:DTracing SMC,即 Solaris 管理控制台,启动需要 30 分钟(是的,几分钟)。我发现使用DTrace存在各种问题,包括1200万,主要是1字节的顺序读取()s.(2005)。
- 一个 DTrace 案例研究:DTracing Lost CPU,演示 DTrace 和我的新 DTrace 工具。在 Solaris 10 发布之前,我发布了这个和其他网站,当时没有其他网站使用 DTrace,因此这些成为客户(2005 年)的重要首批用例。
- DTrace,我分享了第一个公开可用的DTrace工具,后来又分享了我的DTraceToolkit。我在2004年创建了这个页面,它也是DTrace上的第一个公共网站。
- 我之前有两个专业博客(请参阅我的博客存档以获取存档文章):blogs.oracle.com/brendan(正式 blogs.sun.com/brendan),我在那里讨论了性能,DTrace和ZFS存储设备(2006-2010);和 dtrace.org/blogs/brendan,我继续发布有关云性能和DTrace(2010-2014)的帖子。我以前在 bdgregg.blogspot.com 的个人博客上的帖子也在存档中。
- 我的旧的和未维护的Unix和Sun Solaris材料被标记为在我的Crypt中,并且仅出于历史兴趣而保持在线。Crypt容器上面没有列出的一些额外的东西。(约2003-2005年)
视频
- 我在 IntelON 上关于处理器基准测试的视频外观(带有大流行性头发)偏移量为 25:04(视频、幻灯片共享)。(2021)
- 我的eBPF峰会主题演讲视频eBPF的表演胜利:入门(youtube,slideshare)(17分钟)(2021年)。
- 我的Facebook Systems@Scale视频演讲性能赢得BPF:入门(视频,幻灯片共享)(21分钟)(2021)。
- 我的USENIX LISA2021在线全体会议视频关于计算性能:在地平线上,涵盖了性能的现在和未来。(优酷,博客)(41分钟)(2021).
- 我的USENIX LISA2021关于BPF内部(eBPF)的在线谈话视频,展示了高级到机器代码(youtube,博客)(39分钟)(2021)。
- 我的eBPF峰会在线主题演讲视频关于BPF的绩效胜利:入门。这是加州封锁的七个月,像许多人一样,我需要理发(youtube,slideshare)(19分钟)。
- 我的YOW2020 Linux Systems Performance在线谈话视频,我的第一个在线会议谈话(youtube,slideshare)(46分钟)(2020年)。
- 我在Netflix的AWS re:Invent 2019演讲视频BPF性能分析包括我的BPF Theremin演示(youtube,slideshare)(57分钟)。
- 我的Ubuntu Masters 2019主题演讲扩展了BPF:一种新型软件,我首先讨论了BPF如何成为一种新型软件以及对50年历史的内核模型的根本性变化,以及我们如何观察这个已经在大公司(youtube,slideshare)生产的新软件(31分钟)。
- 我的USENIX LISA 2019关于Linux系统性能的演讲,涵盖可观察性,方法,基准测试,分析,跟踪和调优。一些公司表示,他们将使用此视频进行新员工培训。(Youtube, slideshare)(40分钟)。
- 我的SCaLE17x演讲eBPF Perf Tools,其中我使用eBPF现场(youtube,slideshare)(60分钟)(2019)测试Minecraft。
- 我在Netflix的YOW2018主题演讲云性能根本原因分析,我在悉尼,布里斯班和墨尔本(youtube,slideshare)(59分钟)提供。
- 我的 YOW2018 CTO 峰会主题演讲在 Netflix 工作,这是我的第一次非严格技术演讲(youtube,slideshare)(28 分钟)。
- 与我的同事Martin Spier(youtube,slideshare)在FlameScope上进行的LinkedIn表演聚会演讲(24分钟)(2018年)。
- My PerconaLive 2018 关于总结 Linux Performance 2018 的主题演讲(slideshare,PDF,youtube)(20 分钟)。
- 我为Netflix FlameScope的发布制作了两个短片:FlameScope Intro(1分钟)和FlameScope Examples(11分钟)(2018)。
- 我在SCALE16x上做了一个关于CPU利用率是错误的闪电演讲,这是Ignite风格的:自动前进幻灯片(youtube)(5分钟)(2018年)。
- 我的 AWS re:Invent 2017 年关于 Netflix 如何调整 EC2 实例性能的演讲,介绍了实例选择、EC2 功能、内核调整和可观察性(youtube、slideshare)(56 分钟)。
- My USENIX LISA 2017 讲座 Linux Container Performance Analysis (youtube, slideshare) (42 分钟).
- My Kernel Recipes 2017 在 Netflix 上就使用 Linux 性能进行了演讲,重点关注修复 CPU 性能分析(youtube、slideshare)(51 分钟)。
- My Kernel Recipes 2017 关于 BPF 性能分析的讲座,包括一个 14 分钟的演示(youtube,slideshare)(42 分钟)。
- 对于 EuroBSDcon 2017,我以 FreeBSD 为许多示例做了关于系统性能分析方法 (BSD) 的闭幕主题演讲,并介绍了一些新内容(youtube、slideshare)(60 分钟)。
- 我在 SBSRE 聚会上与我的 Netflix 云性能团队同事(youtube、meetup)一起就云上的 PMC 进行了演讲。(16 分钟,共 85 分钟)(2017).
- 我的USENIX ATC 2017演讲性能分析超能力与Linux eBPF,更新我之前的演讲(youtube幻灯片共享)(39分钟)。
- 我的USENIX ATC 2017演讲可视化性能与火焰图,更新和挑战(youtube,slideshare)(61 mdns)。
- My Velocity 2017 talk Performance Analysis Superpowers with Linux eBPF (youtube, slideshare) (43 分鐘)。
- 我的 DockerCon 2017 关于容器性能分析的演讲,其中我展示了如何查找主机与容器中的瓶颈,如何分析容器应用程序,并更深入地了解内核(youtube,slideshare)。(42分钟)。
- 我在 Linux 4.x 跟踪上的 SCaLE15x 演讲:使用 bcc/BPF 进行性能分析,包括一个层演示(youtube,slideshare)(64 分钟)(2017 年)。
- 我的BSidesSF 2017与Alex Maestretti就使用eBPF进行大规模Linux监控进行了交谈,包括我们监控入侵检测的事件图(youtube,slideshare)(28分钟)。
- 我 Linux.conf.au 2017 年关于 BPF:跟踪及其他的演讲,其中我总结了增强 BPF 的其他用途。(Youtube, slideshare)(46分钟)。
- 我的USENIX/LISA 2016完整讲座 Linux 4.x Tracing: Using BPF Superpowers (youtube, slideshare) (44 分钟).
- 在LISA 2016上,我的给我15分钟,我将改变你对Linux跟踪演示的看法,显示ftrace,perf,bcc / BPF(youtube)(18分钟)。
- 我在第一届系统会议上关于设计跟踪工具(youtube,slideshare)(2016)的演讲(46分钟)。
- 我在ACM 2016的主题演讲中,主题是系统方法论:现代系统的整体性能分析,其中我使用了几种不同的操作系统作为示例(youtube,slideshare)(57分钟)。
- 对于PerconaLive 2016,我在50分钟内对这个主题的Linux Systems Performance 2016总结(youtube,slideshare)(50分钟)。
- 我在SREcon16 Santa Clara上发表了关于SRE性能清单的闭幕致辞,这也是我第一次谈论我在Netflix的SRE(站点可靠性工程)工作(博客,youtube,usenix,slideshare)(61分钟)。
- 在Facebook的 Performance @Scale大会上,我的 Linux BPF Superpowers 演讲视频介绍了 Linux 4.x 系列(facebook、slideshare)(2016 年)(34 分钟)中这一新功能的追踪功能。
- Broken Linux Performance Tools for SCaLE14x,专注于Linux问题,并提供更多建议(youtube,slideshare)(2016)(1小时)。
- 对于QConSF 2015,我的Broken Performance Tools演讲强调了通用Linux / Unix系统的系统指标,工具和方法的常见陷阱;高质量的视频与infoq网站上的幻灯片同步(infoq,slideshare)(2015)(50分钟)。
- 我的 JavaOne 2015 关于 Java Mixed-Mode Flame Graphs 的演讲介绍了 -XX:+PreserveFramePointer;由于它没有正式录制,这是从我的笔记本电脑(youtube,slideshare)(2015)捕获的。
- 我的 Monitorama 2015 演讲了 Netflix 实例性能分析要求,其中我展示了针对供应商和客户(博客、vimeo、slideshare)的实例分析产品需要和不受欢迎的不同功能(34 分钟)。
- 我的 Velocity 2015 教程 Linux 性能工具,其中总结了性能可观察性、基准测试、调优、静态性能调优和跟踪工具。这是我之前一次演讲的扩展和更完整的版本,我能够包括一些工具和方法的现场演示。它应该对每个在Linux系统上工作的人有用。(Youtube, slideshare)(100分钟)。
- 在SCALE13x(2015)上,我在Netflix的Linux分析讨论了perf_events CPU分析和功能(博客,youtube,slideshare)(59分钟)。
- 对于USENIX LISA14,我谈到了我的Linux性能工具集合,该集合基于ftrace和perf_events:Linux性能分析:新工具和旧秘密(youtube,slideshare,USENIX)(43分钟)。
- 我的 AWS re:Invent 2014 讲座 性能调整 EC2 实例:选择、Linux 调整、可观察性(youtube、slideshare)(45 分钟)。
- 我接受了BSD Now关于BSD和基准测试的采访,第065集:8,000,000 Mogofoo-ops(youtube)(2014)(28分钟)。
- 我的 FreeBSD 开发峰会 2014 关于 FreeBSD 上的 Flame Graphs 的演讲。由于这个演讲没有视频,所以我使用笔记本电脑上的屏幕流捕获了它。总比没有好,并且很好地展示了我的现场演示。(发布youtube)(53分钟)。
- My MeetBSDCA 2014 演讲“性能分析”,总结了 BSD(youtube、slideshare)性能分析的 5 个方面(53 分钟)。
- 我关于 Linux 性能工具的热门演讲,它快速总结了性能可观察性、基准测试、调优、静态调优和跟踪工具。这是为了2014年欧洲LinuxCon(youtube,slideshare)(49分钟)。
- 在2014年的Singing Summit上,我的演讲从DTrace到Linux总结了Linux跟踪可以学习的经验教训(youtube,slideshare)(61分钟)。
- My Surge 2014 演讲从云到根,展示了 Netflix 如何进行性能分析和所涉及的工具(youtube、slideshare)(56 分钟)。
- 我的 SCaLE12x(2014 年)主题演讲,主题演讲是关于 Linux 可以从 Solaris 性能中学到什么,反之亦然(youtube,slideshare)(60 分钟)。
- Deirdré Straughan有一个名为Brendan Gregg’s Best的YouTube播放列表,里面有我的许多演讲(其中许多是她拍摄的)。
- 我在USENIX/ LISA 2013上的全体会议:Flame Graphs的炽热性能(youtube,slideshare,usenix)(90分钟)。
- 2013 年 10 月为 BayLISA 举办的演讲,旨在描述和推出《系统性能》一书(60 分钟)。
- Surge 2013关于Benching Gone Error的闪电演讲,其中包括我见过的最疯狂的折线图(约5分钟)。
- 新系统性能,我在2013年关于现代系统性能的聚会演讲(23分钟)。
- 我的 OSCON 2013 年关于开源系统性能的演讲,由三部分(youtube、slideshare)组成(32 分钟)。
- 我的停止猜测:生产系统的性能方法论在Velocity 2013(youtube,slideshare)(46分钟)。
- 在SCaLE11x(2013)上,我做了一个关于Linux性能分析和工具的演讲,总结了从基础到高级的分析工具,并包括一些方法(youtube,slideshare,blog)(60分钟)。
- 我的LISA 2012年关于绩效分析方法的演讲命名并总结了10种方法(youtube,usenix,slideshare,blog)(86分钟)。
- ZFS:zfsday的性能分析和工具可能是我2012年最好的演讲(youtube,slideshare,blog)(43分钟)。
- 在illumosday上,我做了一个关于DTracing the Cloud的演讲,展示了可以做些什么(youtube,slideshare)(44分钟)。
- 在FISL’13(2012)上,我做了一个关于系统性能分析的USE方法的演讲,包括一些其他的比较方法(youtube,slideshare,blog)(56分钟)。
- 在dtrace.conf(12)上,我发表了一个关于各种可视化(youtube,博客)的非会议式演讲(35分钟)。
- 我的SCaLE10x演讲(2012年)关于性能分析:来自云的新工具和概念,包括示例(youtube,slideshare,PDF)(1小时)。
- 关于基于 Solaris 的操作系统的性能工具的简短演讲:vmstat、mpstat 和负载平均值,拍摄于 2011 年。
- 我的扩展Percona Live New York 2011演讲:用DTrace分解MySQL / Percona查询延迟(youtube,博客)(90分钟)。
- 我在 LISA 2010 上关于性能可视化的演讲,解释了对热图(youtube、usenix、slideshare、blog)的需求(80 分钟)。
- 在 Oracle Open World 2010 上,我发表了一个关于如何使用 DTrace 构建更好的应用程序的演讲,该演讲在 youtube 上发布:第 1 部分,第 2 部分。(64分钟)。
- 我已经做了很多关于事情进展的技术演讲。这是关于事情出错:科罗拉多州FROSUG的表演恐怖小店,2009年(youtube,博客)(2.5小时)。
- 在数据中心(youtube,博客)中呐喊是布莱恩·坎特里尔(Bryan Cantrill)和我在2008年除夕夜的那一刻制作的一段视频,该视频在网上疯传(100万+观看次数)。我收到过很多关于它的电子邮件:它催生了一个隔音数据中心行业(2分钟)。还有一个制作(youtube)视频(5分钟)。
软件
以下是我的业余时间软件项目,并且是开源的,没有保修 - 使用风险自负。有些是计算机安全工具,如果它们被错误地识别为破解工具,则在您所在的国家/地区拥有或运行这些工具可能是非法的。
我还作为专业的内核工程师开发了软件,下面没有列出(例如,ZFS L2ARC)。
Linux - 跟踪
- eBPF 工具使用 Linux eBPF 和 bcc 前端,用于高级可观察性和跟踪工具。
- bcc工具(github),BPF编译器集合,我是其主要贡献者,特别是对于性能工具。
- bpftrace tools(github)是一种高级的BPF跟踪语言,我是它的主要贡献者。
- 性能 perf_events的示例,即标准的 Linux 探查器。页面包括单行和火焰图。
- perf-tools(github)是一系列基于ftrace和perf_events的Linux性能分析工具。
- ktap 基于 lua 的 Linux 动态跟踪工具的示例,包括一个 liner 和工具(不再维护)。
- msr-cloud-tools 对用于云实例的特定寄存器可观察性工具进行建模。
FreeBSD/OS X/Solaris - DTrace
- DTrace Tools for FreeBSD.
- DTrace 书籍中的 DTrace 书籍脚本,它演示了动态跟踪的许多新用途。
- DTraceToolkit 是 200 多个脚本的集合,其中包含手册页和示例文件(不再维护)。
- DTrace Tools 原始版本的 iosnoop, opensnoop, bitesize.d, execsnoop, shellsnoop, tcpsnoop, iotop, …
Unix/Linux - C
- Dump2PNG将文件数据可视化为PNG(使用libpng)。用于核心转储分析的实验工具。屏幕截图。
- Solaris 的 nicstat 网络接口统计信息(使用 Kstat)。示例。还有一个Perl版本,Tim Cook增加了对Linux的支持。
Unix/Linux/Windows - Perl
- FlameGraph:用于采样堆栈跟踪的可视化,用于性能分析。有关说明,请参阅火焰图页面。
- 热图:用于从跟踪数据生成交互式SVG热图的程序。请参阅有关它的页面。
- Chaosreader:一种取证和网络故障排除工具,用于从 tcpdump 或 snoop 日志中嗅探的 TCP/UDP 会话中提取和重新组合应用程序数据。支持HTTP传输,FTP传输,SMTP电子邮件,远程登录会话等。此示例输出由 Chaosreader 创建,用于链接到在侦听日志中找到的提取的 HTTP 部分、telnet 会话和 FTP 文件。这还可以创建实时播放会话的 telnet 重播程序:示例。创建于2003年。下载代码(github)。
- Perl 模块: Net::SnoopLog for snoop packet logs (RFC1761), Net::TcpDumpLog for tcpdump/libpcap logs,
Algorithm::Hamming::P erl
. - FreqCount是一个简单的频率计数器。用于处理日志(最常见的 IP 地址、端口等)。示例。
- PortPing 是使用 ssh(或其他端口)而不是 ICMP 连接的 ping 版本。适用于检查防火墙。示例。
- MTUfinder 测试对 Web 服务器的不同大小的 HTTP 请求,突出显示 MTU 大小问题。示例。
- Specials 是面向系统管理员的“特殊”程序的集合。主要是Perl。
Unix/Linux - Bourne/Korn Shell
- DtkshDemos 是 X11 dtksh 脚本的集合。它们包括 xvmstat ( vmstat 的 GUI 版本) 和 xplot - 一个通用的数据绘图仪。为任何带有dtksh的操作系统编写。
- total 是一个简单的 awk 脚本,用于对字段求和(示例);字段打印字段(示例)。这些存在是为了方便在外壳上。
窗户 - 德尔福
- 快速文本烤面包机 v1.0我多年前写的一个编辑器,用于从损坏的文件中获取文本。适用于可执行文件、文档等。
MSDOS - QBASIC
- QBASIC CRO v1.2我仍然觉得这个旧程序很有趣。它是一个数字(开/关)CRO,以1KHz对并行端口进行采样。
其他
- Guessing Game是用awk C编写的,C++csh Fortran java ksh Pascal Perl QBASIC sh和更多的语言比较。
- Crypt有一些我较旧的Solaris和Unix软件,包括基于kstat的性能工具的K9Toolkit集合,用于磁盘I / O按进程的Psio以及用于硬件和软件缓存分析的CacheKit。