Composed Data Sources
A monitoring dashboard for a complex system needs more than a single data feed. It needs metrics from the application service, status from the database, queue depth from the message broker, error counts from the logging service, and a summary computed from all of them. Each source answers a different question; the dashboard makes sense of the combination.
Composed data sources let you chain and relate multiple sources into a single unified data stream — without code.
What Composition Means
A composed data source takes two or more existing data sources and combines them. The combination can happen in several ways:
Merge: Multiple sources of the same type combined into a single flat list. Records from two different status values, metrics from two different time ranges, results from two separate filtered queries — merged into one result.
Join: Records from one source enriched with fields from another, matched on a shared key. Your records joined with external service data, producing rows that contain fields from both.
Transform: A single source with computed fields added. Existing field values used as inputs to expressions that produce new values in the output.
Chain: The output of one data source used as input to configure another. Query one source to get a list of IDs, then use those IDs to filter a second source.
Configuration in the Builder
Composed data sources are configured in the data source library, separate from the pages that use them. Build a composed source, give it a name, and it becomes available as a named data source in the builder — selectable wherever any other data source can be used.
Because composed sources are named and reusable, the same composed source can power multiple components on multiple pages. Update the composition and all uses reflect the change.
Building Incrementally
Complex compositions are built incrementally. Start with one source. Add a join to enrich it. Add a computed field to transform a value. Add a merge to combine it with a second source. Each step in the composition is visible and editable.
The composition editor shows the chain of operations and the schema at each step — what fields are available after each transformation. This makes it easy to understand what the final composed source produces before connecting it to a component.
The Dashboard Payoff
Composed data sources are what make genuinely rich dashboards possible in configuration. A Grafana-style operations dashboard — multiple data streams, combined into coherent views — is achievable without custom integration code. The composition layer provides the same combining power that code would, in a form that's visual, inspectable, and maintainable.