Aglet

How to diagnose an expensive dashboard by widget and action

A dashboard can feel slow because of one widget, many parallel requests, repeated data work, or client rendering after responses arrive. This triage guide measures each widget and the first decision it supports, then compares a reduced view to find where cost accumulates.

Establish what is happening

  1. Capture dashboard scope and first decision

    Record route, filters, time range, account or dataset size, widget count, viewport, and the first action a person expects to take. Measure initial request, first useful widget, full dashboard readiness, refresh, and interaction timing. Keep hidden or below-action widgets identified.

  2. Split widget and shared costs

    Align each request, query, response, transformation, render, layout, and error with its widget. Compare parallel and serial work, duplicate data requests, response sizes, and shared initialization. Mark whether a slow widget blocks the first action or only extends background completion.

  3. Compare full and focused dashboard cases

    Replay the dashboard with the same filters and data using all widgets, then a focused subset that supports the first decision. Compare server work, request count, payload volume, client processing, and readiness. A reduced view is evidence about dependency, not permission to remove required context.

What to carry forward

Return a scope statement naming the first decision, expensive widget or shared interval, measured costs, and comparison case. Route the next work to query, request coordination, payload, or rendering. Stop when a focused investigation can target one cost without treating every dashboard widget alike.

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