Aglet

How to investigate expensive dashboards from query to paint

An expensive-dashboard investigation traces the page from filters to widget data, transformations, and painted controls. Measure each widget in a representative state, look for repeated or blocking work, and test one focused reduction while keeping the first decision and error states intact.

Build a useful investigation brief

  1. Measure each widget's server work

    Capture query count, duration, joins or aggregation shape, response bytes, and handler time per widget for fixed filters and data size. Identify duplicate reads, overlapping ranges, and widgets that request fields no visible decision uses. Preserve ordering and time range so the comparison remains meaningful.

  2. Follow payload and render dependencies

    Trace each response through parsing, transformation, chart or table construction, layout, paint, and interaction readiness. Record node counts, repeated calculations, and whether one widget blocks shared controls. Compare errors and empty states too; a fast dashboard that hides failed widgets is not a fix.

  3. Test one focused cost reduction

    Try one change such as narrowing initial fields, sharing a bounded read, deferring a nonblocking widget, or reducing repeated client transforms. Replay the exact filters, data, and viewport. Check first decision context, widget correctness, refresh, empty, and error behavior before accepting the result.

What to carry forward

Deliver a brief with widget-level costs, first blocking dependency, measured data shape, tested reduction, and unresolved alternatives. Investigation is complete when implementation can target one source of expense and verification can check dashboard readiness, refresh, and decision correctness.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow