From vpurnam at openjdk.org Fri Jun 2 06:04:19 2023 From: vpurnam at openjdk.org (Virag Purnam) Date: Fri, 2 Jun 2023 06:04:19 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin Message-ID: There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. Issue Issue has been addressed by ignoring the execution. --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. ------------- Commit messages: - 8079: Issue in Dev environment due to maven-checkstyle-plugin Changes: https://git.openjdk.org/jmc/pull/490/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=490&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8079 Stats: 41 lines in 3 files changed: 41 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/490.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/490/head:pull/490 PR: https://git.openjdk.org/jmc/pull/490 From aptmac at openjdk.org Mon Jun 5 13:54:14 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 5 Jun 2023 13:54:14 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin In-Reply-To: References: Message-ID: On Fri, 2 Jun 2023 05:58:04 GMT, Virag Purnam wrote: > There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. > > > Issue > > > > Issue has been addressed by ignoring the execution. > --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. Looks good to me, although the removal of `org.eclipse.jdt.core.prefs` was intentional as of https://github.com/openjdk/jmc/pull/489. ------------- PR Comment: https://git.openjdk.org/jmc/pull/490#issuecomment-1576847203 From clanger at openjdk.org Mon Jun 5 14:37:14 2023 From: clanger at openjdk.org (Christoph Langer) Date: Mon, 5 Jun 2023 14:37:14 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin In-Reply-To: References: Message-ID: On Fri, 2 Jun 2023 05:58:04 GMT, Virag Purnam wrote: > There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. > > > Issue > > > > Issue has been addressed by ignoring the execution. > --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. Yes, could you please remove the org.eclipse.jdt.core.prefs file from this PR? Or do you have a hard reason for adding it back? Other than that, looks good. I'm aware of this issue and currently working on cleaning up some stuff in the pom.xml files, which would have included exactly this setting as well. :) ------------- Changes requested by clanger (Committer). PR Review: https://git.openjdk.org/jmc/pull/490#pullrequestreview-1462699893 From vpurnam at openjdk.org Tue Jun 6 05:06:18 2023 From: vpurnam at openjdk.org (Virag Purnam) Date: Tue, 6 Jun 2023 05:06:18 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin [v2] In-Reply-To: References: Message-ID: > There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. > > > Issue > > > > Issue has been addressed by ignoring the execution. > --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. Virag Purnam has updated the pull request incrementally with one additional commit since the last revision: 8079: Issue in Dev environment due to maven-checkstyle-plugin ------------- Changes: - all: https://git.openjdk.org/jmc/pull/490/files - new: https://git.openjdk.org/jmc/pull/490/files/e4b03ebb..79ce7171 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=490&range=01 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=490&range=00-01 Stats: 15 lines in 1 file changed: 0 ins; 15 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/490.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/490/head:pull/490 PR: https://git.openjdk.org/jmc/pull/490 From vpurnam at openjdk.org Tue Jun 6 05:08:58 2023 From: vpurnam at openjdk.org (Virag Purnam) Date: Tue, 6 Jun 2023 05:08:58 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin [v2] In-Reply-To: References: Message-ID: On Mon, 5 Jun 2023 14:34:59 GMT, Christoph Langer wrote: >> Virag Purnam has updated the pull request incrementally with one additional commit since the last revision: >> >> 8079: Issue in Dev environment due to maven-checkstyle-plugin > > Yes, could you please remove the `org.eclipse.jdt.core.prefs` file from this PR? Or do you have a hard reason for adding it back? Other than that, looks good. I'm aware of this issue and currently working on cleaning up some stuff in the pom.xml files, which would have included exactly this setting as well. :) > > Update: I read the PR description once more and I think you wanted to address the --release issue by adding back `org.eclipse.jdt.core.prefs` again. But I found that this does not work. Importing the project in Eclipse or doing "Update Maven project" would reset/rewrite the prefs file. So that's why it is of no use having it in the source tree and it should be removed. Hi @RealCLanger, Thanks for the comment. Yes, it reset/rewrite the prefs file. I missed this point during testing. I have removed `\application\org.openjdk.jmc.browser.attach.settings\org.eclipse.jdt.core.prefs` file in latest commit. ------------- PR Comment: https://git.openjdk.org/jmc/pull/490#issuecomment-1577913276 From clanger at openjdk.org Tue Jun 6 07:31:04 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 6 Jun 2023 07:31:04 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin [v2] In-Reply-To: References: Message-ID: On Tue, 6 Jun 2023 05:06:18 GMT, Virag Purnam wrote: >> There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. >> >> >> Issue >> >> >> >> Issue has been addressed by ignoring the execution. >> --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. > > Virag Purnam has updated the pull request incrementally with one additional commit since the last revision: > > 8079: Issue in Dev environment due to maven-checkstyle-plugin Looks good now. ------------- Marked as reviewed by clanger (Committer). PR Review: https://git.openjdk.org/jmc/pull/490#pullrequestreview-1464466239 From aptmac at openjdk.org Tue Jun 6 10:59:01 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Tue, 6 Jun 2023 10:59:01 GMT Subject: RFR: 8079: Issue in Dev environment due to maven-checkstyle-plugin [v2] In-Reply-To: References: Message-ID: On Tue, 6 Jun 2023 05:06:18 GMT, Virag Purnam wrote: >> There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. >> >> >> Issue >> >> >> >> Issue has been addressed by ignoring the execution. >> --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. > > Virag Purnam has updated the pull request incrementally with one additional commit since the last revision: > > 8079: Issue in Dev environment due to maven-checkstyle-plugin Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/490#pullrequestreview-1464901789 From vpurnam at openjdk.org Tue Jun 6 12:10:59 2023 From: vpurnam at openjdk.org (Virag Purnam) Date: Tue, 6 Jun 2023 12:10:59 GMT Subject: Integrated: 8079: Issue in Dev environment due to maven-checkstyle-plugin In-Reply-To: References: Message-ID: On Fri, 2 Jun 2023 05:58:04 GMT, Virag Purnam wrote: > There was any issue in dev environment of eclipse IDE after introducing **maven-checkstyle-plugin**. Refer the screen shot below. > > > Issue > > > > Issue has been addressed by ignoring the execution. > --release issue has been addressed too with this commit. Committed the **application/org.openjdk.jmc.browser.attach/.settings/org.eclipse.jdt.core.prefs** file. This pull request has now been integrated. Changeset: 7324e965 Author: Virag Purnam URL: https://git.openjdk.org/jmc/commit/7324e965b56d78ebfcf51b3a3e1ba0ff780d583e Stats: 26 lines in 2 files changed: 26 ins; 0 del; 0 mod 8079: Issue in Dev environment due to maven-checkstyle-plugin Reviewed-by: clanger, aptmac ------------- PR: https://git.openjdk.org/jmc/pull/490 From schaturvedi at openjdk.org Tue Jun 6 17:07:21 2023 From: schaturvedi at openjdk.org (Suchita Chaturvedi) Date: Tue, 6 Jun 2023 17:07:21 GMT Subject: RFR: 8055: Improvement in stacktrace view for Duration [v6] In-Reply-To: References: Message-ID: > 1. Added a new column for Duration. It will be populated only when the "Show Duration" toggle icon is clicked. Not by default. > 2. Fixed NaN issue for screens where duration is not present. > 3. Added timeunit to make tooltip more meaningful. > > Please refer JIRA description for more details. Suchita Chaturvedi has updated the pull request incrementally with one additional commit since the last revision: Implemented the review comments to handle ticks better ------------- Changes: - all: https://git.openjdk.org/jmc/pull/475/files - new: https://git.openjdk.org/jmc/pull/475/files/29164453..5f715dd5 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=475&range=05 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=475&range=04-05 Stats: 18 lines in 1 file changed: 5 ins; 9 del; 4 mod Patch: https://git.openjdk.org/jmc/pull/475.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/475/head:pull/475 PR: https://git.openjdk.org/jmc/pull/475 From aptmac at openjdk.org Tue Jun 6 18:39:12 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Tue, 6 Jun 2023 18:39:12 GMT Subject: RFR: 8055: Improvement in stacktrace view for Duration [v6] In-Reply-To: References: Message-ID: <1dcKRKTuB4wcFVI8RGu-OOOUWG8-Ot2x9GDRjQtFzfk=.6c1deaa9-9a0a-4963-93f7-e2cd6e1e35e7@github.com> On Tue, 6 Jun 2023 17:07:21 GMT, Suchita Chaturvedi wrote: >> 1. Added a new column for Duration. It will be populated only when the "Show Duration" toggle icon is clicked. Not by default. >> 2. Fixed NaN issue for screens where duration is not present. >> 3. Added timeunit to make tooltip more meaningful. >> >> Please refer JIRA description for more details. > > Suchita Chaturvedi has updated the pull request incrementally with one additional commit since the last revision: > > Implemented the review comments to handle ticks better This is looking a lot better on my end now, thanks for making the changes. I have a couple of points around formatting but otherwise the functionality looks good. application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java line 993: > 991: > 992: private String formatDuration(long duration) { > 993: Duration rawDuration = null; `Duration.ofNanos()` will not return null [[0]](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html#ofNanos(long)), so there's no need for a null check below, and it should be okay to just make `Duration rawDuration = Duration.ofNanos(duration);` [0] https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html#ofNanos(long) application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/views/stacktrace/StacktraceView.java line 997: > 995: rawDuration = Duration.ofNanos(duration); > 996: if (rawDuration != null) { > 997: formattedTime = String.format("%d h %d m %d s %d ms %d ns", rawDuration.toHoursPart(), Could just return this and remove the need of `String formattedTime` ------------- PR Review: https://git.openjdk.org/jmc/pull/475#pullrequestreview-1465778613 PR Review Comment: https://git.openjdk.org/jmc/pull/475#discussion_r1220084455 PR Review Comment: https://git.openjdk.org/jmc/pull/475#discussion_r1220085960 From schaturvedi at openjdk.org Tue Jun 6 19:38:54 2023 From: schaturvedi at openjdk.org (Suchita Chaturvedi) Date: Tue, 6 Jun 2023 19:38:54 GMT Subject: RFR: 8055: Improvement in stacktrace view for Duration [v7] In-Reply-To: References: Message-ID: > 1. Added a new column for Duration. It will be populated only when the "Show Duration" toggle icon is clicked. Not by default. > 2. Fixed NaN issue for screens where duration is not present. > 3. Added timeunit to make tooltip more meaningful. > > Please refer JIRA description for more details. Suchita Chaturvedi has updated the pull request incrementally with one additional commit since the last revision: Removed null check for Duration ------------- Changes: - all: https://git.openjdk.org/jmc/pull/475/files - new: https://git.openjdk.org/jmc/pull/475/files/5f715dd5..dfed0370 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=475&range=06 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=475&range=05-06 Stats: 9 lines in 1 file changed: 0 ins; 6 del; 3 mod Patch: https://git.openjdk.org/jmc/pull/475.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/475/head:pull/475 PR: https://git.openjdk.org/jmc/pull/475 From aptmac at openjdk.org Tue Jun 6 19:38:55 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Tue, 6 Jun 2023 19:38:55 GMT Subject: RFR: 8055: Improvement in stacktrace view for Duration [v7] In-Reply-To: References: Message-ID: On Tue, 6 Jun 2023 19:33:18 GMT, Suchita Chaturvedi wrote: >> 1. Added a new column for Duration. It will be populated only when the "Show Duration" toggle icon is clicked. Not by default. >> 2. Fixed NaN issue for screens where duration is not present. >> 3. Added timeunit to make tooltip more meaningful. >> >> Please refer JIRA description for more details. > > Suchita Chaturvedi has updated the pull request incrementally with one additional commit since the last revision: > > Removed null check for Duration Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/475#pullrequestreview-1465932516 From schaturvedi at openjdk.org Tue Jun 6 20:07:04 2023 From: schaturvedi at openjdk.org (Suchita Chaturvedi) Date: Tue, 6 Jun 2023 20:07:04 GMT Subject: Integrated: 8055: Improvement in stacktrace view for Duration In-Reply-To: References: Message-ID: On Thu, 9 Mar 2023 21:36:14 GMT, Suchita Chaturvedi wrote: > 1. Added a new column for Duration. It will be populated only when the "Show Duration" toggle icon is clicked. Not by default. > 2. Fixed NaN issue for screens where duration is not present. > 3. Added timeunit to make tooltip more meaningful. > > Please refer JIRA description for more details. This pull request has now been integrated. Changeset: 1163ef89 Author: Suchita Chaturvedi URL: https://git.openjdk.org/jmc/commit/1163ef8990c57680d552ebf3c730dce065242d43 Stats: 58 lines in 3 files changed: 39 ins; 0 del; 19 mod 8055: Improvement in stacktrace view for Duration Reviewed-by: bdutheil, clanger, vpurnam, aptmac ------------- PR: https://git.openjdk.org/jmc/pull/475 From hirt at openjdk.org Wed Jun 7 17:29:21 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Wed, 7 Jun 2023 17:29:21 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization In-Reply-To: References: Message-ID: On Tue, 27 Sep 2022 14:40:51 GMT, Brice Dutheil wrote: >> Do we want to still provide both variants, or simply replace the web based one with the Java based one? > >> Do we want to still provide both variants, or simply replace the web based one with the Java based one? > > No I believe the web variant should be eventually removed. But I think it's better to do that later. Hi @bric3! Seems the pre-submit tests fail on check style stuff, can you please take a look. ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1581230050 From hdafgard at openjdk.org Wed Jun 7 17:36:45 2023 From: hdafgard at openjdk.org (Henrik =?UTF-8?B?RGFmZ8OlcmQ=?=) Date: Wed, 7 Jun 2023 17:36:45 GMT Subject: RFR: 5641: Rule that looks at G1 MMU Information In-Reply-To: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> References: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> Message-ID: On Fri, 26 May 2023 20:37:46 GMT, Alex Macdonald wrote: > This PR addresses JMC-5641 [[0]](https://bugs.openjdk.org/browse/JMC-5641), in which it would be nice to have a rule that looks at g1mmu information. Specifically, the issue makes note that this rule should compare gcTime of pauses and check if the pause time is over the target. > > Example result when okay: > ![g1mmu_okay](https://github.com/openjdk/jmc/assets/10425301/7b371027-d992-4d70-84fe-f8ad9ffb4088) > > Example result when warning: > ![g1mmu_warning](https://github.com/openjdk/jmc/assets/10425301/15803bc4-2d4f-4e53-9944-c97347564e39) > > [0] https://bugs.openjdk.org/browse/JMC-5641 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/GcPauseTargetRule.java line 120: > 118: } > 119: } > 120: } I'd prefer that we use a filter on the g1mmuItems that applies a comparison filter. E.g. ItemFilters.buildComparisonFilter(Kind.MORE, JdkAttributes.GC_TIME, pauseTarget) and then count the events in the resulting IItemCollection using an aggregator. ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/488#discussion_r1221954243 From hdafgard at openjdk.org Wed Jun 7 17:36:57 2023 From: hdafgard at openjdk.org (Henrik =?UTF-8?B?RGFmZ8OlcmQ=?=) Date: Wed, 7 Jun 2023 17:36:57 GMT Subject: RFR: 8064: Typo in agent wizard In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 23:30:23 GMT, Marius Volkhart wrote: > prset -> preset I've created an issue for this in JIRA, please change the PR title to "8064: Typo in agent wizard" ------------- PR Comment: https://git.openjdk.org/jmc/pull/474#issuecomment-1498748887 From hdafgard at openjdk.org Wed Jun 7 17:37:15 2023 From: hdafgard at openjdk.org (Henrik =?UTF-8?B?RGFmZ8OlcmQ=?=) Date: Wed, 7 Jun 2023 17:37:15 GMT Subject: RFR: 8064: Typo in agent wizard In-Reply-To: References: Message-ID: <9vkwJH0HQigiHWJo4LCdPHa-ZIVTWcFq7QbZAEF6EmE=.efec6de9-1af2-4364-a340-3af254c9c0a0@github.com> On Thu, 2 Mar 2023 23:30:23 GMT, Marius Volkhart wrote: > prset -> preset Marked as reviewed by hdafgard (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/474#pullrequestreview-1468240656 From duke at openjdk.org Wed Jun 7 17:36:55 2023 From: duke at openjdk.org (Marius Volkhart) Date: Wed, 7 Jun 2023 17:36:55 GMT Subject: RFR: 8064: Typo in agent wizard Message-ID: prset -> preset ------------- Commit messages: - Fix typo in editor message Changes: https://git.openjdk.org/jmc/pull/474/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=474&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8064 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jmc/pull/474.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/474/head:pull/474 PR: https://git.openjdk.org/jmc/pull/474 From aptmac at openjdk.org Wed Jun 7 18:21:17 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Wed, 7 Jun 2023 18:21:17 GMT Subject: RFR: 5641: Rule that looks at G1 MMU Information [v2] In-Reply-To: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> References: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> Message-ID: > This PR addresses JMC-5641 [[0]](https://bugs.openjdk.org/browse/JMC-5641), in which it would be nice to have a rule that looks at g1mmu information. Specifically, the issue makes note that this rule should compare gcTime of pauses and check if the pause time is over the target. > > Example result when okay: > ![g1mmu_okay](https://github.com/openjdk/jmc/assets/10425301/7b371027-d992-4d70-84fe-f8ad9ffb4088) > > Example result when warning: > ![g1mmu_warning](https://github.com/openjdk/jmc/assets/10425301/15803bc4-2d4f-4e53-9944-c97347564e39) > > [0] https://bugs.openjdk.org/browse/JMC-5641 Alex Macdonald has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge branch 'master' of https://git.openjdk.org/jmc into 5641 - use a comparison filter for determining number of exceeded events - 5641: Rule that looks at G1 MMU Information ------------- Changes: - all: https://git.openjdk.org/jmc/pull/488/files - new: https://git.openjdk.org/jmc/pull/488/files/7a882610..9bccee97 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=488&range=01 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=488&range=00-01 Stats: 513 lines in 110 files changed: 281 ins; 184 del; 48 mod Patch: https://git.openjdk.org/jmc/pull/488.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/488/head:pull/488 PR: https://git.openjdk.org/jmc/pull/488 From aptmac at openjdk.org Wed Jun 7 19:10:14 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Wed, 7 Jun 2023 19:10:14 GMT Subject: RFR: 5641: Rule that looks at G1 MMU Information [v3] In-Reply-To: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> References: <0fQBrvIehB0SqFVR7Gg2M09PexKitUZK_wCNSH63DR0=.3e7dd7f1-e00a-4e63-a9c0-a31aee1df736@github.com> Message-ID: <2QlHFGy9wbPoy5WZG0dfpZgllodTTOKN_kff6zaXq9k=.8135eeef-e08a-4e39-bbdc-4af1da5c56ae@github.com> > This PR addresses JMC-5641 [[0]](https://bugs.openjdk.org/browse/JMC-5641), in which it would be nice to have a rule that looks at g1mmu information. Specifically, the issue makes note that this rule should compare gcTime of pauses and check if the pause time is over the target. > > Example result when okay: > ![g1mmu_okay](https://github.com/openjdk/jmc/assets/10425301/7b371027-d992-4d70-84fe-f8ad9ffb4088) > > Example result when warning: > ![g1mmu_warning](https://github.com/openjdk/jmc/assets/10425301/15803bc4-2d4f-4e53-9944-c97347564e39) > > [0] https://bugs.openjdk.org/browse/JMC-5641 Alex Macdonald has updated the pull request incrementally with one additional commit since the last revision: run spotless:apply ------------- Changes: - all: https://git.openjdk.org/jmc/pull/488/files - new: https://git.openjdk.org/jmc/pull/488/files/9bccee97..b82853cf Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=488&range=02 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=488&range=01-02 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jmc/pull/488.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/488/head:pull/488 PR: https://git.openjdk.org/jmc/pull/488 From bdutheil at openjdk.org Wed Jun 7 19:36:10 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Wed, 7 Jun 2023 19:36:10 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v9] In-Reply-To: References: Message-ID: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: fix: Unused import ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/fce36a5b..f46724e0 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=08 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=07-08 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From bdutheil at openjdk.org Wed Jun 7 21:18:10 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Wed, 7 Jun 2023 21:18:10 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v10] In-Reply-To: References: Message-ID: <_Yj6_AQpysmC_-aO8BgipkrYQLBnjRqrVJwn7IHtVq4=.12812d35-cb06-48a3-92ef-7bc364b23922@github.com> > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: chore: Update code to JDK17 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/f46724e0..ef2988e3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=09 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=08-09 Stats: 543 lines in 1 file changed: 17 ins; 12 del; 514 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From clanger at openjdk.org Wed Jun 7 22:07:55 2023 From: clanger at openjdk.org (Christoph Langer) Date: Wed, 7 Jun 2023 22:07:55 GMT Subject: RFR: 8064: Typo in agent wizard In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 23:30:23 GMT, Marius Volkhart wrote: > prset -> preset Marked as reviewed by clanger (Committer). ------------- PR Review: https://git.openjdk.org/jmc/pull/474#pullrequestreview-1468653962 From hirt at openjdk.org Thu Jun 8 00:21:52 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Thu, 8 Jun 2023 00:21:52 GMT Subject: RFR: 8064: Typo in agent wizard In-Reply-To: References: Message-ID: On Thu, 2 Mar 2023 23:30:23 GMT, Marius Volkhart wrote: > prset -> preset Hi @MariusVolkhart! Please type /integrate in a new comment to integrate your PR. ------------- PR Comment: https://git.openjdk.org/jmc/pull/474#issuecomment-1581690428 From bdutheil at openjdk.org Thu Jun 8 08:14:55 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 08:14:55 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v11] In-Reply-To: References: Message-ID: <9uCGl5dZxeruhZVvWahmRGnKRrWxYhkXUfsqdYqWJOM=.248044cc-31ec-4e15-a2f1-f7aa8ea5a11b@github.com> > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: Fix spotless issues ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/ef2988e3..8daa15a5 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=10 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=09-10 Stats: 457 lines in 2 files changed: 0 ins; 14 del; 443 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From bdutheil at openjdk.org Thu Jun 8 08:53:59 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 08:53:59 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization In-Reply-To: References: Message-ID: On Wed, 7 Jun 2023 17:19:41 GMT, Marcus Hirt wrote: >>> Do we want to still provide both variants, or simply replace the web based one with the Java based one? >> >> No I believe the web variant should be eventually removed. But I think it's better to do that later. > > Hi @bric3! Seems the pre-submit tests fail on check style stuff, can you please take a look. @thegreystone Done ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1582164033 From aptmac at openjdk.org Thu Jun 8 14:08:24 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 8 Jun 2023 14:08:24 GMT Subject: RFR: 8080: Add support for enabling jfr on native images Message-ID: This PR addresses JMC-8080 [[0]](https://bugs.openjdk.org/browse/JMC-8080), in which it would be nice to add support for enabling flight recorder on GraalVM native images. Currently, trying to use the flight recording wizard on a connected native image ends up with an error dialog: ![native-image](https://github.com/openjdk/jmc/assets/10425301/a04b49db-922c-451e-89d8-0cc951e3bbda) The proposed solution here adds checks to determine if the vm is of type Substrate VM, and check if there is a flightrecording mbean registered. [0] https://bugs.openjdk.org/browse/JMC-8080 ------------- Commit messages: - 8080: Add support for enabling jfr on native images Changes: https://git.openjdk.org/jmc/pull/491/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=491&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8080 Stats: 72 lines in 6 files changed: 65 ins; 0 del; 7 mod Patch: https://git.openjdk.org/jmc/pull/491.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/491/head:pull/491 PR: https://git.openjdk.org/jmc/pull/491 From aptmac at openjdk.org Thu Jun 8 14:43:07 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 8 Jun 2023 14:43:07 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v11] In-Reply-To: <9uCGl5dZxeruhZVvWahmRGnKRrWxYhkXUfsqdYqWJOM=.248044cc-31ec-4e15-a2f1-f7aa8ea5a11b@github.com> References: <9uCGl5dZxeruhZVvWahmRGnKRrWxYhkXUfsqdYqWJOM=.248044cc-31ec-4e15-a2f1-f7aa8ea5a11b@github.com> Message-ID: On Thu, 8 Jun 2023 08:14:55 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: > > Fix spotless issues Minor nits, it looks like there's a couple instances of `JavaSE-11` that could be updated to 17, and the license headers will need to be updated to 2023. The UI is snappy and it feels really nice to use. I'm not sure what's happened recently, but I feel like my swt browser has gotten slower with each eclipse release, this was a breath of fresh air. I do have a couple of things to note here. - I'd have to take a bit more a look if it's just me, but I don't have any tooltips displayed when hovering the graph lanes. - Maybe there's a way to distinguish this new flame view from the old one? When adding it to the view it might not be intuitive which one to pick, "Flame View vs. Flame Graph View" - The save feature is saving an empty file for me ![empty-picture](https://github.com/openjdk/jmc/assets/10425301/a1576276-96f6-4d4f-91eb-ec6fe0cffbec) I do have a couple questions about the fireplace dependency too. - It looks like you've tagged a rc5 on your repo, should this PR be updated to include that latest version? - What is the future for this dependency? Could it be hosted on something like maven central? Just thinking about potential vendor builds & releases of JMC and the validity pulling rc tags from GitHub. application/org.openjdk.jmc.flightrecorder.flamegraph/.classpath line 5: > 3: > 4: > 5: With the recent updates I think this should be updated to: `JavaSE-17` ? application/org.openjdk.jmc.flightrecorder.flamegraph/META-INF/MANIFEST.MF line 17: > 15: fireplace-swing-animation, > 16: radiance-animation > 17: Bundle-RequiredExecutionEnvironment: JavaSE-11 Same as above, `JavaSE-17` ? application/org.openjdk.jmc.flightrecorder.flamegraph/plugin.properties line 2: > 1: # > 2: # Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. Update the license headers to 2023 ------------- Changes requested by aptmac (Reviewer). PR Review: https://git.openjdk.org/jmc/pull/408#pullrequestreview-1470014903 PR Review Comment: https://git.openjdk.org/jmc/pull/408#discussion_r1223105308 PR Review Comment: https://git.openjdk.org/jmc/pull/408#discussion_r1223106010 PR Review Comment: https://git.openjdk.org/jmc/pull/408#discussion_r1223106562 From bdutheil at openjdk.org Thu Jun 8 14:50:00 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 14:50:00 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v11] In-Reply-To: References: <9uCGl5dZxeruhZVvWahmRGnKRrWxYhkXUfsqdYqWJOM=.248044cc-31ec-4e15-a2f1-f7aa8ea5a11b@github.com> Message-ID: On Thu, 8 Jun 2023 14:13:48 GMT, Alex Macdonald wrote: >> Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix spotless issues > > application/org.openjdk.jmc.flightrecorder.flamegraph/.classpath line 5: > >> 3: >> 4: >> 5: > > With the recent updates I think this should be updated to: `JavaSE-17` ? Ah I missed those, strange ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/408#discussion_r1223152095 From bdutheil at openjdk.org Thu Jun 8 15:09:28 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 15:09:28 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v12] In-Reply-To: References: Message-ID: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with two additional commits since the last revision: - Bump copright year to 2023 - Use JavaSE-17 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/8daa15a5..619d04bf Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=11 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=10-11 Stats: 27 lines in 15 files changed: 0 ins; 0 del; 27 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From aptmac at openjdk.org Thu Jun 8 15:40:02 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 8 Jun 2023 15:40:02 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v12] In-Reply-To: References: Message-ID: <4XyqZw_ti0eaQwBklSvf3uzxHTlhvcS0LpQu5lXlAPU=.0b5c85a8-6d14-401d-b95e-2287918ab7c6@github.com> On Thu, 8 Jun 2023 15:09:28 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with two additional commits since the last revision: > > - Bump copright year to 2023 > - Use JavaSE-17 Hm, potentially disregard my review comment about the tooltip. It shows up when I launch JMC through Eclipse as an RCP application, but isn't showing up when run a locally built JMC. application/org.openjdk.jmc.flightrecorder.flamegraph/src/main/java/org/openjdk/jmc/flightrecorder/flamegraph/views/FlamegraphSwingView.java line 423: > 421: > 422: // done here to avoid SWT complain about wrong thread > 423: var embedSize = embeddingComposite.getSize(); This variable isn't used anywhere Er, disergard that too, just noticed the comment above it. ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1582840054 PR Review Comment: https://git.openjdk.org/jmc/pull/408#discussion_r1223220739 From bdutheil at openjdk.org Thu Jun 8 19:18:51 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 19:18:51 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v12] In-Reply-To: References: Message-ID: On Thu, 8 Jun 2023 15:09:28 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with two additional commits since the last revision: > > - Bump copright year to 2023 > - Use JavaSE-17 1. > I'd have to take a bit more a look if it's just me, but I don't have any tooltips displayed when hovering the graph lanes. Those are showing fine on macOs, regardless it's an eclipse plugin or a standalone app. I don't have a windows under the hod so I don't know. 2. > Maybe there's a way to distinguish this new flame view from the old one? When adding it to the view it might not be intuitive which one to pick, "Flame View vs. Flame Graph View" I think the view should replace the old one at some point. Currently I think the view should be tested to see what's missing before make it a "drop-in" replacement. 3. > The save feature is saving an empty file for me. Well spotted this only happens on the jpeg format, png works fine. ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1583197872 From bdutheil at openjdk.org Thu Jun 8 20:02:40 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 20:02:40 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v13] In-Reply-To: References: Message-ID: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: fix: Saving flamegraph to JPG ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/619d04bf..780a2765 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=12 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=11-12 Stats: 28 lines in 1 file changed: 21 ins; 2 del; 5 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From bdutheil at openjdk.org Thu Jun 8 20:11:09 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 20:11:09 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v14] In-Reply-To: References: Message-ID: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: fix: Use tabs ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/780a2765..e519f093 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=13 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=12-13 Stats: 109 lines in 1 file changed: 0 ins; 0 del; 109 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From bdutheil at openjdk.org Thu Jun 8 20:25:52 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 20:25:52 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v12] In-Reply-To: <4XyqZw_ti0eaQwBklSvf3uzxHTlhvcS0LpQu5lXlAPU=.0b5c85a8-6d14-401d-b95e-2287918ab7c6@github.com> References: <4XyqZw_ti0eaQwBklSvf3uzxHTlhvcS0LpQu5lXlAPU=.0b5c85a8-6d14-401d-b95e-2287918ab7c6@github.com> Message-ID: On Thu, 8 Jun 2023 15:34:50 GMT, Alex Macdonald wrote: >> Brice Dutheil has updated the pull request incrementally with two additional commits since the last revision: >> >> - Bump copright year to 2023 >> - Use JavaSE-17 > > Hm, potentially disregard my review comment about the tooltip. It shows up when I launch JMC through Eclipse as an RCP application, but isn't showing up when run a locally built JMC. @aptmac JPG Image saving is fixed. 1. > It looks like you've tagged a rc5 on your repo, should this PR be updated to include that latest version? I'd rather not as RC5 has an issue when resizing. And I didn't had the time to fix it properly. I wasn't expecting this issue to require so much involvement. Ideally I would like to fix this at some point before reaching a the next RC and ultimately the stable version. 2. > What is the future for this dependency? Could it be hosted on something like maven central? Just thinking about potential vendor builds & releases of JMC and the validity pulling rc tags from GitHub. Currently the libraries are uploaded to [central](https://central.sonatype.com/artifact/io.github.bric3.fireplace/fireplace-swing/) (if they are at least _release candidates_). ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1583289037 From bdutheil at openjdk.org Thu Jun 8 20:45:33 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 8 Jun 2023 20:45:33 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v15] In-Reply-To: References: Message-ID: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: fix: Make spotless happy ------------- Changes: - all: https://git.openjdk.org/jmc/pull/408/files - new: https://git.openjdk.org/jmc/pull/408/files/e519f093..56ccc484 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=14 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=408&range=13-14 Stats: 20 lines in 1 file changed: 2 ins; 0 del; 18 mod Patch: https://git.openjdk.org/jmc/pull/408.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/408/head:pull/408 PR: https://git.openjdk.org/jmc/pull/408 From hirt at openjdk.org Thu Jun 8 22:42:51 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Thu, 8 Jun 2023 22:42:51 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v15] In-Reply-To: References: Message-ID: On Thu, 8 Jun 2023 20:45:33 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: > > fix: Make spotless happy Changes requested by hirt (Lead). application/org.openjdk.jmc.feature.flightrecorder/feature.xml line 3: > 1: > 2: > 81: 3.3.0 Overall the changes look good to me, but while you're here changing the pom, what are your thoughts on alphabetical ordering the plugins? ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/496#discussion_r1229674304 From clanger at openjdk.org Wed Jun 14 18:06:08 2023 From: clanger at openjdk.org (Christoph Langer) Date: Wed, 14 Jun 2023 18:06:08 GMT Subject: RFR: 8090: Enhancements for agent pom In-Reply-To: <9gqwNyBd6bnJgjDv7fluaDLyfSgcgFa_JlRicKEL50A=.016c48c5-883e-42dd-a739-42ff64d1124d@github.com> References: <9gqwNyBd6bnJgjDv7fluaDLyfSgcgFa_JlRicKEL50A=.016c48c5-883e-42dd-a739-42ff64d1124d@github.com> Message-ID: On Wed, 14 Jun 2023 14:02:23 GMT, Alex Macdonald wrote: >> This is the cleanup for JMC agent in the sense of #495. >> >> It contains: >> - version bumps >> - URL updates >> - spotless integration > > agent/pom.xml line 81: > >> 79: ${project.basedir}/../configuration >> 80: >> 81: 3.3.0 > > Overall the changes look good to me, but while you're here changing the pom, what are your thoughts on alphabetical ordering the plugins? Well, alphabetical ordering could be an idea. Or maybe ordering in the order that plugins appear in the build - although this is difficult since certain plugins might appear in different phases. So, maybe alphabetical ordering would be good. But I would defer this to another PR. ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/496#discussion_r1229987831 From aptmac at openjdk.org Wed Jun 14 18:14:10 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Wed, 14 Jun 2023 18:14:10 GMT Subject: RFR: 8090: Enhancements for agent pom In-Reply-To: References: Message-ID: On Wed, 14 Jun 2023 08:19:56 GMT, Christoph Langer wrote: > This is the cleanup for JMC agent in the sense of #495. > > It contains: > - version bumps > - URL updates > - spotless integration Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/496#pullrequestreview-1480041107 From aptmac at openjdk.org Wed Jun 14 18:14:13 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Wed, 14 Jun 2023 18:14:13 GMT Subject: RFR: 8090: Enhancements for agent pom In-Reply-To: References: <9gqwNyBd6bnJgjDv7fluaDLyfSgcgFa_JlRicKEL50A=.016c48c5-883e-42dd-a739-42ff64d1124d@github.com> Message-ID: <_Dvr3Ju8Pq9ENb_jPSc9CL3T5aCwDS12J9ldWRQmCjc=.125c3a33-cd11-4d66-87bf-fa7f997e07ad@github.com> On Wed, 14 Jun 2023 18:03:03 GMT, Christoph Langer wrote: >> agent/pom.xml line 81: >> >>> 79: ${project.basedir}/../configuration >>> 80: >>> 81: 3.3.0 >> >> Overall the changes look good to me, but while you're here changing the pom, what are your thoughts on alphabetical ordering the plugins? > > Well, alphabetical ordering could be an idea. Or maybe ordering in the order that plugins appear in the build - although this is difficult since certain plugins might appear in different phases. So, maybe alphabetical ordering would be good. But I would defer this to another PR. I think ordering in order of how they appear in the build would be pretty nice too, although that might be difficult to maintain over time and adds an extra thing to keep in the back of the mind when adding new plugins. Alphabetical just came to mind because there have been a couple (many) of times where I've gone sifting through the poms to check for version numbers and thought it might be nice to have a consistent and organized way to do so. ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/496#discussion_r1229994456 From clanger at openjdk.org Wed Jun 14 18:22:05 2023 From: clanger at openjdk.org (Christoph Langer) Date: Wed, 14 Jun 2023 18:22:05 GMT Subject: RFR: 8090: Enhancements for agent pom In-Reply-To: <_Dvr3Ju8Pq9ENb_jPSc9CL3T5aCwDS12J9ldWRQmCjc=.125c3a33-cd11-4d66-87bf-fa7f997e07ad@github.com> References: <9gqwNyBd6bnJgjDv7fluaDLyfSgcgFa_JlRicKEL50A=.016c48c5-883e-42dd-a739-42ff64d1124d@github.com> <_Dvr3Ju8Pq9ENb_jPSc9CL3T5aCwDS12J9ldWRQmCjc=.125c3a33-cd11-4d66-87bf-fa7f997e07ad@github.com> Message-ID: <_NVfgGWDD9-OTrrOR2pkRpYReksdYXkYeGKDyGLcQBM=.55326c4f-fad3-47a1-95d8-e76b34c83b5c@github.com> On Wed, 14 Jun 2023 18:10:18 GMT, Alex Macdonald wrote: >> Well, alphabetical ordering could be an idea. Or maybe ordering in the order that plugins appear in the build - although this is difficult since certain plugins might appear in different phases. So, maybe alphabetical ordering would be good. But I would defer this to another PR. > > I think ordering in order of how they appear in the build would be pretty nice too, although that might be difficult to maintain over time and adds an extra thing to keep in the back of the mind when adding new plugins. Alphabetical just came to mind because there have been a couple (many) of times where I've gone sifting through the poms to check for version numbers and thought it might be nice to have a consistent and organized way to do so. OK, I keep this in mind and will maybe come up with a proposal that is consistent through all of the poms. ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/496#discussion_r1230004353 From clanger at openjdk.org Wed Jun 14 21:24:30 2023 From: clanger at openjdk.org (Christoph Langer) Date: Wed, 14 Jun 2023 21:24:30 GMT Subject: RFR: 8091: Refactoring for jmc/application Message-ID: The sibling PR to #495 for the non-core project. It cleans up the pom, bumping some versions and fixing URLs. The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. spotless is called as part of the main build lifecycle now. ------------- Commit messages: - JMC-8091 Changes: https://git.openjdk.org/jmc/pull/497/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=497&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8091 Stats: 1879 lines in 146 files changed: 69 ins; 213 del; 1597 mod Patch: https://git.openjdk.org/jmc/pull/497.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/497/head:pull/497 PR: https://git.openjdk.org/jmc/pull/497 From hirt at openjdk.org Wed Jun 14 22:23:16 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Wed, 14 Jun 2023 22:23:16 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v22] In-Reply-To: References: Message-ID: On Tue, 13 Jun 2023 08:11:14 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: > > fix: Copyright missed a comma Marked as reviewed by hirt (Lead). Unless someone is vehemently opposed, I'm okay with taking this one as is now (and file the tooltip problem as an issue). ------------- PR Review: https://git.openjdk.org/jmc/pull/408#pullrequestreview-1480393837 PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1592066976 From hirt at openjdk.org Wed Jun 14 22:26:17 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Wed, 14 Jun 2023 22:26:17 GMT Subject: RFR: 7894: Provide an alternative Java based flamegraph visualization [v22] In-Reply-To: References: Message-ID: On Tue, 13 Jun 2023 08:11:14 GMT, Brice Dutheil wrote: >> This change introduces a possible replacement for the current flamegraph view. >> >> **Motivation** >> The current is based on a web view. In the current state, >> - the web view can be slow to render especially when the tree is large. >> - the web view don't feel well integrated, in particular when popups are shown. >> - web view are difficult to work with from a JMC developer perspective. >> >> ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) >> >> **Description** >> Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. >> >> As the intent of this view is to eventually replace the current one, the icons are the same. >> >> Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. >> >> >> cd releng/third-party >> >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar >> >> # if sources are wanted >> mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources >> >> # make the p2 site, don't forget the -U >> mvn p2:site -U; mvn jetty:run >> >> >> **Outstanding issues / limitation** >> - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. >> - [x] Currently the view does not initializes correctly: >> the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. >> https://github.com/bric3/fireplace/issues/79 >> - [x] Fireplace only supports _icicle_ view at this time. >> https://github.com/bric3/fireplace/issues/22 >> - [x] Icons for minimap toggle and zoom reset >> image >> - [x] Export to image >> https://github.com/bric3/fireplace/issues/99 >> - [x] Export to print ? >> Can be done at a later time >> - [x] release of fireplace > > Brice Dutheil has updated the pull request incrementally with one additional commit since the last revision: > > fix: Copyright missed a comma Opened https://bugs.openjdk.org/browse/JMC-8092. ------------- PR Comment: https://git.openjdk.org/jmc/pull/408#issuecomment-1592070598 From bdutheil at openjdk.org Thu Jun 15 05:56:17 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Thu, 15 Jun 2023 05:56:17 GMT Subject: Integrated: 7894: Provide an alternative Java based flamegraph visualization In-Reply-To: References: Message-ID: On Wed, 6 Jul 2022 11:36:47 GMT, Brice Dutheil wrote: > This change introduces a possible replacement for the current flamegraph view. > > **Motivation** > The current is based on a web view. In the current state, > - the web view can be slow to render especially when the tree is large. > - the web view don't feel well integrated, in particular when popups are shown. > - web view are difficult to work with from a JMC developer perspective. > > ![image](https://user-images.githubusercontent.com/803621/177537938-423a4d53-c2ac-4c56-8583-abe4cc910e37.png) > > **Description** > Concretely this PR relies on the swing component to render flamegraphs : https://github.com/bric3/fireplace. And plays with the bridge between SWT and AWT via the `SWT_AWT` class. > > As the intent of this view is to eventually replace the current one, the icons are the same. > > Since fireplace has no actual release, only snapshots, in order to try this PR, it is necessary to install the snapshot manually before starting the p2 server. > > > cd releng/third-party > > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar > > # if sources are wanted > mvn dependency:get -DrepoUrl=https://s01.oss.sonatype.org/content/repositories/snapshots -Dartifact=io.github.bric3.fireplace:fireplace-swing:0.0.1-SNAPSHOT:jar:sources > > # make the p2 site, don't forget the -U > mvn p2:site -U; mvn jetty:run > > > **Outstanding issues / limitation** > - [x] Fireplace has not yet a stable release as some part of its API are a bit rough. > - [x] Currently the view does not initializes correctly: > the swing `JScrollPane` don't show scroll bars, until the view is resized by the user. I lack the SWT / Swing expertise to understand why at this time. > https://github.com/bric3/fireplace/issues/79 > - [x] Fireplace only supports _icicle_ view at this time. > https://github.com/bric3/fireplace/issues/22 > - [x] Icons for minimap toggle and zoom reset > image > - [x] Export to image > https://github.com/bric3/fireplace/issues/99 > - [x] Export to print ? > Can be done at a later time > - [x] release of fireplace This pull request has now been integrated. Changeset: cfc26d5e Author: Brice Dutheil Committer: Christoph Langer URL: https://git.openjdk.org/jmc/commit/cfc26d5ecb7b162d85e46839ed7b966d61cbb73b Stats: 2842 lines in 47 files changed: 1354 ins; 1474 del; 14 mod 7894: Provide an alternative Java based flamegraph visualization Co-authored-by: Brice Dutheil Reviewed-by: hirt, aptmac, clanger ------------- PR: https://git.openjdk.org/jmc/pull/408 From clanger at openjdk.org Thu Jun 15 05:57:04 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 15 Jun 2023 05:57:04 GMT Subject: Integrated: 8090: Enhancements for agent pom In-Reply-To: References: Message-ID: On Wed, 14 Jun 2023 08:19:56 GMT, Christoph Langer wrote: > This is the cleanup for JMC agent in the sense of #495. > > It contains: > - version bumps > - URL updates > - spotless integration This pull request has now been integrated. Changeset: 7d760a51 Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/7d760a5146e503c721b2ddb7569523a447ce3579 Stats: 67 lines in 1 file changed: 35 ins; 14 del; 18 mod 8090: Enhancements for agent pom Reviewed-by: bdutheil, aptmac ------------- PR: https://git.openjdk.org/jmc/pull/496 From clanger at openjdk.org Thu Jun 15 06:13:53 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 15 Jun 2023 06:13:53 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v7] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision: - Merge branch 'master' into coretestsrefac - Use maven.compiler.source for java version instead of hard coding - Don't touch checkformatting scripts in this change - Don't reorder core/pom.xml to ease reviewing - Merge remote-tracking branch 'upstream/master' into coretestsrefac - Merge remote-tracking branch 'upstream/master' into coretestsrefac - JMC-8086 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/0e54faed..b1954bcd Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=06 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=05-06 Stats: 2909 lines in 48 files changed: 1389 ins; 1488 del; 32 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Thu Jun 15 06:18:06 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 15 Jun 2023 06:18:06 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v8] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: JMC-8086 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/b1954bcd..3f197864 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=07 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=06-07 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Thu Jun 15 06:19:36 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 15 Jun 2023 06:19:36 GMT Subject: RFR: 8091: Refactoring for jmc/application [v2] In-Reply-To: References: Message-ID: > The sibling PR to #495 for the non-core project. > > It cleans up the pom, bumping some versions and fixing URLs. > The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. > spotless is called as part of the main build lifecycle now. Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: JMC-8091 ------------- Changes: https://git.openjdk.org/jmc/pull/497/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=497&range=01 Stats: 1874 lines in 146 files changed: 69 ins; 210 del; 1595 mod Patch: https://git.openjdk.org/jmc/pull/497.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/497/head:pull/497 PR: https://git.openjdk.org/jmc/pull/497 From aptmac at openjdk.org Thu Jun 15 19:41:01 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 15 Jun 2023 19:41:01 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v8] In-Reply-To: References: Message-ID: <2OFHNWkOQCeUMz6u4xgbXotDXiTTyTdg8HVrehbg6is=.7a9b12cc-8449-4f26-940d-ab485a7c75ba@github.com> On Thu, 15 Jun 2023 06:18:06 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > JMC-8086 core/pom.xml line 423: > 421: > 422: org.apache.maven.plugins > 423: maven-install-plugin I can reproduce this now; something (I believe the maven-install-plugin) is causing the test jars to not end up where they're expected. I ran a super clean build (by additionally nuking my ~/.m2 to start from scratch), and ran into application build errors because application couldn't find the test jars. [ERROR] Failed to execute goal on project org.openjdk.jmc.ui.common: Could not resolve dependencies for project org.openjdk.jmc:org.openjdk.jmc.ui.common:eclipse-plugin:9.0.0-SNAPSHOT: The following artifacts could not be resolved: org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT, org.openjdk.jmc:flightrecorder.test:jar:9.0.0-SNAPSHOT: Could not find artifact org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT -> [Help 1] I played around with this PR a bit today, and ended up at a point where if I remove the `maven-install-plugin` usage that has been added to core, my jars will end up in my m2 repo. IIRC the CI on GitHub caches the maven repo, so if just testing this PR there's no overwriting of the test jars so they'll continue to be there for the application build. With maven-install-plugin: ![pull-495-before](https://github.com/openjdk/jmc/assets/10425301/eda5f04b-1f08-4dfd-aa12-89c06a344a7b) Without: ![pull-495-after](https://github.com/openjdk/jmc/assets/10425301/ff2ef06e-7758-49c4-9fef-d161931243a6) ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/495#discussion_r1231454593 From aptmac at openjdk.org Fri Jun 16 15:55:09 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Fri, 16 Jun 2023 15:55:09 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v8] In-Reply-To: <2OFHNWkOQCeUMz6u4xgbXotDXiTTyTdg8HVrehbg6is=.7a9b12cc-8449-4f26-940d-ab485a7c75ba@github.com> References: <2OFHNWkOQCeUMz6u4xgbXotDXiTTyTdg8HVrehbg6is=.7a9b12cc-8449-4f26-940d-ab485a7c75ba@github.com> Message-ID: On Thu, 15 Jun 2023 19:33:18 GMT, Alex Macdonald wrote: >> Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: >> >> JMC-8086 > > core/pom.xml line 423: > >> 421: >> 422: org.apache.maven.plugins >> 423: maven-install-plugin > > I can reproduce this now; something (I believe the maven-install-plugin) is causing the test jars to not end up where they're expected. I ran a super clean build (by additionally nuking my ~/.m2 to start from scratch), and ran into application build errors because application couldn't find the test jars. > > > [ERROR] Failed to execute goal on project org.openjdk.jmc.ui.common: Could not resolve dependencies for project org.openjdk.jmc:org.openjdk.jmc.ui.common:eclipse-plugin:9.0.0-SNAPSHOT: The following artifacts could not be resolved: org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT, org.openjdk.jmc:flightrecorder.test:jar:9.0.0-SNAPSHOT: Could not find artifact org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT -> [Help 1] > > I played around with this PR a bit today, and ended up at a point where if I remove the `maven-install-plugin` usage that has been added to core, my jars will end up in my m2 repo. > > IIRC the CI on GitHub caches the maven repo, so if just testing this PR there's no overwriting of the test jars so they'll continue to be there for the application build. > > With maven-install-plugin: > ![pull-495-before](https://github.com/openjdk/jmc/assets/10425301/eda5f04b-1f08-4dfd-aa12-89c06a344a7b) > > Without: > ![pull-495-after](https://github.com/openjdk/jmc/assets/10425301/ff2ef06e-7758-49c4-9fef-d161931243a6) Although, the removal of those test jars is one of the features of this PR. Does this need additional changes to application poms? For example, the application/pom.xml (as well as uitests and test.jemmy) lists a dependency on `common.test` [[0]](https://github.com/openjdk/jmc/blob/master/application/pom.xml#L147) and `flightrecorder.test`, which is causing the error. Simply removing those two dependencies and the build gets quite a bit farther, but eventually fails trying to resolve testlib. [ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:3.0.4:validate-classpath (default-validate-classpath) on project org.openjdk.jmc.rjmx.test: Execution default-validate-classpath of goal org.eclipse.tycho:tycho-compiler-plugin:3.0.4:validate-classpath failed: org.osgi.framework.BundleException: Bundle org.openjdk.jmc.rjmx.test cannot be resolved:org.openjdk.jmc.rjmx.test [128] [ERROR] Unresolved requirement: Require-Bundle: org.openjdk.jmc.testlib [0] https://github.com/openjdk/jmc/blob/master/application/pom.xml#L147 ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/495#discussion_r1232426761 From aptmac at openjdk.org Fri Jun 16 20:42:27 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Fri, 16 Jun 2023 20:42:27 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo Message-ID: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. Before: ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) After: ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 ------------- Commit messages: - 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo Changes: https://git.openjdk.org/jmc/pull/498/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=498&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8093 Stats: 4 lines in 4 files changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jmc/pull/498.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/498/head:pull/498 PR: https://git.openjdk.org/jmc/pull/498 From hirt at openjdk.org Fri Jun 16 20:50:14 2023 From: hirt at openjdk.org (Marcus Hirt) Date: Fri, 16 Jun 2023 20:50:14 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo In-Reply-To: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> Message-ID: On Fri, 16 Jun 2023 20:36:21 GMT, Alex Macdonald wrote: > This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. > > This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. > ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) > > The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. > > The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. > > The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. > > Before: > ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) > > After: > ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) > > [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 Marked as reviewed by hirt (Lead). ------------- PR Review: https://git.openjdk.org/jmc/pull/498#pullrequestreview-1484366723 From clanger at openjdk.org Fri Jun 16 21:37:23 2023 From: clanger at openjdk.org (Christoph Langer) Date: Fri, 16 Jun 2023 21:37:23 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v9] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has updated the pull request incrementally with one additional commit since the last revision: Dependency cleanup, move testlib project into main core project ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/3f197864..e3292ec8 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=08 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=07-08 Stats: 270 lines in 37 files changed: 32 ins; 234 del; 4 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Fri Jun 16 22:03:33 2023 From: clanger at openjdk.org (Christoph Langer) Date: Fri, 16 Jun 2023 22:03:33 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v10] In-Reply-To: References: Message-ID: <6aQiB4sHYQB4mNaCnQBSUCjLhPYF-4pTdhR4gFPdhIw=.f2ce3ed2-3de3-4175-afbc-173a2619e1e6@github.com> > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: Dependency cleanup, move testlib project into main core project ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/e3292ec8..1821eaec Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=09 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=08-09 Stats: 57 lines in 7 files changed: 11 ins; 44 del; 2 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Sat Jun 17 05:28:26 2023 From: clanger at openjdk.org (Christoph Langer) Date: Sat, 17 Jun 2023 05:28:26 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v11] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: Dependency cleanup, move testlib project into main core project ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/1821eaec..4b91c5bd Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=10 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=09-10 Stats: 37 lines in 8 files changed: 15 ins; 16 del; 6 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Sat Jun 17 05:33:13 2023 From: clanger at openjdk.org (Christoph Langer) Date: Sat, 17 Jun 2023 05:33:13 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v8] In-Reply-To: References: <2OFHNWkOQCeUMz6u4xgbXotDXiTTyTdg8HVrehbg6is=.7a9b12cc-8449-4f26-940d-ab485a7c75ba@github.com> Message-ID: On Fri, 16 Jun 2023 15:52:46 GMT, Alex Macdonald wrote: >> core/pom.xml line 423: >> >>> 421: >>> 422: org.apache.maven.plugins >>> 423: maven-install-plugin >> >> I can reproduce this now; something (I believe the maven-install-plugin) is causing the test jars to not end up where they're expected. I ran a super clean build (by additionally nuking my ~/.m2 to start from scratch), and ran into application build errors because application couldn't find the test jars. >> >> >> [ERROR] Failed to execute goal on project org.openjdk.jmc.ui.common: Could not resolve dependencies for project org.openjdk.jmc:org.openjdk.jmc.ui.common:eclipse-plugin:9.0.0-SNAPSHOT: The following artifacts could not be resolved: org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT, org.openjdk.jmc:flightrecorder.test:jar:9.0.0-SNAPSHOT: Could not find artifact org.openjdk.jmc:common.test:jar:9.0.0-SNAPSHOT -> [Help 1] >> >> I played around with this PR a bit today, and ended up at a point where if I remove the `maven-install-plugin` usage that has been added to core, my jars will end up in my m2 repo. >> >> IIRC the CI on GitHub caches the maven repo, so if just testing this PR there's no overwriting of the test jars so they'll continue to be there for the application build. >> >> With maven-install-plugin: >> ![pull-495-before](https://github.com/openjdk/jmc/assets/10425301/eda5f04b-1f08-4dfd-aa12-89c06a344a7b) >> >> Without: >> ![pull-495-after](https://github.com/openjdk/jmc/assets/10425301/ff2ef06e-7758-49c4-9fef-d161931243a6) > > Although, the removal of those test jars is one of the features of this PR. > > Does this need additional changes to application poms? For example, the application/pom.xml (as well as uitests and test.jemmy) lists a dependency on `common.test` [[0]](https://github.com/openjdk/jmc/blob/master/application/pom.xml#L147) and `flightrecorder.test`, which is causing the error. Simply removing those two dependencies and the build gets quite a bit farther, but eventually fails trying to resolve testlib. > > [ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:3.0.4:validate-classpath (default-validate-classpath) on project org.openjdk.jmc.rjmx.test: Execution default-validate-classpath of goal org.eclipse.tycho:tycho-compiler-plugin:3.0.4:validate-classpath failed: org.osgi.framework.BundleException: Bundle org.openjdk.jmc.rjmx.test cannot be resolved:org.openjdk.jmc.rjmx.test [128] > [ERROR] Unresolved requirement: Require-Bundle: org.openjdk.jmc.testlib > > > [0] https://github.com/openjdk/jmc/blob/master/application/pom.xml#L147 Oh, this is a good catch. My change unveils an issue in the dependencies. The only test project that application tests should need from core is testlib. And also, testlib should only be seen in test projects but not in other application modules. I cleared this out and cleaned up some more dependency definitions in core. I didn't see it (and the GHA build) because the m2 repository was not pruned before the build and the existing modules like common.test, which we would not install any more after this change, were still cached. ------------- PR Review Comment: https://git.openjdk.org/jmc/pull/495#discussion_r1232965894 From clanger at openjdk.org Sat Jun 17 18:48:11 2023 From: clanger at openjdk.org (Christoph Langer) Date: Sat, 17 Jun 2023 18:48:11 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo In-Reply-To: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> Message-ID: On Fri, 16 Jun 2023 20:36:21 GMT, Alex Macdonald wrote: > This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. > > This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. > ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) > > The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. > > The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. > > The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. > > Before: > ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) > > After: > ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) > > [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 Looks good. Please update copyright years before integrating. ? ------------- Marked as reviewed by clanger (Committer). PR Review: https://git.openjdk.org/jmc/pull/498#pullrequestreview-1484872952 From aptmac at openjdk.org Sat Jun 17 18:48:12 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Sat, 17 Jun 2023 18:48:12 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo In-Reply-To: References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> Message-ID: On Sat, 17 Jun 2023 18:44:36 GMT, Christoph Langer wrote: > Looks good. Please update copyright years before integrating. ? Right! Thanks for catching that ------------- PR Comment: https://git.openjdk.org/jmc/pull/498#issuecomment-1595829093 From clanger at openjdk.org Sat Jun 17 20:04:27 2023 From: clanger at openjdk.org (Christoph Langer) Date: Sat, 17 Jun 2023 20:04:27 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v12] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: Dependency cleanup, move testlib project into main core project ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/4b91c5bd..5d6b2872 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=11 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=10-11 Stats: 10 lines in 2 files changed: 10 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Sat Jun 17 20:30:56 2023 From: clanger at openjdk.org (Christoph Langer) Date: Sat, 17 Jun 2023 20:30:56 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: Dependency cleanup, move testlib project into main core project ------------- Changes: - all: https://git.openjdk.org/jmc/pull/495/files - new: https://git.openjdk.org/jmc/pull/495/files/5d6b2872..239397d4 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=12 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=495&range=11-12 Stats: 199 lines in 40 files changed: 0 ins; 199 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/495.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/495/head:pull/495 PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Mon Jun 19 07:31:17 2023 From: clanger at openjdk.org (Christoph Langer) Date: Mon, 19 Jun 2023 07:31:17 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: <-jA2HknCNkBl_OSNr4OecVn_ht6ClyAg3hTr4T-keaU=.be794a57-f752-4659-aef4-409bb3123a76@github.com> On Sat, 17 Jun 2023 20:30:56 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > Dependency cleanup, move testlib project into main core project So, I believe I've fixed the further dependency issues now. It however makes the change a bit larger. What I did: -> Move the testlib project out of the core/tests directory into core (direct child of org.openjdk.jmc:missioncontrol.core. With that, the maven module can be installed and subsequently be referenced/used without requiring org.openjdk.jmc:missioncontrol.core.tests, which we would not install any more. -> Remove dependencies to org.openjdk.jmc:flightrecorder.test from org.openjdk.jmc:flightrecorder.rules.test and org.openjdk.jmc:flightrecorder.serializers.test since these test projects should be runnable on their own. This however leads to some duplication of test resources which could be checked in a later step In application, we now drop the dependencies to the test projects in pom.xml (org.openjdk.jmc:missioncontrol.application) and then only add org.openjdk.jmc:testlib as additional dependency to the test projects. ------------- PR Comment: https://git.openjdk.org/jmc/pull/495#issuecomment-1596656212 From aptmac at openjdk.org Mon Jun 19 13:20:32 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 19 Jun 2023 13:20:32 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo [v2] In-Reply-To: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> Message-ID: <6GbqNGBjqifv5rDhycOB5LvTNBt6YxtmOpJl4m7egWQ=.7b410d88-9d38-4179-a580-2612c80661d7@github.com> > This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. > > This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. > ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) > > The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. > > The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. > > The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. > > Before: > ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) > > After: > ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) > > [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 Alex Macdonald has updated the pull request incrementally with one additional commit since the last revision: update license headers to 2023 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/498/files - new: https://git.openjdk.org/jmc/pull/498/files/5fa1f3e9..722e8ddb Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=498&range=01 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=498&range=00-01 Stats: 4 lines in 4 files changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jmc/pull/498.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/498/head:pull/498 PR: https://git.openjdk.org/jmc/pull/498 From clanger at openjdk.org Mon Jun 19 13:48:20 2023 From: clanger at openjdk.org (Christoph Langer) Date: Mon, 19 Jun 2023 13:48:20 GMT Subject: RFR: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo [v2] In-Reply-To: <6GbqNGBjqifv5rDhycOB5LvTNBt6YxtmOpJl4m7egWQ=.7b410d88-9d38-4179-a580-2612c80661d7@github.com> References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> <6GbqNGBjqifv5rDhycOB5LvTNBt6YxtmOpJl4m7egWQ=.7b410d88-9d38-4179-a580-2612c80661d7@github.com> Message-ID: On Mon, 19 Jun 2023 13:20:32 GMT, Alex Macdonald wrote: >> This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. >> >> This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. >> ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) >> >> The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. >> >> The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. >> >> The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. >> >> Before: >> ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) >> >> After: >> ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) >> >> [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 > > Alex Macdonald has updated the pull request incrementally with one additional commit since the last revision: > > update license headers to 2023 Marked as reviewed by clanger (Committer). ------------- PR Review: https://git.openjdk.org/jmc/pull/498#pullrequestreview-1486277052 From aptmac at openjdk.org Mon Jun 19 14:00:50 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 19 Jun 2023 14:00:50 GMT Subject: git: openjdk/jmc: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo Message-ID: <60703d23-8738-40a4-933e-80c4b523c2a7@openjdk.org> Changeset: cedf50f6 Author: Alex Macdonald Date: 2023-06-19 13:59:07 +0000 URL: https://git.openjdk.org/jmc/commit/cedf50f6d00209f2d40d594be5996dc5f8a8a7bd 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo Reviewed-by: hirt, clanger ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/GcLockerRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/GcStallRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/SystemGcRule.java From aptmac at openjdk.org Mon Jun 19 14:02:19 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 19 Jun 2023 14:02:19 GMT Subject: Integrated: 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo In-Reply-To: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> References: <7PXGk5caZ7qkwi2liQ2RNaemMUQe08hJCX16XwQ_hzk=.5fb88106-2a58-4fc3-8d92-5534ddda061e@github.com> Message-ID: On Fri, 16 Jun 2023 20:36:21 GMT, Alex Macdonald wrote: > This short PR addresses a bug where the four gc rules that depend on GarbageCollectionInfoRule will throw a NPE when evaluating in the case there is no GC information. > > This (probably?) won't happen too often, as it requires the jdk.GarbageCollection event to be enabled but never recorded. I was interacting with a handful of short recordings when I ran into this. > ![event-browser](https://github.com/openjdk/jmc/assets/10425301/cac8ceaa-34b6-46b3-8a42-14af375a7c51) > > The GarbageCollectionInfoRule has it's jdk.GarbageCollection EventAvailability set to AVAILABLE, which means it's looking for the event to be both enabled and have data before evaluating. > > The four rules that depend on it have their EventAvailability set to ENABLED, so these rules will run if the event is enabled but even if there's no data. Because GarbageCollectionInfoRule never runs, the aggregate object in the dependant rules is null ([[example]](https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102) [0]), so a NPE is thrown when trying to evaluate it. > > The fix here is to make these rules require the gc events to be available in order to proceed, similar to how GarbageCollectionInfoRule does. > > Before: > ![before](https://github.com/openjdk/jmc/assets/10425301/e4eb6b7f-4055-491c-a5b3-ded5608644d7) > > After: > ![after](https://github.com/openjdk/jmc/assets/10425301/3caf81ac-b8a8-4b8b-a87f-4bc11f14c8c2) > > [0] https://github.com/openjdk/jmc/blob/master/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HeapInspectionRule.java#L102 This pull request has now been integrated. Changeset: cedf50f6 Author: Alex Macdonald URL: https://git.openjdk.org/jmc/commit/cedf50f6d00209f2d40d594be5996dc5f8a8a7bd Stats: 8 lines in 4 files changed: 0 ins; 0 del; 8 mod 8093: Rules dependant on GarbageCollectionInfoRule throw NPE if there is no gcInfo Reviewed-by: hirt, clanger ------------- PR: https://git.openjdk.org/jmc/pull/498 From aptmac at openjdk.org Mon Jun 19 18:04:13 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 19 Jun 2023 18:04:13 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: On Sat, 17 Jun 2023 20:30:56 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > Dependency cleanup, move testlib project into main core project Overall this is working a lot better now; a regular build of core through to application works as expected. With moving the testlib folder out of `core/tests` there are a handful of files that could use an update to their license headers though. Just because I found it first here.. are you able to run the uitests? With this PR being primarily changes to core I hadn't run the uitests on this, but now gave it a try since the testlib dependency affects jmc/application too. When getting into the uitest run it fails trying to find `org.openjdk.jmc.rcp.application.app`: [..] [INFO] missioncontrol.application.uitests 9.0.0-SNAPSHOT .. SUCCESS [ 0.038 s] [INFO] org.openjdk.jmc.test.jemmy 9.0.0-SNAPSHOT .......... FAILURE [ 5.600 s] [INFO] org.openjdk.jmc.browser.uitest 1.0.0-SNAPSHOT ...... SKIPPED [INFO] org.openjdk.jmc.console.jconsole.uitest 1.0.0-SNAPSHOT SKIPPED [INFO] org.openjdk.jmc.console.persistence.uitest 1.0.0-SNAPSHOT SKIPPED [INFO] org.openjdk.jmc.console.uitest 1.0.0-SNAPSHOT ...... SKIPPED [INFO] org.openjdk.jmc.flightrecorder.uitest 1.0.0-SNAPSHOT SKIPPED [INFO] org.openjdk.jmc.rcp.application.uitest 1.0.0-SNAPSHOT SKIPPED [INFO] missioncontrol.releng 9.0.0-SNAPSHOT ............... SKIPPED [INFO] platform-definitions 9.0.0-SNAPSHOT ................ SKIPPED [INFO] platform-definition-2023-03 9.0.0-SNAPSHOT ......... SKIPPED [INFO] platform-definition-2022-12 9.0.0-SNAPSHOT ......... SKIPPED [INFO] platform-definition-2022-09 9.0.0-SNAPSHOT ......... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 08:43 min [INFO] Finished at: 2023-06-19T11:04:48-04:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:3.0.4:integration-test (default-integration-test) on project org.openjdk.jmc.test.jemmy: Could not find application "org.openjdk.jmc.rcp.application.app" in the test runtime. Make sure that the test runtime includes the bundle which defines this application. -> [Help 1] [ERROR] After digging through the commits and testing, it looks like this is occurring for me after JMC-8086 [[0]](https://github.com/openjdk/jmc/commit/ae2fbf359aa8f7612a0d3e6f18857e08cfdfc309). (I should get in the habit of running these more often I guess..) Could it be related to the tycho dependency bump? Or is this just a failure that I'm seeing on my end? I can open a bug in JIRA if it's reproducible for other people. [0] https://github.com/openjdk/jmc/commit/ae2fbf359aa8f7612a0d3e6f18857e08cfdfc309 ------------- PR Comment: https://git.openjdk.org/jmc/pull/495#issuecomment-1597556556 From aptmac at openjdk.org Mon Jun 19 20:17:11 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Mon, 19 Jun 2023 20:17:11 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: On Sat, 17 Jun 2023 20:30:56 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > Dependency cleanup, move testlib project into main core project Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/495#pullrequestreview-1486878268 From clanger at openjdk.org Mon Jun 19 20:17:12 2023 From: clanger at openjdk.org (Christoph Langer) Date: Mon, 19 Jun 2023 20:17:12 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: <65M8rp9h3J3-1obyqB8L26Ng_SWeSxu-h0lOgs19kbY=.8d8813e3-aede-4ff6-99fb-3b9abbd38084@github.com> On Sat, 17 Jun 2023 20:30:56 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > Dependency cleanup, move testlib project into main core project I could not recreate this uitests error, at least not when running the org.openjdk.jmc.test.jemmy project standalone. I would try to get clean tests and uitests on all my dev machines after the refactoring (also in application) is in. As for copyright years: I would think if files are only moved around without changes, one doesn't need to modify the copyright years. That's at least my experience from OpenJDK. Please let me know what you'd prefer. ------------- PR Comment: https://git.openjdk.org/jmc/pull/495#issuecomment-1597708190 From clanger at openjdk.org Tue Jun 20 04:59:17 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 04:59:17 GMT Subject: RFR: 8086: Some refactoring for jmc/core [v13] In-Reply-To: References: Message-ID: On Sat, 17 Jun 2023 20:30:56 GMT, Christoph Langer wrote: >> I worked on some improvements/refactoring for jmc/core. In detail: >> >> Better handling of Spotless and Checkstyle: >> - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable >> - Integrate spotless into the regular build workflow >> >> Cleanup of core/pom.xml: >> - URL cleanups >> - Plugin version bumps >> >> Lighter test projects: >> - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules >> - Disable some maven plugin executions that are not needed there > > Christoph Langer has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: > > Dependency cleanup, move testlib project into main core project Thanks for the reviews. ------------- PR Comment: https://git.openjdk.org/jmc/pull/495#issuecomment-1598114295 From clanger at openjdk.org Tue Jun 20 04:59:19 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 04:59:19 GMT Subject: Integrated: 8086: Some refactoring for jmc/core In-Reply-To: References: Message-ID: On Sun, 11 Jun 2023 22:44:45 GMT, Christoph Langer wrote: > I worked on some improvements/refactoring for jmc/core. In detail: > > Better handling of Spotless and Checkstyle: > - Fix calling spotless/checkstyle directly in submodules by refering to a `$jmc.config.path` variable > - Integrate spotless into the regular build workflow > > Cleanup of core/pom.xml: > - URL cleanups > - Plugin version bumps > > Lighter test projects: > - They don't need to be p2 plugin projects since they only test basic functionality but not in the context of Eclipse/OSGI modules > - Disable some maven plugin executions that are not needed there This pull request has now been integrated. Changeset: cf2fe2bd Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/cf2fe2bd723bb012f96c5af6f9351c7840246217 Stats: 1122 lines in 116 files changed: 197 ins; 858 del; 67 mod 8086: Some refactoring for jmc/core Reviewed-by: bdutheil, aptmac ------------- PR: https://git.openjdk.org/jmc/pull/495 From clanger at openjdk.org Tue Jun 20 07:09:24 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 07:09:24 GMT Subject: RFR: 8091: Refactoring for jmc/application [v3] In-Reply-To: References: Message-ID: > The sibling PR to #495 for the non-core project. > > It cleans up the pom, bumping some versions and fixing URLs. > The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. > spotless is called as part of the main build lifecycle now. Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: JMC-8091 ------------- Changes: https://git.openjdk.org/jmc/pull/497/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=497&range=02 Stats: 1873 lines in 146 files changed: 68 ins; 208 del; 1597 mod Patch: https://git.openjdk.org/jmc/pull/497.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/497/head:pull/497 PR: https://git.openjdk.org/jmc/pull/497 From bdutheil at openjdk.org Tue Jun 20 11:52:12 2023 From: bdutheil at openjdk.org (Brice Dutheil) Date: Tue, 20 Jun 2023 11:52:12 GMT Subject: RFR: 8080: Add support for enabling jfr on native images [v4] In-Reply-To: References: Message-ID: On Tue, 13 Jun 2023 17:04:25 GMT, Alex Macdonald wrote: >> This PR addresses JMC-8080 [[0]](https://bugs.openjdk.org/browse/JMC-8080), in which it would be nice to add support for enabling flight recorder on GraalVM native images. >> >> Currently, trying to use the flight recording wizard on a connected native image ends up with an error dialog: >> ![native-image](https://github.com/openjdk/jmc/assets/10425301/a04b49db-922c-451e-89d8-0cc951e3bbda) >> >> The proposed solution here adds checks to determine if the vm is of type Substrate VM, and check if there is a flightrecording mbean registered. >> >> [0] https://bugs.openjdk.org/browse/JMC-8080 > > Alex Macdonald has updated the pull request incrementally with one additional commit since the last revision: > > fix typo Marked as reviewed by bdutheil (Author). There's not not much in the ticket. The code suggests it's only about discovering and controlling JFR. For me this seems to be working. image For those interested I created a micronaut app from the launcher, and tweaked the gradle configuration. graalvmNative { toolchainDetection.set(false) binaries { named("main") { // https://www.graalvm.org/22.0/reference-manual/native-image/JFR/ buildArgs( "-H:+AllowVMInspection", "-H:+PreserveFramePointer", ) runtimeArgs( "-XX:+FlightRecorder", "-XX:StartFlightRecording=filename=recording.jfr", ) } } } ------------- PR Review: https://git.openjdk.org/jmc/pull/491#pullrequestreview-1487963451 PR Comment: https://git.openjdk.org/jmc/pull/491#issuecomment-1598625892 From aptmac at openjdk.org Tue Jun 20 12:11:15 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Tue, 20 Jun 2023 12:11:15 GMT Subject: Integrated: 8080: Add support for enabling jfr on native images In-Reply-To: References: Message-ID: On Thu, 8 Jun 2023 14:01:20 GMT, Alex Macdonald wrote: > This PR addresses JMC-8080 [[0]](https://bugs.openjdk.org/browse/JMC-8080), in which it would be nice to add support for enabling flight recorder on GraalVM native images. > > Currently, trying to use the flight recording wizard on a connected native image ends up with an error dialog: > ![native-image](https://github.com/openjdk/jmc/assets/10425301/a04b49db-922c-451e-89d8-0cc951e3bbda) > > The proposed solution here adds checks to determine if the vm is of type Substrate VM, and check if there is a flightrecording mbean registered. > > [0] https://bugs.openjdk.org/browse/JMC-8080 This pull request has now been integrated. Changeset: 145050d3 Author: Alex Macdonald URL: https://git.openjdk.org/jmc/commit/145050d330e381be798efedac32146021900c50f Stats: 78 lines in 6 files changed: 65 ins; 0 del; 13 mod 8080: Add support for enabling jfr on native images Co-authored-by: Robert Toyonaga Reviewed-by: clanger, bdutheil ------------- PR: https://git.openjdk.org/jmc/pull/491 From clanger at openjdk.org Tue Jun 20 13:23:39 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 13:23:39 GMT Subject: RFR: 8091: Refactoring for jmc/application [v4] In-Reply-To: References: Message-ID: > The sibling PR to #495 for the non-core project. > > It cleans up the pom, bumping some versions and fixing URLs. > The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. > spotless is called as part of the main build lifecycle now. Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Bunp spotbugs and ignore configuration directory that is created by spotbugs calls - Merge remote-tracking branch 'upstream/master' into JMC-8091 - JMC-8091 ------------- Changes: - all: https://git.openjdk.org/jmc/pull/497/files - new: https://git.openjdk.org/jmc/pull/497/files/6dc2de93..8a2f2908 Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=497&range=03 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=497&range=02-03 Stats: 82 lines in 8 files changed: 68 ins; 0 del; 14 mod Patch: https://git.openjdk.org/jmc/pull/497.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/497/head:pull/497 PR: https://git.openjdk.org/jmc/pull/497 From clanger at openjdk.org Tue Jun 20 13:25:15 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 13:25:15 GMT Subject: RFR: 8091: Refactoring for jmc/application [v3] In-Reply-To: References: Message-ID: On Tue, 20 Jun 2023 07:09:24 GMT, Christoph Langer wrote: >> The sibling PR to #495 for the non-core project. >> >> It cleans up the pom, bumping some versions and fixing URLs. >> The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. >> spotless is called as part of the main build lifecycle now. > > Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit: > > JMC-8091 I think this one is ready for review now. It touches a lot of files which are merely the pom.xml's, converting from spotless.config.path to the more generic jmc.config.path. Particularly interesting is probably only the main pom.xml where the real modifications happen. ------------- PR Comment: https://git.openjdk.org/jmc/pull/497#issuecomment-1598778930 From clanger at openjdk.org Tue Jun 20 21:27:15 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 21:27:15 GMT Subject: RFR: 8095: Update org.openjdk.jmc.flightrecorder.rules.test/.classpath after JMC-8086 Message-ID: JMC-8086 requires updating org.openjdk.jmc.flightrecorder.rules.test/.classpath after adding resource files. This was missed out in the original change. ------------- Commit messages: - JMC-8095 Changes: https://git.openjdk.org/jmc/pull/500/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=500&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8095 Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jmc/pull/500.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/500/head:pull/500 PR: https://git.openjdk.org/jmc/pull/500 From clanger at openjdk.org Tue Jun 20 22:05:16 2023 From: clanger at openjdk.org (Christoph Langer) Date: Tue, 20 Jun 2023 22:05:16 GMT Subject: RFR: 8096: EventTemplateTest fails for JDKs with custom jfr profiles Message-ID: EventTemplateTest could be made more robust to not fail for VMs that deliver custom JFR profiles, such as SapMachine does. The test currently expects that every JFR profile contains all available events which might not be true. The generic idea to fix this is to only assume this for profiles that are tagged with `provider="Oracle"`. ------------- Commit messages: - JMC-8096 Changes: https://git.openjdk.org/jmc/pull/501/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=501&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8096 Stats: 13 lines in 1 file changed: 3 ins; 3 del; 7 mod Patch: https://git.openjdk.org/jmc/pull/501.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/501/head:pull/501 PR: https://git.openjdk.org/jmc/pull/501 From aptmac at openjdk.org Thu Jun 22 00:05:08 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 22 Jun 2023 00:05:08 GMT Subject: RFR: 8095: Update org.openjdk.jmc.flightrecorder.rules.test/.classpath after JMC-8086 In-Reply-To: References: Message-ID: <-5ltHNuC3kKRiqTTAeEAHGWvDqnEpMVSMyp5stuCdBk=.5cfe173c-2330-4a84-8784-1d0c319752bc@github.com> On Tue, 20 Jun 2023 21:20:52 GMT, Christoph Langer wrote: > JMC-8086 requires updating org.openjdk.jmc.flightrecorder.rules.test/.classpath after adding resource files. This was missed out in the original change. Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/500#pullrequestreview-1492100801 From clanger at openjdk.org Thu Jun 22 06:47:09 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 22 Jun 2023 06:47:09 GMT Subject: Integrated: 8095: Update org.openjdk.jmc.flightrecorder.rules.test/.classpath after JMC-8086 In-Reply-To: References: Message-ID: On Tue, 20 Jun 2023 21:20:52 GMT, Christoph Langer wrote: > JMC-8086 requires updating org.openjdk.jmc.flightrecorder.rules.test/.classpath after adding resource files. This was missed out in the original change. This pull request has now been integrated. Changeset: 3d7614c6 Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/3d7614c63156f6db46335748f572bfb1cad67ab5 Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod 8095: Update org.openjdk.jmc.flightrecorder.rules.test/.classpath after JMC-8086 Reviewed-by: aptmac ------------- PR: https://git.openjdk.org/jmc/pull/500 From aptmac at openjdk.org Thu Jun 22 14:15:14 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 22 Jun 2023 14:15:14 GMT Subject: RFR: 8096: EventTemplateTest fails for JDKs with custom jfr profiles In-Reply-To: References: Message-ID: <_kbw6Bim53WGOle7YRTVCKhVTOct-TZuBtL5cq_faL8=.7dc08209-c2f4-480a-98f0-53df8907f4c9@github.com> On Tue, 20 Jun 2023 21:59:00 GMT, Christoph Langer wrote: > EventTemplateTest could be made more robust to not fail for VMs that deliver custom JFR profiles, such as SapMachine does. > > The test currently expects that every JFR profile contains all available events which might not be true. The generic idea to fix this is to only assume this for profiles that are tagged with `provider="Oracle"`. Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/501#pullrequestreview-1493302302 From aptmac at openjdk.org Thu Jun 22 15:06:10 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 22 Jun 2023 15:06:10 GMT Subject: RFR: 8091: Refactoring for jmc/application [v4] In-Reply-To: References: Message-ID: <2gxwYy5C6XbeQbTQ4F0DOoS_BaVOqKG3Wz20tqPO-W0=.17d8b282-13fa-49d2-90ad-3efddd4eb15b@github.com> On Tue, 20 Jun 2023 13:23:39 GMT, Christoph Langer wrote: >> The sibling PR to #495 for the non-core project. >> >> It cleans up the pom, bumping some versions and fixing URLs. >> The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. >> spotless is called as part of the main build lifecycle now. > > Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Bunp spotbugs and ignore configuration directory that is created by spotbugs calls > - Merge remote-tracking branch 'upstream/master' into JMC-8091 > - JMC-8091 Marked as reviewed by aptmac (Reviewer). ------------- PR Review: https://git.openjdk.org/jmc/pull/497#pullrequestreview-1493429128 From clanger at openjdk.org Thu Jun 22 20:17:13 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 22 Jun 2023 20:17:13 GMT Subject: RFR: 8096: EventTemplateTest fails for JDKs with custom jfr profiles In-Reply-To: References: Message-ID: On Tue, 20 Jun 2023 21:59:00 GMT, Christoph Langer wrote: > EventTemplateTest could be made more robust to not fail for VMs that deliver custom JFR profiles, such as SapMachine does. > > The test currently expects that every JFR profile contains all available events which might not be true. The generic idea to fix this is to only assume this for profiles that are tagged with `provider="Oracle"`. Thanks for the review ------------- PR Comment: https://git.openjdk.org/jmc/pull/501#issuecomment-1603256346 From clanger at openjdk.org Thu Jun 22 20:17:13 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 22 Jun 2023 20:17:13 GMT Subject: Integrated: 8096: EventTemplateTest fails for JDKs with custom jfr profiles In-Reply-To: References: Message-ID: On Tue, 20 Jun 2023 21:59:00 GMT, Christoph Langer wrote: > EventTemplateTest could be made more robust to not fail for VMs that deliver custom JFR profiles, such as SapMachine does. > > The test currently expects that every JFR profile contains all available events which might not be true. The generic idea to fix this is to only assume this for profiles that are tagged with `provider="Oracle"`. This pull request has now been integrated. Changeset: 5ace151b Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/5ace151b6dc00096b5b3212edfad40e86f8bcf8d Stats: 13 lines in 1 file changed: 3 ins; 3 del; 7 mod 8096: EventTemplateTest fails for JDKs with custom jfr profiles Reviewed-by: aptmac ------------- PR: https://git.openjdk.org/jmc/pull/501 From clanger at openjdk.org Thu Jun 29 14:39:10 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 29 Jun 2023 14:39:10 GMT Subject: RFR: 8091: Refactoring for jmc/application [v4] In-Reply-To: References: Message-ID: On Tue, 20 Jun 2023 13:23:39 GMT, Christoph Langer wrote: >> The sibling PR to #495 for the non-core project. >> >> It cleans up the pom, bumping some versions and fixing URLs. >> The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. >> spotless is called as part of the main build lifecycle now. > > Christoph Langer has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: > > - Bunp spotbugs and ignore configuration directory that is created by spotbugs calls > - Merge remote-tracking branch 'upstream/master' into JMC-8091 > - JMC-8091 Thanks for the review. ------------- PR Comment: https://git.openjdk.org/jmc/pull/497#issuecomment-1613298673 From clanger at openjdk.org Thu Jun 29 14:42:07 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 29 Jun 2023 14:42:07 GMT Subject: Integrated: 8091: Refactoring for jmc/application In-Reply-To: References: Message-ID: On Wed, 14 Jun 2023 21:17:52 GMT, Christoph Langer wrote: > The sibling PR to #495 for the non-core project. > > It cleans up the pom, bumping some versions and fixing URLs. > The integration for spotless and checkstyle is cleaner now, allowing to build projects from subdirectories. > spotless is called as part of the main build lifecycle now. This pull request has now been integrated. Changeset: af306fa4 Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/af306fa4da0eb3b8d808c22f83409e0ad790e587 Stats: 1876 lines in 147 files changed: 71 ins; 208 del; 1597 mod 8091: Refactoring for jmc/application Reviewed-by: aptmac ------------- PR: https://git.openjdk.org/jmc/pull/497 From clanger at openjdk.org Thu Jun 29 15:45:09 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 29 Jun 2023 15:45:09 GMT Subject: RFR: 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy Message-ID: The project uitests/org.openjdk.jmc.test.jemmy is a plugin project which is a helper library for other uitests. Currently, the sources reside in the src/test/java folder and the eclipse configuration would also place the compiled classes in target/test-classes. When one does a plain maven build, without Eclipse involvement or using the clean target, everything works fine since then the compiled classes are generated into target/classes despite their source location. However, building the project in Eclipse generates the classes in target/test-classes and this will cause the surefire plugin to pick up some classes as potential tests when running mvn verify thereafter. Since the test.jemmy project is not configured for launching a test runtime, we see bundle resolver failures. I fix this by moving the source files from src/test to src/main and fixing the Eclipse configuration files. I also removed the target-platform-configuration section from the pom.xml since it is redundant (already inherited by a parent pom). ------------- Commit messages: - JMC-8097 Changes: https://git.openjdk.org/jmc/pull/503/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=503&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8097 Stats: 16 lines in 46 files changed: 0 ins; 12 del; 4 mod Patch: https://git.openjdk.org/jmc/pull/503.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/503/head:pull/503 PR: https://git.openjdk.org/jmc/pull/503 From clanger at openjdk.org Thu Jun 29 16:23:28 2023 From: clanger at openjdk.org (Christoph Langer) Date: Thu, 29 Jun 2023 16:23:28 GMT Subject: RFR: 8098: Remove obsolete checkformatting step in GHA Message-ID: spotless is integrated into the standard JMC build workflow now. So we can skip the separate checkformatting step in GHA. I also fixed indentation in updatecopyrightyear.sh. ------------- Commit messages: - JMC-8098 Changes: https://git.openjdk.org/jmc/pull/504/files Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=504&range=00 Issue: https://bugs.openjdk.org/browse/JMC-8098 Stats: 45 lines in 4 files changed: 0 ins; 27 del; 18 mod Patch: https://git.openjdk.org/jmc/pull/504.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/504/head:pull/504 PR: https://git.openjdk.org/jmc/pull/504 From aptmac at openjdk.org Thu Jun 29 19:16:47 2023 From: aptmac at openjdk.org (Alex Macdonald) Date: Thu, 29 Jun 2023 19:16:47 GMT Subject: RFR: 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy In-Reply-To: References: Message-ID: On Thu, 29 Jun 2023 15:37:18 GMT, Christoph Langer wrote: > The project uitests/org.openjdk.jmc.test.jemmy is a plugin project which is a helper library for other uitests. > > Currently, the sources reside in the src/test/java folder and the eclipse configuration would also place the compiled classes in target/test-classes. > When one does a plain maven build, without Eclipse involvement or using the clean target, everything works fine since then the compiled classes are generated into target/classes despite their source location. > However, building the project in Eclipse generates the classes in target/test-classes and this will cause the surefire plugin to pick up some classes as potential tests when running mvn verify thereafter. Since the test.jemmy project is not configured for launching a test runtime, we see bundle resolver failures. > > I fix this by moving the source files from src/test to src/main and fixing the Eclipse configuration files. I also removed the target-platform-configuration section from the pom.xml since it is redundant (already inherited by a parent pom). lgtm, thanks for taking a look into this ------------- Marked as reviewed by aptmac (Reviewer). PR Review: https://git.openjdk.org/jmc/pull/503#pullrequestreview-1505906174 From clanger at openjdk.org Fri Jun 30 05:35:35 2023 From: clanger at openjdk.org (Christoph Langer) Date: Fri, 30 Jun 2023 05:35:35 GMT Subject: RFR: 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy [v2] In-Reply-To: References: Message-ID: <98EDdmsPRgPakRnOlE7LJG0kw7W1U2dgJq7v4ikgXLU=.dc3ac396-e998-4113-bb2f-5614948c3ae7@github.com> > The project uitests/org.openjdk.jmc.test.jemmy is a plugin project which is a helper library for other uitests. > > Currently, the sources reside in the src/test/java folder and the eclipse configuration would also place the compiled classes in target/test-classes. > When one does a plain maven build, without Eclipse involvement or using the clean target, everything works fine since then the compiled classes are generated into target/classes despite their source location. > However, building the project in Eclipse generates the classes in target/test-classes and this will cause the surefire plugin to pick up some classes as potential tests when running mvn verify thereafter. Since the test.jemmy project is not configured for launching a test runtime, we see bundle resolver failures. > > I fix this by moving the source files from src/test to src/main and fixing the Eclipse configuration files. I also removed the target-platform-configuration section from the pom.xml since it is redundant (already inherited by a parent pom). Christoph Langer has updated the pull request incrementally with one additional commit since the last revision: Update copyright year ------------- Changes: - all: https://git.openjdk.org/jmc/pull/503/files - new: https://git.openjdk.org/jmc/pull/503/files/9268a4d1..d87a7e5a Webrevs: - full: https://webrevs.openjdk.org/?repo=jmc&pr=503&range=01 - incr: https://webrevs.openjdk.org/?repo=jmc&pr=503&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jmc/pull/503.diff Fetch: git fetch https://git.openjdk.org/jmc.git pull/503/head:pull/503 PR: https://git.openjdk.org/jmc/pull/503 From clanger at openjdk.org Fri Jun 30 06:15:06 2023 From: clanger at openjdk.org (Christoph Langer) Date: Fri, 30 Jun 2023 06:15:06 GMT Subject: RFR: 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy [v2] In-Reply-To: <98EDdmsPRgPakRnOlE7LJG0kw7W1U2dgJq7v4ikgXLU=.dc3ac396-e998-4113-bb2f-5614948c3ae7@github.com> References: <98EDdmsPRgPakRnOlE7LJG0kw7W1U2dgJq7v4ikgXLU=.dc3ac396-e998-4113-bb2f-5614948c3ae7@github.com> Message-ID: On Fri, 30 Jun 2023 05:35:35 GMT, Christoph Langer wrote: >> The project uitests/org.openjdk.jmc.test.jemmy is a plugin project which is a helper library for other uitests. >> >> Currently, the sources reside in the src/test/java folder and the eclipse configuration would also place the compiled classes in target/test-classes. >> When one does a plain maven build, without Eclipse involvement or using the clean target, everything works fine since then the compiled classes are generated into target/classes despite their source location. >> However, building the project in Eclipse generates the classes in target/test-classes and this will cause the surefire plugin to pick up some classes as potential tests when running mvn verify thereafter. Since the test.jemmy project is not configured for launching a test runtime, we see bundle resolver failures. >> >> I fix this by moving the source files from src/test to src/main and fixing the Eclipse configuration files. I also removed the target-platform-configuration section from the pom.xml since it is redundant (already inherited by a parent pom). > > Christoph Langer has updated the pull request incrementally with one additional commit since the last revision: > > Update copyright year Thanks for the review. Please let me know if there are still issues with uitests setup. ------------- PR Comment: https://git.openjdk.org/jmc/pull/503#issuecomment-1614175463 From clanger at openjdk.org Fri Jun 30 06:15:07 2023 From: clanger at openjdk.org (Christoph Langer) Date: Fri, 30 Jun 2023 06:15:07 GMT Subject: Integrated: 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy In-Reply-To: References: Message-ID: On Thu, 29 Jun 2023 15:37:18 GMT, Christoph Langer wrote: > The project uitests/org.openjdk.jmc.test.jemmy is a plugin project which is a helper library for other uitests. > > Currently, the sources reside in the src/test/java folder and the eclipse configuration would also place the compiled classes in target/test-classes. > When one does a plain maven build, without Eclipse involvement or using the clean target, everything works fine since then the compiled classes are generated into target/classes despite their source location. > However, building the project in Eclipse generates the classes in target/test-classes and this will cause the surefire plugin to pick up some classes as potential tests when running mvn verify thereafter. Since the test.jemmy project is not configured for launching a test runtime, we see bundle resolver failures. > > I fix this by moving the source files from src/test to src/main and fixing the Eclipse configuration files. I also removed the target-platform-configuration section from the pom.xml since it is redundant (already inherited by a parent pom). This pull request has now been integrated. Changeset: c98397e0 Author: Christoph Langer URL: https://git.openjdk.org/jmc/commit/c98397e05424bba2469ef3eba301799c795b6b47 Stats: 17 lines in 46 files changed: 0 ins; 12 del; 5 mod 8097: Fix project setup of uitests/org.openjdk.jmc.test.jemmy Reviewed-by: aptmac ------------- PR: https://git.openjdk.org/jmc/pull/503