Matrix Chart

Pro

Category by category with a sized mark, where an empty cell reads as one.

How the field metrics move together

Pearson r across 41,200 real user sessions

FCP and TTFB move together most closely at 0.81, INP tracks JavaScript bytes at 0.68, and layout shift is close to independent of everything except JavaScript bytes. Marks are scaled by area, and a crossing with no mark means: Mirror of the cell across the diagonal. Use the arrow keys to move around the grid and Escape to dismiss the reading. The full data follows as a table.

Correlation between six field performance metrics
RowLCPFCPTTFBCLSINPJS bytes
LCP1.00Mirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonal
FCP0.781.00Mirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonal
TTFB0.620.811.00Mirror of the cell across the diagonalMirror of the cell across the diagonalMirror of the cell across the diagonal
CLS0.11-0.13-0.221.00Mirror of the cell across the diagonalMirror of the cell across the diagonal
INP0.340.220.170.291.00Mirror of the cell across the diagonal
JS bytes0.550.370.090.410.681.00

Size is the strength, colour is the direction, so nothing rests on hue alone. The names sit on the diagonal because that is the one run of cells with nothing to say: every metric correlates perfectly with itself, and a name there is in its own row and its own column, so any mark can be traced to both. The lower half is the whole matrix: a correlation matrix is symmetric, so this is everything the data has to say.

CI matrix, with the gaps

Mark size is the median job time in minutes

Ubuntu runs all four Node versions, macOS drops 18, Windows runs only 22 and 24, and Alpine runs 22 alone. Windows jobs take roughly three times as long as Ubuntu. Marks are scaled by area, and a crossing with no mark means: Not in the build matrix. Use the arrow keys to move around the grid and Escape to dismiss the reading. The full data follows as a table.

Continuous integration job coverage and duration by runner and Node version
RowUbuntumacOSWindowsAlpine
Node 184.2 minNot in the build matrixNot in the build matrixNot in the build matrix
Node 204.1 min6.9 minNot in the build matrixNot in the build matrix
Node 223.8 min6.4 min11.4 min5.2 min
Node 243.6 min6.1 min10.8 minNot in the build matrix

Six of the sixteen combinations are missing, and that is the interesting part. A heat map has to paint every cell, so it would show those six as the palest colour on the ramp, which reads as a fast job rather than as no job at all.

This component installs from the private registry, which opens with Pro. The command and the one-time setup are shown here once your licence key is in this browser.

6 sections, and every other premium component

The preview above is the real Matrix Chart, running. One purchase opens the sections above on this page and on every other component in the library.