Files
progcode/web/public/assets/editorial/2020/tracing-critical-path-2020.svg
T
huncode 6c96a2a338
Build and deploy / deploy (push) Successful in 13s
revise September 2020 tracing articles
2026-07-31 11:47:30 +03:00

61 lines
3.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1280" role="img" aria-labelledby="title desc">
<title id="title">Как читать critical path в учебной трассе</title>
<desc id="desc">Вертикальная схема показывает, что duration родительского span включает дочерние интервалы. Критический путь состоит из exclusive сегментов gateway, catalog, inventory и adapter и даёт 240 миллисекунд. Pricing остаётся параллельной ветвью.</desc>
<style>
.bg { fill: #071a2b; }
.card { fill: #0d2a42; stroke: #35607f; stroke-width: 2; }
.blue { fill: #31b8ff; }
.orange { fill: #f6b756; }
.text { fill: #eaf6ff; font-family: Inter, Arial, sans-serif; }
.muted { fill: #b6d0e4; font-family: Inter, Arial, sans-serif; }
.title { font-size: 32px; font-weight: 700; }
.subtitle { font-size: 21px; }
.label { font-size: 27px; font-weight: 700; }
.meta { font-size: 21px; font-weight: 600; }
.big { font-size: 30px; font-weight: 700; }
</style>
<rect class="bg" width="720" height="1280" rx="34" />
<text class="text title" x="48" y="66">Critical path без двойного счёта</text>
<text class="muted subtitle" x="48" y="104">Только controlled fixture с одной шкалой</text>
<rect class="card" x="42" y="140" width="636" height="144" rx="20" />
<text class="text label" x="70" y="184">1. Duration parent — inclusive</text>
<text class="muted meta" x="70" y="222">inventory: 170 ms</text>
<text class="muted meta" x="70" y="254">adapter: 70 ms внутри inventory</text>
<line class="orange" x1="360" y1="304" x2="360" y2="338" stroke-width="8" stroke-linecap="round" />
<polygon class="orange" points="344,332 376,332 360,358" />
<rect class="card" x="42" y="378" width="636" height="154" rx="20" />
<text class="text label" x="70" y="422">2. Не складываем 170 + 70</text>
<text class="muted meta" x="70" y="462">интервалы пересекаются</text>
<text class="muted meta" x="70" y="498">иначе одно ожидание посчитано дважды</text>
<line class="blue" x1="360" y1="552" x2="360" y2="586" stroke-width="8" stroke-linecap="round" />
<polygon class="blue" points="344,580 376,580 360,606" />
<rect class="card" x="42" y="626" width="636" height="266" rx="20" />
<text class="text label" x="70" y="670">3. Выбираем позднюю цепочку</text>
<rect class="blue" x="72" y="706" width="542" height="44" rx="11" />
<text class="bg meta" x="96" y="736">gateway exclusive · 40 ms</text>
<rect class="blue" x="98" y="760" width="468" height="44" rx="11" />
<text class="bg meta" x="122" y="790">catalog exclusive · 30 ms</text>
<rect class="blue" x="124" y="814" width="394" height="44" rx="11" />
<text class="bg meta" x="148" y="844">inventory exclusive · 100 ms</text>
<rect class="blue" x="150" y="868" width="320" height="44" rx="11" />
<text class="bg meta" x="174" y="898">adapter exclusive · 70 ms</text>
<rect class="card" x="42" y="930" width="636" height="126" rx="20" />
<text class="text label" x="70" y="974">Pricing: параллельная ветвь</text>
<rect class="orange" x="70" y="994" width="150" height="34" rx="9" />
<text class="bg meta" x="94" y="1018">40 ms</text>
<text class="muted meta" x="242" y="1018">не продлевает финал root</text>
<line class="blue" x1="360" y1="1076" x2="360" y2="1110" stroke-width="8" stroke-linecap="round" />
<polygon class="blue" points="344,1104 376,1104 360,1130" />
<rect class="card" x="42" y="1150" width="636" height="84" rx="20" />
<text class="text big" x="70" y="1202">40 + 30 + 100 + 70 = 240 ms</text>
<text class="muted meta" x="70" y="1228">совпадает с root duration fixture</text>
</svg>