Documents

Chart group

Units, series and sample context together.

A chart group

Compressed CSSBrotli · 10 samples · kB
Fixture A10 samples
18.4 kB
Fixture B10 samples
28.6 kB
Fixture Cno recorded output
0 kB

Complete chart presentation

Illustrative component data. Follow the product link for measured benchmark results.

Fixture Abaseline
18.4 kB
Fixture B+18%
21.8 kB
Fixture C1.9x
34.2 kB
Fixture D2.1x
38.6 kB

Used on the benchmarks.

Usage and interface

Use BenchmarkBars for values on a shared scale and BenchmarkStackedBars for composition within each row. Pass the same max to a stacked chart when its row totals also need a shared scale, as in the delivery payload comparison. The examples below use illustrative data, not measured results. See Benchmarks for real fixtures, sources, and limits.

BenchmarkChartGroup pairs a clearer metric heading with its unit and sample context, while leaving the established bars intact. The chart group review shows the current chart heading. BenchmarkMetrics renders a refined definition list for short summaries, with tabular values and a detail line that stacks in narrow columns; its metrics review shows the current metric rows. BenchmarkDataTable uses a refined native disclosure and a named, keyboard-focusable scroll region, so long tables retain complete rows and columns; its data table review shows the current disclosure. BenchmarkSource marks a committed snapshot beside its recorded date; the source review shows the current evidence footer. BenchmarkFigure, BenchmarkDelta, and BenchmarkSampleSummary provide captions, contextual deltas, and sample statistics.

Keep series labels visible, include units and sample counts, and distinguish zero from missing data. Labels wrap; values use tabular numerals. A zero value has no colored fill. Stacked rows normalize to their own totals, so their lengths do not compare absolute payload size. Put important findings and limitations in the document body as well as the chart caption.

import BenchmarkChartGroup from '@master/internal-site/benchmarks/BenchmarkChartGroup.astro'import BenchmarkDataTable from '@master/internal-site/benchmarks/BenchmarkDataTable.astro'import BenchmarkSource from '@master/internal-site/benchmarks/BenchmarkSource.astro'<BenchmarkChartGroup title="Style recalculation" detail="Median · 3 samples" unit="ms"  items={[{ id: 'fixture-a', label: 'Fixture A', value: 12.5, color: 'blue' }]} /><BenchmarkDataTable title="All recorded measurements">  <table>    <thead><tr><th scope="col">Fixture</th><th scope="col">Median</th></tr></thead>    <tbody><tr><th scope="row">Fixture A</th><td>12.5 ms</td></tr></tbody>  </table></BenchmarkDataTable><BenchmarkSource generatedAt="2026-07-01T00:00:00Z" href="https://rc.css.master.co/benchmarks#data-sources" />

Charts and summaries render on the server and do not animate or change measurements. The table adds a small keyboard handler for consistent arrow-key scrolling, including mobile WebKit; disclosure remains native. Use nonnegative finite values with one unit per chart; use delta labels for signed changes. A max smaller than an item clips the visual scale and should be avoided. Tables may scroll horizontally inside their own region, never the document.

#Complete chart patterns

Ranking bars

Sample data for comparing one metric across fixtures. Bar lengths share a common zero and maximum.

Fixture Abaseline
18.4 kB
Fixture B+18%
21.8 kB
Fixture C1.9x
34.2 kB
Fixture D2.1x
38.6 kB
Illustrative values for the component.

Stacked payload bars

Each row fills its own width to show composition. Compare the printed totals to compare payload size.

Runtimefirst visit28.2 kB
  • CSS8.6 kB
  • Runtime JS14.2 kB
  • Manifest5.4 kB
Staticcached CSS18.4 kB
  • CSS18.4 kB
  • Runtime JS0 kB
  • Manifest0 kB
ProgressiveHTML response22.2 kB
  • CSS6.1 kB
  • Runtime JS14.2 kB
  • Hydration1.9 kB
Illustrative values and totals for the component.

Metric summary

Sample data for dense benchmark summaries.

Fixturedashboard
Median build148 ms

Good 10 measured rounds

Warm rebuild28 ms

Good single class edit

Generated rules1,284

after pruning

Long tasks0

Good Chromium trace sample

Readable labels and zero values

Labels wrap in the available column. A zero value has no colored fill.

Local traceIllustrative values · ms
A deliberately long scenario name that remains readable on a narrow screen3 samples
12.5 ms
No recorded work3 samples
0 ms
Illustrative measurements by fixtureComplete measurements
Use arrow keys to scroll the table.
FixtureRaw CSSBrotli CSSBuild medianSamplesEnvironment
Fixture A100 kB18.4 kB148 ms10Illustrative local fixture
Fixture B100 kB21.8 kB148 ms10Illustrative local fixture
Fixture C100 kB34.2 kB148 ms10Illustrative local fixture
Fixture D100 kB38.6 kB148 ms10Illustrative local fixture

EvidenceSee real benchmark sources (this date is illustrative)Recorded

Delta labels

Sample data for compact comparison badges.

-38%CSS bytes+12%build time+42 msstyle calcbaselinecurrent

Sample summary

Sample data for raw benchmark rounds.

Median16.8 ms
Mean17.1 ms
Min14.2 ms
Max22.4 ms
Samples25