jmc
jmc copied to clipboard
6757: Selector for attribute in the flame graph
Add support for aggregating flamegraph by custom attribute.
Available attributes are chosen by their content type (number or memory).

Added support on StacktraceView:
Progress
- [x] Commit message must refer to an issue
- [ ] Change must be properly reviewed (1 review required, with at least 1 committer)
Issue
- JMC-6757: Selector for attribute in the flame graph
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jmc pull/365/head:pull/365
$ git checkout pull/365
Update a local copy of the PR:
$ git checkout pull/365
$ git pull https://git.openjdk.java.net/jmc pull/365/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 365
View PR using the GUI difftool:
$ git pr show -t 365
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jmc/pull/365.diff
:wave: Welcome back jpbempel! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
Webrevs
- 03: Full - Incremental (a8badd6e)
- 02: Full - Incremental (05a33c30)
- 01: Full - Incremental (b2e48e13)
- 00: Full (62b7c4d2)
Great work!
A few general comments:
- When selecting an attribute only present in certain event types, perhaps it would make sense to first filter on those types? Now the source event count will remain the same, even when only a few events actually has the attribute in question.
- Perhaps "Samples" should always be on the top of the menu, with a delimiter after, and with a small description. E.g. Samples (Event Count).
Do we want to not even show attributes that only exist in event types that do not have stacktraces? Or perhaps at least sort those attributes under its own subgroup or after a delimiter? Either way, I think it's fine to take this PR once the last copyright fix is in. We can take any changes to what attributes are shown as a separate improvement.
@jpbempel This change now passes all automated pre-integration checks.
ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.
After integration, the commit message for the final commit will be:
6757: Selector for attribute in the flame graph
Reviewed-by: hirt
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.
At the time when this comment was updated there had been 19 new commits pushed to the master branch:
- c03822bdc231003d30b7f7df42ca44b2ae6cd78f: 7096: Bring back Object statistics table for heap.
- f573b72d7a4d9d4bd8b57b77554caf10a36423a8: 7874: Update thirdpartyreadme.txt file for upgraded third party libraries
- 195d32c00510f28b77756a7f262af5877d371606: 7872: Adding artifacts to third-party pom file, which are not getting resolved by maven
- b9d1f1e65a5f53489c4bbfa410d2b7cea288ccaa: 7831: Add new view for hierarchical edge bundling
- 266643e4f305ce1ce7fc981cd3f1998119f47455: 7820: Add validations for master password
- eabb8615a3f73360626374748b36324f77a6cef3: 7862: Platform-definitions-2022-06.target file has space in pde version
- 591d7b6b8e291d57426aed80715c743bf947cddc: 7860: Upgrade d3-flame-graph in github to 4.1.3
- 7606e1c4fdbe9a3f1745ef4d2b5f8403e25484af: 7858: Upgrade jetty.project in github to 10.0.11
- e65b5fe601fab4b8417ed23b28971d7061dc5aab: 7243: Resolve discrepancy between JDK attributes coming from different JDK versions
- b5e03c6761aaf70e21374068d5fb6a4a4ad8d4f2: 7856: Fix errors in Eclipse projects after JMC-7769
- ... and 9 more: https://git.openjdk.org/jmc/compare/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af...master
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.
/integrate
Going to push as commit 9a46d3ec54e80d310b27b73ceb4c84deda9ead47.
Since your change was applied there have been 19 commits pushed to the master branch:
- c03822bdc231003d30b7f7df42ca44b2ae6cd78f: 7096: Bring back Object statistics table for heap.
- f573b72d7a4d9d4bd8b57b77554caf10a36423a8: 7874: Update thirdpartyreadme.txt file for upgraded third party libraries
- 195d32c00510f28b77756a7f262af5877d371606: 7872: Adding artifacts to third-party pom file, which are not getting resolved by maven
- b9d1f1e65a5f53489c4bbfa410d2b7cea288ccaa: 7831: Add new view for hierarchical edge bundling
- 266643e4f305ce1ce7fc981cd3f1998119f47455: 7820: Add validations for master password
- eabb8615a3f73360626374748b36324f77a6cef3: 7862: Platform-definitions-2022-06.target file has space in pde version
- 591d7b6b8e291d57426aed80715c743bf947cddc: 7860: Upgrade d3-flame-graph in github to 4.1.3
- 7606e1c4fdbe9a3f1745ef4d2b5f8403e25484af: 7858: Upgrade jetty.project in github to 10.0.11
- e65b5fe601fab4b8417ed23b28971d7061dc5aab: 7243: Resolve discrepancy between JDK attributes coming from different JDK versions
- b5e03c6761aaf70e21374068d5fb6a4a4ad8d4f2: 7856: Fix errors in Eclipse projects after JMC-7769
- ... and 9 more: https://git.openjdk.org/jmc/compare/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af...master
Your commit was automatically rebased without conflicts.
@jpbempel Pushed as commit 9a46d3ec54e80d310b27b73ceb4c84deda9ead47.
:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.