diff --git a/AGENTS.md b/AGENTS.md index cdccb92..f9a0edd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,8 +7,8 @@ publishes one report format for all of them. It creates two DigitalOcean droplet unit under test and a load generator), drives the load, collects the results into a `report.json` (schema `perfkit/report/v1`), deletes the droplets, and renders a branded static HTML report page. Each project keeps only its benchmark definitions in a `perf/` folder -(`perf/perfkit.yaml`) and pins a perfkit release. The design of the report page is -`designs/report.pen` (open it with Pencil or Nib, never as text). +(`perf/perfkit.yaml`) and pins a perfkit release. The design of the report page lives in Routr: +`designs/benchmarks.pen` in fonoster/routr (open it with Pencil or Nib, never as text). ## Commands diff --git a/designs/report.pen b/designs/report.pen deleted file mode 100644 index e853706..0000000 --- a/designs/report.pen +++ /dev/null @@ -1,6814 +0,0 @@ -{ - "version": "2.21", - "children": [ - { - "type": "frame", - "id": "F03T3", - "name": "Logo", - "reusable": true, - "width": 106, - "height": 28, - "layout": "none", - "x": 0, - "y": -200, - "children": [ - { - "type": "path", - "id": "18OiZ", - "name": "Letter 1", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fillRule": "evenodd", - "fill": "$text-primary", - "geometry": "M6.58346 9.30769c0.76999-1.17949 1.73248-2.10256 2.88748-2.76923 1.15496-0.69231 2.43836-1.03846 3.84996-1.03846v6.9615h-1.8095c-1.64263 0-2.87462 0.359-3.69595 1.077-0.82133 0.6923-1.23199 1.923-1.23199 3.6923v9.9615h-6.58346v-21.46153h6.58346v3.57692z" - }, - { - "type": "path", - "id": "wvWhd", - "name": "Letter 2", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fillRule": "evenodd", - "fill": "$text-primary", - "geometry": "M26.2466 27.5c-2.1047 0-4.004-0.4487-5.698-1.3462-1.6683-0.8974-2.9901-2.1794-3.9654-3.8461-0.9497-1.6667-1.4245-3.6154-1.4245-5.8462 0-2.2051 0.4876-4.141 1.463-5.8077 0.9753-1.69226 2.3099-2.98713 4.0039-3.88457 1.694-0.89744 3.5933-1.34615 5.698-1.34615 2.1046 0 4.004 0.44871 5.698 1.34615 1.6939 0.89744 3.0286 2.19231 4.0039 3.88457 0.9754 1.6667 1.463 3.6026 1.463 5.8077 0 2.2052-0.5005 4.1539-1.5015 5.8462-0.9753 1.6667-2.3228 2.9487-4.0424 3.8461-1.694 0.8975-3.5934 1.3462-5.698 1.3462z m0-5.6923c1.2577 0 2.3228-0.4615 3.1955-1.3846 0.8983-0.9231 1.3475-2.2436 1.3475-3.9616 0-1.7179-0.4364-3.0384-1.309-3.9615-0.847-0.9231-1.8993-1.3846-3.157-1.3846-1.2833 0-2.3485 0.4615-3.1955 1.3846-0.847 0.8974-1.2705 2.2179-1.2705 3.9615 0 1.718 0.4107 3.0385 1.232 3.9616 0.847 0.9231 1.8993 1.3846 3.157 1.3846z" - }, - { - "type": "path", - "id": "SGeoS", - "name": "Letter 3", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fillRule": "evenodd", - "fill": "$text-primary", - "geometry": "M62.1945 5.73077v21.46153h-6.5834v-2.9231c-0.6674 0.9488-1.5785 1.718-2.7335 2.3077-1.1293 0.5641-2.387 0.8462-3.773 0.8462-1.6426 0-3.0928-0.359-4.3505-1.0769-1.2576-0.7436-2.2329-1.8077-2.9259-3.1924-0.693-1.3846-1.0395-3.0128-1.0395-4.8846v-12.53843h6.5449v11.65383c0 1.4359 0.3722 2.5513 1.1165 3.3462 0.7443 0.7948 1.7453 1.1923 3.003 1.1923 1.2833 0 2.2971-0.3975 3.0415-1.1923 0.7443-0.7949 1.1165-1.9103 1.1165-3.3462v-11.65383h6.5834z" - }, - { - "type": "path", - "id": "RG79q", - "name": "Letter 4", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fillRule": "evenodd", - "fill": "$text-primary", - "geometry": "M78.8968 21.6154v5.5769h-3.3495c-2.387 0-4.2478-0.5769-5.5824-1.7308-1.3347-1.1794-2.002-3.0897-2.002-5.7307v-8.5385h-2.618v-5.46153h2.618v-5.23077h6.5834v5.23077h4.312v5.46153h-4.312v8.6154c0 0.641 0.154 1.1026 0.462 1.3846 0.308 0.2821 0.8213 0.4231 1.54 0.4231h2.3485z" - }, - { - "type": "path", - "id": "T7vgn", - "name": "Letter 5", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fillRule": "evenodd", - "fill": "$text-primary", - "geometry": "M89.1473 9.30769c0.77-1.17949 1.7325-2.10256 2.8875-2.76923 1.155-0.69231 2.4383-1.03846 3.85-1.03846v6.9615h-1.8095c-1.6426 0-2.8746 0.359-3.696 1.077-0.8213 0.6923-1.232 1.923-1.232 3.6923v9.9615h-6.5834v-21.46153h6.5834v3.57692z" - }, - { - "type": "path", - "id": "t9iXH", - "name": "Dot", - "x": 0, - "y": 0, - "width": 106, - "height": 28, - "viewBox": [ - 0, - 0, - 106, - 28 - ], - "fill": "$accent", - "geometry": "M102.112 27.5c-1.155 0-2.105-0.3333-2.8494-1-0.7187-0.6923-1.078-1.5385-1.078-2.5385 0-1.0256 0.3593-1.8846 1.078-2.5769 0.7444-0.6923 1.6944-1.0384 2.8494-1.0384 1.129 0 2.053 0.3461 2.772 1.0384 0.744 0.6923 1.116 1.5513 1.116 2.5769 0 1-0.372 1.8462-1.116 2.5385-0.719 0.6667-1.643 1-2.772 1z" - } - ] - }, - { - "type": "frame", - "id": "MndPj", - "name": "Benchmark Report / Desktop", - "x": 0, - "y": 0, - "width": 1440, - "layout": "vertical", - "fill": "$bg", - "theme": { - "mode": "dark" - }, - "children": [ - { - "type": "frame", - "id": "JcssM", - "name": "Nav", - "width": "fill_container", - "padding": [ - 20, - 80 - ], - "justifyContent": "space_between", - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "w85YF", - "name": "Brand", - "gap": 14, - "alignItems": "center", - "children": [ - { - "type": "ref", - "id": "aB5CF", - "ref": "F03T3", - "name": "Logo" - }, - { - "type": "text", - "id": "4NpHy", - "content": "/", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 20 - }, - { - "type": "text", - "id": "bgAHY", - "name": "Product", - "content": "Benchmarks", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 17, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "qSjfB", - "name": "Actions", - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "0XLi4", - "name": "Run Picker", - "cornerRadius": 10, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 10, - 14 - ], - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "bk3di", - "library": "lucide", - "icon": "history", - "width": 16, - "height": 16, - "fill": "$text-secondary" - }, - { - "type": "text", - "id": "LmT8z", - "content": "Nov 2, 2026 · v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500" - }, - { - "type": "frame", - "id": "Frf2z", - "name": "Latest badge", - "fill": "$accent-subtle", - "cornerRadius": 6, - "padding": [ - 2, - 8 - ], - "children": [ - { - "type": "text", - "id": "J4FQu", - "content": "latest", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "fontWeight": "500" - } - ] - }, - { - "type": "icon", - "id": "5hOfD", - "library": "lucide", - "icon": "chevron-down", - "width": 16, - "height": 16, - "fill": "$text-secondary" - } - ] - }, - { - "type": "frame", - "id": "y5IIc", - "name": "Download JSON", - "cornerRadius": 10, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 10, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "gjIKI", - "library": "lucide", - "icon": "file-json", - "width": 16, - "height": 16, - "fill": "$text-secondary" - }, - { - "type": "text", - "id": "w0z1V", - "content": "report.json", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "roK0u", - "name": "Header", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 72, - 80, - 56, - 80 - ], - "gap": 20, - "children": [ - { - "type": "text", - "id": "wZ5Fi", - "name": "Eyebrow", - "content": "BENCHMARKS · ROUTR", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500", - "letterSpacing": 1.5 - }, - { - "type": "text", - "id": "Q9MuN", - "name": "Title", - "content": "How much SIP traffic Routr handles.", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -1.5, - "lineHeight": 1.1 - }, - { - "type": "text", - "id": "Glnoy", - "name": "Lead", - "textGrowth": "fixed-width", - "width": 780, - "lineHeight": 1.6, - "content": "We run these tests after significant changes to the code, on dedicated DigitalOcean servers: one for Routr and one for the load generator. The EdgePort runs alone to find its limit; the whole stack runs for hours to catch leaks. Every number on this page comes from the run's report.json.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 18 - }, - { - "type": "frame", - "id": "wcHAG", - "name": "Run meta", - "gap": 10, - "alignItems": "center", - "padding": [ - 12, - 0, - 0, - 0 - ], - "children": [ - { - "type": "frame", - "id": "4AFK5", - "name": "Verdict", - "fill": "#39E19E1F", - "stroke": { - "fill": "#39E19E55", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 7, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "J2RfQ", - "library": "lucide", - "icon": "circle-check", - "width": 15, - "height": 15, - "fill": "$success" - }, - { - "type": "text", - "id": "wvwwv", - "content": "2 of 2 benchmarks passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "DzqWn", - "name": "Chip date", - "cornerRadius": 999, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 7, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "jBfGr", - "library": "lucide", - "icon": "calendar", - "width": 14, - "height": 14, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "6vLjQ", - "content": "Ran Nov 2, 2026 · 14:20 UTC", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "sZvLE", - "name": "Chip version", - "cornerRadius": 999, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 7, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "BizDU", - "library": "lucide", - "icon": "tag", - "width": 14, - "height": 14, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "0pVa6", - "content": "v2.31.5", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "ZiC62", - "name": "Chip commit", - "cornerRadius": 999, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 7, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "HeFwW", - "library": "lucide", - "icon": "git-commit-horizontal", - "width": 14, - "height": 14, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "w0BVs", - "content": "bd3254a", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "VD4pO", - "name": "Chip infra", - "cornerRadius": 999, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 7, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "QUQZt", - "library": "lucide", - "icon": "server", - "width": 14, - "height": 14, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "oALKO", - "content": "DigitalOcean nyc3 · c-8", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "P1cev", - "name": "Headline Numbers", - "width": "fill_container", - "padding": [ - 0, - 80 - ], - "stroke": { - "fill": "$border", - "thickness": { - "top": 1, - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "J4PiR", - "name": "Stat EdgePort CPS", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40, - 44, - 0 - ], - "children": [ - { - "type": "text", - "id": "X0mid", - "content": "1,240", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "51ZfG", - "content": "calls/s, EdgePort max sustained", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "frame", - "id": "JCEOH", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "3Neo9", - "library": "lucide", - "icon": "trending-up", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "KJCyJ", - "content": "+4.2% vs Oct 19", - "fill": "$success", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - }, - { - "type": "frame", - "id": "lljzB", - "name": "Stat dialogs", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "G1BXG", - "content": "38 ms", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "Rvobt", - "content": "p99 latency at the limit", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "frame", - "id": "a5ke1", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "dTWEU", - "library": "lucide", - "icon": "trending-down", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "hB4ee", - "content": "2 ms faster vs Oct 19", - "fill": "$success", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - }, - { - "type": "frame", - "id": "ltW1J", - "name": "Stat soak", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "AqdWh", - "content": "6 h", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "r4rGT", - "content": "RoutrOne soak, 2.2M calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "frame", - "id": "98qAW", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "A31j5", - "library": "lucide", - "icon": "minus", - "width": 14, - "height": 14, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "zThXJ", - "content": "same as Oct 19", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - }, - { - "type": "frame", - "id": "5wkcz", - "name": "Stat memory", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "F9lny", - "content": "+0.3 MB/h", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "URUjR", - "content": "memory growth after warm-up", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "frame", - "id": "WRNrk", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "N2AGq", - "library": "lucide", - "icon": "circle-check", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "P2zJt", - "content": "under the 5 MB/h limit", - "fill": "$success", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "MwtPi", - "name": "Benchmark 01 · EdgePort + Echo", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 88, - 80 - ], - "gap": 40, - "children": [ - { - "type": "frame", - "id": "VAWZC", - "name": "Section head", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "end", - "children": [ - { - "type": "frame", - "id": "i2Tcz", - "layout": "vertical", - "gap": 12, - "children": [ - { - "type": "text", - "id": "omOO6", - "content": "01 · CAPACITY", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500", - "letterSpacing": 1.5 - }, - { - "type": "frame", - "id": "Jv6zS", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "M6VQm", - "content": "EdgePort + Echo", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 40, - "fontWeight": "600", - "letterSpacing": -1 - }, - { - "type": "frame", - "id": "ZYxy4", - "name": "Status", - "fill": "#39E19E1F", - "stroke": { - "fill": "#39E19E55", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 5, - 12 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "mbwiG", - "library": "lucide", - "icon": "circle-check", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "VX1Qi", - "content": "Passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "text", - "id": "O2PQS", - "content": "14 min · SIPp 3.7 · UDP", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "aLNKE", - "name": "Narrative", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "qZvX6", - "name": "What", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "HExIS", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "jnlMo", - "library": "lucide", - "icon": "crosshair", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "eWGDs", - "content": "What it measures", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "GDbvv", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "The EdgePort on its own, with Echo answering every request with 200 OK. No Dispatcher, Connect or database, so this is a ceiling for EdgePort alone, not for a full deployment.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "Nz6bD", - "name": "Why", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "OJOaY", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "Iib2P", - "library": "lucide", - "icon": "lightbulb", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "mqPja", - "content": "Why it matters", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "b7gEt", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "The EdgePort is the only stateful piece of Routr: it holds every SIP transaction and dialog. When it saturates, calls fail, no matter what runs behind it.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "UOQrf", - "name": "How", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "5mAxS", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "khbWv", - "library": "lucide", - "icon": "activity", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "TH04U", - "content": "How it runs", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "1nF3D", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "SIPp places calls (INVITE, 200, ACK, BYE after 1 s) and adds 50 calls/s every minute. The run stops at the first step where p99 reaches 50 ms or failed calls reach 0.1%.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - } - ] - }, - { - "type": "frame", - "id": "dNPIV", - "name": "Results", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "kQPk0", - "name": "Latency chart card", - "width": 868, - "layout": "vertical", - "gap": 16, - "padding": [ - 24, - 24, - 16, - 24 - ], - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "M8nQP", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "onkbL", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "text", - "id": "8wKA2", - "content": "Latency as load rises", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "text", - "id": "sH2al", - "content": "INVITE to 200 OK, by offered rate", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "0NLan", - "name": "Legend", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "4JLht", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "zLYP1", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$accent" - }, - { - "type": "text", - "id": "Sm5qL", - "content": "p99", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "TgKaM", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "qQb4H", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$series-2" - }, - { - "type": "text", - "id": "QwHgp", - "content": "p95", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "7mGUn", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "8q0G7", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "xS9W6", - "content": "p50", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "UJYSm", - "name": "Plot", - "width": 820, - "height": 340, - "layout": "none", - "children": [ - { - "type": "rectangle", - "id": "4tUVd", - "name": "Over limit", - "x": 629.5, - "y": 24, - "width": 166.5, - "height": 280, - "fill": "#F9706612" - }, - { - "type": "rectangle", - "id": "hFAFJ", - "name": "grid 100", - "x": 56, - "y": 24, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "NG4OS", - "name": "grid 75", - "x": 56, - "y": 94, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "ID5HE", - "name": "grid 25", - "x": 56, - "y": 234, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "KmG32", - "name": "axis x", - "x": 56, - "y": 304, - "width": 740, - "height": 1, - "fill": "$text-muted", - "opacity": 0.5 - }, - { - "type": "path", - "id": "pD7Vp", - "name": "SLO 50ms", - "x": 0, - "y": 0, - "width": 820, - "height": 340, - "viewBox": [ - 0, - 0, - 820, - 340 - ], - "geometry": "M56 164 L796 164", - "fill": "#00000000", - "stroke": { - "fill": "$danger", - "thickness": 1.5, - "cap": "round" - }, - "opacity": 0.8 - }, - { - "type": "path", - "id": "BYmfQ", - "name": "p50", - "x": 0, - "y": 0, - "width": 820, - "height": 340, - "viewBox": [ - 0, - 0, - 820, - 340 - ], - "geometry": "M102.25 298.4 L287.25 298.4 L472.25 295.6 L564.75 290 L611 281.6 L634.1 273.2 L657.25 253.6 L680.4 217.2", - "fill": "#00000000", - "stroke": { - "fill": "$text-muted", - "thickness": 2, - "cap": "round", - "join": "round" - } - }, - { - "type": "path", - "id": "uIkdP", - "name": "p95", - "x": 0, - "y": 0, - "width": 820, - "height": 340, - "viewBox": [ - 0, - 0, - 820, - 340 - ], - "geometry": "M102.25 292.8 L287.25 290 L472.25 284.4 L518.5 278.8 L564.75 270.4 L611 250.8 L634.1 234 L657.25 189.2 L680.4 108", - "fill": "#00000000", - "stroke": { - "fill": "$series-2", - "thickness": 2, - "cap": "round", - "join": "round" - } - }, - { - "type": "path", - "id": "oGAva", - "name": "p99", - "x": 0, - "y": 0, - "width": 820, - "height": 340, - "viewBox": [ - 0, - 0, - 820, - 340 - ], - "geometry": "M102.25 284.4 L194.75 284.4 L287.25 281.6 L379.75 278.8 L472.25 273.2 L518.5 264.8 L564.75 250.8 L611 220 L634.1 192 L657.25 130.4 L680.4 35.2", - "fill": "#00000000", - "stroke": { - "fill": "$accent", - "thickness": 2.5, - "cap": "round", - "join": "round" - } - }, - { - "type": "rectangle", - "id": "QBnJJ", - "name": "Limit line", - "x": 629, - "y": 24, - "width": 1.5, - "height": 280, - "fill": "$accent" - }, - { - "type": "ellipse", - "id": "n62tm", - "name": "Limit dot", - "x": 624.5, - "y": 189.5, - "width": 11, - "height": 11, - "fill": "$accent", - "stroke": { - "fill": "$surface", - "thickness": 2.5, - "align": "outside" - } - }, - { - "type": "frame", - "id": "bNeSO", - "name": "Limit label", - "x": 474, - "y": 34, - "fill": "$accent", - "cornerRadius": 6, - "padding": [ - 5, - 10 - ], - "layoutPosition": "absolute", - "children": [ - { - "type": "text", - "id": "EXBmB", - "content": "limit 1,240 calls/s", - "fill": "$on-accent", - "fontFamily": "Roboto Mono", - "fontSize": 12, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "qNb8R", - "name": "SLO label", - "x": 700, - "y": 144, - "content": "p99 target 50 ms", - "fill": "$danger", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "tqYhN", - "x": 14, - "y": 17, - "content": "100", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "7fQah", - "x": 22, - "y": 87, - "content": "75", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "Sf0ri", - "x": 22, - "y": 157, - "content": "50", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "qoIrm", - "x": 22, - "y": 227, - "content": "25", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "7W2nf", - "x": 30, - "y": 297, - "content": "0", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "CT9Gx", - "x": 0, - "y": 0, - "content": "ms", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "iXak7", - "x": 52, - "y": 314, - "content": "0", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "lg9Tr", - "x": 230, - "y": 314, - "content": "400", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "IlR8R", - "x": 415, - "y": 314, - "content": "800", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "Bp3HL", - "x": 596, - "y": 314, - "content": "1,200", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "ZqLEO", - "x": 764, - "y": 314, - "content": "1,600", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "ShdIP", - "x": 340, - "y": 326, - "content": "offered calls/s", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 11 - } - ] - } - ] - }, - { - "type": "frame", - "id": "RRsxW", - "name": "At the limit", - "width": "fill_container", - "layout": "vertical", - "padding": 24, - "gap": 4, - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "vMYet", - "content": "At the limit", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "text", - "id": "UVqYb", - "content": "measured at 1,240 calls/s", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "frame", - "id": "T8j1u", - "name": "rows", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 16, - 0, - 0, - 0 - ], - "children": [ - { - "type": "frame", - "id": "1vnKt", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "criN3", - "content": "p99 latency", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "YoweS", - "content": "38 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "Cejz4", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "Gr8HW", - "content": "p50 latency", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "0KDQQ", - "content": "9 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "qqdP8", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "8iJf8", - "content": "Failed calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "J9DVu", - "content": "0.04%", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "PrgSH", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "qvlCu", - "content": "Retransmissions", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "NDAyF", - "content": "0.2%", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "M7EIi", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "L4H0P", - "content": "EdgePort CPU", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "rfygU", - "content": "91% of 8 vCPU", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "X2oZw", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 14, - 0 - ], - "children": [ - { - "type": "text", - "id": "TtH7O", - "content": "JVM heap used", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "S5cug", - "content": "1.9 / 4 GB", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "frame", - "id": "oC7XE", - "name": "Takeaway", - "width": "fill_container", - "fill": "$accent-subtle", - "cornerRadius": 10, - "padding": 14, - "gap": 10, - "children": [ - { - "type": "icon", - "id": "KBUFs", - "library": "lucide", - "icon": "info", - "width": 16, - "height": 16, - "fill": "$accent-text" - }, - { - "type": "text", - "id": "abrZB", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.5, - "content": "CPU ran out first. Heap stayed under half, so state is not the limit at this rate.", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "IfRgN", - "name": "Benchmark 02 · RoutrOne soak", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 88, - 80 - ], - "gap": 40, - "fill": "$surface-sunken", - "stroke": { - "fill": "$border", - "thickness": { - "top": 1, - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "EpMfF", - "name": "Section head", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "end", - "children": [ - { - "type": "frame", - "id": "g72Gb", - "layout": "vertical", - "gap": 12, - "children": [ - { - "type": "text", - "id": "fvpPz", - "content": "02 · SOAK", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500", - "letterSpacing": 1.5 - }, - { - "type": "frame", - "id": "NKOuo", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "FP5lC", - "content": "RoutrOne, six hours", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 40, - "fontWeight": "600", - "letterSpacing": -1 - }, - { - "type": "frame", - "id": "Qg4Ph", - "name": "Status", - "fill": "#39E19E1F", - "stroke": { - "fill": "#39E19E55", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 5, - 12 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "K9lkj", - "library": "lucide", - "icon": "circle-check", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "zDVEg", - "content": "Passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "text", - "id": "EFZe0", - "content": "6 h · 100 calls/s steady · SIPp 3.7 · UDP", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "wnuVu", - "name": "Narrative", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "bwAUQ", - "name": "What", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "ECwkH", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "AyJMR", - "library": "lucide", - "icon": "crosshair", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "jKjaJ", - "content": "What it measures", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "wXcO0", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "The whole stack in one image: EdgePort, plus Dispatcher, Connect, Location and the data service in one Node process, routing real calls between registered peers.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "Q76a9", - "name": "Why", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "EU48L", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "Xw58U", - "library": "lucide", - "icon": "lightbulb", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "9YVgf", - "content": "Why it matters", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "7FE2r", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "Leaks only show after hours. A short test can pass while memory climbs slowly until the process is killed in production.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "Fudi7", - "name": "How", - "width": "fill_container", - "layout": "vertical", - "gap": 10, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "DDdG8", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "HEUB9", - "library": "lucide", - "icon": "activity", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "7pQyN", - "content": "How it runs", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "lTJ2U", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "SIPp holds a steady 100 calls/s of 30-second calls for six hours, with 200 registered agents. After a 30-minute warm-up, each process's memory may grow at most 5 MB/h.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - } - ] - }, - { - "type": "frame", - "id": "sneMj", - "name": "Results", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "dlGo9", - "name": "Memory chart card", - "width": 868, - "layout": "vertical", - "gap": 16, - "padding": [ - 24, - 24, - 16, - 24 - ], - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "Gz6Qu", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "66eg2", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "text", - "id": "KgUSK", - "content": "Memory per process", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "text", - "id": "qgRzU", - "content": "RSS per process in the container, every 10 s", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "MpJn0", - "name": "Legend", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "J8sSW", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "VZvCY", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$accent" - }, - { - "type": "text", - "id": "dYPSz", - "content": "EdgePort (JVM)", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "kW5Lh", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "NLKek", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$series-2" - }, - { - "type": "text", - "id": "TijHh", - "content": "Node services", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "ZYYn0", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "OSwAc", - "width": 14, - "height": 3, - "cornerRadius": 2, - "fill": "$series-3" - }, - { - "type": "text", - "id": "jtCtT", - "content": "Postgres", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 12 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "TweUj", - "name": "Plot", - "width": 820, - "height": 300, - "layout": "none", - "children": [ - { - "type": "rectangle", - "id": "HX0M8", - "name": "Warm-up", - "x": 56, - "y": 20, - "width": 61.7, - "height": 240, - "fill": "#FFFFFF0A" - }, - { - "type": "text", - "id": "oEEuI", - "x": 62, - "y": 26, - "content": "warm-up", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 10 - }, - { - "type": "rectangle", - "id": "xcmZc", - "x": 56, - "y": 20, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "SUxXJ", - "x": 56, - "y": 80, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "cDYpm", - "x": 56, - "y": 140, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "SeRKq", - "x": 56, - "y": 200, - "width": 740, - "height": 1, - "fill": "$border" - }, - { - "type": "rectangle", - "id": "1UyD5", - "x": 56, - "y": 260, - "width": 740, - "height": 1, - "fill": "$text-muted", - "opacity": 0.5 - }, - { - "type": "path", - "id": "NnsCZ", - "name": "Connect", - "x": 0, - "y": 0, - "width": 820, - "height": 300, - "viewBox": [ - 0, - 0, - 820, - 300 - ], - "geometry": "M56 240 L117.7 229 L400 228 L796 228", - "fill": "#00000000", - "stroke": { - "fill": "$series-3", - "thickness": 2, - "cap": "round", - "join": "round" - } - }, - { - "type": "path", - "id": "9h0V9", - "name": "Location", - "x": 0, - "y": 0, - "width": 820, - "height": 300, - "viewBox": [ - 0, - 0, - 820, - 300 - ], - "geometry": "M56 236 L117.7 196 L300 194 L500 193 L796 192", - "fill": "#00000000", - "stroke": { - "fill": "$series-2", - "thickness": 2, - "cap": "round", - "join": "round" - } - }, - { - "type": "path", - "id": "iZDdZ", - "name": "EdgePort", - "x": 0, - "y": 0, - "width": 820, - "height": 300, - "viewBox": [ - 0, - 0, - 820, - 300 - ], - "geometry": "M56 170 L80 110 L117.7 45 L180 42 L240 40 L300 44 L360 41 L420 42 L480 39 L540 43 L600 40 L660 41 L720 39 L796 40", - "fill": "#00000000", - "stroke": { - "fill": "$accent", - "thickness": 2.5, - "cap": "round", - "join": "round" - } - }, - { - "type": "text", - "id": "oYJg1", - "x": 0, - "y": 0, - "content": "MB", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "ow8a5", - "x": 14, - "y": 13, - "content": "1,600", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "Q9jFa", - "x": 14, - "y": 73, - "content": "1,200", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "TgzhK", - "x": 28, - "y": 133, - "content": "800", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "4rrv3", - "x": 28, - "y": 193, - "content": "400", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "f4z5B", - "x": 42, - "y": 253, - "content": "0", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "KoCK8", - "x": 50, - "y": 270, - "content": "0 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "v3zMK", - "x": 170, - "y": 270, - "content": "1 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "tM7ff", - "x": 294, - "y": 270, - "content": "2 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "9Zu6w", - "x": 417, - "y": 270, - "content": "3 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "uVE3f", - "x": 540, - "y": 270, - "content": "4 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "22xpS", - "x": 664, - "y": 270, - "content": "5 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "text", - "id": "vWrId", - "x": 782, - "y": 270, - "content": "6 h", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - }, - { - "type": "frame", - "id": "kUGlj", - "name": "Fit label", - "x": 560, - "y": 54, - "layoutPosition": "absolute", - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "cornerRadius": 6, - "padding": [ - 5, - 10 - ], - "children": [ - { - "type": "text", - "id": "kZuSv", - "content": "EdgePort +0.3 MB/h after warm-up", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 11 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "CytwX", - "name": "Stability checks", - "width": "fill_container", - "layout": "vertical", - "padding": 24, - "gap": 4, - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "Ykuhz", - "content": "Stability checks", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "text", - "id": "6tlOb", - "content": "after the 30-minute warm-up", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "frame", - "id": "9Wn9q", - "name": "rows", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 16, - 0, - 0, - 0 - ], - "children": [ - { - "type": "frame", - "id": "7PIre", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "rmtN5", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "YaGmi", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "JtiBr", - "content": "Memory growth", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "rMMrM", - "content": "+0.3 MB/h", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "QIany", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "dLjP0", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "t3SbU", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "MagPt", - "content": "p99 drift", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "k9S1G", - "content": "21 → 23 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "785FZ", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "4qQEP", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "nDczI", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "UhvNX", - "content": "Failed calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "sQPya", - "content": "0.01%", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "2oKH5", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "1rpuB", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "aB8Hx", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "dIPG6", - "content": "Process restarts", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "kB46I", - "content": "0", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "jTuqn", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "Douep", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "6u2cl", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "YIaUE", - "content": "Open file descriptors", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "q8bRm", - "content": "flat at 1,140", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "PEMAI", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "children": [ - { - "type": "frame", - "id": "R8z6R", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "zrunL", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "kZApE", - "content": "Failed re-registrations", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "DS2YV", - "content": "0 of 200 agents", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "7wN4r", - "name": "Where the time goes", - "width": "fill_container", - "layout": "vertical", - "gap": 20, - "padding": 24, - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "NV2M0", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "AmFOz", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "text", - "id": "NRpaD", - "content": "Where the time goes", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "text", - "id": "cYC7R", - "content": "median time in each service per INVITE, from a 1% sample of OpenTelemetry traces", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "KCpRJ", - "content": "10.6 ms total", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "9Q0rB", - "name": "Stacked bar", - "width": "fill_container", - "height": 14, - "gap": 3, - "cornerRadius": 7, - "clip": true, - "children": [ - { - "type": "rectangle", - "id": "xYOYq", - "width": 474, - "height": 14, - "fill": "$accent" - }, - { - "type": "rectangle", - "id": "9uf3i", - "width": 69, - "height": 14, - "fill": "$series-4" - }, - { - "type": "rectangle", - "id": "hsJRo", - "width": 323, - "height": 14, - "fill": "$series-3" - }, - { - "type": "rectangle", - "id": "11B4q", - "width": 219, - "height": 14, - "fill": "$series-2" - }, - { - "type": "rectangle", - "id": "CF75a", - "width": "fill_container", - "height": 14, - "fill": "$info" - } - ] - }, - { - "type": "frame", - "id": "QXj5P", - "name": "Hop legend", - "width": "fill_container", - "gap": 40, - "children": [ - { - "type": "frame", - "id": "trhiC", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "frame", - "id": "g1Vv4", - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "pPX3F", - "width": 10, - "height": 10, - "cornerRadius": 3, - "fill": "$accent" - }, - { - "type": "text", - "id": "DhbS8", - "content": "EdgePort", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "iBVSR", - "content": "4.1 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 15, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "SMy94", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "frame", - "id": "Pvh6R", - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "Sw5s3", - "width": 10, - "height": 10, - "cornerRadius": 3, - "fill": "$series-4" - }, - { - "type": "text", - "id": "KIWpS", - "content": "Dispatcher", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "VaV3N", - "content": "0.6 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 15, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "xOCDC", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "frame", - "id": "4BIP5", - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "Eac1i", - "width": 10, - "height": 10, - "cornerRadius": 3, - "fill": "$series-3" - }, - { - "type": "text", - "id": "Xtj1X", - "content": "Connect", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "yMg92", - "content": "2.8 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 15, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "SpwVe", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "frame", - "id": "r3Jsb", - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "odvPi", - "width": 10, - "height": 10, - "cornerRadius": 3, - "fill": "$series-2" - }, - { - "type": "text", - "id": "lZ4ZL", - "content": "Location", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "m1AUv", - "content": "1.9 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 15, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "CSJO8", - "layout": "vertical", - "gap": 4, - "children": [ - { - "type": "frame", - "id": "HbJxk", - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "rectangle", - "id": "Rg86E", - "width": 10, - "height": 10, - "cornerRadius": 3, - "fill": "$info" - }, - { - "type": "text", - "id": "YBUWA", - "content": "Data service", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "qGLMx", - "content": "1.2 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 15, - "fontWeight": "500" - } - ] - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "xJ9Zd", - "name": "Previous runs", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 88, - 80, - 56, - 80 - ], - "gap": 32, - "children": [ - { - "type": "frame", - "id": "3HsWI", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "end", - "children": [ - { - "type": "frame", - "id": "7mYto", - "layout": "vertical", - "gap": 12, - "children": [ - { - "type": "text", - "id": "TWGz1", - "content": "HISTORY", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500", - "letterSpacing": 1.5 - }, - { - "type": "text", - "id": "gIwlG", - "content": "Previous runs", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 40, - "fontWeight": "600", - "letterSpacing": -1 - }, - { - "type": "text", - "id": "PTdGX", - "content": "Every run keeps its own page and report.json. Open one to see it exactly as it was.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 16 - } - ] - }, - { - "type": "frame", - "id": "RjEAv", - "name": "Trend", - "layout": "vertical", - "gap": 8, - "padding": [ - 16, - 20 - ], - "cornerRadius": 12, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "ndAjp", - "content": "EdgePort limit, last 8 runs", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12 - }, - { - "type": "frame", - "id": "MutHx", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "AdjCu", - "name": "Sparkline", - "width": 180, - "height": 40, - "layout": "none", - "children": [ - { - "type": "path", - "id": "xW9O3", - "x": 0, - "y": 0, - "width": 180, - "height": 40, - "viewBox": [ - 0, - 0, - 180, - 40 - ], - "geometry": "M2 30 L27 28 L52 31 L77 24 L102 22 L127 23 L152 15 L177 8", - "fill": "#00000000", - "stroke": { - "fill": "$accent", - "thickness": 2, - "cap": "round", - "join": "round" - } - }, - { - "type": "ellipse", - "id": "FMnTt", - "x": 173, - "y": 4, - "width": 8, - "height": 8, - "fill": "$accent" - } - ] - }, - { - "type": "text", - "id": "Bh6dU", - "content": "1,240", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 20, - "fontWeight": "600" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "P7g0e", - "name": "Runs table", - "width": "fill_container", - "layout": "vertical", - "cornerRadius": 14, - "clip": true, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "PNztN", - "name": "Head", - "width": "fill_container", - "padding": [ - 14, - 24 - ], - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "PPX3K", - "width": 220, - "textGrowth": "fixed-width", - "content": "Date", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "text", - "id": "i9zOS", - "width": 160, - "textGrowth": "fixed-width", - "content": "Version", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "text", - "id": "luOkx", - "width": 140, - "textGrowth": "fixed-width", - "content": "Commit", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "text", - "id": "TheJ0", - "width": 200, - "textGrowth": "fixed-width", - "content": "EdgePort limit", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "text", - "id": "3pbNZ", - "width": 200, - "textGrowth": "fixed-width", - "content": "Soak memory growth", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "text", - "id": "X6xcf", - "width": "fill_container", - "textGrowth": "fixed-width", - "content": "Result", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "g4Xo4", - "name": "Row current", - "width": "fill_container", - "padding": [ - 16, - 24 - ], - "alignItems": "center", - "fill": "$accent-subtle", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "9TKxn", - "width": 220, - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "1Odn5", - "content": "Nov 2, 2026", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "frame", - "id": "lc4QY", - "fill": "$accent", - "cornerRadius": 6, - "padding": [ - 2, - 8 - ], - "children": [ - { - "type": "text", - "id": "zVSTw", - "content": "viewing", - "fill": "$on-accent", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "fontWeight": "600" - } - ] - } - ] - }, - { - "type": "text", - "id": "vjMZK", - "width": 160, - "textGrowth": "fixed-width", - "content": "v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "vTnm8", - "width": 140, - "textGrowth": "fixed-width", - "content": "bd3254a", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "aRtHv", - "width": 200, - "textGrowth": "fixed-width", - "content": "1,240 calls/s", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "eB3m0", - "width": 200, - "textGrowth": "fixed-width", - "content": "+0.3 MB/h", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "frame", - "id": "ti5Ex", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "CEwaZ", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "uLwm2", - "library": "lucide", - "icon": "circle-check", - "width": 15, - "height": 15, - "fill": "$success" - }, - { - "type": "text", - "id": "6198M", - "content": "2 of 2 passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "Avlo0", - "name": "Row", - "width": "fill_container", - "padding": [ - 16, - 24 - ], - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "g2Nvn", - "width": 220, - "textGrowth": "fixed-width", - "content": "Oct 19, 2026", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "4y3Rs", - "width": 160, - "textGrowth": "fixed-width", - "content": "v2.31.0", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "R24Ld", - "width": 140, - "textGrowth": "fixed-width", - "content": "8c1e07f", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "p7Deh", - "width": 200, - "textGrowth": "fixed-width", - "content": "1,190 calls/s", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "iZQPe", - "width": 200, - "textGrowth": "fixed-width", - "content": "+0.4 MB/h", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "frame", - "id": "Ves7Z", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "pDNdL", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "WXutp", - "library": "lucide", - "icon": "circle-check", - "width": 15, - "height": 15, - "fill": "$success" - }, - { - "type": "text", - "id": "is18R", - "content": "2 of 2 passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "VQFpY", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "e0uPp", - "content": "View", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "icon", - "id": "CX5hK", - "library": "lucide", - "icon": "arrow-right", - "width": 14, - "height": 14, - "fill": "$accent-text" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "WtjES", - "name": "Row failed", - "width": "fill_container", - "padding": [ - 16, - 24 - ], - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "6EcEO", - "width": 220, - "textGrowth": "fixed-width", - "content": "Oct 5, 2026", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "zW89g", - "width": 160, - "textGrowth": "fixed-width", - "content": "v2.30.2", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "hQyRg", - "width": 140, - "textGrowth": "fixed-width", - "content": "41d9a2c", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "8Hnmz", - "width": 200, - "textGrowth": "fixed-width", - "content": "1,180 calls/s", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "zzee6", - "width": 200, - "textGrowth": "fixed-width", - "content": "+6.8 MB/h", - "fill": "$danger", - "fontFamily": "Roboto Mono", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "frame", - "id": "cwv6M", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "Ydbyx", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "S7jtz", - "library": "lucide", - "icon": "circle-x", - "width": 15, - "height": 15, - "fill": "$danger" - }, - { - "type": "text", - "id": "b2jVt", - "content": "soak failed: memory", - "fill": "$danger", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "lAko8", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "F7pTZ", - "content": "View", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "icon", - "id": "lVoN4", - "library": "lucide", - "icon": "arrow-right", - "width": 14, - "height": 14, - "fill": "$accent-text" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "my4L8", - "name": "Row", - "width": "fill_container", - "padding": [ - 16, - 24 - ], - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "rv5Nn", - "width": 220, - "textGrowth": "fixed-width", - "content": "Sep 21, 2026", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "GDTX1", - "width": 160, - "textGrowth": "fixed-width", - "content": "v2.29.0", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "AUDml", - "width": 140, - "textGrowth": "fixed-width", - "content": "e07b3d1", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "kyyZt", - "width": 200, - "textGrowth": "fixed-width", - "content": "1,150 calls/s", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "u0MmK", - "width": 200, - "textGrowth": "fixed-width", - "content": "+0.5 MB/h", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "frame", - "id": "zEMYp", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "w0q6s", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "P4l7g", - "library": "lucide", - "icon": "circle-check", - "width": 15, - "height": 15, - "fill": "$success" - }, - { - "type": "text", - "id": "4l0hS", - "content": "2 of 2 passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "XD8Xn", - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "9k4gf", - "content": "View", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "icon", - "id": "cJCce", - "library": "lucide", - "icon": "arrow-right", - "width": 14, - "height": 14, - "fill": "$accent-text" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "CMJET", - "name": "More", - "width": "fill_container", - "padding": [ - 14, - 24 - ], - "justifyContent": "center", - "fill": "$surface", - "children": [ - { - "type": "text", - "id": "zVXKB", - "content": "Show all 14 runs", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "uVrLC", - "name": "Test setup", - "width": "fill_container", - "layout": "vertical", - "padding": [ - 32, - 80, - 88, - 80 - ], - "gap": 24, - "children": [ - { - "type": "text", - "id": "gzHVy", - "content": "Test setup", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 24, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "j8YBb", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "vWygy", - "name": "Servers", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "LZ4iv", - "gap": 10, - "alignItems": "center", - "padding": [ - 0, - 0, - 8, - 0 - ], - "children": [ - { - "type": "icon", - "id": "EVnt8", - "library": "lucide", - "icon": "server", - "width": 16, - "height": 16, - "fill": "$accent" - }, - { - "type": "text", - "id": "YATIx", - "content": "Servers", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 15, - "fontWeight": "600" - } - ] - }, - { - "type": "frame", - "id": "6EJ80", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "tfdm0", - "content": "Routr", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "CQePb", - "content": "c-8 · 8 dedicated vCPU · 16 GB", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "M2nKD", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "0b0QA", - "content": "Load generator", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "rCltC", - "content": "c-16 · 16 dedicated vCPU · 32 GB", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "9jI8g", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "qMhv5", - "content": "Region and network", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "zdbbA", - "content": "nyc3 · private VPC", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "RIWoA", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "children": [ - { - "type": "text", - "id": "5UrYJ", - "content": "OS", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "Dhl6x", - "content": "Ubuntu 24.04 · Docker 27.3", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - } - ] - }, - { - "type": "frame", - "id": "4x6jy", - "name": "Software", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "q5uul", - "gap": 10, - "alignItems": "center", - "padding": [ - 0, - 0, - 8, - 0 - ], - "children": [ - { - "type": "icon", - "id": "PVTTO", - "library": "lucide", - "icon": "package", - "width": 16, - "height": 16, - "fill": "$accent" - }, - { - "type": "text", - "id": "cII6q", - "content": "Software", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 15, - "fontWeight": "600" - } - ] - }, - { - "type": "frame", - "id": "bf0Dq", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "Jti8c", - "content": "routr-edgeport", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "5D849", - "content": "2.31.5 · sha256:4f1c…e2a0", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "3wxba", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "JYqrJ", - "content": "routr-one", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "wS1dH", - "content": "2.31.5 · sha256:9b07…1d3c", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "H0dhB", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "text", - "id": "RAXN2", - "content": "Load generator", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "Qvjsv", - "content": "SIPp 3.7.3", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "BMRWy", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "children": [ - { - "type": "text", - "id": "l8WLS", - "content": "Harness", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "RpqVU", - "content": "perfkit 0.1.0 · report schema v1", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - } - ] - }, - { - "type": "frame", - "id": "dHRjA", - "name": "Reproduce", - "width": "fill_container", - "layout": "vertical", - "gap": 14, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "z68rw", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "6XR02", - "library": "lucide", - "icon": "terminal", - "width": 16, - "height": 16, - "fill": "$accent" - }, - { - "type": "text", - "id": "dfrNu", - "content": "Run it yourself", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 15, - "fontWeight": "600" - } - ] - }, - { - "type": "text", - "id": "J3YP5", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "Same servers, same images, same scenario. Needs a DigitalOcean token; the servers are deleted when the run ends.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "frame", - "id": "ubeWe", - "width": "fill_container", - "fill": "$surface-sunken", - "cornerRadius": 10, - "padding": [ - 14, - 16 - ], - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "QuJQ5", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "$ npx -y github:fonoster/perfkit#v0.1.0 \\\n run --config perf/perfkit.yaml \\\n --target-version 2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "UiTPK", - "name": "Footer", - "width": "fill_container", - "padding": [ - 28, - 80 - ], - "justifyContent": "space_between", - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "top": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "T2iq1", - "gap": 20, - "alignItems": "center", - "children": [ - { - "type": "ref", - "id": "rvOk4", - "ref": "F03T3", - "width": 106, - "height": 28 - }, - { - "type": "text", - "id": "zzm0U", - "content": "Generated by perfkit 0.1.0 from report.json · schema perfkit/report v1", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "5YuQh", - "gap": 28, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "jpARP", - "content": "Methodology", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "y4x08", - "content": "GitHub", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "Vpi7P", - "content": "routr.io", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "OcmMN", - "name": "State / Run picker open", - "x": 1560, - "y": 0, - "width": 1440, - "layout": "vertical", - "fill": "$bg", - "theme": { - "mode": "dark" - }, - "children": [ - { - "type": "frame", - "id": "TrdeU", - "name": "Nav", - "width": "fill_container", - "padding": [ - 20, - 80 - ], - "justifyContent": "space_between", - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "VNZxf", - "gap": 14, - "alignItems": "center", - "children": [ - { - "type": "ref", - "id": "8nCnt", - "ref": "F03T3" - }, - { - "type": "text", - "id": "LP390", - "content": "/", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 20 - }, - { - "type": "text", - "id": "4nrzU", - "content": "Benchmarks", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 17, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "QYiJm", - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "frame", - "id": "LUemU", - "name": "Run Picker (expanded)", - "cornerRadius": 10, - "stroke": { - "fill": "$accent", - "thickness": 1 - }, - "padding": [ - 10, - 14 - ], - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "WxtCo", - "library": "lucide", - "icon": "history", - "width": 16, - "height": 16, - "fill": "$text-secondary" - }, - { - "type": "text", - "id": "kGWbA", - "content": "Nov 2, 2026 · v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500" - }, - { - "type": "frame", - "id": "xj94Q", - "fill": "$accent-subtle", - "cornerRadius": 6, - "padding": [ - 2, - 8 - ], - "children": [ - { - "type": "text", - "id": "6WNHM", - "content": "latest", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "fontWeight": "500" - } - ] - }, - { - "type": "icon", - "id": "1Pn1q", - "library": "lucide", - "icon": "chevron-up", - "width": 16, - "height": 16, - "fill": "$text-secondary" - } - ] - }, - { - "type": "frame", - "id": "vhRvT", - "cornerRadius": 10, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 10, - 14 - ], - "gap": 8, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "LK4Me", - "library": "lucide", - "icon": "file-json", - "width": 16, - "height": 16, - "fill": "$text-secondary" - }, - { - "type": "text", - "id": "WYiq4", - "content": "report.json", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "x2HuC", - "name": "Dropdown area", - "width": "fill_container", - "height": 420, - "layout": "none", - "children": [ - { - "type": "frame", - "id": "jhEO2", - "name": "Runs menu", - "x": 900, - "y": 8, - "width": 340, - "layout": "vertical", - "fill": "$surface", - "cornerRadius": 12, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": 8, - "gap": 2, - "effect": { - "type": "shadow", - "offset": { - "x": 0, - "y": 12 - }, - "blur": 32, - "color": "#00000066" - }, - "children": [ - { - "type": "text", - "id": "gnZYK", - "content": "Runs, newest first", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "frame", - "id": "TeihN", - "name": "Item current", - "width": "fill_container", - "layout": "vertical", - "gap": 2, - "padding": [ - 10, - 12 - ], - "cornerRadius": 8, - "fill": "$accent-subtle", - "children": [ - { - "type": "frame", - "id": "FKkXi", - "width": "fill_container", - "justifyContent": "space_between", - "children": [ - { - "type": "text", - "id": "pFZSa", - "content": "Nov 2, 2026 14:20", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "text", - "id": "gAkxD", - "content": "v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "4c8K2", - "content": "latest · viewing · 2 of 2 passed", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "ycu7a", - "name": "Item", - "width": "fill_container", - "layout": "vertical", - "gap": 2, - "padding": [ - 10, - 12 - ], - "cornerRadius": 8, - "children": [ - { - "type": "frame", - "id": "ZOd9r", - "width": "fill_container", - "justifyContent": "space_between", - "children": [ - { - "type": "text", - "id": "Lwpj0", - "content": "Oct 19, 2026 09:12", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "mvYOY", - "content": "v2.31.0", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "fYbU5", - "content": "2 of 2 passed", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "wXCVm", - "name": "Item", - "width": "fill_container", - "layout": "vertical", - "gap": 2, - "padding": [ - 10, - 12 - ], - "cornerRadius": 8, - "children": [ - { - "type": "frame", - "id": "ThpV0", - "width": "fill_container", - "justifyContent": "space_between", - "children": [ - { - "type": "text", - "id": "KBDAW", - "content": "Oct 5, 2026 16:40", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "YZWfV", - "content": "v2.30.2", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "text", - "id": "WhOmf", - "content": "1 of 2 passed", - "fill": "$danger", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "6FGvy", - "width": "fill_container", - "padding": [ - 10, - 12 - ], - "stroke": { - "fill": "$border", - "thickness": { - "top": 1 - } - }, - "children": [ - { - "type": "text", - "id": "frYji", - "content": "See all 14 runs", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "text", - "id": "kJAwY", - "x": 80, - "y": 40, - "width": 640, - "textGrowth": "fixed-width", - "lineHeight": 1.6, - "content": "Button with aria-expanded; the list holds up to 8 links, newest first. Esc closes it and returns focus to the button. On a run page the first item is \"Latest run\", linking to /benchmarks/.", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - } - ] - }, - { - "type": "frame", - "id": "S2EXm", - "name": "State / Section verdicts", - "x": 1560, - "y": 560, - "width": 1440, - "layout": "vertical", - "fill": "$bg", - "theme": { - "mode": "dark" - }, - "padding": [ - 64, - 80 - ], - "gap": 56, - "children": [ - { - "type": "frame", - "id": "ygRlr", - "name": "Failed soak", - "width": "fill_container", - "layout": "vertical", - "gap": 20, - "children": [ - { - "type": "text", - "id": "zDabm", - "content": "02 · SOAK", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 13, - "fontWeight": "500", - "letterSpacing": 1.5 - }, - { - "type": "frame", - "id": "XKBxb", - "gap": 16, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "Cmob5", - "content": "RoutrOne, six hours", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 40, - "fontWeight": "600", - "letterSpacing": -1 - }, - { - "type": "frame", - "id": "YpWJP", - "fill": "#F970661F", - "stroke": { - "fill": "#F9706655", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 5, - 12 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "XF3a0", - "library": "lucide", - "icon": "circle-x", - "width": 14, - "height": 14, - "fill": "$danger" - }, - { - "type": "text", - "id": "t31mO", - "content": "Failed", - "fill": "$danger", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "frame", - "id": "CtxlU", - "name": "Failed sentence", - "width": "fill_container", - "fill": "#F9706614", - "stroke": { - "fill": "#F9706640", - "thickness": 1 - }, - "cornerRadius": 10, - "padding": [ - 14, - 16 - ], - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "PV2xA", - "library": "lucide", - "icon": "triangle-alert", - "width": 16, - "height": 16, - "fill": "$danger" - }, - { - "type": "text", - "id": "UDu2n", - "content": "Failed: edgeport memory grew 7.8 MB/h (limit: under 5 MB/h).", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 15, - "fontWeight": "500" - } - ] - }, - { - "type": "frame", - "id": "qKz7y", - "name": "Checks", - "width": 620, - "layout": "vertical", - "padding": 24, - "cornerRadius": 14, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "OGzQH", - "content": "Stability checks", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 16, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "cDhNI", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "BsHSM", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "TnaMM", - "library": "lucide", - "icon": "circle-x", - "width": 16, - "height": 16, - "fill": "$danger" - }, - { - "type": "text", - "id": "FW1Au", - "content": "Failed", - "fill": "$danger", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "600" - }, - { - "type": "text", - "id": "WyvcK", - "content": "Memory growth", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "DAKwI", - "content": "edgeport 7.8 MB/h · limit under 5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "g1YfY", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "5ePLi", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "cOHe6", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "56eIT", - "content": "Passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "600" - }, - { - "type": "text", - "id": "PKIM1", - "content": "Failed calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "y6c2b", - "content": "0.01% · limit under 0.1%", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "L2v8f", - "width": "fill_container", - "justifyContent": "space_between", - "alignItems": "center", - "padding": [ - 14, - 0 - ], - "children": [ - { - "type": "frame", - "id": "W0FlR", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "jW3bS", - "library": "lucide", - "icon": "circle-check", - "width": 16, - "height": 16, - "fill": "$success" - }, - { - "type": "text", - "id": "caJ2f", - "content": "Passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 13, - "fontWeight": "600" - }, - { - "type": "text", - "id": "fWfqO", - "content": "Restarts", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "text", - "id": "2YIgN", - "content": "0 · limit 0", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "Gjum1", - "name": "Other verdicts", - "width": "fill_container", - "gap": 20, - "children": [ - { - "type": "frame", - "id": "FI9NX", - "name": "Inconclusive", - "width": "fill_container", - "layout": "vertical", - "gap": 12, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "kLmHC", - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "855QI", - "content": "EdgePort + Echo", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 22, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "r5nFf", - "fill": "#F5A5241F", - "stroke": { - "fill": "#F5A52455", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 4, - 10 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "tTXay", - "library": "lucide", - "icon": "circle-help", - "width": 13, - "height": 13, - "fill": "$warning" - }, - { - "type": "text", - "id": "zVTSL", - "content": "Inconclusive", - "fill": "$warning", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "text", - "id": "SdgMb", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "Inconclusive: load generator saturated at 1,300 calls/s (SIPp at 93% of one core). No limit is reported.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "YzPpP", - "name": "Aborted", - "width": "fill_container", - "layout": "vertical", - "gap": 12, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "4iz2D", - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "Dg0wg", - "content": "RoutrOne, six hours", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 22, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "MpYpD", - "fill": "#C2C2C21F", - "stroke": { - "fill": "#C2C2C255", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 4, - 10 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "iVExR", - "library": "lucide", - "icon": "circle-slash", - "width": 13, - "height": 13, - "fill": "$text-secondary" - }, - { - "type": "text", - "id": "OIZZO", - "content": "Aborted", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "text", - "id": "MS7ql", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "Aborted after 3 h 12 min: the server under test stopped responding. No verdict. The chart shows the first 3 h 12 min.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "frame", - "id": "SVXpO", - "fill": "$surface", - "cornerRadius": 6, - "padding": [ - 3, - 8 - ], - "children": [ - { - "type": "text", - "id": "SOz27", - "content": "Partial", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - } - ] - } - ] - }, - { - "type": "frame", - "id": "qczxP", - "name": "Not run", - "width": "fill_container", - "layout": "vertical", - "gap": 12, - "padding": 24, - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "frame", - "id": "daPDY", - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "xRM3r", - "content": "RoutrOne, six hours", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 22, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "IgMyN", - "cornerRadius": 999, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 4, - 10 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "Zbdid", - "library": "lucide", - "icon": "circle-dashed", - "width": 13, - "height": 13, - "fill": "$text-muted" - }, - { - "type": "text", - "id": "wbWGs", - "content": "Not run", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "text", - "id": "88k3y", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "This benchmark was not part of this run. Last result: Passed on Oct 19, 2026 (v2.31.0).", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - }, - { - "type": "text", - "id": "xtZok", - "content": "View that run →", - "fill": "$accent-text", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "giUeQ", - "name": "State / First run", - "x": 1560, - "y": 1500, - "width": 1440, - "layout": "vertical", - "fill": "$bg", - "theme": { - "mode": "dark" - }, - "children": [ - { - "type": "frame", - "id": "R8lkD", - "name": "Headline Numbers", - "width": "fill_container", - "padding": [ - 0, - 80 - ], - "stroke": { - "fill": "$border", - "thickness": { - "top": 1, - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "aidQK", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40, - 44, - 0 - ], - "children": [ - { - "type": "text", - "id": "ZusMC", - "content": "1,240", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "a4huO", - "content": "calls/s, EdgePort max sustained", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "w62OD", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "1Yjwu", - "content": "38 ms", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "nxNS7", - "content": "p99 latency at the limit", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "LTH4h", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "2sF20", - "content": "--", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "6pL1V", - "content": "RoutrOne soak · Not run", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "Wtjtv", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": [ - 44, - 40 - ], - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "UmL9a", - "content": "--", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 56, - "fontWeight": "600", - "letterSpacing": -2, - "lineHeight": 1 - }, - { - "type": "text", - "id": "Qc6W4", - "content": "memory growth · Not run", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - } - ] - }, - { - "type": "frame", - "id": "m9Clj", - "width": "fill_container", - "padding": [ - 16, - 80 - ], - "children": [ - { - "type": "text", - "id": "Al02f", - "content": "First run: nothing to compare with yet.", - "fill": "$text-muted", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "B8imf", - "name": "History empty", - "width": "fill_container", - "layout": "vertical", - "gap": 16, - "padding": [ - 48, - 80, - 64, - 80 - ], - "children": [ - { - "type": "text", - "id": "CZ5zG", - "content": "Previous runs", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 40, - "fontWeight": "600", - "letterSpacing": -1 - }, - { - "type": "frame", - "id": "ss1Ad", - "width": "fill_container", - "fill": "$surface", - "cornerRadius": 14, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 20, - 24 - ], - "gap": 12, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "ZaTyA", - "library": "lucide", - "icon": "sprout", - "width": 18, - "height": 18, - "fill": "$accent" - }, - { - "type": "text", - "id": "l16KG", - "content": "History starts with this run. Each new run adds a row here and a point to the capacity limit trend.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - }, - { - "type": "frame", - "id": "kHrJD", - "width": "fill_container", - "padding": [ - 16, - 24 - ], - "alignItems": "center", - "fill": "$accent-subtle", - "cornerRadius": 10, - "children": [ - { - "type": "text", - "id": "rQNBb", - "width": 220, - "textGrowth": "fixed-width", - "content": "Nov 2, 2026", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "500" - }, - { - "type": "text", - "id": "iXpRv", - "width": 160, - "textGrowth": "fixed-width", - "content": "v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "1gb5I", - "width": 140, - "textGrowth": "fixed-width", - "content": "bd3254a", - "fill": "$text-secondary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "MVyyZ", - "width": 200, - "textGrowth": "fixed-width", - "content": "1,240 calls/s", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "Z7qeE", - "width": 200, - "textGrowth": "fixed-width", - "content": "not run", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 14 - }, - { - "type": "text", - "id": "c8axD", - "width": "fill_container", - "textGrowth": "fixed-width", - "content": "1 of 2 passed · 1 not run · viewing", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 14 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "RjxOn", - "name": "Mobile / 390", - "x": 3120, - "y": 0, - "width": 390, - "layout": "vertical", - "fill": "$bg", - "theme": { - "mode": "dark" - }, - "children": [ - { - "type": "frame", - "id": "abaHm", - "name": "Nav", - "width": "fill_container", - "padding": [ - 16, - 16 - ], - "justifyContent": "space_between", - "alignItems": "center", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "ref", - "id": "7wvwK", - "ref": "F03T3" - }, - { - "type": "frame", - "id": "lli3L", - "cornerRadius": 10, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": [ - 8, - 10 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "GmeEB", - "content": "Nov 2 · v2.31.5", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 12, - "fontWeight": "500" - }, - { - "type": "icon", - "id": "EWDZP", - "library": "lucide", - "icon": "chevron-down", - "width": 14, - "height": 14, - "fill": "$text-secondary" - } - ] - } - ] - }, - { - "type": "frame", - "id": "YSV8g", - "name": "Header", - "width": "fill_container", - "layout": "vertical", - "gap": 14, - "padding": [ - 32, - 16, - 28, - 16 - ], - "children": [ - { - "type": "text", - "id": "YFemy", - "content": "BENCHMARKS · ROUTR", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "fontWeight": "500", - "letterSpacing": 1.2 - }, - { - "type": "text", - "id": "yPryy", - "textGrowth": "fixed-width", - "width": "fill_container", - "content": "How much SIP traffic Routr handles.", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 30, - "fontWeight": "600", - "letterSpacing": -0.8, - "lineHeight": 1.15 - }, - { - "type": "text", - "id": "Pw72z", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.6, - "content": "We run these tests after significant changes to the code, on dedicated DigitalOcean servers.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 15 - }, - { - "type": "frame", - "id": "3BBlZ", - "fill": "#39E19E1F", - "stroke": { - "fill": "#39E19E55", - "thickness": 1 - }, - "cornerRadius": 999, - "padding": [ - 6, - 12 - ], - "gap": 6, - "alignItems": "center", - "children": [ - { - "type": "icon", - "id": "bsAnG", - "library": "lucide", - "icon": "circle-check", - "width": 14, - "height": 14, - "fill": "$success" - }, - { - "type": "text", - "id": "RKe9C", - "content": "2 of 2 benchmarks passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 12, - "fontWeight": "500" - } - ] - }, - { - "type": "text", - "id": "ZtbOI", - "textGrowth": "fixed-width", - "width": "fill_container", - "content": "Ran Nov 2, 2026 · 14:20 UTC · v2.31.5 · bd3254a · nyc3 · c-8", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "lineHeight": 1.6 - } - ] - }, - { - "type": "frame", - "id": "zOgsj", - "name": "Stats 2x2", - "width": "fill_container", - "layout": "vertical", - "stroke": { - "fill": "$border", - "thickness": { - "top": 1, - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "LgJe9", - "width": "fill_container", - "stroke": { - "fill": "$border", - "thickness": { - "bottom": 1 - } - }, - "children": [ - { - "type": "frame", - "id": "fH2OT", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 16, - "children": [ - { - "type": "text", - "id": "0YTXC", - "content": "1,240", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 28, - "fontWeight": "600" - }, - { - "type": "text", - "id": "466BL", - "content": "calls/s, EdgePort limit", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "sPuop", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 16, - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "Z0rHW", - "content": "38 ms", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 28, - "fontWeight": "600" - }, - { - "type": "text", - "id": "fEyZW", - "content": "p99 at the limit", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - } - ] - }, - { - "type": "frame", - "id": "hLI6g", - "width": "fill_container", - "children": [ - { - "type": "frame", - "id": "eFkXV", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 16, - "children": [ - { - "type": "text", - "id": "nJuzf", - "content": "6 h", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 28, - "fontWeight": "600" - }, - { - "type": "text", - "id": "sSsW3", - "content": "soak, 2.2M calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - }, - { - "type": "frame", - "id": "ElXEK", - "width": "fill_container", - "layout": "vertical", - "gap": 4, - "padding": 16, - "stroke": { - "fill": "$border", - "thickness": { - "left": 1 - } - }, - "children": [ - { - "type": "text", - "id": "ev3k7", - "content": "+0.3 MB/h", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 28, - "fontWeight": "600" - }, - { - "type": "text", - "id": "aeS3i", - "content": "memory growth", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 12 - } - ] - } - ] - } - ] - }, - { - "type": "frame", - "id": "iArJX", - "name": "Capacity section", - "width": "fill_container", - "layout": "vertical", - "gap": 16, - "padding": [ - 40, - 16 - ], - "children": [ - { - "type": "text", - "id": "LWa5K", - "content": "01 · CAPACITY", - "fill": "$accent-text", - "fontFamily": "Roboto Mono", - "fontSize": 11, - "fontWeight": "500", - "letterSpacing": 1.2 - }, - { - "type": "frame", - "id": "HOTcs", - "gap": 10, - "alignItems": "center", - "children": [ - { - "type": "text", - "id": "P0YCo", - "content": "EdgePort + Echo", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 24, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "Av0pP", - "fill": "#39E19E1F", - "cornerRadius": 999, - "padding": [ - 3, - 9 - ], - "children": [ - { - "type": "text", - "id": "iPLo0", - "content": "Passed", - "fill": "$success", - "fontFamily": "Poppins", - "fontSize": 11, - "fontWeight": "500" - } - ] - } - ] - }, - { - "type": "frame", - "id": "HUKYO", - "width": "fill_container", - "layout": "vertical", - "gap": 8, - "padding": 16, - "cornerRadius": 12, - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "oAfGK", - "content": "What it measures", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "600" - }, - { - "type": "text", - "id": "XGISz", - "textGrowth": "fixed-width", - "width": "fill_container", - "lineHeight": 1.55, - "content": "The EdgePort on its own, with Echo answering every request with 200 OK.", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "6S8px", - "name": "Chart (scrolls sideways)", - "width": "fill_container", - "height": 220, - "cornerRadius": 12, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "padding": 16, - "layout": "vertical", - "justifyContent": "end", - "children": [ - { - "type": "text", - "id": "CmvE0", - "content": "← chart scrolls sideways →", - "fill": "$text-muted", - "fontFamily": "Roboto Mono", - "fontSize": 11 - } - ] - }, - { - "type": "frame", - "id": "Aw2Py", - "width": "fill_container", - "layout": "vertical", - "padding": 16, - "cornerRadius": 12, - "fill": "$surface", - "stroke": { - "fill": "$border", - "thickness": 1 - }, - "children": [ - { - "type": "text", - "id": "GfblE", - "content": "At the limit", - "fill": "$text-primary", - "fontFamily": "Poppins", - "fontSize": 14, - "fontWeight": "600" - }, - { - "type": "frame", - "id": "HUw6s", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "children": [ - { - "type": "text", - "id": "2fq7w", - "content": "p99 latency", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "Zlzws", - "content": "38 ms", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - }, - { - "type": "frame", - "id": "AcWTa", - "width": "fill_container", - "justifyContent": "space_between", - "padding": [ - 10, - 0 - ], - "children": [ - { - "type": "text", - "id": "n8HCO", - "content": "Failed calls", - "fill": "$text-secondary", - "fontFamily": "Poppins", - "fontSize": 13 - }, - { - "type": "text", - "id": "5LwvJ", - "content": "0.04%", - "fill": "$text-primary", - "fontFamily": "Roboto Mono", - "fontSize": 13 - } - ] - } - ] - } - ] - } - ] - } - ], - "variables": { - "base-01": { - "type": "color", - "value": "#FFFFFF" - }, - "base-02": { - "type": "color", - "value": "#F4F4F4" - }, - "base-03": { - "type": "color", - "value": "#E8E8E8" - }, - "base-04": { - "type": "color", - "value": "#C2C2C2" - }, - "base-05": { - "type": "color", - "value": "#8D8D8D" - }, - "base-06": { - "type": "color", - "value": "#555555" - }, - "base-07": { - "type": "color", - "value": "#333333" - }, - "base-08": { - "type": "color", - "value": "#252525" - }, - "bg": { - "type": "color", - "value": [ - { - "value": "#FFFFFF", - "theme": { - "mode": "light" - } - }, - { - "value": "#181818", - "theme": { - "mode": "dark" - } - } - ] - }, - "surface": { - "type": "color", - "value": [ - { - "value": "#F4F4F4", - "theme": { - "mode": "light" - } - }, - { - "value": "#202020", - "theme": { - "mode": "dark" - } - } - ] - }, - "surface-sunken": { - "type": "color", - "value": [ - { - "value": "#EFEFEF", - "theme": { - "mode": "light" - } - }, - { - "value": "#121212", - "theme": { - "mode": "dark" - } - } - ] - }, - "border": { - "type": "color", - "value": [ - { - "value": "#E8E8E8", - "theme": { - "mode": "light" - } - }, - { - "value": "#333333", - "theme": { - "mode": "dark" - } - } - ] - }, - "text-primary": { - "type": "color", - "value": [ - { - "value": "#252525", - "theme": { - "mode": "light" - } - }, - { - "value": "#FFFFFF", - "theme": { - "mode": "dark" - } - } - ] - }, - "text-secondary": { - "type": "color", - "value": [ - { - "value": "#555555", - "theme": { - "mode": "light" - } - }, - { - "value": "#E8E8E8", - "theme": { - "mode": "dark" - } - } - ] - }, - "text-muted": { - "type": "color", - "value": [ - { - "value": "#8D8D8D", - "theme": { - "mode": "light" - } - }, - { - "value": "#C2C2C2", - "theme": { - "mode": "dark" - } - } - ] - }, - "accent": { - "type": "color", - "value": "#5FCFCE" - }, - "on-accent": { - "type": "color", - "value": "#001A1A" - }, - "accent-text": { - "type": "color", - "value": [ - { - "value": "#1F8F8E", - "theme": { - "mode": "light" - } - }, - { - "value": "#5FCFCE", - "theme": { - "mode": "dark" - } - } - ] - }, - "accent-subtle": { - "type": "color", - "value": [ - { - "value": "#DDF7F7", - "theme": { - "mode": "light" - } - }, - { - "value": "#0B3D3D", - "theme": { - "mode": "dark" - } - } - ] - }, - "success": { - "type": "color", - "value": [ - { - "value": "#008751", - "theme": { - "mode": "light" - } - }, - { - "value": "#39E19E", - "theme": { - "mode": "dark" - } - } - ] - }, - "warning": { - "type": "color", - "value": [ - { - "value": "#B45309", - "theme": { - "mode": "light" - } - }, - { - "value": "#F5A524", - "theme": { - "mode": "dark" - } - } - ] - }, - "danger": { - "type": "color", - "value": [ - { - "value": "#D92D20", - "theme": { - "mode": "light" - } - }, - { - "value": "#F97066", - "theme": { - "mode": "dark" - } - } - ] - }, - "info": { - "type": "color", - "value": [ - { - "value": "#2563EB", - "theme": { - "mode": "light" - } - }, - { - "value": "#60A5FA", - "theme": { - "mode": "dark" - } - } - ] - }, - "series-2": { - "type": "color", - "value": [ - { - "value": "#7C3AED", - "theme": { - "mode": "light" - } - }, - { - "value": "#A78BFA", - "theme": { - "mode": "dark" - } - } - ] - }, - "series-3": { - "type": "color", - "value": [ - { - "value": "#C2410C", - "theme": { - "mode": "light" - } - }, - { - "value": "#FB923C", - "theme": { - "mode": "dark" - } - } - ] - }, - "series-4": { - "type": "color", - "value": [ - { - "value": "#BE185D", - "theme": { - "mode": "light" - } - }, - { - "value": "#F472B6", - "theme": { - "mode": "dark" - } - } - ] - }, - "font-display": { - "type": "string", - "value": "Poppins" - }, - "font-mono": { - "type": "string", - "value": "Roboto Mono" - } - }, - "themes": { - "mode": [ - "light", - "dark" - ] - } -} diff --git a/src/render/pageStyles.ts b/src/render/pageStyles.ts index 27280a4..28db77e 100644 --- a/src/render/pageStyles.ts +++ b/src/render/pageStyles.ts @@ -3,7 +3,7 @@ */ /** * The page's CSS. The tokens are the dark-mode variables of - * `designs/report.pen`; the accent comes from report.json + * `designs/benchmarks.pen` in fonoster/routr; the accent comes from report.json * (`project.accent`, a validated `#RRGGBB`). */ export function pageStyles(accent: string): string {