<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Flame Graph - 標籤 - Yan-Hao Wang&#39;s Blog</title>
        <link>https://kola.ink/tags/flame-graph/</link>
        <description>Flame Graph - 標籤 - Yan-Hao Wang&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-TW</language><managingEditor>bses30074@gmail.com (Yan-Hao Wang)</managingEditor>
            <webMaster>bses30074@gmail.com (Yan-Hao Wang)</webMaster><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Mon, 22 Jun 2026 19:54:12 &#43;0800</lastBuildDate><atom:link href="https://kola.ink/tags/flame-graph/" rel="self" type="application/rss+xml" /><item>
    <title>Tmp: FreeBSD DTrace 產生 Flame Graph</title>
    <link>https://kola.ink/dtrace-flame-graph/</link>
    <pubDate>Mon, 22 Jun 2026 19:54:12 &#43;0800</pubDate>
    <author>bses30074@gmail.com (Yan-Hao Wang)</author>
    <guid>https://kola.ink/dtrace-flame-graph/</guid>
    <description><![CDATA[<p>可以看到有 profile-97, profile-199 &hellip; profile-4999 還有 tick-1 &hellip; tick-5000，前者是 CPU sampling profiler（基於 interrupt / PMC / sampling），後者是 scheduler tick / timer interrupt sampling 適合 long-run performance trend。</p>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-sh">
        <span class="code-title"><i class="arrow fas fa-angle-right fa-fw" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h fa-fw" aria-hidden="true"></i></span>
        <span class="copy" title="複製到剪貼板"><i class="far fa-copy fa-fw" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">kola@:~/proj/mac_casper/test/performance/syscall/sysctl $ sudo dtrace <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>-x <span class="nv">stackframes</span><span class="o">=</span><span class="m">100</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>-o stacks.out <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>-c ./perf_baseline <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>-n <span class="s1">&#39;
</span></span></span><span class="line"><span class="cl"><span class="s1">profile-4999
</span></span></span><span class="line"><span class="cl"><span class="s1">/pid == $target/
</span></span></span><span class="line"><span class="cl"><span class="s1">{
</span></span></span><span class="line"><span class="cl"><span class="s1">    @[stack()] = count();
</span></span></span><span class="line"><span class="cl"><span class="s1">}&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">kola@:~/proj/mac_casper/test/performance/syscall/sysctl $ perl ~/proj/FlameGraph/stackcollapse.pl stacks.out &gt; folded.out
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">kola@:~/proj/mac_casper/test/performance/syscall/sysctl $ perl ~/proj/FlameGraph/flamegraph.pl <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>    --title<span class="o">=</span><span class="s2">&#34;sysctl kernel stack with mac&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl"><span class="se"></span>    folded.out &gt; flame.svg</span></span></code></pre></div></div>
<h2 id="實際例子">實際例子</h2>
<p>存成 SVG 後你就可以在瀏覽器打開，可以自由跟它互動像是看到全名等。</p>]]></description>
</item>
</channel>
</rss>
