Problem
There are two hundred services and the viewer needs to know which ones are slow, by how much exactly, and in an order they choose. A chart of two hundred series is a colour test.
Solution
Rows, columns, exact values, and a sort the viewer controls. The table is what you reach for when a chart would lie by omission, and its real superpower is not display but reordering: the same rows sorted by error rate and by request volume answer two different questions with no second panel.
The thing that separates a good dashboard table from a spreadsheet is what goes inside a cell. Grafana’s table panel makes this explicit with cell display modes. Colored background applies threshold or value-mapping colour to the whole cell, so a column becomes scannable at a glance. Gauge renders the value as a horizontal bar in the cell, with Basic, Gradient and Retro LCD styles. Sparkline puts a shape in the cell. Data links turns the cell text into a link out.
Those modes are how a table stops competing with charts and starts absorbing them. A column of sparklines is a small-multiples grid that happens to have labels and exact numbers attached, which is usually strictly better than nine separate panels.
The controls matter as much as the cells. Grafana cycles sort order on a column title click—default, descending, ascending—and holds Cmd or Ctrl for multi-column sorts. Enable pagination caps visible rows and sizes the page to the panel height. A Column filter switch puts a filter icon on each header, with checkboxes and operators including Contains, Expression and the comparisons.
The trap in all of it: sorting and filtering happen on what the query returned, not on the whole population. A table showing the top 100 rows, sorted client-side, is sorting a sample and looks exactly like sorting the data.
Use when
Exact values matter, the item count is beyond what a chart can encode, and different viewers want different orderings. Triage lists, cost breakdowns, inventory, anything where the next action is on a specific row.
Don’t use when
The question is about trend or shape. A table of 24 hourly values is a line chart that has been made harder to read. Also avoid it as the only view when most rows are uninteresting; rank and cut instead.
Trade-offs
Tables are dense and slow to read, and they reward the reader who already knows which column matters. They scale badly on a wall or a phone, where the columns that get dropped are chosen by CSS rather than by importance. Sorting invites over-reading of small differences: adjacent rows separated by noise still look ranked. And the more cell modes you turn on, the more the table becomes a chart with worse alignment, at which point a chart is the honest choice.
Checklist
- What is the default sort, and is it the order most viewers need first?
- Is the sort applied to the whole population or only to the rows the query returned?
- Are numbers right-aligned with tabular figures so columns compare by eye?
- Do units and precision match how the team talks, and are they consistent down the column?
- How many rows before this needs pagination, and does pagination break the sort?
- Which columns survive a narrow viewport, and who decided?
- Is there a row action, and does the whole row afford it or just one cell?
- Do colour-coded cells derive from the same thresholds as the charts nearby?
- What does a null show as, and can it be told apart from a zero?
- Would two of these columns be better as one chart?
Compare
Grafana turns the cell into a container—background colour, in-cell bar gauge, in-cell sparkline, data links—so a single table can carry status, magnitude and trend per row and needs discipline to stay readable. Sentry builds its primary interface as a table and treats each row as an object with its own lifecycle: count, users affected, first seen, last seen, and a shape, which is the pattern doing triage rather than reporting. Honeycomb returns a results table as one output of a query rather than a standing panel, so the columns are whatever you grouped by a moment ago instead of a schema someone fixed in advance. Netdata uses tables mainly for inventory—nodes, alarms, collectors—and leaves the measurement to its charts, which keeps both simple.
Related
Ranked list is this pattern with a cut applied and the total made visible. Drill-down is where a row click should go. Sparkline is the cell mode that does the most work per pixel. Filter bar is how the population gets narrowed before sorting means anything. Two-pane list and detail is the layout a triage table usually wants to live in.