Files
lambda_local_runner/docs/lambdas-md/lambda-cold_warm_timeline.svg
2026-05-11 20:13:11 -03:00

159 lines
11 KiB
XML
Raw Permalink 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.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 14.1.2 (0)
-->
<!-- Title: cold_warm_timeline Pages: 1 -->
<svg width="1511pt" height="223pt"
viewBox="0.00 0.00 1511.00 223.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 219.38)">
<title>cold_warm_timeline</title>
<polygon fill="#0a0e17" stroke="none" points="-4,4 -4,-219.38 1506.75,-219.38 1506.75,4 -4,4"/>
<text xml:space="preserve" text-anchor="middle" x="751.38" y="-196.18" font-family="Helvetica,sans-Serif" font-size="16.00" fill="#0066ff">Cold vs warm — what gets billed, what gets measured</text>
<g id="clust1" class="cluster">
<title>cluster_cold</title>
<polygon fill="#0a0e17" stroke="#ff3d00" stroke-dasharray="5,2" points="8,-8 8,-127 519.75,-127 519.75,-8 8,-8"/>
<text xml:space="preserve" text-anchor="middle" x="263.88" y="-107.8" font-family="Helvetica,sans-Serif" font-size="16.00" fill="#ff3d00">INVOCATION 1 — cold (Init Duration shows in CloudWatch)</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_warm1</title>
<polygon fill="#0a0e17" stroke="#00c853" stroke-dasharray="5,2" points="611,-22 611,-114 1017,-114 1017,-22 611,-22"/>
<text xml:space="preserve" text-anchor="middle" x="814" y="-94.8" font-family="Helvetica,sans-Serif" font-size="16.00" fill="#00c853">INVOCATION 2 — warm (no Init Duration logged)</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_warm2</title>
<polygon fill="#0a0e17" stroke="#00c853" stroke-dasharray="5,2" points="1038,-28 1038,-108 1494.75,-108 1494.75,-28 1038,-28"/>
<text xml:space="preserve" text-anchor="middle" x="1266.38" y="-88.8" font-family="Helvetica,sans-Serif" font-size="16.00" fill="#00c853">INVOCATION 3 — warm</text>
</g>
<!-- c_dl -->
<g id="node1" class="node">
<title>c_dl</title>
<polygon fill="#121829" stroke="#1e2a4a" points="116,-78.25 16,-78.25 16,-29.75 116,-29.75 116,-78.25"/>
<text xml:space="preserve" text-anchor="middle" x="66" y="-63.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">Download code</text>
<text xml:space="preserve" text-anchor="middle" x="66" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">~50200 ms</text>
<text xml:space="preserve" text-anchor="middle" x="66" y="-36.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">(NOT billed)</text>
</g>
<!-- c_init -->
<g id="node2" class="node">
<title>c_init</title>
<polygon fill="#1a1a3a" stroke="#1e2a4a" points="306.25,-91.75 153,-91.75 153,-16.25 306.25,-16.25 306.25,-91.75"/>
<text xml:space="preserve" text-anchor="middle" x="229.62" y="-77.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#ffc107">Init phase</text>
<text xml:space="preserve" text-anchor="middle" x="229.62" y="-63.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#ffc107">~200800 ms typical</text>
<text xml:space="preserve" text-anchor="middle" x="229.62" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#ffc107">(boto3/aioboto3 imports,</text>
<text xml:space="preserve" text-anchor="middle" x="229.62" y="-36.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#ffc107">client build)</text>
<text xml:space="preserve" text-anchor="middle" x="229.62" y="-23.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#ffc107">(billed at full mem)</text>
</g>
<!-- c_dl&#45;&gt;c_init -->
<g id="edge1" class="edge">
<title>c_dl&#45;&gt;c_init</title>
<path fill="none" stroke="#4a5568" d="M116.37,-54C124.38,-54 132.87,-54 141.45,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="141.25,-57.5 151.25,-54 141.25,-50.5 141.25,-57.5"/>
</g>
<!-- c_handler -->
<g id="node3" class="node">
<title>c_handler</title>
<polygon fill="#0d1a33" stroke="#1e2a4a" points="420.75,-78.25 343.25,-78.25 343.25,-29.75 420.75,-29.75 420.75,-78.25"/>
<text xml:space="preserve" text-anchor="middle" x="382" y="-63.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#e8eaf0">Handler</text>
<text xml:space="preserve" text-anchor="middle" x="382" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#e8eaf0">~5500 ms</text>
<text xml:space="preserve" text-anchor="middle" x="382" y="-36.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#e8eaf0">(billed)</text>
</g>
<!-- c_init&#45;&gt;c_handler -->
<g id="edge2" class="edge">
<title>c_init&#45;&gt;c_handler</title>
<path fill="none" stroke="#4a5568" d="M306.69,-54C315.11,-54 323.52,-54 331.48,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="331.28,-57.5 341.28,-54 331.28,-50.5 331.28,-57.5"/>
</g>
<!-- c_freeze -->
<g id="node4" class="node">
<title>c_freeze</title>
<polygon fill="#121829" stroke="#1e2a4a" points="511.75,-72 457.75,-72 457.75,-36 511.75,-36 511.75,-72"/>
<text xml:space="preserve" text-anchor="middle" x="484.75" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">freeze</text>
</g>
<!-- c_handler&#45;&gt;c_freeze -->
<g id="edge3" class="edge">
<title>c_handler&#45;&gt;c_freeze</title>
<path fill="none" stroke="#4a5568" d="M421.09,-54C429.25,-54 437.87,-54 446.02,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="446,-57.5 456,-54 446,-50.5 446,-57.5"/>
</g>
<!-- w_thaw -->
<g id="node5" class="node">
<title>w_thaw</title>
<polygon fill="#121829" stroke="#1e2a4a" points="756.62,-78.25 664.88,-78.25 664.88,-29.75 756.62,-29.75 756.62,-78.25"/>
<text xml:space="preserve" text-anchor="middle" x="710.75" y="-63.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">thaw</text>
<text xml:space="preserve" text-anchor="middle" x="710.75" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">microseconds</text>
<text xml:space="preserve" text-anchor="middle" x="710.75" y="-36.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">(NOT billed)</text>
</g>
<!-- c_freeze&#45;&gt;w_thaw -->
<g id="edge4" class="edge">
<title>c_freeze&#45;&gt;w_thaw</title>
<path fill="none" stroke="#00c853" d="M511.88,-54C546.28,-54 607.68,-54 652.99,-54"/>
<polygon fill="#00c853" stroke="#00c853" points="652.92,-57.5 662.92,-54 652.92,-50.5 652.92,-57.5"/>
<text xml:space="preserve" text-anchor="middle" x="565.38" y="-67.95" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8892a8">next event</text>
<text xml:space="preserve" text-anchor="middle" x="565.38" y="-56.7" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#8892a8">(&lt; idle window)</text>
</g>
<!-- w_handler -->
<g id="node6" class="node">
<title>w_handler</title>
<polygon fill="#0d1a33" stroke="#1e2a4a" points="871.12,-78.25 793.62,-78.25 793.62,-29.75 871.12,-29.75 871.12,-78.25"/>
<text xml:space="preserve" text-anchor="middle" x="832.38" y="-63.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#00c853">Handler</text>
<text xml:space="preserve" text-anchor="middle" x="832.38" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#00c853">~5500 ms</text>
<text xml:space="preserve" text-anchor="middle" x="832.38" y="-36.8" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#00c853">(billed)</text>
</g>
<!-- w_thaw&#45;&gt;w_handler -->
<g id="edge5" class="edge">
<title>w_thaw&#45;&gt;w_handler</title>
<path fill="none" stroke="#4a5568" d="M756.98,-54C765.16,-54 773.73,-54 782.03,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="781.99,-57.5 791.99,-54 781.99,-50.5 781.99,-57.5"/>
</g>
<!-- w_freeze -->
<g id="node7" class="node">
<title>w_freeze</title>
<polygon fill="#121829" stroke="#1e2a4a" points="962.12,-72 908.12,-72 908.12,-36 962.12,-36 962.12,-72"/>
<text xml:space="preserve" text-anchor="middle" x="935.12" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">freeze</text>
</g>
<!-- w_handler&#45;&gt;w_freeze -->
<g id="edge6" class="edge">
<title>w_handler&#45;&gt;w_freeze</title>
<path fill="none" stroke="#4a5568" d="M871.46,-54C879.63,-54 888.25,-54 896.39,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="896.37,-57.5 906.37,-54 896.37,-50.5 896.37,-57.5"/>
</g>
<!-- w2_thaw -->
<g id="node8" class="node">
<title>w2_thaw</title>
<polygon fill="#121829" stroke="#1e2a4a" points="1100,-72 1046,-72 1046,-36 1100,-36 1100,-72"/>
<text xml:space="preserve" text-anchor="middle" x="1073" y="-50.3" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#8892a8">thaw</text>
</g>
<!-- w_freeze&#45;&gt;w2_thaw -->
<g id="edge7" class="edge">
<title>w_freeze&#45;&gt;w2_thaw</title>
<path fill="none" stroke="#00c853" d="M962.32,-54C982.81,-54 1011.57,-54 1034.5,-54"/>
<polygon fill="#00c853" stroke="#00c853" points="1034.37,-57.5 1044.37,-54 1034.37,-50.5 1034.37,-57.5"/>
</g>
<!-- w2_handler -->
<g id="node9" class="node">
<title>w2_handler</title>
<polygon fill="#0d1a33" stroke="#1e2a4a" points="1486.75,-72 1428,-72 1428,-36 1486.75,-36 1486.75,-72"/>
<text xml:space="preserve" text-anchor="middle" x="1457.38" y="-57.05" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#00c853">Handler</text>
<text xml:space="preserve" text-anchor="middle" x="1457.38" y="-43.55" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#00c853">(billed)</text>
</g>
<!-- w2_thaw&#45;&gt;w2_handler -->
<g id="edge8" class="edge">
<title>w2_thaw&#45;&gt;w2_handler</title>
<path fill="none" stroke="#4a5568" d="M1100.28,-54C1166,-54 1337.82,-54 1416.27,-54"/>
<polygon fill="#4a5568" stroke="#4a5568" points="1416.07,-57.5 1426.07,-54 1416.07,-50.5 1416.07,-57.5"/>
</g>
<!-- notes -->
<g id="node10" class="node">
<title>notes</title>
<polygon fill="#0a0e17" stroke="#1e2a4a" points="1404,-187.88 1118,-187.88 1118,-116.12 1410,-116.12 1410,-181.88 1404,-187.88"/>
<polyline fill="none" stroke="#1e2a4a" points="1404,-187.88 1404,-181.88"/>
<polyline fill="none" stroke="#1e2a4a" points="1410,-181.88 1404,-181.88"/>
<text xml:space="preserve" text-anchor="middle" x="1264" y="-174.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#b4bccf">Init Duration is ONLY in cold&#45;start logs.</text>
<text xml:space="preserve" text-anchor="middle" x="1264" y="-161.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#b4bccf">Duration is the handler portion only.</text>
<text xml:space="preserve" text-anchor="middle" x="1264" y="-148.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#b4bccf">Billed Duration rounds Duration up to 1 ms.</text>
<text xml:space="preserve" text-anchor="middle" x="1264" y="-136.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#b4bccf">With Provisioned Concurrency, init runs ahead of time —</text>
<text xml:space="preserve" text-anchor="middle" x="1264" y="-123.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#b4bccf">you pay for it in PC pricing, not per invocation.</text>
</g>
</g>
</svg>