56 lines
2.3 KiB
Plaintext
56 lines
2.3 KiB
Plaintext
digraph cold_warm_timeline {
|
||
rankdir=LR
|
||
bgcolor="#0a0e17"
|
||
fontname="Helvetica"
|
||
node [fontname="Helvetica" fontsize=11 style=filled color="#1e2a4a" fontcolor="#e8eaf0" shape=box]
|
||
edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"]
|
||
|
||
label="Cold vs warm — what gets billed, what gets measured"
|
||
labelloc=t
|
||
fontsize=16
|
||
fontcolor="#0066ff"
|
||
|
||
subgraph cluster_cold {
|
||
label="INVOCATION 1 — cold (Init Duration shows in CloudWatch)"
|
||
style=dashed
|
||
color="#ff3d00"
|
||
fontcolor="#ff3d00"
|
||
|
||
c_dl [label="Download code\n~50–200 ms\n(NOT billed)" fillcolor="#121829" fontcolor="#8892a8"]
|
||
c_init [label="Init phase\n~200–800 ms typical\n(boto3/aioboto3 imports,\nclient build)\n(billed at full mem)" fillcolor="#1a1a3a" fontcolor="#ffc107"]
|
||
c_handler [label="Handler\n~5–500 ms\n(billed)" fillcolor="#0d1a33"]
|
||
c_freeze [label="freeze" fillcolor="#121829" fontcolor="#8892a8"]
|
||
}
|
||
|
||
subgraph cluster_warm1 {
|
||
label="INVOCATION 2 — warm (no Init Duration logged)"
|
||
style=dashed
|
||
color="#00c853"
|
||
fontcolor="#00c853"
|
||
|
||
w_thaw [label="thaw\nmicroseconds\n(NOT billed)" fillcolor="#121829" fontcolor="#8892a8"]
|
||
w_handler [label="Handler\n~5–500 ms\n(billed)" fillcolor="#0d1a33" fontcolor="#00c853"]
|
||
w_freeze [label="freeze" fillcolor="#121829" fontcolor="#8892a8"]
|
||
}
|
||
|
||
subgraph cluster_warm2 {
|
||
label="INVOCATION 3 — warm"
|
||
style=dashed
|
||
color="#00c853"
|
||
fontcolor="#00c853"
|
||
|
||
w2_thaw [label="thaw" fillcolor="#121829" fontcolor="#8892a8"]
|
||
w2_handler [label="Handler\n(billed)" fillcolor="#0d1a33" fontcolor="#00c853"]
|
||
}
|
||
|
||
notes [label="Init Duration is ONLY in cold-start logs.\nDuration is the handler portion only.\nBilled Duration rounds Duration up to 1 ms.\nWith Provisioned Concurrency, init runs ahead of time —\nyou pay for it in PC pricing, not per invocation." fillcolor="#0a0e17" color="#1e2a4a" shape=note fontcolor="#b4bccf" fontsize=10]
|
||
|
||
c_dl -> c_init -> c_handler -> c_freeze
|
||
c_freeze -> w_thaw [label="next event\n(< idle window)" color="#00c853"]
|
||
w_thaw -> w_handler -> w_freeze
|
||
w_freeze -> w2_thaw [color="#00c853"]
|
||
w2_thaw -> w2_handler
|
||
|
||
{rank=sink; notes}
|
||
}
|