1. 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
  2. 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
  3. 22 Dec, 2021 1 commit
  4. 27 Oct, 2021 1 commit
  5. 05 Jul, 2021 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Various improvements · 212d6678
      Camillo Bruni authored
      - Change Group.prototype.size to .length
      - Use window.requestAnimationFrame when streaming-loading files to show
        the loading animation
      - Limit width of the timeline-track legend and add 'title' attribute
        to show the full text when cropped
      - Add duration for selected timeline events in timeline-track legend
      - Better error message when the local symbol server is not available
      
      Bug: v8:10644
      Change-Id: Icdf2042341c9355ecb55e2fd8e6a4fa0feb5968f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3003151Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75549}
      212d6678
  6. 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
  7. 15 Jun, 2021 1 commit
  8. 14 Jun, 2021 1 commit
  9. 08 Jun, 2021 1 commit
  10. 07 Jun, 2021 1 commit
  11. 31 May, 2021 1 commit
  12. 25 May, 2021 1 commit
  13. 04 May, 2021 1 commit
  14. 03 May, 2021 1 commit
  15. 08 Jan, 2021 1 commit
  16. 09 Dec, 2020 1 commit
  17. 08 Dec, 2020 1 commit
  18. 30 Nov, 2020 1 commit
  19. 26 Nov, 2020 2 commits
  20. 18 Nov, 2020 1 commit
  21. 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
  22. 10 Nov, 2020 1 commit
  23. 03 Nov, 2020 1 commit
  24. 02 Nov, 2020 1 commit
  25. 30 Oct, 2020 1 commit
    • Camillo Bruni's avatar
      [tools][system-analyzer] Improve map stats panel · 9c10bfec
      Camillo Bruni authored
      - Introduce LazyTable that only shows the first 100 entries and can
        lazily expand
      - Make StatsPanel.update method async to not block the UI
      - Show "Total" entry as last item in StatsPanel tables
      - Fix StatsPanel table entries text alignment
      - Remove unused getters from StatsPanel class
      
      Drive-by-fix:
      - MapPanel._displayedMapsInTree is undefined when expanding to
        a sub-transition tree
      
      Bug: v8:10644
      Change-Id: I5ce7c8b1ee825515cf790a3e52534c3069d8be89
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507716
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70903}
      9c10bfec
  26. 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
  27. 27 Oct, 2020 1 commit
  28. 19 Oct, 2020 1 commit
  29. 28 Aug, 2020 1 commit
  30. 20 Aug, 2020 1 commit
  31. 28 Jul, 2020 2 commits
  32. 22 Jul, 2020 1 commit
  33. 16 Jul, 2020 1 commit