Establish what is happening
Capture list size and user operation
Record route, filters, sort, row count, field count, account shape, viewport, and the first action that feels slow. Measure request start, first rows visible, full list completion, and response bytes. Include whether the list loads all rows or requests pages as the person moves.
Compare small, medium, and large cases
Use the same filters and columns at three representative row counts. Compare server query time, serialization, transfer, parse, DOM node count, layout, and interaction response. Mark which measures grow with rows and which remain flat; that pattern narrows the next investigation.
Check operations beyond initial load
Exercise sorting, filtering, selecting, expanding, and navigating away from the list. Note whether one operation re-fetches data, rebuilds every row, or recalculates layout. A fast initial view can still hide a scale problem in the first common follow-up action.
What to carry forward
Return a scope statement with representative sizes, slow operation, first growing interval, and affected route or account shape. Route the work toward fetching, payload construction, browser rendering, or interaction logic. Stop when row count and the next evidence step are explicit enough to avoid optimizing the wrong layer.
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