Problem
Similar numbers can disagree because they come from different systems. People need to know the source before deciding which one to use.
Solution
Show a short, recognizable source name on the panel. Make the underlying query or calculation available when people need to investigate a discrepancy.
Distinguish source identity from source health and data age. A reachable source can still contain delayed data. Show relevant problems without making people open a tooltip.
Use names the audience understands, with technical identifiers available in the details.
Use when
A dashboard mixes data sources or a metric is available from more than one system.
Don’t use when
Every panel on the page reads from one source and everyone knows it. Then the badge is repeated noise, and saying it once at page level is enough.
Trade-offs
Badges use space even when people rarely consult them. Internal source names may be meaningless to the audience. Health checks and query details also need accurate labels so they do not imply more certainty than they provide.
Checklist
- Does the panel say which source it read from?
- Is the source name meaningful to this audience, or only to the person who configured it?
- Does the badge carry health as well as identity?
- If the source is lagging but responding, does anything on the page say so?
- Can a viewer reach the query behind the number?
- Do two panels showing the same metric from different sources make that visible?
- Is the badge redundant on a single-source page, and could it be stated once?
- Does the health check have its own failure mode, and what does the badge show then?
- Is the badge reachable by screen reader, or is it an icon with a tooltip?
- When a source is renamed or replaced, what updates the badges?
Compare
Grafana treats data sources as first-class configured objects that panels reference by name, which makes mixed-source dashboards easy to build and makes provenance entirely a matter of whether the author chose to surface it. Datadog mostly removes the question by owning ingestion, so the interesting provenance is the tag scope rather than the connector, and its UI reflects that. Honeycomb collapses source and query into one thing—you are always looking at a dataset you named in the query—so provenance is never ambiguous and never needs a badge. Looker pushes hardest in the other direction with a modelling layer, so a metric has one definition and the badge question becomes “which model version”, which is a better question and a harder one to answer in a corner of a panel.
Related
Freshness indicator shows when data was updated. Error and stale state marks failed or outdated results. Explain this metric defines the calculation.
Empty state explains absent results. Alert rule can notify someone when a source stops supplying data.