Skip to content

feat(log-viewer): show the Analysis table in lv-grid - #1172

Open
lukecotter wants to merge 3 commits into
feat-database-lv-gridfrom
feat-analysis-lv-grid
Open

lukecotter wants to merge 3 commits into
feat-database-lv-gridfrom
feat-analysis-lv-grid

Conversation

@lukecotter

Copy link
Copy Markdown
Collaborator

Part of #1169. Stacked on #1171.

What changes

The Analysis tab moves from Tabulator to lv-grid. It shows the same Bottom-Up grid as the Call Tree's Bottom-Up view, with the Analysis toolbar.

The tab keeps these features:

  • Expand and Collapse
  • the Details filter, and group by Namespace, Caller Namespace or Type
  • column views and the column menu
  • find, copy (Cmd/Ctrl+C) and CSV export (analysis.csv)
  • select and hover to the Inspector, and reveal from the Inspector, which turns Details on when the row is hidden
  • category colours

User-visible changes

  • Copy and CSV export hold every row that passes the filters, callers included, with a Level column. Before, they held the top-level rows only.
  • On a 95 MB log (580k rows), against the Tabulator table:
Action Tabulator lv-grid
Group by type 2784 ms 313 ms
Sort 412 ms 17 ms
Expand all 419 ms 19 ms
CSV export 565 ms 17 ms
First render, longest task 537 ms 190 ms

Commits

  1. refactor: the merged-row helpers and the Inspector select and hover handlers move out of the Call Tree view, so Analysis uses the same code.
  2. fix: a column view applies to the columns the host holds. The Database tables had the grid and the host out of step after the first apply.
  3. feat: the Analysis table on lv-grid. Code that only the old table used is removed. The files that the grid bench's Tabulator contender imports stay until Tabulator is removed.

Tests

  • pnpm lint: pass
  • pnpm exec jest --selectProjects log-viewer: 2613/2613 pass
  • pnpm test:e2e:web: 2/2 pass
  • pnpm bench:grid --tree bottom-up: results above

…helpers

The merged-row links, the path and mark lookups, the Bottom-Up grouping and Details filter, and the Inspector select and hover handlers move to call-tree/grid. A path now starts from the top-level row its ids name, so it does not depend on the order of the ids.
initGrid wrote the view to the grid. A host that binds its own columns then had the grid and its columns out of step.
Analysis shows the Bottom-Up grid of the Call Tree, with its own toolbar: Expand and Collapse, Details, group by, column views, find, copy and CSV. Remove the code that only the Tabulator table used. The files the grid bench's Tabulator contender imports stay until Tabulator is removed.

Refs #1169

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant