A public dashboard with no account, no filters worth the name, and an audience of journalists. Designed for people who will read one number and leave.
Security · Infrastructure and FinOpsInfrastructure and FinOps
What the infrastructure is doing and what it costs. Two questions, usually asked by two different people.
Products 4
Everything on one surface, which makes it the best place to see what a page looks like when the product refuses to choose between metrics, logs, traces and cost.
Observability · Infrastructure and FinOps · SecurityThe reference implementation for panel grids, template variables, and stat panels; most other tools are defined by how they differ from it.
Observability · Infrastructure and FinOps · IoT and energyPer-second charts, hundreds per node, with a per-chart anomaly ribbon instead of a band on the series.
Infrastructure and FinOps · ObservabilityPatterns seen in this domain 53
- Alert rule attached to panel
- Annotation
- Anomaly band
- Categorical series palette
- Collapsible row
- Compare periods
- Cross-filter
- Dark-first data palette
- Dashboard builder
- Data source badge
- Data table
- Delta indicator
- Drill-down
- Empty state
- Error and stale state
- Explain this metric
- Filter bar
- Freshness indicator
- Gauge and dial
- Geo map with markers
- Grayscale with alerts
- Header KPI strip
- Heatmap
- Histogram and distribution
- Host map
- KPI tile
- Legend and series toggle
- Loading and skeleton state
- Log tail
- Metric targets
- Multi-page dashboard
- Overview then detail
- Panel grid
- Ranked list
- Ratio and rate
- Search across panels
- Semantic grouping
- Semantic status color
- Sequential and diverging scales
- Service map
- Share and embed
- Sidebar and canvas
- Small multiples
- Sparkline
- Stacked composition
- Status history
- Target and progress
- Template variable
- Threshold line and region
- Time series
- Time-range picker
- Wallboard mode
- Zoom and pan on time
Captures
Newest first within each product.
Dark-first data palette. Same two hues as the light capture. On charcoal the darker series is the one fighting the ground. Delta indicator. The one colour that reads the same on both grounds, because it is carrying meaning rather than identity. Categorical series palette. Four categories, four fixed hues, held across both grounds. Which one dominates the eye is not held.
- Dark-first data palette Same two hues as the light capture. On charcoal the darker series is the one fighting the ground.
- Categorical series palette Four categories, four fixed hues, held across both grounds. Which one dominates the eye is not held.
- Delta indicator The one colour that reads the same on both grounds, because it is carrying meaning rather than identity.
Multi-page dashboard. Eleven sections behind one rail, with the open one expanded in place. Radar is a site of dashboards, not a dashboard. Compare periods. The dotted series is the previous seven days, drawn on the same axis rather than beside it. Delta indicator. Eight shares with their change under them, all of them fractions of a point, which tells you how still this data is. Overview then detail. Two summaries and an arrow each. The panel exists to tell you whether the full page is worth opening. Ratio and rate. Shares only, never counts, and both sides of the split are named so the denominator is never in doubt. Stacked composition. Four mitigation techniques to 100%. The bar is almost redundant next to the printed figures, which is the point. Ranked list. A top ten with no magnitudes at all. The rank is the whole finding.
- Multi-page dashboard Eleven sections behind one rail, with the open one expanded in place. Radar is a site of dashboards, not a dashboard.
- Compare periods The dotted series is the previous seven days, drawn on the same axis rather than beside it.
- Overview then detail Two summaries and an arrow each. The panel exists to tell you whether the full page is worth opening.
- Ratio and rate Shares only, never counts, and both sides of the split are named so the denominator is never in doubt.
- Stacked composition Four mitigation techniques to 100%. The bar is almost redundant next to the printed figures, which is the point.
- Ranked list A top ten with no magnitudes at all. The rank is the whole finding.
- Delta indicator Eight shares with their change under them, all of them fractions of a point, which tells you how still this data is.
- Loading and skeleton state A spinner and the word Loading. Correct that work is happening, silent about what is arriving or how much.
- Loading and skeleton state The space twenty-eight rows are about to fill, holding nothing. When they land, everything below them moves.
Alert rule attached to panel. Seven rules in six naming conventions. Nothing in the list conveys severity or subject. Alert rule attached to panel. Firing for 17 days. Still actionable, in principle; nobody has acted for two and a half weeks. Semantic status color. Pending rather than firing: the threshold is met and the duration isn't. Two states, both named. Drill-down. The route from an alert back to the rule that defined it, on every row. Filter bar. "1 instance, 24 hidden by filters"—the list saying what it is not showing you.
- Alert rule attached to panel Seven rules in six naming conventions. Nothing in the list conveys severity or subject.
- Alert rule attached to panel Firing for 17 days. Still actionable, in principle; nobody has acted for two and a half weeks.
- Semantic status color Pending rather than firing: the threshold is met and the duration isn't. Two states, both named.
- Filter bar "1 instance, 24 hidden by filters"—the list saying what it is not showing you.
- Drill-down The route from an alert back to the rule that defined it, on every row.
Annotation. Fifty deploy markers on a 24-hour chart. Each one is correct and together they are a picket fence. Annotation. The same events as a list, tagged release and timestamped. Readable in a way the chart is not. Time-range picker. Twenty-four hours, which is what sets the marker density. An hour here would be three lines. Filter bar. The tag filter that makes this survivable, already on. The chart above is the filtered version.
- Annotation Fifty deploy markers on a 24-hour chart. Each one is correct and together they are a picket fence.
- Annotation The same events as a list, tagged release and timestamped. Readable in a way the chart is not.
- Filter bar The tag filter that makes this survivable, already on. The chart above is the filtered version.
- Time-range picker Twenty-four hours, which is what sets the marker density. An hour here would be three lines.
Data table. The raw feed under the board, including the rgb string each line colour came from. Wallboard mode. The next train, three times the height of the rest. Readable at ten feet with no pointer. Panel grid. Rows two to four at a third the size. Panel size is carrying the priority. Freshness indicator. A countdown rather than a clock time, which is the right call and hides how old the feed is. Semantic status color. Green for on time, next to green for the Green Line. One hue, two unrelated jobs, one row.
- Wallboard mode The next train, three times the height of the rest. Readable at ten feet with no pointer.
- Panel grid Rows two to four at a third the size. Panel size is carrying the priority.
- Semantic status color Green for on time, next to green for the Green Line. One hue, two unrelated jobs, one row.
- Freshness indicator A countdown rather than a clock time, which is the right call and hides how old the feed is.
- Data table The raw feed under the board, including the rgb string each line colour came from.
Categorical series palette. Twelve-plus hostnames differing only in the middle digits, with twelve-plus colours to match. Data table. Four columns visible, the fourth cut mid-word, with no horizontal scroll offered. Template variable. Six selectors bound to every panel's query, with the chosen values carried in the URL. Explain this metric. Names a hidden variable set to pizza. Prose is doing the work a control should. Filter bar. Values as removable chips rather than a dropdown saying Instance (3).
- Template variable Six selectors bound to every panel's query, with the chosen values carried in the URL.
- Filter bar Values as removable chips rather than a dropdown saying Instance (3).
- Explain this metric Names a hidden variable set to pizza. Prose is doing the work a control should.
- Categorical series palette Twelve-plus hostnames differing only in the middle digits, with twelve-plus colours to match.
- Data table Four columns visible, the fourth cut mid-word, with no horizontal scroll offered.
Semantic status color. 40.8, 20 and 48.6 all arc red. The threshold fires for everything, so it says nothing. Gauge and dial. Seven arcs to report that seven disks agree. This is the area argument in one panel. Sequential and diverging scales. The arc runs pink through green with no perceptual order, so position on it means nothing without the number. Sparkline. A sparkline inside the arc: the same series encoded twice in one square. Threshold line and region. The coloured band around the rim is the threshold, drawn as a region rather than a line.
- Gauge and dial Seven arcs to report that seven disks agree. This is the area argument in one panel.
- Sparkline A sparkline inside the arc: the same series encoded twice in one square.
- Sequential and diverging scales The arc runs pink through green with no perceptual order, so position on it means nothing without the number.
- Semantic status color 40.8, 20 and 48.6 all arc red. The threshold fires for everything, so it says nothing.
- Threshold line and region The coloured band around the rim is the threshold, drawn as a region rather than a line.
Sequential and diverging scales. Density, with a ramp whose radius parameter changes the apparent story and isn't shown. Geo map with markers. Satellite imagery under the same markers, competing with the data instead of receding. Legend and series toggle. A legend reading 'Layer 1'. It holds a corner of the panel and identifies nothing. Geo map with markers. Markers as small dots. Green on dark grey at four pixels is near the contrast floor.
- Geo map with markers Markers as small dots. Green on dark grey at four pixels is near the contrast floor.
- Geo map with markers Satellite imagery under the same markers, competing with the data instead of receding.
- Sequential and diverging scales Density, with a ramp whose radius parameter changes the apparent story and isn't shown.
- Legend and series toggle A legend reading 'Layer 1'. It holds a corner of the panel and identifies nothing.
Sequential and diverging scales. A gradient fill down each bar, encoding nothing. The height already carried the count. Time series. The source series, before any bucketing. Two modes are not visible here either. Histogram and distribution. Automatic buckets on that series: clearly bimodal, humps at roughly 27 and 30.4. Histogram and distribution. The same data at bucket size 3. Four bars, one hump, and no sign that anything was lost. Histogram and distribution. A different series at the default count, showing a long left shoulder and a small second mode at 50.5.
- Time series The source series, before any bucketing. Two modes are not visible here either.
- Histogram and distribution Automatic buckets on that series: clearly bimodal, humps at roughly 27 and 30.4.
- Histogram and distribution The same data at bucket size 3. Four bars, one hump, and no sign that anything was lost.
- Histogram and distribution A different series at the default count, showing a long left shoulder and a small second mode at 50.5.
- Sequential and diverging scales A gradient fill down each bar, encoding nothing. The height already carried the count.
Drill-down. The trace ID: the route out of the wall of text and into the request that produced it. Stacked composition. Volume by level over time. The bottom band sits on a flat baseline; the two above it are approximate. Log tail. Raw lines, truncated at the right edge, with two timestamps in two timezones on every row.
- Stacked composition Volume by level over time. The bottom band sits on a flat baseline; the two above it are approximate.
- Log tail Raw lines, truncated at the right edge, with two timestamps in two timezones on every row.
- Drill-down The trace ID: the route out of the wall of text and into the request that produced it.
Service map. Nodes for services, edges for calls, both from instrumentation rather than from a diagram. Semantic status color. One node: two numbers inside and a success/error ring around it. Four measures, no verdict. Legend and series toggle. Four series named for a graph with seven nodes, which is the legend doing more work than the map. Zoom and pan on time. The only route to the nodes pushed off the right edge, and it doesn't move the rest of the page.
- Service map Nodes for services, edges for calls, both from instrumentation rather than from a diagram.
- Semantic status color One node: two numbers inside and a success/error ring around it. Four measures, no verdict.
- Legend and series toggle Four series named for a graph with seven nodes, which is the legend doing more work than the map.
- Zoom and pan on time The only route to the nodes pushed off the right edge, and it doesn't move the rest of the page.
Host map. Hexagons sharing edges. Adjacent unhealthy cells merge into one shape, which is the point of the tiling. Host map. The same data as circles: a gap around every cell, so nothing clusters. Semantic status color. A closed set of three—OK, warning, critical—applied as the whole cell fill. Ranked list. Sorted descending so the worst cell lands where the eye starts. No share of total, and no row for the rest. KPI tile. Name-only mode: two cells carrying a label, a colour and no number at all.
- Host map Hexagons sharing edges. Adjacent unhealthy cells merge into one shape, which is the point of the tiling.
- Host map The same data as circles: a gap around every cell, so nothing clusters.
- Semantic status color A closed set of three—OK, warning, critical—applied as the whole cell fill.
- Ranked list Sorted descending so the worst cell lands where the eye starts. No share of total, and no row for the rest.
- KPI tile Name-only mode: two cells carrying a label, a colour and no number at all.
Small multiples. A column of sparklines, each on its own axis. One runs 0–200%, the next 96–100%. Metric targets. The budget column: the derived quantity that turns a target from a binary into a rate. Error and stale state. No data, in the same red as a breach. A third state wearing the second one's colour. Target and progress. Budget left, −1900%. Past −100% the number is measuring the objective, not the service. Header KPI strip. Five tiles counting targets, objectives and series. None of them says whether any of it is met.
- Metric targets The budget column: the derived quantity that turns a target from a binary into a rate.
- Target and progress Budget left, −1900%. Past −100% the number is measuring the objective, not the service.
- Error and stale state No data, in the same red as a breach. A third state wearing the second one's colour.
- Small multiples A column of sparklines, each on its own axis. One runs 0–200%, the next 96–100%.
- Header KPI strip Five tiles counting targets, objectives and series. None of them says whether any of it is met.
Sparkline. The area fills under each value drop to near-white here, so the shape that was legible on charcoal is a smudge. Dark-first data palette. The same six values as the dark capture. Bright-on-charcoal became pale-on-white, and the contrast went with it. Grayscale with alerts. Ninety green rectangles, identical in both themes. Nothing here can read as abnormal on either ground. Dark-first data palette. 63.8 GB in pale orange on white. On the dark version the identical colour was the readable one. Semantic status color. Whole-tile fills survive the switch, because the text sits on the colour rather than being the colour.
- Dark-first data palette The same six values as the dark capture. Bright-on-charcoal became pale-on-white, and the contrast went with it.
- Dark-first data palette 63.8 GB in pale orange on white. On the dark version the identical colour was the readable one.
- Semantic status color Whole-tile fills survive the switch, because the text sits on the colour rather than being the colour.
- Grayscale with alerts Ninety green rectangles, identical in both themes. Nothing here can read as abnormal on either ground.
- Sparkline The area fills under each value drop to near-white here, so the shape that was legible on charcoal is a smudge.
Header KPI strip. Six tiles sharing one anatomy, which is the arrangement that reads as a row rather than as six things. KPI tile. Label, value, unit and a sparkline behind it. No delta, no base, no window. Dark-first data palette. The dark half of the pair. The same six values in the light capture arrive as pale pink on white. Semantic status color. No text at all. Colour is the only carrier, which is the WCAG failure stated as a feature. Sparkline. A column of them, each scaled to its own series, which is the comparison Tufte warns the arrangement invites. KPI tile. Thirty numbers with no labels—the value with nothing attached to it. Grayscale with alerts. Seven rows, seven different colours, no resting state. Nothing here can read as abnormal. Semantic status color. Whole-tile background colour: the loudest channel available, spent on all six.
- KPI tile Label, value, unit and a sparkline behind it. No delta, no base, no window.
- Dark-first data palette The dark half of the pair. The same six values in the light capture arrive as pale pink on white.
- Sparkline A column of them, each scaled to its own series, which is the comparison Tufte warns the arrangement invites.
- Semantic status color Whole-tile background colour: the loudest channel available, spent on all six.
- Grayscale with alerts Seven rows, seven different colours, no resting state. Nothing here can read as abnormal.
- KPI tile Thirty numbers with no labels—the value with nothing attached to it.
- Semantic status color No text at all. Colour is the only carrier, which is the WCAG failure stated as a feature.
- Header KPI strip Six tiles sharing one anatomy, which is the arrangement that reads as a row rather than as six things.
Semantic status color. A closed set of two, both labelled. The clearest case on the page of colour plus a word. Sequential and diverging scales. One mark per sample, green through red by temperature—so green here means cold, not good. Status history. Continuous regions with the state name written inside each one. Threshold line and region. Thresholds turning a numeric series into discrete bands: under 50, 50, 300. Time series. The same query as the panel above, untranslated. Three traces you have to threshold yourself.
- Status history Continuous regions with the state name written inside each one.
- Threshold line and region Thresholds turning a numeric series into discrete bands: under 50, 50, 300.
- Time series The same query as the panel above, untranslated. Three traces you have to threshold yourself.
- Sequential and diverging scales One mark per sample, green through red by temperature—so green here means cold, not good.
- Semantic status color A closed set of two, both labelled. The clearest case on the page of colour plus a word.
Data table. In-cell bar gauge clipped to a sliver, and text truncated mid-word with no escape to the full value. Data table. Threshold colour filling the cell, which makes a column scannable without being read. Sequential and diverging scales. A continuous ramp down a sorted column: the table doing a heatmap's job. Semantic status color. Value mappings turning raw levels into a closed set, each with its word in the cell. Delta indicator. Pills reading up, down and down fast: direction with no magnitude and no base. Also page 1 of 72.
- Data table Threshold colour filling the cell, which makes a column scannable without being read.
- Sequential and diverging scales A continuous ramp down a sorted column: the table doing a heatmap's job.
- Data table In-cell bar gauge clipped to a sliver, and text truncated mid-word with no escape to the full value.
- Semantic status color Value mappings turning raw levels into a closed set, each with its word in the cell.
- Delta indicator Pills reading up, down and down fast: direction with no magnitude and no base. Also page 1 of 72.
Small multiples. Nine panels, one variable changed. The comparison is the content. Time series. The source series. Every heatmap on the page is built from this. Heatmap. Linear y buckets, which is the default and the one that hides the low end. Sequential and diverging scales. Every panel carries its own ramp legend, 1 to 30, so the colour is readable per panel but not across them.
- Time series The source series. Every heatmap on the page is built from this.
- Heatmap Linear y buckets, which is the default and the one that hides the low end.
- Small multiples Nine panels, one variable changed. The comparison is the content.
- Sequential and diverging scales Every panel carries its own ramp legend, 1 to 30, so the colour is readable per panel but not across them.
Empty state. No data, centred, with no distinction from a genuine zero. Header KPI strip. Three status tiles across the top, before any chart. Error and stale state. Red, and it names the cause: no metrics received, check configuration. Freshness indicator. The tile whose job is 'as of when', reporting No data instead. Data source badge. Integration version, the only tile on the row still able to answer.
- Header KPI strip Three status tiles across the top, before any chart.
- Error and stale state Red, and it names the cause: no metrics received, check configuration.
- Freshness indicator The tile whose job is 'as of when', reporting No data instead.
- Data source badge Integration version, the only tile on the row still able to answer.
- Empty state No data, centred, with no distinction from a genuine zero.
Anomaly band. Not a band. An anomaly rate as its own series, so one chart covers every metric instead of one band per chart. Empty state. "You haven't highlighted any timeframe yet"—the reason for the blank, and the action that fills it. Cross-filter. Highlight a timeframe and the page names which metrics drove it. The selection is the query. Explain this metric. Every section carries a sentence saying what it counts, directly under its heading rather than behind an icon. Share and embed. Generate report, top right. Whether the highlighted window travels with it is the question the button raises.
- Anomaly band Not a band. An anomaly rate as its own series, so one chart covers every metric instead of one band per chart.
- Explain this metric Every section carries a sentence saying what it counts, directly under its heading rather than behind an icon.
- Cross-filter Highlight a timeframe and the page names which metrics drove it. The selection is the query.
- Empty state "You haven't highlighted any timeframe yet"—the reason for the blank, and the action that fills it.
- Share and embed Generate report, top right. Whether the highlighted window travels with it is the question the button raises.
Header KPI strip. Twelve tiles in two rows, in four different layouts. It reads as twelve things rather than one strip. Sidebar and canvas. The rail is the dashboard. A generated tree of every metric family the agent found. Gauge and dial. Arcs for disk reads and writes, where the maximum is invented—this is a rate, not a capacity. Dashboard builder. A query builder inline in the panel header: group by, aggregation, node and dimension count. Search across panels. 720 charts, so search is the navigation and the tree is the filing system nobody browses. Semantic grouping. Sections generated by the collector rather than chosen. Consistent, and about nothing in particular. Compare periods. Offered per chart rather than per dashboard, which is the scoping trap: one panel shifted, the rest not. Freshness indicator. Live 1, Stale 8. Most products would have drawn all nine and said nothing.
- Sidebar and canvas The rail is the dashboard. A generated tree of every metric family the agent found.
- Search across panels 720 charts, so search is the navigation and the tree is the filing system nobody browses.
- Header KPI strip Twelve tiles in two rows, in four different layouts. It reads as twelve things rather than one strip.
- Gauge and dial Arcs for disk reads and writes, where the maximum is invented—this is a rate, not a capacity.
- Semantic grouping Sections generated by the collector rather than chosen. Consistent, and about nothing in particular.
- Freshness indicator Live 1, Stale 8. Most products would have drawn all nine and said nothing.
- Dashboard builder A query builder inline in the panel header: group by, aggregation, node and dimension count.
- Compare periods Offered per chart rather than per dashboard, which is the scoping trap: one panel shifted, the rest not.
Gauge and dial. Six arcs. Two are percentages where the endpoints mean something; four are rates in KiB/s and kbit/s on an invented maximum. Collapsible row. Four levels of section, depth carried by leading dashes. Generated by the collector, and never edited. Legend and series toggle. The legend is a value table: steal 0.1, softirq 0, user 1.5113, system 0.9, iowait 0.1, each with its own bar. Dashboard builder. A query builder in every chart header, so the panel is a live query rather than a saved configuration. Overview then detail. System › Compute › CPU. The breadcrumb is the only thing telling you where in 720 charts you are.
- Collapsible row Four levels of section, depth carried by leading dashes. Generated by the collector, and never edited.
- Gauge and dial Six arcs. Two are percentages where the endpoints mean something; four are rates in KiB/s and kbit/s on an invented maximum.
- Legend and series toggle The legend is a value table: steal 0.1, softirq 0, user 1.5113, system 0.9, iowait 0.1, each with its own bar.
- Dashboard builder A query builder in every chart header, so the panel is a live query rather than a saved configuration.
- Overview then detail System › Compute › CPU. The breadcrumb is the only thing telling you where in 720 charts you are.