DEV Community

Cover image for Using Dashboard Filtering to Get Customer Usage in Seconds from TBs of Data
Patrick Londa for Bronto

Posted on • Originally published at bronto.io

Using Dashboard Filtering to Get Customer Usage in Seconds from TBs of Data

Authored by Conall Heffernan

As the Customer Success lead at Bronto, I need fast, reliable insights into customer health and product usage — but I don't have time to constantly update indexes, schemas, or individual widgets just to answer new questions. I need to spot patterns, explore trends, and get answers in real time without manual overhead.

That's why Bronto's dashboards are so critical to my work. We recently added a new query filtering feature that lets me use SQL to look for any pattern across all widgets in a dashboard simultaneously — and update everything at lightning speed.


What Bronto Dashboards Provide

  • Rich visualisation options — time-series charts, geomaps, numeric value widgets (with units like bytes and time), top lists, treemaps, and log event lists for drilling into raw data
  • AI widget builder — describe what you want in natural language; an LLM builds the query and creates the widget without you needing to know the query language or which datasets to select (see the full post on this feature)
  • Full screen widget mode — compare different timeframes for the same query (e.g. vs. previous day, week, month)
  • Easy filtering — use the query builder with a searchable dropdown of top keys and values, or write SQL filters directly in the filter bar

Bronto dashboard overview


The Power of Filtering at Scale

In many logging or observability tools, applying a filter means updating every single chart, table, or widget individually. Tedious. Time-consuming. It doesn't scale.

With Bronto, applying a filter in the main query bar instantly updates every single widget on the dashboard for your given timeframe. With a default retention period of one year, you don't need to worry about missing long-term trends — all your data is fully searchable and visualisable. Concerned about when an issue started? You can analyze trends over months, not days.

Our widgets use pre-computed log-based metrics (LBMs) for rapid responses, but the new dashboard filtering goes further — running raw log queries to filter the data in your dashboard in real time. Results come back in seconds, and you can drill down across all widgets simultaneously using SQL or by clicking from a dropdown of top keys and values.

One thing worth noting: there's no initial configuration of keys required. I can use any key I want in the filter, with no setup.

Dashboard filtering GIF — all widgets update simultaneously


Log-Based Filtering vs. Log-Based Metrics

Log-based metrics (LBMs) deliver millisecond responses — perfect for real-time dashboards, trend analysis, and high-level views of system behavior.

When something unexpected happens or a new question comes in, we seamlessly switch to log-based filtering to investigate deeper, explore raw data, and uncover answers without being constrained by pre-defined fields or aggregations.

Log-based filtering excels because it lets you query and visualize raw logs immediately — no upfront configuration like index definitions or field extraction required. Bronto combines this with structured parsing and indexing, using the right approach for the right job.

The result: both fast, flexible investigation and high-performance queries on known fields, without forcing you to predefine every key or build parsing pipelines before you can search effectively.

Log-based filtering in action


How I Use Dashboard Filtering for Customer Usage

My primary use for this feature is gathering and presenting product usage data to our leadership team. Questions like:

  • "How much data did Org ID 54321 send over the last 6 months?"
  • "How much did company ACME search last month?"

Instead of building 10 custom dashboards (which doesn't scale as your customer base grows), I use dashboard filtering:

  1. Navigate to our main Usage Dashboard
  2. Enter the specific org_id in the main query filter (e.g. org_id: 54321)
  3. Every widget updates instantly to reflect only that organization's data

That's it. A complex, multi-step data lookup becomes a quick and easy process.

The first time I tried filtering across the dashboard for an org_id, I thought something wasn't working right — the results were rendered so fast across terabytes of data. It was a genuine "wow" moment. As a customer support lead, it's great to see the under-the-hood changes we're building for customers also improving my own day-to-day.

Dashboard filtered by org_id


How Bronto Dashboards Compare

Most dashboard tools are optimized for known questions: predefined fields, fixed widgets, metrics decided on ahead of time. That works for stable monitoring but breaks down when you need to explore new questions, investigate unexpected behavior, or quickly slice data in different ways.

Feature Bronto Dashboards Traditional Competitors
Query Scope SQL filtering on any log value Often restricted to predefined or indexed fields
Update Speed Instant — all widgets update simultaneously Manual, per-widget updates required
Performance Terabytes rendered in seconds across all datasets Latency issues with large datasets; often minutes to render
Setup Schema-less — no upfront definitions or configuration Parsing and indexing pipelines required first
Cost Filtering included in monthly quota; faster MTTR Slow dashboards can inflate costs by consuming more resources

Summary

Modern teams need dashboards that are fast, flexible, and easy to adapt as questions change. Bronto dashboards combine high-performance log-based metrics with instant, dashboard-wide filtering to help you explore usage, investigate issues, answer leadership questions, and quickly re-run reports as requirements evolve.

Questions like "what does this customer's usage look like over the last six months?" are answered in seconds — without upfront schemas, per-widget reconfiguration, or slow refresh cycles.

See Dashboard Filtering in Action

Top comments (0)