From hirt at openjdk.java.net Tue May 3 18:00:27 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Tue, 3 May 2022 18:00:27 GMT Subject: RFR: 7769: Cleanup pom and project files for JMC core [v4] In-Reply-To: References: Message-ID: On Wed, 27 Apr 2022 21:00:42 GMT, Christoph Langer wrote: >> There is a lot of redundancy, whitespace errors, inconsistencies, obsolete stuff, errors, outdated plugin versions etc. in JMC core pom and project files. >> >> org.openjdk.jmc.flightrecorder.writer.test and org.openjdk.jmc.jdp.test have been refactored in terms of layout like the other test projects. > > Christoph Langer has updated the pull request incrementally with one additional commit since the last revision: > > Fix merge error Marked as reviewed by hirt (Lead). ------------- PR: https://git.openjdk.java.net/jmc/pull/398 From marcus.hirt at datadoghq.com Tue May 3 18:01:29 2022 From: marcus.hirt at datadoghq.com (Marcus Hirt) Date: Tue, 3 May 2022 20:01:29 +0200 Subject: New jmc Committer: Christoph Langer In-Reply-To: References: Message-ID: Vote: yes On Wed, Apr 27, 2022 at 4:41 PM Marcus Hirt wrote: > > Hi all, > > I hereby nominate Christoph Langer to jmc Committer. > > Christoph has contributed to JMC since even before the GitHub days, helping out not only with JMC itself but even helping fixing things in Eclipse when necessary! > > Here's a list of his contributions: > https://github.com/openjdk/jmc/commits?author=RealCLanger > https://github.com/openjdk/jmc/search?q=%22Contributed-by%3A+clanger%22&type=commits > > Votes are due by the 6th of May 2022, 17:00 CET. > > Only current jmc Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > Kind regards, > Marcus > > [1] https://openjdk.java.net/census > [2] https://openjdk.java.net/projects/#committer-vote From neugens at redhat.com Tue May 3 18:47:11 2022 From: neugens at redhat.com (Mario Torre) Date: Tue, 3 May 2022 20:47:11 +0200 Subject: New jmc Committer: Christoph Langer In-Reply-To: References: Message-ID: Vote: yes Cheers, Mario On Wed 27. Apr 2022 at 16:41, Marcus Hirt wrote: > Hi all, > > I hereby nominate Christoph Langer to jmc Committer. > > Christoph has contributed to JMC since even before the GitHub days, helping > out not only with JMC itself but even helping fixing things in Eclipse when > necessary! > > Here's a list of his contributions: > https://github.com/openjdk/jmc/commits?author=RealCLanger > > https://github.com/openjdk/jmc/search?q=%22Contributed-by%3A+clanger%22&type=commits > > Votes are due by the 6th of May 2022, 17:00 CET. > > Only current jmc Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > Kind regards, > Marcus > > [1] https://openjdk.java.net/census > [2] https://openjdk.java.net/projects/#committer-vote > > -- Mario Torre Manager, Software Engineering, OpenJDK 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 Red Hat GmbH, Registered seat: Werner von Siemens Ring 14, D-85630 Grasbrunn, Germany Commercial register: Amtsgericht Muenchen/Munich, HRB 153243, Managing Directors: Ryan Barnhart, Charles Cachera, Michael O'Neill, Amy Ross From jean-philippe.bempel at datadoghq.com Tue May 3 19:15:57 2022 From: jean-philippe.bempel at datadoghq.com (Jean-Philippe Bempel) Date: Tue, 3 May 2022 21:15:57 +0200 Subject: New jmc Committer: Christoph Langer In-Reply-To: References: Message-ID: Vote: yes On Wed, Apr 27, 2022 at 4:41 PM Marcus Hirt wrote: > Hi all, > > I hereby nominate Christoph Langer to jmc Committer. > > Christoph has contributed to JMC since even before the GitHub days, helping > out not only with JMC itself but even helping fixing things in Eclipse when > necessary! > > Here's a list of his contributions: > https://github.com/openjdk/jmc/commits?author=RealCLanger > > https://github.com/openjdk/jmc/search?q=%22Contributed-by%3A+clanger%22&type=commits > > Votes are due by the 6th of May 2022, 17:00 CET. > > Only current jmc Committers [1] are eligible to vote on this nomination. > Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. > > Kind regards, > Marcus > > [1] https://openjdk.java.net/census > [2] https://openjdk.java.net/projects/#committer-vote > From miro.wengner at gmail.com Tue May 3 20:09:08 2022 From: miro.wengner at gmail.com (Miro Wengner) Date: Tue, 3 May 2022 22:09:08 +0200 Subject: New jmc Committer: Christoph Langer In-Reply-To: References: Message-ID: vote: yes Cheers miro > On 3. May 2022, at 20:47, Mario Torre wrote: > > ?Vote: yes > > Cheers, > Mario > >> On Wed 27. Apr 2022 at 16:41, Marcus Hirt wrote: >> >> Hi all, >> >> I hereby nominate Christoph Langer to jmc Committer. >> >> Christoph has contributed to JMC since even before the GitHub days, helping >> out not only with JMC itself but even helping fixing things in Eclipse when >> necessary! >> >> Here's a list of his contributions: >> https://github.com/openjdk/jmc/commits?author=RealCLanger >> >> https://github.com/openjdk/jmc/search?q=%22Contributed-by%3A+clanger%22&type=commits >> >> Votes are due by the 6th of May 2022, 17:00 CET. >> >> Only current jmc Committers [1] are eligible to vote on this nomination. >> Votes must be cast in the open by replying to this mailing list. >> >> For Lazy Consensus voting instructions, see [2]. >> >> Kind regards, >> Marcus >> >> [1] https://openjdk.java.net/census >> [2] https://openjdk.java.net/projects/#committer-vote >> >> -- > Mario Torre Manager, Software Engineering, OpenJDK 9704 A60C B4BE A8B8 0F30 > 9205 5D7E 4952 3F65 7898 Red Hat GmbH, Registered seat: Werner von Siemens > Ring 14, D-85630 Grasbrunn, Germany Commercial register: Amtsgericht > Muenchen/Munich, HRB 153243, Managing Directors: Ryan Barnhart, Charles > Cachera, Michael O'Neill, Amy Ross From clanger at openjdk.java.net Wed May 4 08:24:24 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Wed, 4 May 2022 08:24:24 GMT Subject: Integrated: 7769: Cleanup pom and project files for JMC core In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:36:58 GMT, Christoph Langer wrote: > There is a lot of redundancy, whitespace errors, inconsistencies, obsolete stuff, errors, outdated plugin versions etc. in JMC core pom and project files. > > org.openjdk.jmc.flightrecorder.writer.test and org.openjdk.jmc.jdp.test have been refactored in terms of layout like the other test projects. This pull request has now been integrated. Changeset: 6aeee137 Author: Christoph Langer Committer: Jean-Philippe Bempel URL: https://git.openjdk.java.net/jmc/commit/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af Stats: 719 lines in 73 files changed: 142 ins; 191 del; 386 mod 7769: Cleanup pom and project files for JMC core Reviewed-by: hirt ------------- PR: https://git.openjdk.java.net/jmc/pull/398 From duke at openjdk.java.net Fri May 13 10:53:21 2022 From: duke at openjdk.java.net (Bernd) Date: Fri, 13 May 2022 10:53:21 GMT Subject: RFR: 7794: Update the link to the adoptium download site Message-ID: The AdoptOpenJDK no longer has the latest builds. Also use https for Links. ------------- Commit messages: - Update README.md - README.md: Update Link to Eclipse download site Changes: https://git.openjdk.java.net/jmc/pull/397/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=397&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-7794 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jmc/pull/397.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/397/head:pull/397 PR: https://git.openjdk.java.net/jmc/pull/397 From hirt at openjdk.java.net Fri May 13 10:53:23 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Fri, 13 May 2022 10:53:23 GMT Subject: RFR: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:04:36 GMT, Bernd wrote: > The AdoptOpenJDK no longer has the latest builds. > Also use https for Links. Changes requested by hirt (Lead). Marked as reviewed by hirt (Lead). README.md line 18: > 16: * Downloadable Eclipse update site archive > 17: > 18: [https://adoptium.net/de/jmc](https://adoptium.net/de/jmc) I think the URL should likely be: https://adoptium.net/jmc/ ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From duke at openjdk.java.net Fri May 13 10:53:25 2022 From: duke at openjdk.java.net (Bernd) Date: Fri, 13 May 2022 10:53:25 GMT Subject: RFR: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:24:32 GMT, Marcus Hirt wrote: >> The AdoptOpenJDK no longer has the latest builds. >> Also use https for Links. > > README.md line 18: > >> 16: * Downloadable Eclipse update site archive >> 17: >> 18: [https://adoptium.net/de/jmc](https://adoptium.net/de/jmc) > > I think the URL should likely be: > https://adoptium.net/jmc/ Correct, that was an automatic locale redirect it seems.. ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From hirt at openjdk.java.net Mon May 16 08:34:31 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Mon, 16 May 2022 08:34:31 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme Message-ID: Since running workflows in the context of main repo is no longer supported. ------------- Commit messages: - 7796: Remove workflow status indicator in the readme Changes: https://git.openjdk.java.net/jmc/pull/399/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=399&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-7796 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/jmc/pull/399.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/399/head:pull/399 PR: https://git.openjdk.java.net/jmc/pull/399 From duke at openjdk.java.net Mon May 16 13:50:33 2022 From: duke at openjdk.java.net (Virag Purnam) Date: Mon, 16 May 2022 13:50:33 GMT Subject: RFR: 7797: Update pom.xml to download latest js files for graphview Message-ID: d3-graphviz needs to be upgraded from 3.1.0 to 4.1.1 hpcc-js-wasm needs to be upgraded from 0.3.14 to 1.14.1 ------------- Commit messages: - 7797: Update pom.xml to download latest js files in org.openjdk.jmc.flightrecorder.graphview Changes: https://git.openjdk.java.net/jmc/pull/400/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=400&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-7797 Stats: 41 lines in 2 files changed: 32 ins; 0 del; 9 mod Patch: https://git.openjdk.java.net/jmc/pull/400.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/400/head:pull/400 PR: https://git.openjdk.java.net/jmc/pull/400 From hirt at openjdk.java.net Mon May 16 14:54:02 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Mon, 16 May 2022 14:54:02 GMT Subject: RFR: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:04:36 GMT, Bernd wrote: > The AdoptOpenJDK no longer has the latest builds. > Also use https for Links. Hi @ecki! Please type /integrate in a comment. :) ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From duke at openjdk.java.net Mon May 16 18:29:43 2022 From: duke at openjdk.java.net (Bernd) Date: Mon, 16 May 2022 18:29:43 GMT Subject: RFR: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:04:36 GMT, Bernd wrote: > The AdoptOpenJDK no longer has the latest builds. > Also use https for Links. (Feel free to squash the commit, if that?s still possible) ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From jpbempel at openjdk.java.net Tue May 17 11:57:56 2022 From: jpbempel at openjdk.java.net (Jean-Philippe Bempel) Date: Tue, 17 May 2022 11:57:56 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: On Mon, 16 May 2022 08:17:12 GMT, Marcus Hirt wrote: > Since running workflows in the context of main repo is no longer supported. Marked as reviewed by jpbempel (Committer). ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From jbachorik at openjdk.java.net Tue May 17 13:54:21 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 17 May 2022 13:54:21 GMT Subject: RFR: JMC-7798: Make the frame type extensible Message-ID: This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. ------------- Commit messages: - JMC-7798: Make the frame type extensible Changes: https://git.openjdk.java.net/jmc/pull/401/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-7798 Stats: 152 lines in 4 files changed: 113 ins; 23 del; 16 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 17 14:11:43 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 17 May 2022 14:11:43 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: Fix typo in javadoc ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/b9457af8..fddc5b68 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From aptmac at openjdk.java.net Tue May 17 15:51:17 2022 From: aptmac at openjdk.java.net (Alex Macdonald) Date: Tue, 17 May 2022 15:51:17 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: On Mon, 16 May 2022 08:17:12 GMT, Marcus Hirt wrote: > Since running workflows in the context of main repo is no longer supported. I'm a bit out of the loop, what happened to the workflows? ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From duke at openjdk.java.net Tue May 17 17:13:00 2022 From: duke at openjdk.java.net (Virag Purnam) Date: Tue, 17 May 2022 17:13:00 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: On Tue, 17 May 2022 15:47:35 GMT, Alex Macdonald wrote: > > Since running workflows in the context of main repo is no longer supported. > > I'm a bit out of the loop, what happened to the workflows? Workflows will not run within the context of openjdk. Now the workflows will run on the forked repos and when we request the PR, report links will be present on the main repo. This is a standard policy for all projects in the openjdk organization. All openjdk repositories are configured this way except for a small number that were overlooked. Now during the audit they found that JMC workflows run within the context of openjdk. They have disabled action tab for JMC in main repo. We will not see much change, workflows will run as it was earlier, but it will run on forked repos and report links will be part of PR. ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From aptmac at openjdk.java.net Tue May 17 19:07:59 2022 From: aptmac at openjdk.java.net (Alex Macdonald) Date: Tue, 17 May 2022 19:07:59 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: On Mon, 16 May 2022 08:17:12 GMT, Marcus Hirt wrote: > Since running workflows in the context of main repo is no longer supported. Marked as reviewed by aptmac (Reviewer). ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From jpbempel at openjdk.java.net Wed May 18 06:01:33 2022 From: jpbempel at openjdk.java.net (Jean-Philippe Bempel) Date: Wed, 18 May 2022 06:01:33 GMT Subject: RFR: 6757: Selector for attribute in the flame graph Message-ID: Add support for aggregating flamegraph by custom attribute. Available attributes are chosen by their content type (number or memory). Screenshot 2022-04-22 at 08 35 
47 Screenshot 2022-04-22 at 08 36 06 Added support on StacktraceView: Screenshot 2022-05-10 at 22 20 13 ------------- Commit messages: - 6757: Selector for attribute in the flame graph Changes: https://git.openjdk.java.net/jmc/pull/365/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=365&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-6757 Stats: 376 lines in 11 files changed: 324 ins; 0 del; 52 mod Patch: https://git.openjdk.java.net/jmc/pull/365.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/365/head:pull/365 PR: https://git.openjdk.java.net/jmc/pull/365 From clanger at openjdk.java.net Thu May 19 05:37:49 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 05:37:49 GMT Subject: RFR: 7797: Update pom.xml to download latest js files for graphview In-Reply-To: References: Message-ID: On Mon, 16 May 2022 13:44:51 GMT, Virag Purnam wrote: > d3-graphviz needs to be upgraded from 3.1.0 to 4.1.1 > hpcc-js-wasm needs to be upgraded from 0.3.14 to 1.14.1 Marked as reviewed by clanger (Author). ------------- PR: https://git.openjdk.java.net/jmc/pull/400 From clanger at openjdk.java.net Thu May 19 05:39:54 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 05:39:54 GMT Subject: RFR: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: <0QCuVjyQ51OX7sJ9oyPR1g3nvgKxi0ZNT12Jn1VrXZE=.83977335-4dd9-442d-8304-fed0f7ae2f6a@github.com> On Mon, 16 May 2022 08:17:12 GMT, Marcus Hirt wrote: > Since running workflows in the context of main repo is no longer supported. Marked as reviewed by clanger (Author). ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From clanger at openjdk.java.net Thu May 19 05:41:02 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 05:41:02 GMT Subject: RFR: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: On Wed, 13 Apr 2022 23:04:36 GMT, Bernd wrote: > The AdoptOpenJDK no longer has the latest builds. > Also use https for Links. Marked as reviewed by clanger (Author). ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From clanger at openjdk.java.net Thu May 19 06:33:09 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 06:33:09 GMT Subject: RFR: 7801: Fix GHA that is broken due to OpenJDK Update 11.0.15 Message-ID: <81Vm5CUVe2ZtswvhjineAYNtvmMyh8sVFv_u8lKobT0=.3adc5040-3f9e-4174-b18d-4ad37c91a1de@github.com> OpenJDK 11.0.15 has introduced a regression that breaks the JMC build on Windows (with JDK-8278356). It will be fixed in OpenJDK 11.0.16 with JDK-8285445. For now we can workaround the problem by pinning to OpenJDK 11.0.14 in the GHA workflow which should be fine from a security perspective. I also experimented with adding `-Djdk.io.File.enableADS=true` which is what JDK-8285445 effectively does but to no avail. The change updates to actions/setup-java at v2 and sets the JDK distribution in use to Temurin. ------------- Commit messages: - Fix GHA Changes: https://git.openjdk.java.net/jmc/pull/402/files Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=402&range=00 Issue: https://bugs.openjdk.java.net/browse/JMC-7801 Stats: 9 lines in 1 file changed: 3 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/jmc/pull/402.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/402/head:pull/402 PR: https://git.openjdk.java.net/jmc/pull/402 From duke at openjdk.java.net Thu May 19 07:06:49 2022 From: duke at openjdk.java.net (Bernd) Date: Thu, 19 May 2022 07:06:49 GMT Subject: Integrated: 7794: Update the link to the adoptium download site In-Reply-To: References: Message-ID: <0a8CKGyltTJm5vkRradeuP0uNeeEGHaouL1Wb4xGM_A=.579e2271-0bd1-4aa0-8bf2-4c5dcd397948@github.com> On Wed, 13 Apr 2022 23:04:36 GMT, Bernd wrote: > The AdoptOpenJDK no longer has the latest builds. > Also use https for Links. This pull request has now been integrated. Changeset: 578b5008 Author: Bernd Committer: Patrick Reinhart URL: https://git.openjdk.java.net/jmc/commit/578b50085e3f40c8b74ffa5be9d1344dee0d337a Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod 7794: Update the link to the adoptium download site Reviewed-by: hirt, clanger ------------- PR: https://git.openjdk.java.net/jmc/pull/397 From clanger at openjdk.java.net Thu May 19 12:33:09 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 12:33:09 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: Message-ID: On Tue, 17 May 2022 14:11:43 GMT, Jaroslav Bachorik wrote: >> This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). >> >> The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. > > Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: > > Fix typo in javadoc Generally looks good, I have some suggestions. Also, the copyright years need to be updated in all the files you touched. core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 38: > 36: > 37: import java.util.Objects; > 38: The java.util.Objects import should go before org.openjdk... core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 66: > 64: String key = MSG_PREFIX + this.id; > 65: if (Messages.hasString(key)) { > 66: this.name = Messages.getString(key); Except for id, you could leave out `this` in the constructor core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 66: > 64: String key = MSG_PREFIX + this.id; > 65: if (Messages.hasString(key)) { > 66: this.name = Messages.getString(key); Except for id, you could leave out `this` core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 78: > 76: */ > 77: public static final Type JIT_COMPILED = new Type("JIT_COMPILED"); //$NON-NLS-1$ > 78: /** I would like if the static type definitions could move up, directly behind `final class Type {` and were separated by a blank line. core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 78: > 76: */ > 77: public static final Type JIT_COMPILED = new Type("JIT_COMPILED"); //$NON-NLS-1$ > 78: /** I would like if the static type definitions could move up, directly behind `final class Type {` and were separated by a blank line. core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/internal/util/ParserToolkit.java line 89: > 87: * zero, so the memory overhead of the cache stays negligible. > 88: */ > 89: private static final Map TYPE_CACHE = new HashMap<>(); I would suggest to move the Type Cache to be part of the Type implementation in IMCFrame. core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/internal/util/ParserToolkit.java line 89: > 87: * zero, so the memory overhead of the cache stays negligible. > 88: */ > 89: private static final Map TYPE_CACHE = new HashMap<>(); I would suggest to move the Type Cache to be part of the Type implementation in IMCFrame. core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 1: > 1: package org.openjdk.jmc.flightrecorder.test.internal.util; This file needs a copyright header and it needs to be moved to src/main from src/test as the project structure has been modified a little lately with https://github.com/openjdk/jmc/commit/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 1: > 1: package org.openjdk.jmc.flightrecorder.test.internal.util; This file needs a copyright header and it needs to be moved to src/main from src/test as the project structure has been modified a little lately with https://github.com/openjdk/jmc/commit/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 13: > 11: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); > 12: Assert.assertTrue( > 13: IMCFrame.Type.JIT_COMPILED == ParserToolkit.parseFrameType(ParserToolkit.JIT_COMPILED_TYPE_ID)); Maybe make one line out of L12 and L13 ?? core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 13: > 11: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); > 12: Assert.assertTrue( > 13: IMCFrame.Type.JIT_COMPILED == ParserToolkit.parseFrameType(ParserToolkit.JIT_COMPILED_TYPE_ID)); Maybe make one line out of L12 and L13 ?? ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From hirt at openjdk.java.net Thu May 19 14:53:04 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Thu, 19 May 2022 14:53:04 GMT Subject: RFR: 7801: Fix GHA that is broken due to OpenJDK Update 11.0.15 In-Reply-To: <81Vm5CUVe2ZtswvhjineAYNtvmMyh8sVFv_u8lKobT0=.3adc5040-3f9e-4174-b18d-4ad37c91a1de@github.com> References: <81Vm5CUVe2ZtswvhjineAYNtvmMyh8sVFv_u8lKobT0=.3adc5040-3f9e-4174-b18d-4ad37c91a1de@github.com> Message-ID: On Thu, 19 May 2022 06:25:12 GMT, Christoph Langer wrote: > OpenJDK 11.0.15 has introduced a regression that breaks the JMC build on Windows (with JDK-8278356). It will be fixed in OpenJDK 11.0.16 with JDK-8285445. > > For now we can workaround the problem by pinning to OpenJDK 11.0.14 in the GHA workflow which should be fine from a security perspective. > > I also experimented with adding `-Djdk.io.File.enableADS=true` which is what JDK-8285445 effectively does but to no avail. > > The change updates to actions/setup-java at v2 and sets the JDK distribution in use to Temurin. Marked as reviewed by hirt (Lead). ------------- PR: https://git.openjdk.java.net/jmc/pull/402 From marcus.hirt at datadoghq.com Thu May 19 15:38:57 2022 From: marcus.hirt at datadoghq.com (Marcus Hirt) Date: Thu, 19 May 2022 17:38:57 +0200 Subject: Result: New jmc Committer: Christoph Langer Message-ID: Voting for Christoph Langer [1] is now closed. Yes: 4 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Kind regards, Marcus [1] https://mail.openjdk.java.net/pipermail/jmc-dev/2022-May/004680.html From clanger at openjdk.java.net Thu May 19 15:44:59 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Thu, 19 May 2022 15:44:59 GMT Subject: Integrated: 7801: Fix GHA that is broken due to OpenJDK Update 11.0.15 In-Reply-To: <81Vm5CUVe2ZtswvhjineAYNtvmMyh8sVFv_u8lKobT0=.3adc5040-3f9e-4174-b18d-4ad37c91a1de@github.com> References: <81Vm5CUVe2ZtswvhjineAYNtvmMyh8sVFv_u8lKobT0=.3adc5040-3f9e-4174-b18d-4ad37c91a1de@github.com> Message-ID: On Thu, 19 May 2022 06:25:12 GMT, Christoph Langer wrote: > OpenJDK 11.0.15 has introduced a regression that breaks the JMC build on Windows (with JDK-8278356). It will be fixed in OpenJDK 11.0.16 with JDK-8285445. > > For now we can workaround the problem by pinning to OpenJDK 11.0.14 in the GHA workflow which should be fine from a security perspective. > > I also experimented with adding `-Djdk.io.File.enableADS=true` which is what JDK-8285445 effectively does but to no avail. > > The change updates to actions/setup-java at v2 and sets the JDK distribution in use to Temurin. This pull request has now been integrated. Changeset: 64aa2ae9 Author: Christoph Langer Committer: Marcus Hirt URL: https://git.openjdk.java.net/jmc/commit/64aa2ae9797d893df70ce5b92d36e9558573203f Stats: 9 lines in 1 file changed: 3 ins; 0 del; 6 mod 7801: Fix GHA that is broken due to OpenJDK Update 11.0.15 Reviewed-by: hirt ------------- PR: https://git.openjdk.java.net/jmc/pull/402 From hirt at openjdk.java.net Thu May 19 15:47:08 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Thu, 19 May 2022 15:47:08 GMT Subject: Integrated: 7796: Remove workflow status indicator in the readme In-Reply-To: References: Message-ID: On Mon, 16 May 2022 08:17:12 GMT, Marcus Hirt wrote: > Since running workflows in the context of main repo is no longer supported. This pull request has now been integrated. Changeset: 3d665a4f Author: Marcus Hirt URL: https://git.openjdk.java.net/jmc/commit/3d665a4faeed650a1a0252a1c6e03942d3f935f3 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod 7796: Remove workflow status indicator in the readme Reviewed-by: jpbempel, aptmac, clanger ------------- PR: https://git.openjdk.java.net/jmc/pull/399 From duke at openjdk.java.net Fri May 20 08:00:04 2022 From: duke at openjdk.java.net (Martin Skarsaune) Date: Fri, 20 May 2022 08:00:04 GMT Subject: RFR: 7455: Add support for jolokia JMX service connection [v12] In-Reply-To: References: Message-ID: On Fri, 14 Jan 2022 19:41:02 GMT, Martin Skarsaune wrote: >> Martin Skarsaune has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 14 commits: >> >> - JMC-7455: Remaining OSGi cleanup >> - JMC-7455: Re-export jolokia JMX adapter for simplicity >> - JMC-7455: Use third party to pull inn Jolokia modules >> - Review corrections: Javadoc and refactoring attempt to use local operation info >> - Removed -XstartOnFirstThread as it is not valid for some JVMs >> - Used spotbugs to format more code >> - Used spotbugs to format according to convention >> - json.simple is needed by kubernetes plugin downstream >> - Adding test plugin for Jolokia >> - Revert unwanted change unrelated to new plugins >> - ... and 4 more: https://git.openjdk.java.net/jmc/compare/80fce51c...dc047f95 > > application/tests/org.openjdk.jmc.jolokia.test/pom.xml line 86: > >> 84: >> 85: org.apache.maven.plugins >> 86: maven-dependency-plugin > > Wondering whether I should do the same OSGi packaging solution with third party and platform definitions here. But is it ok to include test dependencies there as well, or should they be kept out of it? https://jdkmissioncontrol.slack.com/archives/CGMRA4ALW/p1643685017130109 ------------- PR: https://git.openjdk.java.net/jmc/pull/332 From duke at openjdk.java.net Fri May 20 08:21:00 2022 From: duke at openjdk.java.net (Martin Skarsaune) Date: Fri, 20 May 2022 08:21:00 GMT Subject: RFR: 7455: Add support for jolokia JMX service connection [v14] In-Reply-To: References: Message-ID: <_Kts0YxFjfXxJ3MDuoxl1n4bVtCHrtfLR8sbea2nO-o=.7de95e89-533a-4bd7-aef5-5467c184325d@github.com> > Setting back for review. The azure problem requires a fix in Jolokia. > > Make use of support for JMX service connection in jolokia 1.7.0 and later to connect to JVMs over this protocol. Martin Skarsaune has updated the pull request incrementally with one additional commit since the last revision: JMC-7455: Cleanup: remove redundant code ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/332/files - new: https://git.openjdk.java.net/jmc/pull/332/files/37d06c4e..854fed64 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=332&range=13 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=332&range=12-13 Stats: 8 lines in 1 file changed: 0 ins; 8 del; 0 mod Patch: https://git.openjdk.java.net/jmc/pull/332.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/332/head:pull/332 PR: https://git.openjdk.java.net/jmc/pull/332 From hirt at openjdk.java.net Tue May 24 12:06:48 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Tue, 24 May 2022 12:06:48 GMT Subject: RFR: 7797: Update pom.xml to download latest js files for graphview In-Reply-To: References: Message-ID: On Mon, 16 May 2022 13:44:51 GMT, Virag Purnam wrote: > d3-graphviz needs to be upgraded from 3.1.0 to 4.1.1 > hpcc-js-wasm needs to be upgraded from 0.3.14 to 1.14.1 Marked as reviewed by hirt (Lead). ------------- PR: https://git.openjdk.java.net/jmc/pull/400 From duke at openjdk.java.net Tue May 24 16:25:11 2022 From: duke at openjdk.java.net (Virag Purnam) Date: Tue, 24 May 2022 16:25:11 GMT Subject: Integrated: 7797: Update pom.xml to download latest js files for graphview In-Reply-To: References: Message-ID: On Mon, 16 May 2022 13:44:51 GMT, Virag Purnam wrote: > d3-graphviz needs to be upgraded from 3.1.0 to 4.1.1 > hpcc-js-wasm needs to be upgraded from 0.3.14 to 1.14.1 This pull request has now been integrated. Changeset: 44bbcd01 Author: vpurnam Committer: Suchita Chaturvedi URL: https://git.openjdk.java.net/jmc/commit/44bbcd01119fa39adcc836b22cdbae06e14154e8 Stats: 41 lines in 2 files changed: 32 ins; 0 del; 9 mod 7797: Update pom.xml to download latest js files for graphview Reviewed-by: clanger, hirt ------------- PR: https://git.openjdk.java.net/jmc/pull/400 From jbachorik at openjdk.java.net Wed May 25 16:18:59 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Wed, 25 May 2022 16:18:59 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v3] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: Addressing review comments ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/fddc5b68..1b2d3556 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=01-02 Stats: 160 lines in 5 files changed: 100 ins; 54 del; 6 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Wed May 25 16:19:03 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Wed, 25 May 2022 16:19:03 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: Message-ID: On Thu, 19 May 2022 12:29:57 GMT, Christoph Langer wrote: >> Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix typo in javadoc > > Generally looks good, I have some suggestions. > > Also, the copyright years need to be updated in all the files you touched. @RealCLanger , thanks for the review. I have pushed the changes you asked for. > core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 1: > >> 1: package org.openjdk.jmc.flightrecorder.test.internal.util; > > This file needs a copyright header and it needs to be moved to src/main from src/test as the project structure has been modified a little lately with https://github.com/openjdk/jmc/commit/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af Ok. I moved it to the indicated location. However, this breaks the IDE integration for IntelliJ but you are probably aware of that. ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From clanger at openjdk.java.net Wed May 25 16:47:58 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Wed, 25 May 2022 16:47:58 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v3] In-Reply-To: References: Message-ID: On Wed, 25 May 2022 16:18:59 GMT, Jaroslav Bachorik wrote: >> This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). >> >> The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. > > Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: > > Addressing review comments Looks good from my end now. I however, have only reviewed it from a formal point of view. Probably somebody with some more knowledge of the usage of the parsing should give it a blessing. ------------- Marked as reviewed by clanger (Author). PR: https://git.openjdk.java.net/jmc/pull/401 From clanger at openjdk.java.net Wed May 25 16:48:01 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Wed, 25 May 2022 16:48:01 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: Message-ID: <4BpN1XMs6JOq_8_3r9qAbMlyG0eapSKyoqC921dwMPA=.5662752e-e4f5-4163-becf-74c23de31c8f@github.com> On Wed, 25 May 2022 16:13:21 GMT, Jaroslav Bachorik wrote: >> core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 1: >> >>> 1: package org.openjdk.jmc.flightrecorder.test.internal.util; >> >> This file needs a copyright header and it needs to be moved to src/main from src/test as the project structure has been modified a little lately with https://github.com/openjdk/jmc/commit/6aeee1375d8ea5739ba2a85675fb5e00f1eea9af > > Ok. I moved it to the indicated location. However, this breaks the IDE integration for IntelliJ but you are probably aware of that. Hm, is there some style guide or something? I'm using Eclipse... ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Fri May 27 07:12:34 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Fri, 27 May 2022 07:12:34 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: Message-ID: On Thu, 19 May 2022 12:17:43 GMT, Christoph Langer wrote: >> Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: >> >> Fix typo in javadoc > > core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 66: > >> 64: String key = MSG_PREFIX + this.id; >> 65: if (Messages.hasString(key)) { >> 66: this.name = Messages.getString(key); > > Except for id, you could leave out `this` in the constructor Done > core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 66: > >> 64: String key = MSG_PREFIX + this.id; >> 65: if (Messages.hasString(key)) { >> 66: this.name = Messages.getString(key); > > Except for id, you could leave out `this` Done > core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 78: > >> 76: */ >> 77: public static final Type JIT_COMPILED = new Type("JIT_COMPILED"); //$NON-NLS-1$ >> 78: /** > > I would like if the static type definitions could move up, directly behind `final class Type {` and were separated by a blank line. Moved > core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/internal/util/ParserToolkit.java line 89: > >> 87: * zero, so the memory overhead of the cache stays negligible. >> 88: */ >> 89: private static final Map TYPE_CACHE = new HashMap<>(); > > I would suggest to move the Type Cache to be part of the Type implementation in IMCFrame. Done > core/tests/org.openjdk.jmc.flightrecorder.test/src/test/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 13: > >> 11: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); >> 12: Assert.assertTrue( >> 13: IMCFrame.Type.JIT_COMPILED == ParserToolkit.parseFrameType(ParserToolkit.JIT_COMPILED_TYPE_ID)); > > Maybe make one line out of L12 and L13 ?? Fixed ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Fri May 27 07:12:34 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Fri, 27 May 2022 07:12:34 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: <4BpN1XMs6JOq_8_3r9qAbMlyG0eapSKyoqC921dwMPA=.5662752e-e4f5-4163-becf-74c23de31c8f@github.com> References: <4BpN1XMs6JOq_8_3r9qAbMlyG0eapSKyoqC921dwMPA=.5662752e-e4f5-4163-becf-74c23de31c8f@github.com> Message-ID: On Wed, 25 May 2022 16:43:32 GMT, Christoph Langer wrote: >> Ok. I moved it to the indicated location. However, this breaks the IDE integration for IntelliJ but you are probably aware of that. > > Hm, is there some style guide or something? I'm using Eclipse... It's not because of style - apparently, Intellij has some assumptions about the source structure based on the gradle structure (eg. you should have tests in a test source root etc.) and having the tests in the main source root makes compilation and running such tests in IDE to fail miserably :( ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From hirt at openjdk.java.net Sun May 29 15:07:47 2022 From: hirt at openjdk.java.net (Marcus Hirt) Date: Sun, 29 May 2022 15:07:47 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v3] In-Reply-To: References: Message-ID: On Wed, 25 May 2022 16:18:59 GMT, Jaroslav Bachorik wrote: >> This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). >> >> The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. > > Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: > > Addressing review comments Right now the expected behaviour of a series of poison pills defining ever new frame types is OOME. How about instead having a fixed size LRU cache, or even simply just clear the thing when full and start over? ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Mon May 30 19:09:28 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Mon, 30 May 2022 19:09:28 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v4] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: Use LRU frame type cache ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/1b2d3556..6c8b7596 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=03 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=02-03 Stats: 13 lines in 1 file changed: 12 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From clanger at openjdk.java.net Tue May 31 08:30:33 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Tue, 31 May 2022 08:30:33 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v2] In-Reply-To: References: <4BpN1XMs6JOq_8_3r9qAbMlyG0eapSKyoqC921dwMPA=.5662752e-e4f5-4163-becf-74c23de31c8f@github.com> Message-ID: <7V7NdGWC1n0XqY196EsOnoeWAoLXGPq3963UOA8Sjkw=.10ea8d75-8237-4737-a561-c65f201e910e@github.com> On Fri, 27 May 2022 07:09:32 GMT, Jaroslav Bachorik wrote: >> Hm, is there some style guide or something? I'm using Eclipse... > > It's not because of style - apparently, Intellij has some assumptions about the source structure based on the gradle structure (eg. you should have tests in a test source root etc.) and having the tests in the main source root makes compilation and running such tests in IDE to fail miserably :( Ah, sorry, I thought this comment was about the import order. Well, you mean the assumptions about maven project layout? I think that's somehow true but I guess it was a deliberate choice to have this kind of layout. See also #354. No idea about Intellij, though, since I have only used Eclipse so far for JMC. ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From clanger at openjdk.java.net Tue May 31 08:38:51 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Tue, 31 May 2022 08:38:51 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v4] In-Reply-To: References: Message-ID: On Mon, 30 May 2022 19:09:28 GMT, Jaroslav Bachorik wrote: >> This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). >> >> The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. > > Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: > > Use LRU frame type cache Good idea to use LRU cache here. I didn't even know about these capabilities of LinkedHashMap yet. ?? I have some minor suggestions but other than that, looks good. Maybe you also want to merge with master to get green GHAs. core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 36: > 34: package org.openjdk.jmc.common; > 35: > 36: import java.util.HashMap; Now the java.util.HashMap import isn't needed any more. core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 102: > 100: */ > 101: private static final int TYPE_CACHE_MAX_SIZE = 100; > 102: /* Please add a blank line here. core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 108: > 106: */ > 107: private static final Map TYPE_CACHE = new LinkedHashMap() { > 108: @Override Eclipse shows a warning about a missing serialVersionUID - maybe you'd want to add one? core/org.openjdk.jmc.common/src/main/java/org/openjdk/jmc/common/IMCFrame.java line 109: > 107: private static final Map TYPE_CACHE = new LinkedHashMap() { > 108: @Override > 109: protected boolean removeEldestEntry(Map.Entry eldest) { Should be: `protected boolean removeEldestEntry(Map.Entry eldest) {` core/tests/org.openjdk.jmc.flightrecorder.test/src/main/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 45: > 43: public void testParseBuiltinFrameType() { > 44: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); > 45: Assert.assertTrue( Make one line out of L45 & L46? (Although the IDE probably did the line break...) ------------- Changes requested by clanger (Committer). PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 09:21:30 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 09:21:30 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v4] In-Reply-To: References: Message-ID: <8y0D1Ir1jMfQZ7rhk-TCXRJP0L0SO2wNZ-fWmqDQvMI=.004154a6-4334-47af-8a00-eda3e8590847@github.com> On Tue, 31 May 2022 08:33:28 GMT, Christoph Langer wrote: >> Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: >> >> Use LRU frame type cache > > core/tests/org.openjdk.jmc.flightrecorder.test/src/main/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 45: > >> 43: public void testParseBuiltinFrameType() { >> 44: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); >> 45: Assert.assertTrue( > > Make one line out of L45 & L46? (Although the IDE probably did the line break...) Actually, I think this was done by spotless. I always run `mvn spotless:apply` but it seems like not all style nuances are captured in its rules. ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 09:31:55 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 09:31:55 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v4] In-Reply-To: <8y0D1Ir1jMfQZ7rhk-TCXRJP0L0SO2wNZ-fWmqDQvMI=.004154a6-4334-47af-8a00-eda3e8590847@github.com> References: <8y0D1Ir1jMfQZ7rhk-TCXRJP0L0SO2wNZ-fWmqDQvMI=.004154a6-4334-47af-8a00-eda3e8590847@github.com> Message-ID: <0t_P__v0foMsL2gs4lxSEoo4dQiq-zWP0y5_3kNzZBA=.7f34ed5d-7553-412d-8f40-4925997a46cc@github.com> On Tue, 31 May 2022 09:18:19 GMT, Jaroslav Bachorik wrote: >> core/tests/org.openjdk.jmc.flightrecorder.test/src/main/java/org/openjdk/jmc/flightrecorder/test/internal/util/ParserToolkitTest.java line 45: >> >>> 43: public void testParseBuiltinFrameType() { >>> 44: Assert.assertTrue(IMCFrame.Type.INTERPRETED == ParserToolkit.parseFrameType(ParserToolkit.INTERPRETED_TYPE_ID)); >>> 45: Assert.assertTrue( >> >> Make one line out of L45 & L46? (Although the IDE probably did the line break...) > > Actually, I think this was done by spotless. I always run `mvn spotless:apply` but it seems like not all style nuances are captured in its rules. Yep. Checked it. Spotless will do this change. ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 09:36:55 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 09:36:55 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v5] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: A few formatting changes ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/6c8b7596..eb3ffa6b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=04 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=03-04 Stats: 7 lines in 2 files changed: 3 ins; 2 del; 2 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 09:38:54 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 09:38:54 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v6] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik 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 six additional commits since the last revision: - Merge branch 'master' into jb/JMC-7789 - A few formatting changes - Use LRU frame type cache - Addressing review comments - Fix typo in javadoc - JMC-7798: Make the frame type extensible ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/eb3ffa6b..cc44b79f Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=05 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=04-05 Stats: 53 lines in 4 files changed: 35 ins; 1 del; 17 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 12:20:41 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 12:20:41 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v7] In-Reply-To: References: Message-ID: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: A few formatting changes ------------- Changes: - all: https://git.openjdk.java.net/jmc/pull/401/files - new: https://git.openjdk.java.net/jmc/pull/401/files/cc44b79f..d27ca937 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=06 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=401&range=05-06 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jmc/pull/401.diff Fetch: git fetch https://git.openjdk.java.net/jmc pull/401/head:pull/401 PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 13:24:35 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 13:24:35 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v4] In-Reply-To: <0t_P__v0foMsL2gs4lxSEoo4dQiq-zWP0y5_3kNzZBA=.7f34ed5d-7553-412d-8f40-4925997a46cc@github.com> References: <8y0D1Ir1jMfQZ7rhk-TCXRJP0L0SO2wNZ-fWmqDQvMI=.004154a6-4334-47af-8a00-eda3e8590847@github.com> <0t_P__v0foMsL2gs4lxSEoo4dQiq-zWP0y5_3kNzZBA=.7f34ed5d-7553-412d-8f40-4925997a46cc@github.com> Message-ID: On Tue, 31 May 2022 09:28:43 GMT, Jaroslav Bachorik wrote: >> Actually, I think this was done by spotless. I always run `mvn spotless:apply` but it seems like not all style nuances are captured in its rules. > > Yep. Checked it. Spotless will do this change. Actually, I have to keep the split line. Otherwise the spotless checker will fail :( ------------- PR: https://git.openjdk.java.net/jmc/pull/401 From clanger at openjdk.java.net Tue May 31 14:43:27 2022 From: clanger at openjdk.java.net (Christoph Langer) Date: Tue, 31 May 2022 14:43:27 GMT Subject: RFR: JMC-7798: Make the frame type extensible [v7] In-Reply-To: References: Message-ID: On Tue, 31 May 2022 12:20:41 GMT, Jaroslav Bachorik wrote: >> This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). >> >> The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. > > Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision: > > A few formatting changes Thumbs up ------------- Marked as reviewed by clanger (Committer). PR: https://git.openjdk.java.net/jmc/pull/401 From jbachorik at openjdk.java.net Tue May 31 15:54:50 2022 From: jbachorik at openjdk.java.net (Jaroslav Bachorik) Date: Tue, 31 May 2022 15:54:50 GMT Subject: Integrated: JMC-7798: Make the frame type extensible In-Reply-To: References: Message-ID: On Tue, 17 May 2022 13:47:51 GMT, Jaroslav Bachorik wrote: > This change allows the JMC parser users to consume frames with the type set to non-standard values (eg. from async-profiler). > > The hard-wired enum approach is replaced with a hybrid solution keeping the standard types in enum-like structure and using a cache for the non-standard types. This allows being fairly flexible when dealing with new frame types while keeping full backward compatibility. This pull request has now been integrated. Changeset: 303031fa Author: Jaroslav Bachorik Committer: Christoph Langer URL: https://git.openjdk.java.net/jmc/commit/303031fa3d0238574e2f30a0d28b1c76b065f609 Stats: 202 lines in 4 files changed: 159 ins; 9 del; 34 mod 7798: Make the frame type extensible Reviewed-by: clanger ------------- PR: https://git.openjdk.java.net/jmc/pull/401