1. 03 May, 2022 1 commit
  2. 26 Apr, 2022 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Add profiler-panel · 7a90c320
      Camillo Bruni authored
      Add basic profiler support
      - Moved profiling-related helpers to profiling.mjs
      - Added bottom-up profiler table
      - Added mini-timeline overview wit opt/deopt events and usage graph
      - Added flame-graph, pivoted on the currently selected function
      
      Drive-by-fixes:
      - Added/updated jsdoc type information
      - Fixed static symbols (builtins, bytecodehandlers) that were both
        added by the CppEntriesProvider and from code-events in the v8.log
      - Support platform-specific (linux/macos) dynamic symbol loader by
        adding a query path ('/v8/info/platform') to lws-middleware.js
      - added css var --selection-color
      
      Bug: v8:10644
      Change-Id: I6412bec63eac13140d6d425e7d9cc33316824c73
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3585453Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#80192}
      7a90c320
  3. 11 Apr, 2022 1 commit
  4. 08 Apr, 2022 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Various improvements · 6078cb52
      Camillo Bruni authored
      - Parse the condensed source position info support for jitted code
      - Add progress bar/circle to loader
      - Use temporary Array instead of concatenated strings in escapeField to
        reduce gc pressure
      - Use bound functions as event handlers in more places
      - Various timeline legend fixes:
        - Fix columns alignment when duration is present
        - Use fixed width to avoid breaking the UI
        - Correctly show total/percents for 'All' and 'Selection' entries
        - Improve usability of filtering buttons: added tooltips and fixed
          redrawing on filtering
      
      Bug: v8:10644
      Change-Id: I1275b31b7b13a05d9d6283d3067c1032d2d4819c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574544Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79897}
      6078cb52
  5. 05 Apr, 2022 1 commit
  6. 02 Mar, 2022 1 commit
    • Camillo Bruni's avatar
      [tools] Improve system analyzer · 65667531
      Camillo Bruni authored
      Profiler:
        - Track profiler tick durations
        - Various speedups due to low-level hacking
      Improve code-panel:
        - Better register highlighting
        - Added address navigation and highlighting
        - Removed obsolete inline source-view
      Improve script-panel:
        - Keep current source position focused when showing related entries
        - Better tool-tip with buttons to focus on grouped entries per
          source postion
        - Focus by default on other views when showing related entries
      Improve timeline-panel:
        - Initialise event handlers late to avoid errors
        - Lazy initialise chunks to avoid errors when zooming-in and trying to
          create tooltips at the same time
      
      
      Change-Id: I3f3c0fd51985aaa490d62f786ab52a4be1eed292
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3492521Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79329}
      65667531
  7. 01 Jul, 2021 1 commit
  8. 29 Jun, 2021 1 commit
  9. 22 Jun, 2021 1 commit
    • Leszek Swirski's avatar
      [system-analyzer] Add source map support · 18bcc9a6
      Leszek Swirski authored
        - Asynchronously load source map from sourceMappingURL
        - Once loaded, annotate source positions with their original position
        - Update script panel tooltip to include link to original source
           - For the above, make DOM.element a slightly more flexible API,
             allowing defining attributes and children
           - Also fix ToolTipEvent handling to support nodes.
        - Shuffle around some code to make createScriptNode async, in case
          we want to load the source map when building the script node itself.
        - Drive-by: make source markers a simple backgroundColor when there is
          only one group.
      
      Change-Id: I0926807761cbfe8b6dd8ff5154815a7e5ccb39bf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972827
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75302}
      18bcc9a6
  10. 16 Jun, 2021 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Various improvements · 91ddeb06
      Camillo Bruni authored
      - Show related code object for Maps
      - Fix opening transition trees
      - Rename *LogEntry.prototype.codeLogEntry to .code
      - Show Arrays as dropdowns in tooltips
      - Avoid hiding the tooltip when clicking on the tooltip itself
      - Show links to code variants (bytecode/baseline/optimized)
      - Fix chunk offset calculation
      - Fix code for browsers that don't support
        navigator.scheduling.isInputPending
      
      Bug: v8:10644
      Change-Id: I858dc410657d26d076214368814a52177b124f4c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964592
      Auto-Submit: Camillo Bruni <cbruni@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75169}
      91ddeb06
  11. 15 Jun, 2021 1 commit
  12. 14 Jun, 2021 1 commit
  13. 11 Jun, 2021 1 commit
  14. 07 Jun, 2021 1 commit
  15. 31 May, 2021 2 commits
  16. 25 May, 2021 1 commit
  17. 29 Apr, 2021 1 commit
  18. 12 Jan, 2021 1 commit
  19. 08 Jan, 2021 1 commit
  20. 07 Jan, 2021 1 commit
  21. 21 Dec, 2020 1 commit
    • Camillo Bruni's avatar
      [tools] System-analyzer improvements · c84213ef
      Camillo Bruni authored
      - Fix landing page
      - Introduce and use SelectRelatedEvent for centralising the logic of
        finding and showing related LogEntries. It also clears the selection
        of all list panels if there are no related entries.
      - Add "select related" button to the script-panel to show events only
        from the currently selected script
      - Add selection type tabs for the map-panel
      - Fix transition colors for map-transitions view
      - Introduce separate map-transition view for the currently selected Map
      
      Bug: v8:10644
      Change-Id: I4199a8332bab2518d98078712ed5ce9a8f1dc19e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599555
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71849}
      c84213ef
  22. 14 Dec, 2020 2 commits
  23. 08 Dec, 2020 1 commit
  24. 05 Dec, 2020 1 commit
  25. 02 Dec, 2020 2 commits
  26. 30 Nov, 2020 4 commits
  27. 26 Nov, 2020 1 commit
    • Camillo Bruni's avatar
      [tools] Add ToolTip support for system-analyzer · dbffd66e
      Camillo Bruni authored
      - Add ToolTip helper that tracks scrolling target elements
      - Auto hide if the target scrolls out of view
      - ToolTip position depends on target position
      - Add basic tooltips for maps in the transition view, entries in
        timeline tracks and the source panel
      
      Drive-by-fix:
      - Move events.mjs to view/ folder
      - Add basic toString methods on various log entries
      - Add requestAnimationFrame update support for V8CustomElement
      
      Bug: v8:10644
      Change-Id: I1059733cd094a986b715547b3d5747eefbc54bc5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551103
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71434}
      dbffd66e
  28. 18 Nov, 2020 1 commit
  29. 16 Nov, 2020 1 commit
    • Camillo Bruni's avatar
      [tools] Speed up system-analyzer · abf87441
      Camillo Bruni authored
      - Reuse DOM nodes if possible
      - Delay slow DOM node removal to not block the UI
      - Fix global time range syncing when adding timelines to the state
      - Use a Proxy to cache CSS colors instead of querying CSS properties
        on every access
      - Set className on newly create DOM nodes instead of adding to the
        classList
      - Use bound functions for event handlers that are added multiple times
      - Speed up Chunk.getBreackdown
      - Use CSS gradient for timeline-track chunk backgrounds, which is an
        order of magnitude faster than the serialised canvas approach
      
      Bug: v8:10644
      Change-Id: Ie2d6d5b404f18e920c10c0a6460669fd4d0b20e8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2539947
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71207}
      abf87441
  30. 03 Nov, 2020 1 commit
  31. 02 Nov, 2020 1 commit
  32. 29 Oct, 2020 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Improve timeline track · 95e1fa50
      Camillo Bruni authored
      - Use initial color for TimelineTrack chunks
      - Use async functions for TimelineTrack setChunkBackgrounds
      - Introduce timeSelection setter on TimelinePanel
      - Propagate time selection down to the TimelinePanel
      - Avoid layout recalculation in TimelineTrack updateSelection
      
      drive-by-cleanups:
      - Add common event listeners only to top-level document
      - Use console.warn instead of console.error for better debugging in
        DevTools
      
      Bug: v8:10644
      Change-Id: Ie4f80f1c6c3f4fa193f8ac01225e0fb76981551d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497175
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70886}
      95e1fa50
  33. 23 Oct, 2020 1 commit
  34. 22 Oct, 2020 1 commit