From jkang at redhat.com Thu Nov 1 14:56:06 2018 From: jkang at redhat.com (Jie Kang) Date: Thu, 1 Nov 2018 10:56:06 -0400 Subject: RFR: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: Message-ID: On Mon, Oct 15, 2018 at 9:07 AM Jie Kang wrote: > > On Sat, Oct 13, 2018 at 12:48 PM Patrick Reinhart wrote: > > > > Hi Jie, > > > > For me the tests do not run here under Linux: > > > > mvn verify -P uitests > > > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Reactor Summary: > > [INFO] > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > 2.095 s] > > [INFO] missioncontrol.application ......................... SUCCESS [ > > 0.059 s] > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > 6.941 s] > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > 4.492 s] > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > 14.612 s] > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > 7.724 s] > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > 6.848 s] > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > 10.093 s] > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > 9.516 s] > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > 5.107 s] > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > 2.444 s] > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > 4.726 s] > > > > Also the UI tests fail: > > > > mvn verify -P uitests > > The logs below has the same failure as the logs above; was this the > intended paste? > > `org.openjdk.jmc.browser.attach` is under `application` module, is not > a UI test and has no dependence on the Jemmy libraries as far as I can > tell. The patch adds a new phase to the `org.openjdk.jmc.test.jemmy` > module that downloads Jemmy libraries under the lib folder; assuming > your logs are complete this module has not been reached and so I can't > see how this failure is related. Can you share logs of the actual > failure? Otherwise possibly retry with a clean run via 'mvn clean > verify -P uitests'. Hi, Is there any update on this? I've attached the patch again to this e-mail; this was the initial e-mail: > Please find attached an alternative patch that addresses JMC-6115. It > adds a step in the maven phase to download the Jemmy libraries from > Maven Central. The pom file is also converted to all tabs. Let me know > what you think! Regards, > > > Regards, > > > > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Reactor Summary: > > [INFO] > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > 1.867 s] > > [INFO] missioncontrol.application ......................... SUCCESS [ > > 0.061 s] > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > 5.843 s] > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > 4.192 s] > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > 12.285 s] > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > 5.707 s] > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > 6.156 s] > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > 9.170 s] > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > 9.860 s] > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > 4.523 s] > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > 1.856 s] > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > 3.777 s] > > > > -Patrick > > > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: jmc-6115.patch Type: text/x-patch Size: 9679 bytes Desc: not available URL: From marcus.hirt at oracle.com Thu Nov 1 15:45:09 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 01 Nov 2018 08:45:09 -0700 Subject: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: <38F5E753-6AE4-443B-A7AA-787413CA2814@redhat.com> References: <38F5E753-6AE4-443B-A7AA-787413CA2814@redhat.com> Message-ID: Thank you Jie, I think this is a definite improvement, though I was hoping we would be able to treat the Jemmy libraries like another third party dependency. Guru, could you review this, and sponsor the change if you agree with the solution? Kind regards, Marcus ?On 2018-11-01, 07:56, "jmc-dev on behalf of Jie Kang" wrote: On Mon, Oct 15, 2018 at 9:07 AM Jie Kang wrote: > > On Sat, Oct 13, 2018 at 12:48 PM Patrick Reinhart wrote: > > > > Hi Jie, > > > > For me the tests do not run here under Linux: > > > > mvn verify -P uitests > > > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Reactor Summary: > > [INFO] > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > 2.095 s] > > [INFO] missioncontrol.application ......................... SUCCESS [ > > 0.059 s] > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > 6.941 s] > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > 4.492 s] > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > 14.612 s] > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > 7.724 s] > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > 6.848 s] > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > 10.093 s] > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > 9.516 s] > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > 5.107 s] > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > 2.444 s] > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > 4.726 s] > > > > Also the UI tests fail: > > > > mvn verify -P uitests > > The logs below has the same failure as the logs above; was this the > intended paste? > > `org.openjdk.jmc.browser.attach` is under `application` module, is not > a UI test and has no dependence on the Jemmy libraries as far as I can > tell. The patch adds a new phase to the `org.openjdk.jmc.test.jemmy` > module that downloads Jemmy libraries under the lib folder; assuming > your logs are complete this module has not been reached and so I can't > see how this failure is related. Can you share logs of the actual > failure? Otherwise possibly retry with a clean run via 'mvn clean > verify -P uitests'. Hi, Is there any update on this? I've attached the patch again to this e-mail; this was the initial e-mail: > Please find attached an alternative patch that addresses JMC-6115. It > adds a step in the maven phase to download the Jemmy libraries from > Maven Central. The pom file is also converted to all tabs. Let me know > what you think! Regards, > > > Regards, > > > > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Reactor Summary: > > [INFO] > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > 1.867 s] > > [INFO] missioncontrol.application ......................... SUCCESS [ > > 0.061 s] > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > 5.843 s] > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > 4.192 s] > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > 12.285 s] > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > 5.707 s] > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > 6.156 s] > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > 9.170 s] > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > 9.860 s] > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > 4.523 s] > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > 1.856 s] > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > 3.777 s] > > > > -Patrick > > > > > > From marcus.hirt at oracle.com Thu Nov 1 16:21:28 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 01 Nov 2018 09:21:28 -0700 Subject: Log to File constantly being overwritten in Standalone JMC In-Reply-To: <809AE6C2-3C35-4A3A-97A9-8951C4907E12@redhat.com> References: <809AE6C2-3C35-4A3A-97A9-8951C4907E12@redhat.com> Message-ID: Looks good Ken! Thank you for your contribution! Added this as JMC-6191. Kind regards, Marcus ?On 2018-10-31, 12:58, "jmc-dev on behalf of Ken Dobson" wrote: Hi All, Another tiny patch fixing Triggers logging to a file in the Standalone version. Ken Dobson diff -r b3a23786ef23 application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/BasicFile.java --- a/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/BasicFile.java Wed Oct 10 16:43:35 2018 -0400 +++ b/application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/BasicFile.java Wed Oct 31 15:43:55 2018 -0400 @@ -74,7 +74,7 @@ private static void write(InputStream in, File toOutput, boolean append) throws IOException { File parent = toOutput.getParentFile(); if (parent.isDirectory() || parent.mkdirs()) { - IOToolkit.write(in, toOutput, false); + IOToolkit.write(in, toOutput, append); } else { throw new IOException(); } From marcus.hirt at oracle.com Thu Nov 1 16:21:38 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Thu, 01 Nov 2018 16:21:38 +0000 Subject: hg: jmc/jmc: JMC-6191: Fix to make the Log to File action in the console append when running as an RCP app Message-ID: <201811011621.wA1GLcU1010807@aojmv0008.oracle.com> Changeset: 4da395fedfab Author: hirt Date: 2018-11-01 09:20 -0700 URL: http://hg.openjdk.java.net/jmc/jmc/rev/4da395fedfab JMC-6191: Fix to make the Log to File action in the console append when running as an RCP app Reviewed-by: hirt Contributed-by: Ken Dobson ! application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/BasicFile.java From marcus.hirt at oracle.com Thu Nov 1 16:36:37 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Thu, 01 Nov 2018 16:36:37 +0000 Subject: hg: jmc/jmc: JMC-6192: Triggering a heap dump from the HPROF trigger action repeatedly will now add a time stamp to the file name instead of failing Message-ID: <201811011636.wA1GabaC018201@aojmv0008.oracle.com> Changeset: 7cc62ce6c6d6 Author: hirt Date: 2018-11-01 09:36 -0700 URL: http://hg.openjdk.java.net/jmc/jmc/rev/7cc62ce6c6d6 JMC-6192: Triggering a heap dump from the HPROF trigger action repeatedly will now add a time stamp to the file name instead of failing Reviewed-by: hirt Contributed-by: Ken Dobson ! application/org.openjdk.jmc.rjmx/src/main/java/org/openjdk/jmc/rjmx/triggers/actions/internal/TriggerActionHPROF.java From marcus.hirt at oracle.com Thu Nov 1 21:58:13 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 01 Nov 2018 14:58:13 -0700 Subject: JMC 7.0 Release Meeting Message-ID: <9CEAB7A5-9FE5-41F9-837C-F5600BEEA2B0@oracle.com> Hi all, Now that Code One has come and gone, it is time to start finish up the JMC 7 project. The IDC (Oracle India) team members are currently hard at work running through the ATR (all tests run), and the second ramp-down phase starts in less than a month (2018-11-28). This meeting is to discuss what is left to do, and how we best achieve our goal of releasing the 30th of January. Subject: JMC 7.0 Release Meeting Location: Zoom (e-mail me for an invite) Date: 2018-11-07 (Wednesday, next week) Time: 09:00-10:00 PDT 12:00-13:00 EDT 18:00-19:00 CET 21:30-22:30 IST 01:00-02:00 JST (2018-11-08) Kind regards, Marcus From jmatsuok at redhat.com Fri Nov 2 20:49:00 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Fri, 2 Nov 2018 16:49:00 -0400 Subject: RFR: JMC-5506 Rule that detects fatal errors in the end of the recording Message-ID: Hi, The following patch adds support for the recently added VM Shutdown event by creating a rule to detect if the JVM terminated in a VM Error, as well as adding shutdown information to the JVM internals page. http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ Thoughts? Cheers, - Josh From erik.gahlin at oracle.com Fri Nov 2 21:28:16 2018 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Fri, 2 Nov 2018 22:28:16 +0100 Subject: RFR: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: References: Message-ID: <5BDCC170.40008@oracle.com> Hi Joshua, I think the text should say "JVM" instead of "VM" Calling the event "VM" was a mistake in JVM implementation and we intend to change the label of the event to "JVM", similar to other events, such as "JVM Information" One of the reason the event was added was to detect if there were no more remaining non-daemon Java threads [1] [2]. Maybe that should be called out? A user may wonder why their application exited abruptly. It's not an error per se, but it would still be good to see somehow. [1] https://bugs.openjdk.java.net/browse/JDK-8041626 [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab Thanks Erik > Hi, > > The following patch adds support for the recently added VM Shutdown event > by creating a rule to detect if the JVM terminated in a VM Error, as well > as adding shutdown information to the JVM internals page. > > http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ > > Thoughts? > > Cheers, > > - Josh From marcus.hirt at oracle.com Sun Nov 4 11:43:12 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Sun, 04 Nov 2018 12:43:12 +0100 Subject: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> References: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> Message-ID: <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> Hi Erik, Will Shutdown Reason state that the reason for the shutdown was due to no more remaining non-daemon threads? If so, the reason will be shown on the page. If we want it to be even more apparent, we could also add it to the rule as Severity.INFO (25). Either way is fine with me. If the Shutdown Reason doesn't state this explicitly, that should probably be fixed in the event. Kind regards, Marcus ?On 2018-11-02, 22:28, "jmc-dev on behalf of Erik Gahlin" wrote: Hi Joshua, I think the text should say "JVM" instead of "VM" Calling the event "VM" was a mistake in JVM implementation and we intend to change the label of the event to "JVM", similar to other events, such as "JVM Information" One of the reason the event was added was to detect if there were no more remaining non-daemon Java threads [1] [2]. Maybe that should be called out? A user may wonder why their application exited abruptly. It's not an error per se, but it would still be good to see somehow. [1] https://bugs.openjdk.java.net/browse/JDK-8041626 [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab Thanks Erik > Hi, > > The following patch adds support for the recently added VM Shutdown event > by creating a rule to detect if the JVM terminated in a VM Error, as well > as adding shutdown information to the JVM internals page. > > http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ > > Thoughts? > > Cheers, > > - Josh From patrick at reini.net Sun Nov 4 15:16:25 2018 From: patrick at reini.net (Patrick Reinhart) Date: Sun, 4 Nov 2018 16:16:25 +0100 Subject: RFR: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: Message-ID: Am 01.11.18 um 15:56 schrieb Jie Kang: > Hi, > Is there any update on this? > > I've attached the patch again to this e-mail; this was the initial e-mail: > >> Please find attached an alternative patch that addresses JMC-6115. It >> adds a step in the maven phase to download the Jemmy libraries from >> Maven Central. The pom file is also converted to all tabs. Let me know >> what you think! Just updated my code again and re-run the builds and now only the UI-Tests fail with OracleJDK 1.8.0_181 mvn verify -P uitests -Dspotbugs.skip=true [...] [INFO] org.openjdk.jmc.test.jemmy ......................... SUCCESS [? 0.228 s] [INFO] org.openjdk.jmc.browser.uitest 1.0.0-SNAPSHOT ...... FAILURE [ 40.646 s] [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 .............................. SKIPPED [INFO] platform-definitions ............................... SKIPPED [INFO] platform-definition-oxygen ......................... SKIPPED [INFO] platform-definition-photon 7.0.0-SNAPSHOT .......... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:15 min [INFO] Finished at: 2018-11-04T10:06:32+01:00 [INFO] ------------------------------------------------------------------------ Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14+02:00) Maven home: /opt/apache-maven-3.5.4 Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_181/jre Default locale: de_CH, platform encoding: UTF-8 OS name: "linux", version: "4.18.16-300.fc29.x86_64", arch: "amd64", family: "unix" -Patrick Did anyone run this tests successfully? From erik.gahlin at oracle.com Sun Nov 4 15:54:55 2018 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Sun, 4 Nov 2018 16:54:55 +0100 Subject: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> References: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> Message-ID: Hi Marcus, It is stated in the event. For details, look at the patch which is linked in the bug for the event. Erik > On 4 Nov 2018, at 12:43, Marcus Hirt wrote: > > Hi Erik, > > Will Shutdown Reason state that the reason for the shutdown was due to no more > remaining non-daemon threads? If so, the reason will be shown on the page. > If we want it to be even more apparent, we could also add it to the rule > as Severity.INFO (25). Either way is fine with me. > > If the Shutdown Reason doesn't state this explicitly, that should > probably be fixed in the event. > > Kind regards, > Marcus > > ?On 2018-11-02, 22:28, "jmc-dev on behalf of Erik Gahlin" wrote: > > Hi Joshua, > > I think the text should say "JVM" instead of "VM" > > Calling the event "VM" was a mistake in JVM implementation and we intend > to change the label of the event to "JVM", similar to other events, such > as "JVM Information" > > One of the reason the event was added was to detect if there were no > more remaining non-daemon Java threads [1] [2]. Maybe that should be > called out? A user may wonder why their application exited abruptly. > It's not an error per se, but it would still be good to see somehow. > > [1] https://bugs.openjdk.java.net/browse/JDK-8041626 > [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab > > Thanks > Erik > >> Hi, >> >> The following patch adds support for the recently added VM Shutdown event >> by creating a rule to detect if the JVM terminated in a VM Error, as well >> as adding shutdown information to the JVM internals page. >> >> http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ >> >> Thoughts? >> >> Cheers, >> >> - Josh > > > > > From marcus.hirt at oracle.com Sun Nov 4 16:18:50 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Sun, 04 Nov 2018 17:18:50 +0100 Subject: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: <30B48D59-7A1B-4A6C-90E9-B5DC9A083EBA@oracle.com> References: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> <30B48D59-7A1B-4A6C-90E9-B5DC9A083EBA@oracle.com> Message-ID: Perfect. Josh, I've reviewed the code and it looks fine. Once you've updated the texts to say JVM instead of VM, you're good to go. If you want to add code for reason "No remaining non-daemon Java threads" (25), then that would be great. Please let me know if you would like me to sponsor the change. Kind regards, Marcus ?On 2018-11-04, 16:54, "Erik Gahlin" wrote: Hi Marcus, It is stated in the event. For details, look at the patch which is linked in the bug for the event. Erik > On 4 Nov 2018, at 12:43, Marcus Hirt wrote: > > Hi Erik, > > Will Shutdown Reason state that the reason for the shutdown was due to no more > remaining non-daemon threads? If so, the reason will be shown on the page. > If we want it to be even more apparent, we could also add it to the rule > as Severity.INFO (25). Either way is fine with me. > > If the Shutdown Reason doesn't state this explicitly, that should > probably be fixed in the event. > > Kind regards, > Marcus > > ?On 2018-11-02, 22:28, "jmc-dev on behalf of Erik Gahlin" wrote: > > Hi Joshua, > > I think the text should say "JVM" instead of "VM" > > Calling the event "VM" was a mistake in JVM implementation and we intend > to change the label of the event to "JVM", similar to other events, such > as "JVM Information" > > One of the reason the event was added was to detect if there were no > more remaining non-daemon Java threads [1] [2]. Maybe that should be > called out? A user may wonder why their application exited abruptly. > It's not an error per se, but it would still be good to see somehow. > > [1] https://bugs.openjdk.java.net/browse/JDK-8041626 > [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab > > Thanks > Erik > >> Hi, >> >> The following patch adds support for the recently added VM Shutdown event >> by creating a rule to detect if the JVM terminated in a VM Error, as well >> as adding shutdown information to the JVM internals page. >> >> http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ >> >> Thoughts? >> >> Cheers, >> >> - Josh > > > > > From marcus.hirt at oracle.com Mon Nov 5 11:38:23 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 05 Nov 2018 12:38:23 +0100 Subject: Review request for JMC-6193: Fixing the agent manifest Message-ID: <8E044A15-6CE4-454F-A674-3339CD91E2D9@oracle.com> Hi all, Please review this fix to the agent manifest. Jira: https://bugs.openjdk.java.net/browse/JMC-6193 Webrev: http://cr.openjdk.java.net/~hirt/JMC-6193/webrev.01/ Kind regards, Marcus From guru.hb at oracle.com Mon Nov 5 14:51:39 2018 From: guru.hb at oracle.com (Guru) Date: Mon, 5 Nov 2018 20:21:39 +0530 Subject: Review request for JMC-6193: Fixing the agent manifest In-Reply-To: <8E044A15-6CE4-454F-A674-3339CD91E2D9@oracle.com> References: <8E044A15-6CE4-454F-A674-3339CD91E2D9@oracle.com> Message-ID: +1 Looks good to me. > On 05-Nov-2018, at 5:08 PM, Marcus Hirt wrote: > > Hi all, > > Please review this fix to the agent manifest. > > Jira: https://bugs.openjdk.java.net/browse/JMC-6193 > Webrev: http://cr.openjdk.java.net/~hirt/JMC-6193/webrev.01/ > > Kind regards, > Marcus > > > From jmatsuok at redhat.com Mon Nov 5 15:24:34 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 5 Nov 2018 10:24:34 -0500 Subject: RFR: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: Message-ID: Hi Patrick, I've done some investigating and found that there are 4 UI tests that are problematic on OpenJDK. ControlRecordingsTest - Tries to perform various operations on a recording from the JVM Browser, fails since we don't have flight recorder in OpenJDK8 JFRWizardTest - Tries to test various options from the JFR recording wizard. The wizard is started from the JVM browser so it fails for the same reasons as the previous test TemplateManagerTest - Requires the JVM browser to have JFR functionality, same as above. DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be present in the list of options. They aren't there in OpenJDK8. After disabling them I'm able to run all of the rest of the UI Tests successfully. I'll be working on a patch similar to the one for JMC-6118. Cheers, - Josh On Sun, Nov 4, 2018 at 10:16 AM, Patrick Reinhart wrote: > > Am 01.11.18 um 15:56 schrieb Jie Kang: > > Hi, > > Is there any update on this? > > > > I've attached the patch again to this e-mail; this was the initial > e-mail: > > > >> Please find attached an alternative patch that addresses JMC-6115. It > >> adds a step in the maven phase to download the Jemmy libraries from > >> Maven Central. The pom file is also converted to all tabs. Let me know > >> what you think! > > Just updated my code again and re-run the builds and now only the > UI-Tests fail with OracleJDK 1.8.0_181 > > > mvn verify -P uitests -Dspotbugs.skip=true > > [...] > > [INFO] org.openjdk.jmc.test.jemmy ......................... SUCCESS [ > 0.228 s] > [INFO] org.openjdk.jmc.browser.uitest 1.0.0-SNAPSHOT ...... FAILURE [ > 40.646 s] > [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 .............................. SKIPPED > [INFO] platform-definitions ............................... SKIPPED > [INFO] platform-definition-oxygen ......................... SKIPPED > [INFO] platform-definition-photon 7.0.0-SNAPSHOT .......... SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 03:15 min > [INFO] Finished at: 2018-11-04T10:06:32+01:00 > [INFO] > ------------------------------------------------------------------------ > > Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; > 2018-06-17T20:33:14+02:00) > Maven home: /opt/apache-maven-3.5.4 > Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: > /usr/java/jdk1.8.0_181/jre > Default locale: de_CH, platform encoding: UTF-8 > > OS name: "linux", version: "4.18.16-300.fc29.x86_64", arch: "amd64", > family: "unix" > > -Patrick > > Did anyone run this tests successfully? > > > > From jmatsuok at redhat.com Mon Nov 5 17:07:14 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 5 Nov 2018 12:07:14 -0500 Subject: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: References: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> <30B48D59-7A1B-4A6C-90E9-B5DC9A083EBA@oracle.com> Message-ID: Hi Marcus, Here's an updated webrev: http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.03/ Cheers, - Josh On Sun, Nov 4, 2018 at 11:18 AM, Marcus Hirt wrote: > Perfect. Josh, I've reviewed the code and it looks fine. Once you've > updated > the texts to say JVM instead of VM, you're good to go. If you want to add > code > for reason "No remaining non-daemon Java threads" (25), then that would be > great. Please let me know if you would like me to sponsor the change. > > Kind regards, > Marcus > > ?On 2018-11-04, 16:54, "Erik Gahlin" wrote: > > Hi Marcus, > > It is stated in the event. For details, look at the patch which is > linked in the bug for the event. > > Erik > > > On 4 Nov 2018, at 12:43, Marcus Hirt wrote: > > > > Hi Erik, > > > > Will Shutdown Reason state that the reason for the shutdown was due > to no more > > remaining non-daemon threads? If so, the reason will be shown on the > page. > > If we want it to be even more apparent, we could also add it to the > rule > > as Severity.INFO (25). Either way is fine with me. > > > > If the Shutdown Reason doesn't state this explicitly, that should > > probably be fixed in the event. > > > > Kind regards, > > Marcus > > > > ?On 2018-11-02, 22:28, "jmc-dev on behalf of Erik Gahlin" < > jmc-dev-bounces at openjdk.java.net on behalf of erik.gahlin at oracle.com> > wrote: > > > > Hi Joshua, > > > > I think the text should say "JVM" instead of "VM" > > > > Calling the event "VM" was a mistake in JVM implementation and we > intend > > to change the label of the event to "JVM", similar to other > events, such > > as "JVM Information" > > > > One of the reason the event was added was to detect if there were > no > > more remaining non-daemon Java threads [1] [2]. Maybe that should > be > > called out? A user may wonder why their application exited > abruptly. > > It's not an error per se, but it would still be good to see > somehow. > > > > [1] https://bugs.openjdk.java.net/browse/JDK-8041626 > > [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab > > > > Thanks > > Erik > > > >> Hi, > >> > >> The following patch adds support for the recently added VM Shutdown > event > >> by creating a rule to detect if the JVM terminated in a VM Error, > as well > >> as adding shutdown information to the JVM internals page. > >> > >> http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ > >> > >> Thoughts? > >> > >> Cheers, > >> > >> - Josh > > > > > > > > > > > > > > > > From patrick at reini.net Mon Nov 5 18:47:59 2018 From: patrick at reini.net (Patrick Reinhart) Date: Mon, 5 Nov 2018 19:47:59 +0100 Subject: RFR: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: Message-ID: <9a1c0867-6bc2-e9b6-8e29-d5200d51a937@reini.net> Hi Josh, But I use the Oracle JDK not the OpenJDK? That is what puzzles me... -Patrick Am 05.11.18 um 16:24 schrieb Joshua Matsuoka: > Hi Patrick, > > I've done some investigating and found that there are 4 UI tests that > are problematic on OpenJDK. > > ControlRecordingsTest - Tries to perform various operations on a > recording from the JVM Browser, fails since we don't have flight > recorder in OpenJDK8 > > JFRWizardTest - Tries to test various options from the JFR recording > wizard. The wizard is started from the JVM browser so it fails for the > same reasons as the previous test > > TemplateManagerTest - Requires the JVM browser to have JFR > functionality, same as above. > > DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be > present in the list of options. They aren't there in OpenJDK8. > > After disabling them I'm able to run all of the rest of the UI Tests > successfully. I'll be working on a patch similar to the one for JMC-6118. > > Cheers, > > - Josh > > > On Sun, Nov 4, 2018 at 10:16 AM, Patrick Reinhart > wrote: > > > Am 01.11.18 um 15:56 schrieb Jie Kang: > > Hi, > > Is there any update on this? > > > > I've attached the patch again to this e-mail; this was the > initial e-mail: > > > >> Please find attached an alternative patch that addresses > JMC-6115. It > >> adds a step in the maven phase to download the Jemmy libraries from > >> Maven Central. The pom file is also converted to all tabs. Let > me know > >> what you think! > > Just updated my code again and re-run the builds and now only the > UI-Tests fail with OracleJDK 1.8.0_181 > > > mvn verify -P uitests -Dspotbugs.skip=true > > [...] > > [INFO] org.openjdk.jmc.test.jemmy ......................... SUCCESS [? > 0.228 s] > [INFO] org.openjdk.jmc.browser.uitest 1.0.0-SNAPSHOT ...... FAILURE [ > 40.646 s] > [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 .............................. SKIPPED > [INFO] platform-definitions ............................... SKIPPED > [INFO] platform-definition-oxygen ......................... SKIPPED > [INFO] platform-definition-photon 7.0.0-SNAPSHOT .......... SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 03:15 min > [INFO] Finished at: 2018-11-04T10:06:32+01:00 > [INFO] > ------------------------------------------------------------------------ > > Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; > 2018-06-17T20:33:14+02:00) > Maven home: /opt/apache-maven-3.5.4 > Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: > /usr/java/jdk1.8.0_181/jre > Default locale: de_CH, platform encoding: UTF-8 > > OS name: "linux", version: "4.18.16-300.fc29.x86_64", arch: "amd64", > family: "unix" > > -Patrick > > Did anyone run this tests successfully? > > > > From jmatsuok at redhat.com Mon Nov 5 19:28:18 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 5 Nov 2018 14:28:18 -0500 Subject: RFR: JMC-6118 Java Mission Control tests fail on OpenJDK8 Message-ID: Hi, The following patch adds four additional tests to the list of excluded tests on OpenJDK8: ControlRecordingsTest - Attempts to perform various operations on a recording from the JVM Browser, fails since we don't have flight recorder functionality in OpenJDK8 JfrWizardTest - Attempts to test various options in the JFR Recording wizard. The wizard is started from the JVM Browser, so it fails for the same reasons as the previous test. TemplateManagerTest - Requires the JVM Browser to have JFR functionality, same as above. DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be present in the list of options. They aren't there for OpenJDK8. This allows mvn clean verify -P uitests to be run successfully on OpenJDK8. http://cr.openjdk.java.net/~jmatsuoka/JMC-6118/webrev.01/ Thoughts? Cheers, - Josh From marcus.hirt at oracle.com Mon Nov 5 19:34:49 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Mon, 05 Nov 2018 19:34:49 +0000 Subject: hg: jmc/jmc: JMC-6048: Switching the Threads page icon to the icon used in 5.x for the (Threads) Graph tab Message-ID: <201811051934.wA5JYoAu013615@aojmv0008.oracle.com> Changeset: db47184361d9 Author: hirt Date: 2018-11-05 20:34 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/db47184361d9 JMC-6048: Switching the Threads page icon to the icon used in 5.x for the (Threads) Graph tab ! application/org.openjdk.jmc.flightrecorder.ui/icons/pages/threadgraph.png From marcus.hirt at oracle.com Mon Nov 5 19:39:30 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Mon, 05 Nov 2018 19:39:30 +0000 Subject: hg: jmc/jmc: JMC-6193: Fixing the agent manifest and adding instructions Message-ID: <201811051939.wA5JdUlG015536@aojmv0008.oracle.com> Changeset: 11eba06e3f96 Author: hirt Date: 2018-11-05 20:39 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/11eba06e3f96 JMC-6193: Fixing the agent manifest and adding instructions Reviewed-by: ghb + core/org.openjdk.jmc.agent/README.md ! core/org.openjdk.jmc.agent/pom.xml ! core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/Transformer.java ! core/org.openjdk.jmc.agent/src/test/java/org/openjdk/jmc/agent/test/InstrumentMe.java ! core/org.openjdk.jmc.agent/src/test/resources/org/openjdk/jmc/agent/test/jfrprobes_template.xml From marcus.hirt at oracle.com Mon Nov 5 19:46:11 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 05 Nov 2018 20:46:11 +0100 Subject: JMC-5506 Rule that detects fatal errors in the end of the recording In-Reply-To: <4E5893C3-11D7-46E8-BFEE-0DF2B8AA8F75@redhat.com> References: <1EE4918F-EC2A-4FA5-8EAC-2253048F559B@oracle.com> <24D0F0E1-6314-4147-B279-75F1B93BB723@oracle.com> <30B48D59-7A1B-4A6C-90E9-B5DC9A083EBA@oracle.com> <4E5893C3-11D7-46E8-BFEE-0DF2B8AA8F75@redhat.com> Message-ID: <514C1A2F-7E33-4826-983A-A2CB62FA7181@oracle.com> Hi Josh, Just one small nit left: Could you change core/org.openjdk.jmc.flightrecorder/src/main/resources/org/openjdk/jmc/flightrecorder/jdk/messages/internal/messages.properties to say JVM instead of VM? No need for a new webrev. Kind regards, Marcus From: Joshua Matsuoka Date: Monday, 5 November 2018 at 18:07 To: Marcus Hirt Cc: Subject: Re: JMC-5506 Rule that detects fatal errors in the end of the recording Hi Marcus, Here's an updated webrev: http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.03/ Cheers, - Josh On Sun, Nov 4, 2018 at 11:18 AM, Marcus Hirt wrote: Perfect. Josh, I've reviewed the code and it looks fine. Once you've updated the texts to say JVM instead of VM, you're good to go. If you want to add code for reason "No remaining non-daemon Java threads" (25), then that would be great. Please let me know if you would like me to sponsor the change. Kind regards, Marcus ?On 2018-11-04, 16:54, "Erik Gahlin" wrote: ? ? Hi Marcus, ? ? It is stated in the event. For details, look at the patch which is linked in the bug for the event. ? ? Erik ? ? > On 4 Nov 2018, at 12:43, Marcus Hirt wrote: ? ? > ? ? > Hi Erik, ? ? > ? ? > Will Shutdown Reason state that the reason for the shutdown was due to no more ? ? > remaining non-daemon threads? If so, the reason will be shown on the page. ? ? > If we want it to be even more apparent, we could also add it to the rule ? ? > as Severity.INFO (25). Either way is fine with me. ? ? > ? ? > If the Shutdown Reason doesn't state this explicitly, that should ? ? > probably be fixed in the event. ? ? > ? ? > Kind regards, ? ? > Marcus ? ? > ? ? > ?On 2018-11-02, 22:28, "jmc-dev on behalf of Erik Gahlin" wrote: ? ? > ? ? >? ? Hi Joshua, ? ? > ? ? >? ? I think the text should say "JVM" instead of "VM" ? ? > ? ? >? ? Calling the event "VM" was a mistake in JVM implementation and we intend ? ? >? ? to change the label of the event to "JVM", similar to other events, such ? ? >? ? as "JVM Information" ? ? > ? ? >? ? One of the reason the event was added was to detect if there were no ? ? >? ? more remaining non-daemon Java threads [1] [2]. Maybe that should be ? ? >? ? called out? A user may wonder why their application exited abruptly.? ? ? >? ? It's not an error per se, but it would still be good to see somehow. ? ? > ? ? >? ? [1] https://bugs.openjdk.java.net/browse/JDK-8041626 ? ? >? ? [2] http://hg.openjdk.java.net/jdk/hs/rev/f413e471a6ab ? ? > ? ? >? ? Thanks ? ? >? ? Erik ? ? > ? ? >> Hi, ? ? >> ? ? >> The following patch adds support for the recently added VM Shutdown event ? ? >> by creating a rule to detect if the JVM terminated in a VM Error, as well ? ? >> as adding shutdown information to the JVM internals page. ? ? >> ? ? >> http://cr.openjdk.java.net/~jmatsuoka/JMC-5506/webrev.02/ ? ? >> ? ? >> Thoughts? ? ? >> ? ? >> Cheers, ? ? >> ? ? >> - Josh ? ? > ? ? > ? ? > ? ? > ? ? > From marcus.hirt at oracle.com Mon Nov 5 19:50:14 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 05 Nov 2018 20:50:14 +0100 Subject: JMC-6118 Java Mission Control tests fail on OpenJDK8 In-Reply-To: <0C09AB4D-0531-430C-A3BA-168BC11883B7@redhat.com> References: <0C09AB4D-0531-430C-A3BA-168BC11883B7@redhat.com> Message-ID: <4E2E7974-166C-4A4C-86CF-B4EC428FEA56@oracle.com> Hi Josh, Looks fine! That said, we should make JDK 11 the default for running the UI-tests as soon as we can. There is a high risk of bugs slipping through in the most important parts of JMC if only tested on OpenJDK 8. Kind regards, Marcus ?On 2018-11-05, 20:29, "jmc-dev on behalf of Joshua Matsuoka" wrote: Hi, The following patch adds four additional tests to the list of excluded tests on OpenJDK8: ControlRecordingsTest - Attempts to perform various operations on a recording from the JVM Browser, fails since we don't have flight recorder functionality in OpenJDK8 JfrWizardTest - Attempts to test various options in the JFR Recording wizard. The wizard is started from the JVM Browser, so it fails for the same reasons as the previous test. TemplateManagerTest - Requires the JVM Browser to have JFR functionality, same as above. DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be present in the list of options. They aren't there for OpenJDK8. This allows mvn clean verify -P uitests to be run successfully on OpenJDK8. http://cr.openjdk.java.net/~jmatsuoka/JMC-6118/webrev.01/ Thoughts? Cheers, - Josh From jmatsuok at redhat.com Mon Nov 5 22:16:51 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 5 Nov 2018 17:16:51 -0500 Subject: RFR: JMC-5500: Use new NativeLibrary event Message-ID: Hi, The following patch adds some basic support for the NativeLibrary event to JMC. In particular it adds a new page under Environment which displays the event information in a searchable table for the user. http://cr.openjdk.java.net/~jmatsuoka/JMC-5500/webrev.01/ Thoughts? Cheers, - Josh From ebaron at redhat.com Mon Nov 5 22:36:24 2018 From: ebaron at redhat.com (Elliott Baron) Date: Mon, 5 Nov 2018 17:36:24 -0500 Subject: JMC-6180: Changing the Java source editor font changes the size of some values in the JMC tables Message-ID: Hi, I'm working on a solution to this bug that allows the user to scale the font size used by JMC labels using the same shortcuts as Eclipse's text editor zoom-in/out functionality (which also simply scale the font size). Just to be clear, this functionality should scale font sizes for all JMC editors and views, and not just those using the Eclipse editor font? Thanks, Elliott From marcus.hirt at oracle.com Tue Nov 6 14:06:32 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 15:06:32 +0100 Subject: JMC-6180: Changing the Java source editor font changes the size of some values in the JMC tables In-Reply-To: References: Message-ID: <9FE64A77-7090-4A70-AD06-9EE85E9FE076@oracle.com> Hi Elliott, Yes, I _think_ that would be the expected behavior from a user's perspective. If anyone thinks differently, please let me know and we can discuss the pros and cons. Kind regards, Marcus ?On 2018-11-05, 23:37, "jmc-dev on behalf of Elliott Baron" wrote: Hi, I'm working on a solution to this bug that allows the user to scale the font size used by JMC labels using the same shortcuts as Eclipse's text editor zoom-in/out functionality (which also simply scale the font size). Just to be clear, this functionality should scale font sizes for all JMC editors and views, and not just those using the Eclipse editor font? Thanks, Elliott From kdobson at redhat.com Tue Nov 6 16:08:07 2018 From: kdobson at redhat.com (Ken Dobson) Date: Tue, 6 Nov 2018 11:08:07 -0500 Subject: JMC-5703: HighGcRule should report extra needed event types Message-ID: Hi all, This is a small patch to make the highGcRule consistent with the GcFreedRatioRule when reporting extra needed event types. Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED from Messages.java given it is no longer used? Thanks, Ken Dobson diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov 06 10:33:20 2018 -0500 @@ -84,9 +84,11 @@ String message = MessageFormat.format(Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO), duration, startTime, pausePercent.displayUsing(IDisplayable.AUTO)); String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } From marcus.hirt at oracle.com Tue Nov 6 16:41:35 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 17:41:35 +0100 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: References: Message-ID: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> Hi Ken, Yes, if it is no longer used, please go ahead and remove both the constant and the entry in the associated properties files (might as well remove it from the translated files too). Kind regards, Marcus ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" wrote: Hi all, This is a small patch to make the highGcRule consistent with the GcFreedRatioRule when reporting extra needed event types. Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED from Messages.java given it is no longer used? Thanks, Ken Dobson diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov 06 10:33:20 2018 -0500 @@ -84,9 +84,11 @@ String message = MessageFormat.format(Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO), duration, startTime, pausePercent.displayUsing(IDisplayable.AUTO)); String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } From marcus.hirt at oracle.com Tue Nov 6 16:44:36 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 17:44:36 +0100 Subject: JMC-5500: Use new NativeLibrary event In-Reply-To: Message-ID: <98880D68-7DC5-44DF-BEBF-3AEA5B968E2D@oracle.com> Hi Josh, Looks good. It would be great if we could find a unique icon for it though. Do you have any graphics resource over at RedHat? Kind regards, Marcus ?On 2018-11-05, 23:17, "jmc-dev on behalf of Joshua Matsuoka" wrote: Hi, The following patch adds some basic support for the NativeLibrary event to JMC. In particular it adds a new page under Environment which displays the event information in a searchable table for the user. http://cr.openjdk.java.net/~jmatsuoka/JMC-5500/webrev.01/ Thoughts? Cheers, - Josh From kdobson at redhat.com Tue Nov 6 16:55:01 2018 From: kdobson at redhat.com (Ken Dobson) Date: Tue, 6 Nov 2018 11:55:01 -0500 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> References: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> Message-ID: Here's the updated patch, there doesn't appear to be any translations for it. Ken diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov 06 11:49:43 2018 -0500 @@ -86,7 +86,8 @@ String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Tue Nov 06 11:49:43 2018 -0500 @@ -298,7 +298,6 @@ public static final String HighGcRuleFactory_RULE_NAME = "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO = "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO_LONG = "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ - public static final String HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_OK = "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Tue Nov 06 11:49:43 2018 -0500 @@ -321,7 +321,6 @@ # {0} is a time period, {1} is a time stamp, {2} is a percentage HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time during {0} starting at {1}. HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation. -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. HighGcRuleFactory_TEXT_OK=The runtime did not spend much time performing garbage collections. HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt wrote: > Hi Ken, > > Yes, if it is no longer used, please go ahead and remove both the constant > and > the entry in the associated properties files (might as well remove it from > the > translated files too). > > Kind regards, > Marcus > > ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" < > jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> wrote: > > Hi all, > > This is a small patch to make the highGcRule consistent with the > GcFreedRatioRule when reporting extra needed event types. > Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED from > Messages.java given it is no longer used? > > Thanks, > > Ken Dobson > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > Wed Oct 10 16:43:35 2018 -0400 > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > Tue Nov 06 10:33:20 2018 -0500 > @@ -84,9 +84,11 @@ > String message = > > MessageFormat.format(Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO), > duration, > startTime, > pausePercent.displayUsing(IDisplayable.AUTO)); > String longMessage = message + " " + > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); > //$NON-NLS-1$ > if (!RulesToolkit.isEventsEnabled(items, > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > longMessage = longMessage + "

" //$NON-NLS-1$ > - + > > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); > + + > RulesToolkit.getEnabledEventTypesRecommendation(items, > + JdkTypeIDs.ALLOC_INSIDE_TLAB, > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > } > return new Result(this, score, message, longMessage, > JdkQueries.GC_PAUSE); > } > > > > > From marcus.hirt at oracle.com Tue Nov 6 16:57:01 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 17:57:01 +0100 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: <587FFBF8-3601-4C1A-A387-820476612754@redhat.com> References: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> <587FFBF8-3601-4C1A-A387-820476612754@redhat.com> Message-ID: Excellent! Please work with Mario to sponsor it! Kind regards, Marcus From: Ken Dobson Date: Tuesday, 6 November 2018 at 17:55 To: Marcus Hirt Cc: Subject: Re: JMC-5703: HighGcRule should report extra needed event types Here's the updated patch, there doesn't appear to be any translations for it. Ken diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov 06 11:49:43 2018 -0500 @@ -86,7 +86,8 @@ String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Tue Nov 06 11:49:43 2018 -0500 @@ -298,7 +298,6 @@ public static final String HighGcRuleFactory_RULE_NAME = "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO = "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO_LONG = "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ - public static final String HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_OK = "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Tue Nov 06 11:49:43 2018 -0500 @@ -321,7 +321,6 @@ # {0} is a time period, {1} is a time stamp, {2} is a percentage HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time during {0} starting at {1}. HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation. -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. HighGcRuleFactory_TEXT_OK=The runtime did not spend much time performing garbage collections. HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt wrote: Hi Ken, Yes, if it is no longer used, please go ahead and remove both the constant and the entry in the associated properties files (might as well remove it from the translated files too). Kind regards, Marcus ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" wrote: Hi all, This is a small patch to make the highGcRule consistent with the GcFreedRatioRule when reporting extra needed event types. Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED from Messages.java given it is no longer used? Thanks, Ken Dobson diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov 06 10:33:20 2018 -0500 @@ -84,9 +84,11 @@ String message = MessageFormat.format(Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO), duration, startTime, pausePercent.displayUsing(IDisplayable.AUTO)); String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } From almacdon at redhat.com Tue Nov 6 17:07:06 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Tue, 6 Nov 2018 12:07:06 -0500 Subject: RFR: JMC-4667: Empty submenu if no stored selection Message-ID: Hi! This patch addresses JMC-4667 [0], in which the submenus for adding filters from selections can be empty. The bug [0] concerns the "selections" portion of the menu, however the same behaviour is possible for the "attributes", so I've addressed them both in my attached patch. The proposed solution adds a bit of logic to the overridden "menuAboutToShow" function for the MenuManagers, and introduces a disabled MenuItem if no selections or attributes exist. If attributes or selections do exist, then there's a quick check to see if the disabled item should be removed, if it exists. Looking at the description for JMC-5083 [1], I thought it'd be nice to disable the MenuManager itself, but overriding it's "isEnabled" function has no effect and the implementation of MenuManager mentions an outstanding bug [2] that prevents this behaviour. I've captured some images and a gif to show the changes [3]. before: empty add filter from attribute submenu [4] empty add filter from selection submenu [5] after: empty add filter from attribute submenu [6] empty add filter from selection submenu [7] gif of the proposed patch in action [8] Thoughts? Cheers, Alex [0] https://bugs.openjdk.java.net/browse/JMC-4667 [1] https://bugs.openjdk.java.net/browse/JMC-5083 [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=30833 [3] https://imgur.com/a/E4AdSFQ [4] https://imgur.com/P1y4HEu [5] https://imgur.com/aFHYOMK [6] https://imgur.com/vk2BsJG [7] https://imgur.com/3YrUlCi [8] https://imgur.com/6wIjm7n -------------- next part -------------- A non-text attachment was scrubbed... Name: jmc-4667-0.patch Type: text/x-patch Size: 4595 bytes Desc: not available URL: From marcus.hirt at oracle.com Tue Nov 6 17:30:27 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 18:30:27 +0100 Subject: JMC-4667: Empty submenu if no stored selection In-Reply-To: References: Message-ID: <966F1108-BD4B-4BFD-972C-9DE015609730@oracle.com> I think it looks good! Thank you for your contribution Alex! Kind regards, Marcus ?On 2018-11-06, 18:09, "jmc-dev on behalf of Alex Macdonald" wrote: Hi! This patch addresses JMC-4667 [0], in which the submenus for adding filters from selections can be empty. The bug [0] concerns the "selections" portion of the menu, however the same behaviour is possible for the "attributes", so I've addressed them both in my attached patch. The proposed solution adds a bit of logic to the overridden "menuAboutToShow" function for the MenuManagers, and introduces a disabled MenuItem if no selections or attributes exist. If attributes or selections do exist, then there's a quick check to see if the disabled item should be removed, if it exists. Looking at the description for JMC-5083 [1], I thought it'd be nice to disable the MenuManager itself, but overriding it's "isEnabled" function has no effect and the implementation of MenuManager mentions an outstanding bug [2] that prevents this behaviour. I've captured some images and a gif to show the changes [3]. before: empty add filter from attribute submenu [4] empty add filter from selection submenu [5] after: empty add filter from attribute submenu [6] empty add filter from selection submenu [7] gif of the proposed patch in action [8] Thoughts? Cheers, Alex [0] https://bugs.openjdk.java.net/browse/JMC-4667 [1] https://bugs.openjdk.java.net/browse/JMC-5083 [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=30833 [3] https://imgur.com/a/E4AdSFQ [4] https://imgur.com/P1y4HEu [5] https://imgur.com/aFHYOMK [6] https://imgur.com/vk2BsJG [7] https://imgur.com/3YrUlCi [8] https://imgur.com/6wIjm7n From marcus.hirt at oracle.com Tue Nov 6 20:34:17 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 06 Nov 2018 21:34:17 +0100 Subject: Review request for JMC-4376: Improving the fidelity of the JMC self-profiling Message-ID: Hi all, Please review this update to improve the fidelity of the self-profiling in JMC: diff -r 11eba06e3f96 application/org.openjdk.jmc.rcp.product/jmc.product --- a/application/org.openjdk.jmc.rcp.product/jmc.product Mon Nov 05 20:39:15 2018 +0100 +++ b/application/org.openjdk.jmc.rcp.product/jmc.product Tue Nov 06 21:26:33 2018 +0100 @@ -54,7 +54,7 @@ -vm ./ - -XX:+FlightRecorder -XX:StartFlightRecording=name=JMC_Default,maxsize=100m -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED + -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:FlightRecorderOptions=stackdepth=128 -XX:+FlightRecorder -XX:StartFlightRecording=name=JMC_Default,maxsize=100m -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED From guru.hb at oracle.com Tue Nov 6 20:59:20 2018 From: guru.hb at oracle.com (Guru) Date: Wed, 7 Nov 2018 02:29:20 +0530 Subject: Review request for JMC-4376: Improving the fidelity of the JMC self-profiling In-Reply-To: References: Message-ID: <91D00A1F-7CC6-4E1A-BEB9-7E9193F3CBEC@oracle.com> +1 looks good to me > On 07-Nov-2018, at 2:04 AM, Marcus Hirt wrote: > > Hi all, > > Please review this update to improve the fidelity of the self-profiling in JMC: > > diff -r 11eba06e3f96 application/org.openjdk.jmc.rcp.product/jmc.product > --- a/application/org.openjdk.jmc.rcp.product/jmc.product Mon Nov 05 20:39:15 2018 +0100 > +++ b/application/org.openjdk.jmc.rcp.product/jmc.product Tue Nov 06 21:26:33 2018 +0100 > @@ -54,7 +54,7 @@ > > -vm ./ > > - -XX:+FlightRecorder -XX:StartFlightRecording=name=JMC_Default,maxsize=100m -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED > + -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:FlightRecorderOptions=stackdepth=128 -XX:+FlightRecorder -XX:StartFlightRecording=name=JMC_Default,maxsize=100m -Djava.net.preferIPv4Stack=true -Djdk.attach.allowAttachSelf=true --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.management/sun.management=ALL-UNNAMED --add-exports=java.management/sun.management.counter.perf=ALL-UNNAMED --add-exports=jdk.management.agent/jdk.internal.agent=ALL-UNNAMED --add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED > > --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED > > > From marcus.hirt at oracle.com Tue Nov 6 21:06:23 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Tue, 06 Nov 2018 21:06:23 +0000 Subject: hg: jmc/jmc: JMC-4376: Improving the fidelity of the self-profiling in JMC Message-ID: <201811062106.wA6L6OQP008497@aojmv0008.oracle.com> Changeset: bfea3b392d50 Author: hirt Date: 2018-11-06 22:06 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/bfea3b392d50 JMC-4376: Improving the fidelity of the self-profiling in JMC Reviewed-by: ghb ! application/org.openjdk.jmc.rcp.product/jmc.product From guru.hb at oracle.com Tue Nov 6 21:10:13 2018 From: guru.hb at oracle.com (Guru) Date: Wed, 7 Nov 2018 02:40:13 +0530 Subject: RFR: JMC-6118 Java Mission Control tests fail on OpenJDK8 In-Reply-To: References: Message-ID: <32ED8112-D039-42BF-ABE8-33C01CA18A7F@oracle.com> Hi Josh, Changes looks good to me, But Please Note, We can?t have multiple commit on a single JBS ID. I have raised https://bugs.openjdk.java.net/browse/JMC-6194 as a follow on for this one. Do update the description of JMC-6194 (if its needs correction). To make our this uiTest succeeded (along with our compilation) Can we Introduce JDK11_HOME or JDK_HOME which points to OpenJDK_11 and then while running uiTest we use the JDK_HOME in the tycho-surfire (I have not evaluated , its just a thought). OpenJFX had this similar idea of defining JAVA_HOME for running tests and JDK_HOME for Compiling (it?s based on gradle) and we can try for our JMC (with maven). Thanks, Guru > On 06-Nov-2018, at 12:58 AM, Joshua Matsuoka wrote: > > Hi, > > The following patch adds four additional tests to the list of excluded > tests on OpenJDK8: > > ControlRecordingsTest - Attempts to perform various operations on a > recording from the JVM Browser, fails since we don't have flight recorder > functionality in OpenJDK8 > > JfrWizardTest - Attempts to test various options in the JFR Recording > wizard. The wizard is started from the JVM Browser, so it fails for the > same reasons as the previous test. > > TemplateManagerTest - Requires the JVM Browser to have JFR functionality, > same as above. > > DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be present > in the list of options. They aren't there for OpenJDK8. > > This allows mvn clean verify -P uitests to be run successfully on OpenJDK8. > > http://cr.openjdk.java.net/~jmatsuoka/JMC-6118/webrev.01/ > > Thoughts? > > Cheers, > > - Josh From guru.hb at oracle.com Tue Nov 6 22:10:26 2018 From: guru.hb at oracle.com (Guru) Date: Wed, 7 Nov 2018 03:40:26 +0530 Subject: RFR: JMC-6159: Update Babel language pack R0.16.0 for Photon Message-ID: <75C5BEE8-43AE-41FE-8157-F5436FC28E90@oracle.com> Hi, Please review the fix for JBS : https://bugs.openjdk.java.net/browse/JMC-6159 webrev : http://cr.openjdk.java.net/~ghb/JMC-6159/webrev.0/ Solution : Updated the Language pack group to Photon i.e 4.8 (instead of Oxygen). Thanks, Guru From guru.hb at oracle.com Tue Nov 6 22:21:11 2018 From: guru.hb at oracle.com (Guru) Date: Wed, 7 Nov 2018 03:51:11 +0530 Subject: RFR: JMC-6118 Java Mission Control tests fail on OpenJDK8 In-Reply-To: <32ED8112-D039-42BF-ABE8-33C01CA18A7F@oracle.com> References: <32ED8112-D039-42BF-ABE8-33C01CA18A7F@oracle.com> Message-ID: I did a Quick try with "https://www.eclipse.org/tycho/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html#useJDK ? 1. Had a local ~/.m2/toolchains.xml .. 11 JavaSE-11 Oracle PATH_TO_JDK11 2. Updated ?Application/uitest/pom.xml? with JavaSE-11 3. Tried Mocking with ?JavaSE-10? even though I had pointed the ?jdkHome? to JDK 11 , and it failed with [ERROR] Failed to execute goal org.eclipse.tycho:tycho-surefire-plugin:1.2.0:test (default-test) on project org.openjdk.jmc.browser.uitest: Unable to parse configuration of mojo org.eclipse.tycho:tycho-surefire-plugin:1.2.0:test: Cannot convert 'JavaSE-10' to Enum: No enum constant org.eclipse.tycho.core.maven.ToolchainProvider.JDKUsage.JavaSE-10 -> [Help 1] [ERROR] Let?s not explore much with ?useJDK? until tycho plugin is fully capable with JDK 11. With this "JavaSE-11? wasn?t recognised by tycho ! (https://bugs.eclipse.org/bugs/show_bug.cgi?id=532302 , https://stackoverflow.com/questions/52607910/eclipse-tycho-java-11-unknown-osgi-execution-environment-javase-11 ) "Caused by: org.eclipse.tycho.core.ee.UnknownEnvironmentException: Unknown OSGi execution environment: 'JavaSE-11?? Have to wait until Eclipse 4.10 and with tycho 1.3.0+ I will raise a JBS with this details (tycho not recognising JavaSE-11) and will target the fix when we use Eclipse 4.10 and above. Until then Please use JMC-6194 for further review and commit. Thanks, Guru > On 07-Nov-2018, at 2:40 AM, Guru wrote: > > Hi Josh, > > Changes looks good to me, But Please Note, We can?t have multiple commit on a single JBS ID. I have raised https://bugs.openjdk.java.net/browse/JMC-6194 as a follow on for this one. > > Do update the description of JMC-6194 (if its needs correction). > > To make our this uiTest succeeded (along with our compilation) Can we Introduce JDK11_HOME or JDK_HOME which points to OpenJDK_11 and then while running uiTest we use the JDK_HOME in the tycho-surfire (I have not evaluated , its just a thought). > OpenJFX had this similar idea of defining JAVA_HOME for running tests and JDK_HOME for Compiling (it?s based on gradle) and we can try for our JMC (with maven). > > Thanks, > Guru >> On 06-Nov-2018, at 12:58 AM, Joshua Matsuoka wrote: >> >> Hi, >> >> The following patch adds four additional tests to the list of excluded >> tests on OpenJDK8: >> >> ControlRecordingsTest - Attempts to perform various operations on a >> recording from the JVM Browser, fails since we don't have flight recorder >> functionality in OpenJDK8 >> >> JfrWizardTest - Attempts to test various options in the JFR Recording >> wizard. The wizard is started from the JVM Browser, so it fails for the >> same reasons as the previous test. >> >> TemplateManagerTest - Requires the JVM Browser to have JFR functionality, >> same as above. >> >> DiagnosticCommandsTabTest - Expects JFR diagnostic commands to be present >> in the list of options. They aren't there for OpenJDK8. >> >> This allows mvn clean verify -P uitests to be run successfully on OpenJDK8. >> >> http://cr.openjdk.java.net/~jmatsuoka/JMC-6118/webrev.01/ >> >> Thoughts? >> >> Cheers, >> >> - Josh > From marcus.hirt at oracle.com Wed Nov 7 00:39:10 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Wed, 07 Nov 2018 01:39:10 +0100 Subject: JMC-6159: Update Babel language pack R0.16.0 for Photon In-Reply-To: References: Message-ID: Looks fine! /M ?On 2018-11-06, 23:10, "jmc-dev on behalf of Guru" wrote: Hi, Please review the fix for JBS : https://bugs.openjdk.java.net/browse/JMC-6159 webrev : http://cr.openjdk.java.net/~ghb/JMC-6159/webrev.0/ Solution : Updated the Language pack group to Photon i.e 4.8 (instead of Oxygen). Thanks, Guru From guru.hb at oracle.com Wed Nov 7 04:10:13 2018 From: guru.hb at oracle.com (guru.hb at oracle.com) Date: Wed, 07 Nov 2018 04:10:13 +0000 Subject: hg: jmc/jmc: JMC-6159: Update Babel language pack R0.16.0 for Photon Message-ID: <201811070410.wA74AErB005702@aojmv0008.oracle.com> Changeset: 18ce6807b6c5 Author: ghb Date: 2018-11-07 09:39 +0530 URL: http://hg.openjdk.java.net/jmc/jmc/rev/18ce6807b6c5 JMC-6159: Update Babel language pack R0.16.0 for Photon Reviewed-by: hirt ! releng/platform-definitions/platform-definition-photon/platform-definition-photon.target From marcus.hirt at oracle.com Wed Nov 7 09:52:58 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Wed, 07 Nov 2018 09:52:58 +0000 Subject: hg: jmc/jmc: JMC-4667: Better handling of the filter menu when there is no stored selection Message-ID: <201811070952.wA79qwNW025555@aojmv0008.oracle.com> Changeset: 74caa58c420f Author: hirt Date: 2018-11-07 10:52 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/74caa58c420f JMC-4667: Better handling of the filter menu when there is no stored selection Reviewed-by: hirt Contributed-by: Alex Macdonald ! application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/common/DataPageToolkit.java ! application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java ! application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties From marcus.hirt at oracle.com Wed Nov 7 12:01:10 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Wed, 07 Nov 2018 13:01:10 +0100 Subject: Subject: Review request for JMC-407: Removing unnecessary swing initialization code Message-ID: <5165E28F-D191-48BA-BD67-738C6E7E65EA@oracle.com> Hi all, Please review this fix to remove a workaround from olde? It would be great if someone with a Linux system/GTK could verify that this doesn?t mess anything up. ;) (I also took the liberty of removing an unnecessary import in an unrelated file.) Jira: https://bugs.openjdk.java.net/browse/JMC-407 Webrev: http://cr.openjdk.java.net/~hirt/JMC-407/webrev.01/ Kind regards, Marcus From marcus.hirt at oracle.com Wed Nov 7 19:31:11 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Wed, 07 Nov 2018 20:31:11 +0100 Subject: Tonight's meeting (also, the JMC agent) Message-ID: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> Hi all, Thanks for the great meeting tonight regarding JMC 7. It was great to hear so many willing to contribute to making sure that we release this first open source version of Mission Control on time. It was also great to hear so much interest in the JMC agent. With an expert like Andrew on the team, this will no doubt become a powerful and efficient tool! For JMC 7, I used the following dashboard to see the current status: https://bugs.openjdk.java.net/secure/Dashboard.jspa?selectPageId=17703 If anyone gets stuck, please ping me on the IRC and I'll try to help getting you unstuck. :) The next two iterations are important. Regarding the agent, I started jotting down some thoughts and comments on the JMC wiki here: https://wiki.openjdk.java.net/display/jmc/The+JMC+Agent Over the next few days, I'll try to find some time to remove the things that shouldn't be in it. ;) Kind regards, Marcus From adinn at redhat.com Thu Nov 8 11:19:53 2018 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 8 Nov 2018 11:19:53 +0000 Subject: 7th Nov Meeting Message-ID: Hi Marcus, Thanks for a very interesting discussion in last night's meeting and for being so very welcoming. I am now subscribed to the dev list. I'll be studying the Wiki content you linked in your message last night and also looking into the code over the next few days. I will ask questions and provide feedback via IRC and this list. If anyone who is interested in working on the agent code (yes, Josh, that means you :-) would like some help as to how agents work and/or how to read and transform bytecode using ASM I'm happy to help. You can just ask questions on this list or I could consider offering a 1-1 or group tutorial (maybe on Zoom) or I could simply respond by adding stuff to the Wiki. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander From neugens at redhat.com Thu Nov 8 11:21:10 2018 From: neugens at redhat.com (Mario Torre) Date: Thu, 08 Nov 2018 12:21:10 +0100 Subject: Tonight's meeting (also, the JMC agent) In-Reply-To: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> References: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> Message-ID: On Wed, 2018-11-07 at 20:31 +0100, Marcus Hirt wrote: > Hi all, > > Thanks for the great meeting tonight regarding JMC 7. It was great to > hear so > many willing to contribute to making sure that we release this first > open > source version of Mission Control on time. It was also great to hear > so much > interest in the JMC agent. With an expert like Andrew on the team, > this will > no doubt become a powerful and efficient tool! > > For JMC 7, I used the following dashboard to see the current status: > https://bugs.openjdk.java.net/secure/Dashboard.jspa?selectPageId=17703 > > If anyone gets stuck, please ping me on the IRC and I'll try to help > getting > you unstuck. :) The next two iterations are important. > > Regarding the agent, I started jotting down some thoughts and > comments on the > JMC wiki here: > > https://wiki.openjdk.java.net/display/jmc/The+JMC+Agent > > Over the next few days, I'll try to find some time to remove the > things that > shouldn't be in it. ;) Thanks Marcus, It was really a good meeting, and you're doing an awesome job in building a real community and a *very* open source project. Thanks! Cheers, Mario -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From adinn at redhat.com Thu Nov 8 11:43:42 2018 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 8 Nov 2018 11:43:42 +0000 Subject: Tonight's meeting (also, the JMC agent) In-Reply-To: References: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> Message-ID: On 08/11/18 11:21, Mario Torre wrote: > It was really a good meeting, and you're doing an awesome job in > building a real community and a *very* open source project. Yes, I should have clarified that when I /accused/ you of being "so very welcoming" I didn't just mean me ;-). I was actually referring to the fact that you are clearly very keen to involve anyone who wants to be contribute and actively working to create opportunities for that to happen. Thank you for doing that. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander From miro.wengner at gmail.com Thu Nov 8 11:53:56 2018 From: miro.wengner at gmail.com (Miro Wengner) Date: Thu, 8 Nov 2018 12:53:56 +0100 Subject: Tonight's meeting (also, the JMC agent) In-Reply-To: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> References: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> Message-ID: <32670A2A-CCCB-45EF-8A99-49FC7AA0A2FC@gmail.com> Hi Marcus and All thank you for a great meeting ! Kind Regards, Mir0 > On Nov 7, 2018, at 8:31 PM, Marcus Hirt wrote: > > Hi all, > > Thanks for the great meeting tonight regarding JMC 7. It was great to hear so > many willing to contribute to making sure that we release this first open > source version of Mission Control on time. It was also great to hear so much > interest in the JMC agent. With an expert like Andrew on the team, this will > no doubt become a powerful and efficient tool! > > For JMC 7, I used the following dashboard to see the current status: > https://bugs.openjdk.java.net/secure/Dashboard.jspa?selectPageId=17703 > > If anyone gets stuck, please ping me on the IRC and I'll try to help getting > you unstuck. :) The next two iterations are important. > > Regarding the agent, I started jotting down some thoughts and comments on the > JMC wiki here: > > https://wiki.openjdk.java.net/display/jmc/The+JMC+Agent > > Over the next few days, I'll try to find some time to remove the things that > shouldn't be in it. ;) > > Kind regards, > Marcus > > From neugens.limasoftware at gmail.com Thu Nov 8 12:08:29 2018 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Thu, 08 Nov 2018 12:08:29 +0000 Subject: hg: jmc/jmc: 2 new changesets Message-ID: <201811081208.wA8C8Tb9003872@aojmv0008.oracle.com> Changeset: 98115f6eb30f Author: neugens Date: 2018-11-08 12:43 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/98115f6eb30f JMC-5506: Rule that detects fatal errors in the end of the recording Summary: Add a Rule that detects fatal errors in the VM Shutdown event. Reviewed by: hirt, egahlin ! application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/pages/JVMInformationPage.java + core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/exceptions/FatalErrorRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/META-INF/services/org.openjdk.jmc.flightrecorder.rules.IRule ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties ! core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAggregators.java ! core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkAttributes.java ! core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/JdkTypeIDs.java ! core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/jdk/messages/internal/Messages.java ! core/org.openjdk.jmc.flightrecorder/src/main/resources/org/openjdk/jmc/flightrecorder/jdk/messages/internal/messages.properties ! core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Changeset: 4629e44fd8ea Author: neugens Date: 2018-11-08 12:45 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/4629e44fd8ea JMC-6194: Exclude uitest which is not capable of running with JDK 8 Summary: Exclude UItests that are not capable of running on OpenJDK8 Reviewed by: hirt, ghb ! application/pom.xml ! application/uitests/pom.xml From neugens at redhat.com Thu Nov 8 12:55:03 2018 From: neugens at redhat.com (Mario Torre) Date: Thu, 08 Nov 2018 13:55:03 +0100 Subject: hg: jmc/jmc: 2 new changesets In-Reply-To: <201811081208.wA8C8Tb9003872@aojmv0008.oracle.com> References: <201811081208.wA8C8Tb9003872@aojmv0008.oracle.com> Message-ID: <70383c9e6f842b021c6b0b0e11a8ae7d15328f80.camel@redhat.com> On Thu, 2018-11-08 at 12:08 +0000, neugens.limasoftware at gmail.com wrote: I apologise, I pushed those changes for Joshua, but forgot to add a contributed-by field. Cheers, Mario > Changeset: 98115f6eb30f > Author: neugens > Date: 2018-11-08 12:43 +0100 > URL: http://hg.openjdk.java.net/jmc/jmc/rev/98115f6eb30f > > JMC-5506: Rule that detects fatal errors in the end of the recording > Summary: Add a Rule that detects fatal errors in the VM Shutdown > event. > Reviewed by: hirt, egahlin > > ! > application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openj > dk/jmc/flightrecorder/ui/pages/JVMInformationPage.java > + > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > dk/jmc/flightrecorder/rules/jdk/exceptions/FatalErrorRule.java > ! > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > dk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > ! > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/META > -INF/services/org.openjdk.jmc.flightrecorder.rules.IRule > ! > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/ > openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.prope > rties > ! > core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/fli > ghtrecorder/jdk/JdkAggregators.java > ! > core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/fli > ghtrecorder/jdk/JdkAttributes.java > ! > core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/fli > ghtrecorder/jdk/JdkTypeIDs.java > ! > core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/fli > ghtrecorder/jdk/messages/internal/Messages.java > ! > core/org.openjdk.jmc.flightrecorder/src/main/resources/org/openjdk/jm > c/flightrecorder/jdk/messages/internal/messages.properties > ! > core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/res > ources/baseline/JfrRuleBaseline.xml > > Changeset: 4629e44fd8ea > Author: neugens > Date: 2018-11-08 12:45 +0100 > URL: http://hg.openjdk.java.net/jmc/jmc/rev/4629e44fd8ea > > JMC-6194: Exclude uitest which is not capable of running with JDK 8 > Summary: Exclude UItests that are not capable of running on OpenJDK8 > Reviewed by: hirt, ghb > > ! application/pom.xml > ! application/uitests/pom.xml > -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From kdobson at redhat.com Thu Nov 8 19:49:53 2018 From: kdobson at redhat.com (Ken Dobson) Date: Thu, 8 Nov 2018 14:49:53 -0500 Subject: JMC-5698: Improving Duplicate Flags rule Message-ID: Hi all, This is a patch to improve the output of the Duplicate Flags rule to be more clear. I've attached a screenshot showing the new output. Please review it and let me know if you have any comments. https://bugs.openjdk.java.net/projects/JMC/issues/JMC-5698 Thanks, Ken Dobson diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Thu Nov 08 14:31:12 2018 -0500 @@ -32,10 +32,10 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; +import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; /** * Helper class used to share analysis of JVM related information, such as flags. @@ -43,33 +43,33 @@ @SuppressWarnings("nls") public class JvmInternalsDataProvider { - private static final String[] PREFIXES = new String[] {"Xmx", "Xms", "Xmn", "Xss", "Xmaxjitcodesize"}; + private static final String[] PREFIXES = new String[] {"-Xmx", "-Xms", "-Xmn", "-Xss", "-Xmaxjitcodesize"}; /** * Options that are OK to use multiple times if different values are provided. Check for * duplicates using the full argument. */ - private static final String[] VERBATIM = new String[] {"verbose", "-add-exports"}; + private static final String[] VERBATIM = new String[] {"-verbose", "--add-exports", "--add-opens"}; private static final Map EQUIVALENT = new HashMap<>(); static { - putBiMap("Xbatch", "BackgroundCompilation"); - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); - putBiMap("Xmx", "MaxHeapSize"); - putBiMap("Xmn", "NewSize"); - putBiMap("Xss", "ThreadStackSize"); - putBiMap("Xusealtsigs", "UseAltSigs"); - putBiMap("cp", "classpath"); - putBiMap("esa", "enablesystemassertions"); - putBiMap("dsa", "disablesystemassertions"); - putBiMap("Xconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoclassgc", "ClassUnloading"); - putBiMap("Xminf", "MinHeapFreeRatio"); - putBiMap("Xmaxf", "MaxHeapFreeRatio"); - putBiMap("Xrs", "ReduceSignalUsage"); - putBiMap("Dcom.sun.management", "ManagementServer"); - putBiMap("Xshare:dump", "DumpSharedSpaces"); - putBiMap("Xboundthreads", "UseBoundThreads"); + putBiMap("-Xbatch", "BackgroundCompilation"); + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); + putBiMap("-Xmx", "MaxHeapSize"); + putBiMap("-Xmn", "NewSize"); + putBiMap("-Xss", "ThreadStackSize"); + putBiMap("-Xusealtsigs", "UseAltSigs"); + putBiMap("-cp", "classpath"); + putBiMap("-esa", "enablesystemassertions"); + putBiMap("-dsa", "disablesystemassertions"); + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoclassgc", "ClassUnloading"); + putBiMap("-Xminf", "MinHeapFreeRatio"); + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); + putBiMap("-Xrs", "ReduceSignalUsage"); + putBiMap("-Dcom.sun.management", "ManagementServer"); + putBiMap("-Xshare:dump", "DumpSharedSpaces"); + putBiMap("-Xboundthreads", "UseBoundThreads"); putBiMap("AlwaysTenure", "NeverTenure"); putBiMap("ResizeTLE", "ResizeTLAB"); putBiMap("PrintTLE", "PrintTLAB"); @@ -77,10 +77,10 @@ putBiMap("UseTLE", "UseTLAB"); putBiMap("UsePermISM", "UseISM"); putBiMap("G1MarkStackSize", "CMSMarkStackSize"); - putBiMap("Xms", "InitialHeapSize"); + putBiMap("-Xms", "InitialHeapSize"); putBiMap("DisplayVMOutputToStderr", "DisplayVMOutputToStdout"); - putBiMap("Xverify", "BytecodeVerificationLocal"); - putBiMap("Xverify", "BytecodeVerificationRemote"); + putBiMap("-Xverify", "BytecodeVerificationLocal"); + putBiMap("-Xverify", "BytecodeVerificationRemote"); putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); putBiMap("ParallelMarkingThreads", "ConcGCThreads"); @@ -100,14 +100,13 @@ * the set of JVM flags to check * @return a set of all duplicated JVM flags */ - public static Set checkDuplicates(String arguments) { - HashSet seenFlags = new HashSet<>(); - HashSet dupes = new HashSet<>(); - String[] argumentArray = arguments.split(" -"); + public static Collection> checkDuplicates(String arguments) { + HashMap seenFlags = new HashMap<>(); + HashMap> dupes = new HashMap<>(); + String[] argumentArray = arguments.split(" "); if (argumentArray.length == 1 && argumentArray[0].equals("")) { - return dupes; + return dupes.values(); } - argumentArray[0] = argumentArray[0].substring(1); for (String fullArgument : argumentArray) { boolean verbatim = false; for (int i = 0; i < VERBATIM.length; i++) { @@ -122,7 +121,7 @@ } else { String[] split = fullArgument.split("[=:]", 3); argument = split[0]; - if ("XX".equals(split[0])) { + if ("-XX".equals(split[0])) { argument = split[1]; if (argument.startsWith("+") || argument.startsWith("-")) { argument = argument.substring(1); @@ -132,22 +131,24 @@ argument = scrubPrefix(argument, PREFIXES[i]); } String equivalentArgument = EQUIVALENT.get(argument); - if (equivalentArgument != null && !seenFlags.contains(argument) - && seenFlags.contains(equivalentArgument)) { - String longerArgument = equivalentArgument.length() > argument.length() ? equivalentArgument - : argument; - String shorterArgument = equivalentArgument.length() > argument.length() ? argument - : equivalentArgument; - String combinedArgument = String.format("%s (%s)", longerArgument, shorterArgument); - dupes.add(combinedArgument); + if (equivalentArgument != null && !seenFlags.containsKey(argument) + && seenFlags.containsKey(equivalentArgument)) { + argument = equivalentArgument; } } - if (seenFlags.contains(argument)) { - dupes.add(argument); + if (seenFlags.containsKey(argument)) { + if (!dupes.containsKey(argument)) { + dupes.put(argument, new ArrayList()); + dupes.get(argument).add(seenFlags.get(argument)); + } + dupes.get(argument).add(fullArgument); + } - seenFlags.add(argument); + else { + seenFlags.put(argument, fullArgument); + } } - return dupes; + return dupes.values(); } private static String scrubPrefix(String argument, String prefix) { diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Thu Nov 08 14:31:12 2018 -0500 @@ -33,6 +33,7 @@ package org.openjdk.jmc.flightrecorder.rules.jdk.general; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Set; @@ -72,14 +73,15 @@ // FIXME: Should we check if there are different jvm args in different chunks? Set args = jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); if (args != null && !args.isEmpty()) { - - Set dupes = JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); + + Collection> dupes = JvmInternalsDataProvider. + checkDuplicates(args.iterator().next()); if (!dupes.isEmpty()) { StringBuilder sb = new StringBuilder(); sb.append("

    "); //$NON-NLS-1$ - for (String dupe : dupes) { - sb.append("
  • " + Encode.forHtml(dupe) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ + for (ArrayList dupe : dupes) { + sb.append("
  • " + Encode.forHtml(String.join(", ", dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ } sb.append("
"); //$NON-NLS-1$ String shortDescription = dupes.size() > 1 From marcus.hirt at oracle.com Thu Nov 8 21:49:31 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 08 Nov 2018 22:49:31 +0100 Subject: JMC-5698: Improving Duplicate Flags rule In-Reply-To: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> References: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> Message-ID: Hi Ken, I took a quick look, and it looks fine to me. If someone else could take a closer look, that would be great! Kind regards, Marcus ?On 2018-11-08, 22:11, "jmc-dev on behalf of Ken Dobson" wrote: Hi all, This is a patch to improve the output of the Duplicate Flags rule to be more clear. I've attached a screenshot showing the new output. Please review it and let me know if you have any comments. https://bugs.openjdk.java.net/projects/JMC/issues/JMC-5698 Thanks, Ken Dobson diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Thu Nov 08 14:31:12 2018 -0500 @@ -32,10 +32,10 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; +import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; /** * Helper class used to share analysis of JVM related information, such as flags. @@ -43,33 +43,33 @@ @SuppressWarnings("nls") public class JvmInternalsDataProvider { - private static final String[] PREFIXES = new String[] {"Xmx", "Xms", "Xmn", "Xss", "Xmaxjitcodesize"}; + private static final String[] PREFIXES = new String[] {"-Xmx", "-Xms", "-Xmn", "-Xss", "-Xmaxjitcodesize"}; /** * Options that are OK to use multiple times if different values are provided. Check for * duplicates using the full argument. */ - private static final String[] VERBATIM = new String[] {"verbose", "-add-exports"}; + private static final String[] VERBATIM = new String[] {"-verbose", "--add-exports", "--add-opens"}; private static final Map EQUIVALENT = new HashMap<>(); static { - putBiMap("Xbatch", "BackgroundCompilation"); - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); - putBiMap("Xmx", "MaxHeapSize"); - putBiMap("Xmn", "NewSize"); - putBiMap("Xss", "ThreadStackSize"); - putBiMap("Xusealtsigs", "UseAltSigs"); - putBiMap("cp", "classpath"); - putBiMap("esa", "enablesystemassertions"); - putBiMap("dsa", "disablesystemassertions"); - putBiMap("Xconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoclassgc", "ClassUnloading"); - putBiMap("Xminf", "MinHeapFreeRatio"); - putBiMap("Xmaxf", "MaxHeapFreeRatio"); - putBiMap("Xrs", "ReduceSignalUsage"); - putBiMap("Dcom.sun.management", "ManagementServer"); - putBiMap("Xshare:dump", "DumpSharedSpaces"); - putBiMap("Xboundthreads", "UseBoundThreads"); + putBiMap("-Xbatch", "BackgroundCompilation"); + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); + putBiMap("-Xmx", "MaxHeapSize"); + putBiMap("-Xmn", "NewSize"); + putBiMap("-Xss", "ThreadStackSize"); + putBiMap("-Xusealtsigs", "UseAltSigs"); + putBiMap("-cp", "classpath"); + putBiMap("-esa", "enablesystemassertions"); + putBiMap("-dsa", "disablesystemassertions"); + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoclassgc", "ClassUnloading"); + putBiMap("-Xminf", "MinHeapFreeRatio"); + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); + putBiMap("-Xrs", "ReduceSignalUsage"); + putBiMap("-Dcom.sun.management", "ManagementServer"); + putBiMap("-Xshare:dump", "DumpSharedSpaces"); + putBiMap("-Xboundthreads", "UseBoundThreads"); putBiMap("AlwaysTenure", "NeverTenure"); putBiMap("ResizeTLE", "ResizeTLAB"); putBiMap("PrintTLE", "PrintTLAB"); @@ -77,10 +77,10 @@ putBiMap("UseTLE", "UseTLAB"); putBiMap("UsePermISM", "UseISM"); putBiMap("G1MarkStackSize", "CMSMarkStackSize"); - putBiMap("Xms", "InitialHeapSize"); + putBiMap("-Xms", "InitialHeapSize"); putBiMap("DisplayVMOutputToStderr", "DisplayVMOutputToStdout"); - putBiMap("Xverify", "BytecodeVerificationLocal"); - putBiMap("Xverify", "BytecodeVerificationRemote"); + putBiMap("-Xverify", "BytecodeVerificationLocal"); + putBiMap("-Xverify", "BytecodeVerificationRemote"); putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); putBiMap("ParallelMarkingThreads", "ConcGCThreads"); @@ -100,14 +100,13 @@ * the set of JVM flags to check * @return a set of all duplicated JVM flags */ - public static Set checkDuplicates(String arguments) { - HashSet seenFlags = new HashSet<>(); - HashSet dupes = new HashSet<>(); - String[] argumentArray = arguments.split(" -"); + public static Collection> checkDuplicates(String arguments) { + HashMap seenFlags = new HashMap<>(); + HashMap> dupes = new HashMap<>(); + String[] argumentArray = arguments.split(" "); if (argumentArray.length == 1 && argumentArray[0].equals("")) { - return dupes; + return dupes.values(); } - argumentArray[0] = argumentArray[0].substring(1); for (String fullArgument : argumentArray) { boolean verbatim = false; for (int i = 0; i < VERBATIM.length; i++) { @@ -122,7 +121,7 @@ } else { String[] split = fullArgument.split("[=:]", 3); argument = split[0]; - if ("XX".equals(split[0])) { + if ("-XX".equals(split[0])) { argument = split[1]; if (argument.startsWith("+") || argument.startsWith("-")) { argument = argument.substring(1); @@ -132,22 +131,24 @@ argument = scrubPrefix(argument, PREFIXES[i]); } String equivalentArgument = EQUIVALENT.get(argument); - if (equivalentArgument != null && !seenFlags.contains(argument) - && seenFlags.contains(equivalentArgument)) { - String longerArgument = equivalentArgument.length() > argument.length() ? equivalentArgument - : argument; - String shorterArgument = equivalentArgument.length() > argument.length() ? argument - : equivalentArgument; - String combinedArgument = String.format("%s (%s)", longerArgument, shorterArgument); - dupes.add(combinedArgument); + if (equivalentArgument != null && !seenFlags.containsKey(argument) + && seenFlags.containsKey(equivalentArgument)) { + argument = equivalentArgument; } } - if (seenFlags.contains(argument)) { - dupes.add(argument); + if (seenFlags.containsKey(argument)) { + if (!dupes.containsKey(argument)) { + dupes.put(argument, new ArrayList()); + dupes.get(argument).add(seenFlags.get(argument)); + } + dupes.get(argument).add(fullArgument); + } - seenFlags.add(argument); + else { + seenFlags.put(argument, fullArgument); + } } - return dupes; + return dupes.values(); } private static String scrubPrefix(String argument, String prefix) { diff -r b3a23786ef23 core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Wed Oct 10 16:43:35 2018 -0400 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Thu Nov 08 14:31:12 2018 -0500 @@ -33,6 +33,7 @@ package org.openjdk.jmc.flightrecorder.rules.jdk.general; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Set; @@ -72,14 +73,15 @@ // FIXME: Should we check if there are different jvm args in different chunks? Set args = jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); if (args != null && !args.isEmpty()) { - - Set dupes = JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); + + Collection> dupes = JvmInternalsDataProvider. + checkDuplicates(args.iterator().next()); if (!dupes.isEmpty()) { StringBuilder sb = new StringBuilder(); sb.append("
    "); //$NON-NLS-1$ - for (String dupe : dupes) { - sb.append("
  • " + Encode.forHtml(dupe) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ + for (ArrayList dupe : dupes) { + sb.append("
  • " + Encode.forHtml(String.join(", ", dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ } sb.append("
"); //$NON-NLS-1$ String shortDescription = dupes.size() > 1 From neugens at redhat.com Fri Nov 9 15:24:57 2018 From: neugens at redhat.com (Mario Torre) Date: Fri, 09 Nov 2018 16:24:57 +0100 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: References: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> <587FFBF8-3601-4C1A-A387-820476612754@redhat.com> Message-ID: <48da6ec985aaf00db13480ea724827f734ddfe10.camel@redhat.com> On Tue, 2018-11-06 at 17:57 +0100, Marcus Hirt wrote: > Excellent! Please work with Mario to sponsor it! I applied this patch but I get this wehn building: flightrecorder.rules.jdk.test ... FAILURE [ 8.283 s] BUILD FAILURE Test set: org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr --------------------------------------------------------------------- ---------- Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.66 s <<< FAILURE! - in org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr verifyAllResults(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRule sWithJfr) Time elapsed: 6.5 s <<< FAILURE! java.lang.AssertionError: Report: "stringdedup_enabled_jdk9.jfr", Rule: "HighGc". Description mismatch: "The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.

To improve rule accuracy and/or get more details for further investigation, it is recommended to enable the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'." was not equal to "The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.

Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem.". at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRu leResults(TestRulesWithJfr.java:159) at org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyAl lResults(TestRulesWithJfr.java:132) Cheers, Mario > > Kind regards, > > Marcus > > > > From: Ken Dobson > Date: Tuesday, 6 November 2018 at 17:55 > To: Marcus Hirt > Cc: > Subject: Re: JMC-5703: HighGcRule should report extra needed event > types > > > > Here's the updated patch, there doesn't appear to be any translations > for it. > > > > Ken > > > > diff -r b3a23786ef23 > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > dk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct > 10 16:43:35 2018 -0400 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov > 06 11:49:43 2018 -0500 > @@ -86,7 +86,8 @@ > String longMessage = message + " " + > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); > //$NON-NLS-1$ > if (!RulesToolkit.isEventsEnabled(items, > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > longMessage = longMessage + "

" //$NON-NLS-1$ > - + > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DI > SABLED); > + + > RulesToolkit.getEnabledEventTypesRecommendation(items, > + JdkTypeIDs.ALLOC_INSIDE_TLAB, > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > } > return new Result(this, score, message, longMessage, > JdkQueries.GC_PAUSE); > } > diff -r b3a23786ef23 > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > dk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > Wed Oct 10 16:43:35 2018 -0400 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > Tue Nov 06 11:49:43 2018 -0500 > @@ -298,7 +298,6 @@ > public static final String HighGcRuleFactory_RULE_NAME = > "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_INFO = > "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_INFO_LONG = > "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ > - public static final String > HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = > "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_OK = > "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ > public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = > "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ > public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = > "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ > diff -r b3a23786ef23 > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/ > openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.prope > rties > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro > perties Wed Oct 10 16:43:35 2018 -0400 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro > perties Tue Nov 06 11:49:43 2018 -0500 > @@ -321,7 +321,6 @@ > # {0} is a time period, {1} is a time stamp, {2} is a percentage > HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time > during {0} starting at {1}. > HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage > collection may be reduced by increasing the heap size or by trying to > reduce allocation. > -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation > events were disabled in this recording. Enable them to help with > troubleshooting this problem. > HighGcRuleFactory_TEXT_OK=The runtime did not spend much time > performing garbage collections. > HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time > HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time > > > > On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt > wrote: > > Hi Ken, > > Yes, if it is no longer used, please go ahead and remove both the > constant and > the entry in the associated properties files (might as well remove it > from the > translated files too). > > Kind regards, > Marcus > > ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" < > jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> > wrote: > > Hi all, > > This is a small patch to make the highGcRule consistent with the > GcFreedRatioRule when reporting extra needed event types. > Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED > from > Messages.java given it is no longer used? > > Thanks, > > Ken Dobson > > diff -r b3a23786ef23 > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/o > penjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > Wed Oct 10 16:43:35 2018 -0400 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > Tue Nov 06 10:33:20 2018 -0500 > @@ -84,9 +84,11 @@ > String message = > MessageFormat.format(Messages.getString(Messages.HighGcRuleFactor > y_TEXT_INFO), > duration, > startTime, > pausePercent.displayUsing(IDisplayable.AUTO)); > String longMessage = message + " " + > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); > //$NON-NLS-1$ > if (!RulesToolkit.isEventsEnabled(items, > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > longMessage = longMessage + "

" //$NON-NLS-1$ > - + > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLO > C_DISABLED); > + + > RulesToolkit.getEnabledEventTypesRecommendation(items, > + JdkTypeIDs.ALLOC_INSIDE_TLAB, > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > } > return new Result(this, score, message, longMessage, > JdkQueries.GC_PAUSE); > } > > > > -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From kdobson at redhat.com Fri Nov 9 17:07:36 2018 From: kdobson at redhat.com (Ken Dobson) Date: Fri, 9 Nov 2018 12:07:36 -0500 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: <48da6ec985aaf00db13480ea724827f734ddfe10.camel@redhat.com> References: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> <587FFBF8-3601-4C1A-A387-820476612754@redhat.com> <48da6ec985aaf00db13480ea724827f734ddfe10.camel@redhat.com> Message-ID: Sorry about that, this is a new patch adding the fix for the test. diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Thu Nov 08 12:45:05 2018 +0100 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Fri Nov 09 11:23:30 2018 -0500 @@ -86,7 +86,8 @@ String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { longMessage = longMessage + "

" //$NON-NLS-1$ - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); + + RulesToolkit.getEnabledEventTypesRecommendation(items, + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); } return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); } diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Thu Nov 08 12:45:05 2018 +0100 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Fri Nov 09 11:23:30 2018 -0500 @@ -302,7 +302,6 @@ public static final String HighGcRuleFactory_RULE_NAME = "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO = "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_INFO_LONG = "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ - public static final String HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ public static final String HighGcRuleFactory_TEXT_OK = "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Thu Nov 08 12:45:05 2018 +0100 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Fri Nov 09 11:23:30 2018 -0500 @@ -325,7 +325,6 @@ # {0} is a time period, {1} is a time stamp, {2} is a percentage HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time during {0} starting at {1}. HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation. -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. HighGcRuleFactory_TEXT_OK=The runtime did not spend much time performing garbage collections. HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time diff -r 4629e44fd8ea core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml --- a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Thu Nov 08 12:45:05 2018 +0100 +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Fri Nov 09 11:23:30 2018 -0500 @@ -2619,7 +2619,7 @@ OK 2.054924803137792 The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. -The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.<p>Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. +The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.<p>To improve rule accuracy and/or get more details for further investigation, it is recommended to enable the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'. HighJvmCpu On Fri, Nov 9, 2018 at 10:25 AM Mario Torre wrote: > On Tue, 2018-11-06 at 17:57 +0100, Marcus Hirt wrote: > > Excellent! Please work with Mario to sponsor it! > > I applied this patch but I get this wehn building: > > > flightrecorder.rules.jdk.test ... FAILURE [ 8.283 s] > BUILD FAILURE > > Test set: > org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr > --------------------------------------------------------------------- > ---------- > Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.66 s > <<< FAILURE! - in > org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr > verifyAllResults(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRule > sWithJfr) Time elapsed: 6.5 s <<< FAILURE! > java.lang.AssertionError: > > > Report: "stringdedup_enabled_jdk9.jfr", > Rule: "HighGc". > Description mismatch: "The JVM was paused for 100 % of the time > during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent > performing garbage collection may be reduced by increasing the heap > size or by trying to reduce allocation.

To improve rule accuracy > and/or get more details for further investigation, it is recommended to > enable the following event types: 'Allocation in new TLAB', 'Allocation > outside TLAB'." was not equal to "The JVM was paused for 100 % of the > time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent > performing garbage collection may be reduced by increasing the heap > size or by trying to reduce allocation.

Some allocation events were > disabled in this recording. Enable them to help with troubleshooting > this problem.". > at > org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRu > leResults(TestRulesWithJfr.java:159) > at > org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyAl > lResults(TestRulesWithJfr.java:132) > > Cheers, > Mario > > > > > Kind regards, > > > > Marcus > > > > > > > > From: Ken Dobson > > Date: Tuesday, 6 November 2018 at 17:55 > > To: Marcus Hirt > > Cc: > > Subject: Re: JMC-5703: HighGcRule should report extra needed event > > types > > > > > > > > Here's the updated patch, there doesn't appear to be any translations > > for it. > > > > > > > > Ken > > > > > > > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > > dk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct > > 10 16:43:35 2018 -0400 > > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov > > 06 11:49:43 2018 -0500 > > @@ -86,7 +86,8 @@ > > String longMessage = message + " " + > > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); > > //$NON-NLS-1$ > > if (!RulesToolkit.isEventsEnabled(items, > > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > > longMessage = longMessage + "

" //$NON-NLS-1$ > > - + > > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DI > > SABLED); > > + + > > RulesToolkit.getEnabledEventTypesRecommendation(items, > > + JdkTypeIDs.ALLOC_INSIDE_TLAB, > > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > > } > > return new Result(this, score, message, longMessage, > > JdkQueries.GC_PAUSE); > > } > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj > > dk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > > Wed Oct 10 16:43:35 2018 -0400 > > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope > > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > > Tue Nov 06 11:49:43 2018 -0500 > > @@ -298,7 +298,6 @@ > > public static final String HighGcRuleFactory_RULE_NAME = > > "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ > > public static final String HighGcRuleFactory_TEXT_INFO = > > "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ > > public static final String HighGcRuleFactory_TEXT_INFO_LONG = > > "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ > > - public static final String > > HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = > > "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ > > public static final String HighGcRuleFactory_TEXT_OK = > > "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ > > public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = > > "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ > > public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = > > "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/ > > openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.prope > > rties > > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or > > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro > > perties Wed Oct 10 16:43:35 2018 -0400 > > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or > > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro > > perties Tue Nov 06 11:49:43 2018 -0500 > > @@ -321,7 +321,6 @@ > > # {0} is a time period, {1} is a time stamp, {2} is a percentage > > HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time > > during {0} starting at {1}. > > HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage > > collection may be reduced by increasing the heap size or by trying to > > reduce allocation. > > -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation > > events were disabled in this recording. Enable them to help with > > troubleshooting this problem. > > HighGcRuleFactory_TEXT_OK=The runtime did not spend much time > > performing garbage collections. > > HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time > > HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time > > > > > > > > On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt > > wrote: > > > > Hi Ken, > > > > Yes, if it is no longer used, please go ahead and remove both the > > constant and > > the entry in the associated properties files (might as well remove it > > from the > > translated files too). > > > > Kind regards, > > Marcus > > > > ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" < > > jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> > > wrote: > > > > Hi all, > > > > This is a small patch to make the highGcRule consistent with the > > GcFreedRatioRule when reporting extra needed event types. > > Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED > > from > > Messages.java given it is no longer used? > > > > Thanks, > > > > Ken Dobson > > > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/o > > penjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org > > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > > Wed Oct 10 16:43:35 2018 -0400 > > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org > > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > > Tue Nov 06 10:33:20 2018 -0500 > > @@ -84,9 +84,11 @@ > > String message = > > MessageFormat.format(Messages.getString(Messages.HighGcRuleFactor > > y_TEXT_INFO), > > duration, > > startTime, > > pausePercent.displayUsing(IDisplayable.AUTO)); > > String longMessage = message + " " + > > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); > > //$NON-NLS-1$ > > if (!RulesToolkit.isEventsEnabled(items, > > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > > longMessage = longMessage + "

" //$NON-NLS-1$ > > - + > > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLO > > C_DISABLED); > > + + > > RulesToolkit.getEnabledEventTypesRecommendation(items, > > + JdkTypeIDs.ALLOC_INSIDE_TLAB, > > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > > } > > return new Result(this, score, message, longMessage, > > JdkQueries.GC_PAUSE); > > } > > > > > > > > > -- > Mario Torre > Associate Manager, Software Engineering > Red Hat GmbH > 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 > > From kdobson at redhat.com Fri Nov 9 17:36:00 2018 From: kdobson at redhat.com (Ken Dobson) Date: Fri, 9 Nov 2018 12:36:00 -0500 Subject: JMC-5698: Improving Duplicate Flags rule In-Reply-To: References: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> Message-ID: This is an update to the patch to add a fix to the tests. diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Thu Nov 08 12:45:05 2018 +0100 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java Fri Nov 09 12:32:49 2018 -0500 @@ -32,10 +32,10 @@ */ package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; +import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; /** * Helper class used to share analysis of JVM related information, such as flags. @@ -43,33 +43,33 @@ @SuppressWarnings("nls") public class JvmInternalsDataProvider { - private static final String[] PREFIXES = new String[] {"Xmx", "Xms", "Xmn", "Xss", "Xmaxjitcodesize"}; + private static final String[] PREFIXES = new String[] {"-Xmx", "-Xms", "-Xmn", "-Xss", "-Xmaxjitcodesize"}; /** * Options that are OK to use multiple times if different values are provided. Check for * duplicates using the full argument. */ - private static final String[] VERBATIM = new String[] {"verbose", "-add-exports"}; + private static final String[] VERBATIM = new String[] {"-verbose", "--add-exports", "--add-opens"}; private static final Map EQUIVALENT = new HashMap<>(); static { - putBiMap("Xbatch", "BackgroundCompilation"); - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); - putBiMap("Xmx", "MaxHeapSize"); - putBiMap("Xmn", "NewSize"); - putBiMap("Xss", "ThreadStackSize"); - putBiMap("Xusealtsigs", "UseAltSigs"); - putBiMap("cp", "classpath"); - putBiMap("esa", "enablesystemassertions"); - putBiMap("dsa", "disablesystemassertions"); - putBiMap("Xconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); - putBiMap("Xnoclassgc", "ClassUnloading"); - putBiMap("Xminf", "MinHeapFreeRatio"); - putBiMap("Xmaxf", "MaxHeapFreeRatio"); - putBiMap("Xrs", "ReduceSignalUsage"); - putBiMap("Dcom.sun.management", "ManagementServer"); - putBiMap("Xshare:dump", "DumpSharedSpaces"); - putBiMap("Xboundthreads", "UseBoundThreads"); + putBiMap("-Xbatch", "BackgroundCompilation"); + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); + putBiMap("-Xmx", "MaxHeapSize"); + putBiMap("-Xmn", "NewSize"); + putBiMap("-Xss", "ThreadStackSize"); + putBiMap("-Xusealtsigs", "UseAltSigs"); + putBiMap("-cp", "classpath"); + putBiMap("-esa", "enablesystemassertions"); + putBiMap("-dsa", "disablesystemassertions"); + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); + putBiMap("-Xnoclassgc", "ClassUnloading"); + putBiMap("-Xminf", "MinHeapFreeRatio"); + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); + putBiMap("-Xrs", "ReduceSignalUsage"); + putBiMap("-Dcom.sun.management", "ManagementServer"); + putBiMap("-Xshare:dump", "DumpSharedSpaces"); + putBiMap("-Xboundthreads", "UseBoundThreads"); putBiMap("AlwaysTenure", "NeverTenure"); putBiMap("ResizeTLE", "ResizeTLAB"); putBiMap("PrintTLE", "PrintTLAB"); @@ -77,10 +77,10 @@ putBiMap("UseTLE", "UseTLAB"); putBiMap("UsePermISM", "UseISM"); putBiMap("G1MarkStackSize", "CMSMarkStackSize"); - putBiMap("Xms", "InitialHeapSize"); + putBiMap("-Xms", "InitialHeapSize"); putBiMap("DisplayVMOutputToStderr", "DisplayVMOutputToStdout"); - putBiMap("Xverify", "BytecodeVerificationLocal"); - putBiMap("Xverify", "BytecodeVerificationRemote"); + putBiMap("-Xverify", "BytecodeVerificationLocal"); + putBiMap("-Xverify", "BytecodeVerificationRemote"); putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); putBiMap("ParallelMarkingThreads", "ConcGCThreads"); @@ -100,14 +100,13 @@ * the set of JVM flags to check * @return a set of all duplicated JVM flags */ - public static Set checkDuplicates(String arguments) { - HashSet seenFlags = new HashSet<>(); - HashSet dupes = new HashSet<>(); - String[] argumentArray = arguments.split(" -"); + public static Collection> checkDuplicates(String arguments) { + HashMap seenFlags = new HashMap<>(); + HashMap> dupes = new HashMap<>(); + String[] argumentArray = arguments.split(" "); if (argumentArray.length == 1 && argumentArray[0].equals("")) { - return dupes; + return dupes.values(); } - argumentArray[0] = argumentArray[0].substring(1); for (String fullArgument : argumentArray) { boolean verbatim = false; for (int i = 0; i < VERBATIM.length; i++) { @@ -122,7 +121,7 @@ } else { String[] split = fullArgument.split("[=:]", 3); argument = split[0]; - if ("XX".equals(split[0])) { + if ("-XX".equals(split[0])) { argument = split[1]; if (argument.startsWith("+") || argument.startsWith("-")) { argument = argument.substring(1); @@ -132,22 +131,24 @@ argument = scrubPrefix(argument, PREFIXES[i]); } String equivalentArgument = EQUIVALENT.get(argument); - if (equivalentArgument != null && !seenFlags.contains(argument) - && seenFlags.contains(equivalentArgument)) { - String longerArgument = equivalentArgument.length() > argument.length() ? equivalentArgument - : argument; - String shorterArgument = equivalentArgument.length() > argument.length() ? argument - : equivalentArgument; - String combinedArgument = String.format("%s (%s)", longerArgument, shorterArgument); - dupes.add(combinedArgument); + if (equivalentArgument != null && !seenFlags.containsKey(argument) + && seenFlags.containsKey(equivalentArgument)) { + argument = equivalentArgument; } } - if (seenFlags.contains(argument)) { - dupes.add(argument); + if (seenFlags.containsKey(argument)) { + if (!dupes.containsKey(argument)) { + dupes.put(argument, new ArrayList()); + dupes.get(argument).add(seenFlags.get(argument)); + } + dupes.get(argument).add(fullArgument); + } - seenFlags.add(argument); + else { + seenFlags.put(argument, fullArgument); + } } - return dupes; + return dupes.values(); } private static String scrubPrefix(String argument, String prefix) { diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Thu Nov 08 12:45:05 2018 +0100 +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java Fri Nov 09 12:32:49 2018 -0500 @@ -33,6 +33,7 @@ package org.openjdk.jmc.flightrecorder.rules.jdk.general; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Set; @@ -72,14 +73,15 @@ // FIXME: Should we check if there are different jvm args in different chunks? Set args = jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); if (args != null && !args.isEmpty()) { - - Set dupes = JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); + + Collection> dupes = JvmInternalsDataProvider. + checkDuplicates(args.iterator().next()); if (!dupes.isEmpty()) { StringBuilder sb = new StringBuilder(); sb.append("

    "); //$NON-NLS-1$ - for (String dupe : dupes) { - sb.append("
  • " + Encode.forHtml(dupe) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ + for (ArrayList dupe : dupes) { + sb.append("
  • " + Encode.forHtml(String.join(", ", dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ } sb.append("
"); //$NON-NLS-1$ String shortDescription = dupes.size() > 1 diff -r 4629e44fd8ea core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml --- a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Thu Nov 08 12:45:05 2018 +0100 +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Fri Nov 09 12:32:49 2018 -0500 @@ -2909,7 +2909,7 @@ Information 50.0 There were 2 JVM duplicated flags. -There were 2 JVM duplicated flags. Duplicated JVM flags may be caused by multiple layers of scripts used when launching the application. Having duplicate flags is dangerous as changing one of the flags in one of the scripts may not have the intended effect. This can be especially dangerous for security related system properties. Try to find all the places where the flag is defined and keep only one. The following flags were duplicated: <ul><li>Xverify</li><li>Djava.endorsed.dirs</li></ul> +There were 2 JVM duplicated flags. Duplicated JVM flags may be caused by multiple layers of scripts used when launching the application. Having duplicate flags is dangerous as changing one of the flags in one of the scripts may not have the intended effect. This can be especially dangerous for security related system properties. Try to find all the places where the flag is defined and keep only one. The following flags were duplicated: <ul><li>-Djava.endorsed.dirs=c:\java\JDK18~1.0_6\jre\lib\endorsed;C:\tmp\WLS-JFR\oracle_common\modules\endorsed, -Djava.endorsed.dirs=c:\java\JDK18~1.0_6\jre\lib\endorsed;C:\tmp\WLS-JFR\oracle_common\modules\endorsed</li><li>-Xverify:none, -Xverify:none</li></ul> Errors @@ -3305,8 +3305,8 @@ DuplicateFlags Information 50.0 -There were 6 JVM duplicated flags. -There were 6 JVM duplicated flags. Duplicated JVM flags may be caused by multiple layers of scripts used when launching the application. Having duplicate flags is dangerous as changing one of the flags in one of the scripts may not have the intended effect. This can be especially dangerous for security related system properties. Try to find all the places where the flag is defined and keep only one. The following flags were duplicated: <ul><li>Xmx</li><li>NewSize</li><li>Dweblogic.home</li><li>-add-opens</li><li>MaxNewSize</li><li>Xms</li></ul> +There were 5 JVM duplicated flags. +There were 5 JVM duplicated flags. Duplicated JVM flags may be caused by multiple layers of scripts used when launching the application. Having duplicate flags is dangerous as changing one of the flags in one of the scripts may not have the intended effect. This can be especially dangerous for security related system properties. Try to find all the places where the flag is defined and keep only one. The following flags were duplicated: <ul><li>-XX:NewSize=65m, -XX:NewSize=65m</li><li>-Dweblogic.home=C:\weblogic\src122130_build\Oracle_Home\wlserver/server, -Dweblogic.home=C:\weblogic\SRC122~1\ORACLE~1\wlserver\server</li><li>-Xmx500m, -Xmx500m</li><li>-Xms160m, -Xms160m</li><li>-XX:MaxNewSize=65m, -XX:MaxNewSize=65m</li></ul> Errors On Thu, Nov 8, 2018 at 4:51 PM Marcus Hirt wrote: > Hi Ken, > > I took a quick look, and it looks fine to me. If someone else could > take a closer look, that would be great! > > Kind regards, > Marcus > > ?On 2018-11-08, 22:11, "jmc-dev on behalf of Ken Dobson" < > jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> wrote: > > Hi all, > > This is a patch to improve the output of the Duplicate Flags rule to be > more clear. I've attached a screenshot showing the new output. Please > review it and let me know if you have any comments. > > https://bugs.openjdk.java.net/projects/JMC/issues/JMC-5698 > > Thanks, > > Ken Dobson > > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > Wed Oct 10 16:43:35 2018 -0400 > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > Thu Nov 08 14:31:12 2018 -0500 > @@ -32,10 +32,10 @@ > */ > package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; > > +import java.util.ArrayList; > +import java.util.Collection; > import java.util.HashMap; > -import java.util.HashSet; > import java.util.Map; > -import java.util.Set; > > /** > * Helper class used to share analysis of JVM related information, > such as > flags. > @@ -43,33 +43,33 @@ > @SuppressWarnings("nls") > public class JvmInternalsDataProvider { > > - private static final String[] PREFIXES = new String[] {"Xmx", > "Xms", > "Xmn", "Xss", "Xmaxjitcodesize"}; > + private static final String[] PREFIXES = new String[] {"-Xmx", > "-Xms", > "-Xmn", "-Xss", "-Xmaxjitcodesize"}; > /** > * Options that are OK to use multiple times if different values > are > provided. Check for > * duplicates using the full argument. > */ > - private static final String[] VERBATIM = new String[] {"verbose", > "-add-exports"}; > + private static final String[] VERBATIM = new String[] {"-verbose", > "--add-exports", "--add-opens"}; > private static final Map EQUIVALENT = new > HashMap<>(); > > static { > - putBiMap("Xbatch", "BackgroundCompilation"); > - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); > - putBiMap("Xmx", "MaxHeapSize"); > - putBiMap("Xmn", "NewSize"); > - putBiMap("Xss", "ThreadStackSize"); > - putBiMap("Xusealtsigs", "UseAltSigs"); > - putBiMap("cp", "classpath"); > - putBiMap("esa", "enablesystemassertions"); > - putBiMap("dsa", "disablesystemassertions"); > - putBiMap("Xconcgc", "UseConcMarkSweepGC"); > - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); > - putBiMap("Xnoclassgc", "ClassUnloading"); > - putBiMap("Xminf", "MinHeapFreeRatio"); > - putBiMap("Xmaxf", "MaxHeapFreeRatio"); > - putBiMap("Xrs", "ReduceSignalUsage"); > - putBiMap("Dcom.sun.management", "ManagementServer"); > - putBiMap("Xshare:dump", "DumpSharedSpaces"); > - putBiMap("Xboundthreads", "UseBoundThreads"); > + putBiMap("-Xbatch", "BackgroundCompilation"); > + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); > + putBiMap("-Xmx", "MaxHeapSize"); > + putBiMap("-Xmn", "NewSize"); > + putBiMap("-Xss", "ThreadStackSize"); > + putBiMap("-Xusealtsigs", "UseAltSigs"); > + putBiMap("-cp", "classpath"); > + putBiMap("-esa", "enablesystemassertions"); > + putBiMap("-dsa", "disablesystemassertions"); > + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); > + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); > + putBiMap("-Xnoclassgc", "ClassUnloading"); > + putBiMap("-Xminf", "MinHeapFreeRatio"); > + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); > + putBiMap("-Xrs", "ReduceSignalUsage"); > + putBiMap("-Dcom.sun.management", "ManagementServer"); > + putBiMap("-Xshare:dump", "DumpSharedSpaces"); > + putBiMap("-Xboundthreads", "UseBoundThreads"); > putBiMap("AlwaysTenure", "NeverTenure"); > putBiMap("ResizeTLE", "ResizeTLAB"); > putBiMap("PrintTLE", "PrintTLAB"); > @@ -77,10 +77,10 @@ > putBiMap("UseTLE", "UseTLAB"); > putBiMap("UsePermISM", "UseISM"); > putBiMap("G1MarkStackSize", "CMSMarkStackSize"); > - putBiMap("Xms", "InitialHeapSize"); > + putBiMap("-Xms", "InitialHeapSize"); > putBiMap("DisplayVMOutputToStderr", > "DisplayVMOutputToStdout"); > - putBiMap("Xverify", "BytecodeVerificationLocal"); > - putBiMap("Xverify", "BytecodeVerificationRemote"); > + putBiMap("-Xverify", "BytecodeVerificationLocal"); > + putBiMap("-Xverify", "BytecodeVerificationRemote"); > putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); > putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); > putBiMap("ParallelMarkingThreads", "ConcGCThreads"); > @@ -100,14 +100,13 @@ > * the set of JVM flags to check > * @return a set of all duplicated JVM flags > */ > - public static Set checkDuplicates(String arguments) { > - HashSet seenFlags = new HashSet<>(); > - HashSet dupes = new HashSet<>(); > - String[] argumentArray = arguments.split(" -"); > + public static Collection> checkDuplicates(String > arguments) { > + HashMap seenFlags = new HashMap<>(); > + HashMap> dupes = new HashMap<>(); > + String[] argumentArray = arguments.split(" "); > if (argumentArray.length == 1 && argumentArray[0].equals("")) > { > - return dupes; > + return dupes.values(); > } > - argumentArray[0] = argumentArray[0].substring(1); > for (String fullArgument : argumentArray) { > boolean verbatim = false; > for (int i = 0; i < VERBATIM.length; i++) { > @@ -122,7 +121,7 @@ > } else { > String[] split = fullArgument.split("[=:]", 3); > argument = split[0]; > - if ("XX".equals(split[0])) { > + if ("-XX".equals(split[0])) { > argument = split[1]; > if (argument.startsWith("+") || > argument.startsWith("-")) { > argument = argument.substring(1); > @@ -132,22 +131,24 @@ > argument = scrubPrefix(argument, PREFIXES[i]); > } > String equivalentArgument = EQUIVALENT.get(argument); > - if (equivalentArgument != null && > !seenFlags.contains(argument) > - && seenFlags.contains(equivalentArgument)) { > - String longerArgument = > equivalentArgument.length() > > argument.length() ? equivalentArgument > - : argument; > - String shorterArgument = > equivalentArgument.length() > > argument.length() ? argument > - : equivalentArgument; > - String combinedArgument = String.format("%s (%s)", > longerArgument, shorterArgument); > - dupes.add(combinedArgument); > + if (equivalentArgument != null && > !seenFlags.containsKey(argument) > + && seenFlags.containsKey(equivalentArgument)) > { > + argument = equivalentArgument; > } > } > - if (seenFlags.contains(argument)) { > - dupes.add(argument); > + if (seenFlags.containsKey(argument)) { > + if (!dupes.containsKey(argument)) { > + dupes.put(argument, new ArrayList()); > + dupes.get(argument).add(seenFlags.get(argument)); > + } > + dupes.get(argument).add(fullArgument); > + > } > - seenFlags.add(argument); > + else { > + seenFlags.put(argument, fullArgument); > + } > } > - return dupes; > + return dupes.values(); > } > > private static String scrubPrefix(String argument, String prefix) > { > diff -r b3a23786ef23 > > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > --- > > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > Wed Oct 10 16:43:35 2018 -0400 > +++ > > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > Thu Nov 08 14:31:12 2018 -0500 > @@ -33,6 +33,7 @@ > package org.openjdk.jmc.flightrecorder.rules.jdk.general; > > import java.text.MessageFormat; > +import java.util.ArrayList; > import java.util.Collection; > import java.util.Collections; > import java.util.Set; > @@ -72,14 +73,15 @@ > // FIXME: Should we check if there are different jvm args in > different chunks? > Set args = > > jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); > if (args != null && !args.isEmpty()) { > - > - Set dupes = > JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); > + > + Collection> dupes = > JvmInternalsDataProvider. > + checkDuplicates(args.iterator().next()); > > if (!dupes.isEmpty()) { > StringBuilder sb = new StringBuilder(); > sb.append("
    "); //$NON-NLS-1$ > - for (String dupe : dupes) { > - sb.append("
  • " + Encode.forHtml(dupe) + > "
  • "); > //$NON-NLS-1$ //$NON-NLS-2$ > + for (ArrayList dupe : dupes) { > + sb.append("
  • " + Encode.forHtml(String.join(", > ", > dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ > } > sb.append("
"); //$NON-NLS-1$ > String shortDescription = dupes.size() > 1 > > > > > From jkang at redhat.com Fri Nov 9 21:09:26 2018 From: jkang at redhat.com (Jie Kang) Date: Fri, 9 Nov 2018 16:09:26 -0500 Subject: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: <38F5E753-6AE4-443B-A7AA-787413CA2814@redhat.com> Message-ID: Hello Marcus, I've made attempts to treat the Jemmy libraries like the third party dependencies such as javamail and owasp encoder through the local p2 site. However I've ran into the OSGi split package issue as the Jemmy project has packages of the same full name (e.g. org.jemmy.input) with different classes, packaged into different jars. This results in compile time errors like: Access restriction: The type 'SelectionText' is not API (restriction on classpath entry '[...]/org.adoptopenjdk.jemmy-core-1.0.2.jar') /* SelectionText is under a package name that is exported in two different jemmy jars and the compiler only picks one of them. There are classes in the package the compiler did pick that are also needed too */ These restriction errors can be ignored but without further modification it results in CNFE at runtime, which I believe was seen for the very initial proposed patch (e.g. CFNE for o.j.image.ImageComparator as o.j.image package is selected to come from bundle o.j.awt-input, but that class is in bundle o.j.core). One could bundle the Jemmy classes directly into the JMC Jemmy Test bundle but then the only difference is when it is downloaded, via p2:site or automatically during process-resources phase when uitests are run. For sticking to p2, I would probably be investigating making quite customized MANIFEST.MF files for the Jemmy bundles (currently using the default generated by bnd plugin) and the split package directive or sending a patch to the Jemmy project to provide an all-in-one jar. Thoughts? Regards, On Thu, Nov 1, 2018 at 11:45 AM Marcus Hirt wrote: > > Thank you Jie, > > I think this is a definite improvement, though I was hoping we would be able to > treat the Jemmy libraries like another third party dependency. Guru, could you > review this, and sponsor the change if you agree with the solution? > > Kind regards, > Marcus > > ?On 2018-11-01, 07:56, "jmc-dev on behalf of Jie Kang" wrote: > > On Mon, Oct 15, 2018 at 9:07 AM Jie Kang wrote: > > > > On Sat, Oct 13, 2018 at 12:48 PM Patrick Reinhart wrote: > > > > > > Hi Jie, > > > > > > For me the tests do not run here under Linux: > > > > > > mvn verify -P uitests > > > > > > [INFO] > > > ------------------------------------------------------------------------ > > > [INFO] Reactor Summary: > > > [INFO] > > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > > 2.095 s] > > > [INFO] missioncontrol.application ......................... SUCCESS [ > > > 0.059 s] > > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > > 6.941 s] > > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > > 4.492 s] > > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > > 14.612 s] > > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > > 7.724 s] > > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > > 6.848 s] > > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > > 10.093 s] > > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > > 9.516 s] > > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > > 5.107 s] > > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > > 2.444 s] > > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > > 4.726 s] > > > > > > Also the UI tests fail: > > > > > > mvn verify -P uitests > > > > The logs below has the same failure as the logs above; was this the > > intended paste? > > > > `org.openjdk.jmc.browser.attach` is under `application` module, is not > > a UI test and has no dependence on the Jemmy libraries as far as I can > > tell. The patch adds a new phase to the `org.openjdk.jmc.test.jemmy` > > module that downloads Jemmy libraries under the lib folder; assuming > > your logs are complete this module has not been reached and so I can't > > see how this failure is related. Can you share logs of the actual > > failure? Otherwise possibly retry with a clean run via 'mvn clean > > verify -P uitests'. > > Hi, > > Is there any update on this? > > I've attached the patch again to this e-mail; this was the initial e-mail: > > > Please find attached an alternative patch that addresses JMC-6115. It > > adds a step in the maven phase to download the Jemmy libraries from > > Maven Central. The pom file is also converted to all tabs. Let me know > > what you think! > > Regards, > > > > > > > Regards, > > > > > > > > [INFO] > > > ------------------------------------------------------------------------ > > > [INFO] Reactor Summary: > > > [INFO] > > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > > 1.867 s] > > > [INFO] missioncontrol.application ......................... SUCCESS [ > > > 0.061 s] > > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > > 5.843 s] > > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > > 4.192 s] > > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > > 12.285 s] > > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > > 5.707 s] > > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > > 6.156 s] > > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > > 9.170 s] > > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > > 9.860 s] > > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > > 4.523 s] > > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > > 1.856 s] > > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > > 3.777 s] > > > > > > -Patrick > > > > > > > > > > > > > From marcus.hirt at oracle.com Fri Nov 9 23:23:03 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Sat, 10 Nov 2018 00:23:03 +0100 Subject: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: References: <38F5E753-6AE4-443B-A7AA-787413CA2814@redhat.com> Message-ID: <991B5659-4CA2-4ED3-A3FC-49A3C3A969FE@oracle.com> Hi Jie, Thanks for the additional information! Patrick, what do you think? I don't think we would get changes of that magnitude into Jemmy soon enough. Kind regards, Marcus ?On 2018-11-09, 22:09, "Jie Kang" wrote: Hello Marcus, I've made attempts to treat the Jemmy libraries like the third party dependencies such as javamail and owasp encoder through the local p2 site. However I've ran into the OSGi split package issue as the Jemmy project has packages of the same full name (e.g. org.jemmy.input) with different classes, packaged into different jars. This results in compile time errors like: Access restriction: The type 'SelectionText' is not API (restriction on classpath entry '[...]/org.adoptopenjdk.jemmy-core-1.0.2.jar') /* SelectionText is under a package name that is exported in two different jemmy jars and the compiler only picks one of them. There are classes in the package the compiler did pick that are also needed too */ These restriction errors can be ignored but without further modification it results in CNFE at runtime, which I believe was seen for the very initial proposed patch (e.g. CFNE for o.j.image.ImageComparator as o.j.image package is selected to come from bundle o.j.awt-input, but that class is in bundle o.j.core). One could bundle the Jemmy classes directly into the JMC Jemmy Test bundle but then the only difference is when it is downloaded, via p2:site or automatically during process-resources phase when uitests are run. For sticking to p2, I would probably be investigating making quite customized MANIFEST.MF files for the Jemmy bundles (currently using the default generated by bnd plugin) and the split package directive or sending a patch to the Jemmy project to provide an all-in-one jar. Thoughts? Regards, On Thu, Nov 1, 2018 at 11:45 AM Marcus Hirt wrote: > > Thank you Jie, > > I think this is a definite improvement, though I was hoping we would be able to > treat the Jemmy libraries like another third party dependency. Guru, could you > review this, and sponsor the change if you agree with the solution? > > Kind regards, > Marcus > > ?On 2018-11-01, 07:56, "jmc-dev on behalf of Jie Kang" wrote: > > On Mon, Oct 15, 2018 at 9:07 AM Jie Kang wrote: > > > > On Sat, Oct 13, 2018 at 12:48 PM Patrick Reinhart wrote: > > > > > > Hi Jie, > > > > > > For me the tests do not run here under Linux: > > > > > > mvn verify -P uitests > > > > > > [INFO] > > > ------------------------------------------------------------------------ > > > [INFO] Reactor Summary: > > > [INFO] > > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > > 2.095 s] > > > [INFO] missioncontrol.application ......................... SUCCESS [ > > > 0.059 s] > > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > > 6.941 s] > > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > > 4.492 s] > > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > > 14.612 s] > > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > > 7.724 s] > > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > > 6.848 s] > > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > > 10.093 s] > > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > > 9.516 s] > > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > > 5.107 s] > > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > > 2.444 s] > > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > > 4.726 s] > > > > > > Also the UI tests fail: > > > > > > mvn verify -P uitests > > > > The logs below has the same failure as the logs above; was this the > > intended paste? > > > > `org.openjdk.jmc.browser.attach` is under `application` module, is not > > a UI test and has no dependence on the Jemmy libraries as far as I can > > tell. The patch adds a new phase to the `org.openjdk.jmc.test.jemmy` > > module that downloads Jemmy libraries under the lib folder; assuming > > your logs are complete this module has not been reached and so I can't > > see how this failure is related. Can you share logs of the actual > > failure? Otherwise possibly retry with a clean run via 'mvn clean > > verify -P uitests'. > > Hi, > > Is there any update on this? > > I've attached the patch again to this e-mail; this was the initial e-mail: > > > Please find attached an alternative patch that addresses JMC-6115. It > > adds a step in the maven phase to download the Jemmy libraries from > > Maven Central. The pom file is also converted to all tabs. Let me know > > what you think! > > Regards, > > > > > > > Regards, > > > > > > > > [INFO] > > > ------------------------------------------------------------------------ > > > [INFO] Reactor Summary: > > > [INFO] > > > [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ > > > 1.867 s] > > > [INFO] missioncontrol.application ......................... SUCCESS [ > > > 0.061 s] > > > [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ > > > 5.843 s] > > > [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ > > > 4.192 s] > > > [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ > > > 12.285 s] > > > [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ > > > 5.707 s] > > > [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ > > > 6.156 s] > > > [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ > > > 9.170 s] > > > [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ > > > 9.860 s] > > > [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ > > > 4.523 s] > > > [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ > > > 1.856 s] > > > [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ > > > 3.777 s] > > > > > > -Patrick > > > > > > > > > > > > > From marcus.hirt at oracle.com Fri Nov 9 23:30:18 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Sat, 10 Nov 2018 00:30:18 +0100 Subject: Tonight's meeting (also, the JMC agent) In-Reply-To: <2A337806-AA4C-4CBD-BDAD-2CAF0ABEF73D@redhat.com> References: <2837CBFF-A03D-4FAF-BB1F-F66A22543498@oracle.com> <2A337806-AA4C-4CBD-BDAD-2CAF0ABEF73D@redhat.com> Message-ID: <32CB259E-D00C-4DA6-9CC2-2D7497C99BBB@oracle.com> Hi Mario, Thank you so much for the words of encouragement! It really means a lot to me! (Awww, you guys... *blush*) Kind regards, Marcus ?On 2018-11-08, 12:21, "Mario Torre" wrote: On Wed, 2018-11-07 at 20:31 +0100, Marcus Hirt wrote: > Hi all, > > Thanks for the great meeting tonight regarding JMC 7. It was great to > hear so > many willing to contribute to making sure that we release this first > open > source version of Mission Control on time. It was also great to hear > so much > interest in the JMC agent. With an expert like Andrew on the team, > this will > no doubt become a powerful and efficient tool! > > For JMC 7, I used the following dashboard to see the current status: > https://bugs.openjdk.java.net/secure/Dashboard.jspa?selectPageId=17703 > > If anyone gets stuck, please ping me on the IRC and I'll try to help > getting > you unstuck. :) The next two iterations are important. > > Regarding the agent, I started jotting down some thoughts and > comments on the > JMC wiki here: > > https://wiki.openjdk.java.net/display/jmc/The+JMC+Agent > > Over the next few days, I'll try to find some time to remove the > things that > shouldn't be in it. ;) Thanks Marcus, It was really a good meeting, and you're doing an awesome job in building a real community and a *very* open source project. Thanks! Cheers, Mario -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From patrick at reini.net Sat Nov 10 22:49:36 2018 From: patrick at reini.net (Patrick Reinhart) Date: Sat, 10 Nov 2018 23:49:36 +0100 Subject: JMC-6115 Use Jemmy builds from Maven Central In-Reply-To: <991B5659-4CA2-4ED3-A3FC-49A3C3A969FE@oracle.com> References: <38F5E753-6AE4-443B-A7AA-787413CA2814@redhat.com> <991B5659-4CA2-4ED3-A3FC-49A3C3A969FE@oracle.com> Message-ID: <70728788-03D1-455C-9B3A-F04F7AC48546@reini.net> Hi Marcus, It depends on how many dependencies we are talking about. But it seems not realistic to be done in the next release time frame. We could still give it a try though.. Patrick > Am 10.11.2018 um 00:23 schrieb Marcus Hirt : > > Hi Jie, > > Thanks for the additional information! Patrick, what do you think? > I don't think we would get changes of that magnitude into Jemmy > soon enough. > > Kind regards, > Marcus > > ?On 2018-11-09, 22:09, "Jie Kang" wrote: > > Hello Marcus, > > I've made attempts to treat the Jemmy libraries like the third party > dependencies such as javamail and owasp encoder through the local p2 > site. However I've ran into the OSGi split package issue as the Jemmy > project has packages of the same full name (e.g. org.jemmy.input) with > different classes, packaged into different jars. This results in > compile time errors like: > > Access restriction: The type 'SelectionText' is not API (restriction > on classpath entry '[...]/org.adoptopenjdk.jemmy-core-1.0.2.jar') /* > SelectionText is under a package name that is exported in two > different jemmy jars and the compiler only picks one of them. There > are classes in the package the compiler did pick that are also needed > too */ > > These restriction errors can be ignored but without further > modification it results in CNFE at runtime, which I believe was seen > for the very initial proposed patch (e.g. CFNE for > o.j.image.ImageComparator as o.j.image package is selected to come > from bundle o.j.awt-input, but that class is in bundle o.j.core). One > could bundle the Jemmy classes directly into the JMC Jemmy Test bundle > but then the only difference is when it is downloaded, via p2:site or > automatically during process-resources phase when uitests are run. > > For sticking to p2, I would probably be investigating making quite > customized MANIFEST.MF files for the Jemmy bundles (currently using > the default generated by bnd plugin) and the split package directive > or sending a patch to the Jemmy project to provide an all-in-one jar. > Thoughts? > > > Regards, > >> On Thu, Nov 1, 2018 at 11:45 AM Marcus Hirt wrote: >> >> Thank you Jie, >> >> I think this is a definite improvement, though I was hoping we would be able to >> treat the Jemmy libraries like another third party dependency. Guru, could you >> review this, and sponsor the change if you agree with the solution? >> >> Kind regards, >> Marcus >> >> ?On 2018-11-01, 07:56, "jmc-dev on behalf of Jie Kang" wrote: >> >>> On Mon, Oct 15, 2018 at 9:07 AM Jie Kang wrote: >>> >>>> On Sat, Oct 13, 2018 at 12:48 PM Patrick Reinhart wrote: >>>> >>>> Hi Jie, >>>> >>>> For me the tests do not run here under Linux: >>>> >>>> mvn verify -P uitests >>>> >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Reactor Summary: >>>> [INFO] >>>> [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ >>>> 2.095 s] >>>> [INFO] missioncontrol.application ......................... SUCCESS [ >>>> 0.059 s] >>>> [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ >>>> 6.941 s] >>>> [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ >>>> 4.492 s] >>>> [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ >>>> 14.612 s] >>>> [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ >>>> 7.724 s] >>>> [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ >>>> 6.848 s] >>>> [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ >>>> 10.093 s] >>>> [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ >>>> 9.516 s] >>>> [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ >>>> 5.107 s] >>>> [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ >>>> 2.444 s] >>>> [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ >>>> 4.726 s] >>>> >>>> Also the UI tests fail: >>>> >>>> mvn verify -P uitests >>> >>> The logs below has the same failure as the logs above; was this the >>> intended paste? >>> >>> `org.openjdk.jmc.browser.attach` is under `application` module, is not >>> a UI test and has no dependence on the Jemmy libraries as far as I can >>> tell. The patch adds a new phase to the `org.openjdk.jmc.test.jemmy` >>> module that downloads Jemmy libraries under the lib folder; assuming >>> your logs are complete this module has not been reached and so I can't >>> see how this failure is related. Can you share logs of the actual >>> failure? Otherwise possibly retry with a clean run via 'mvn clean >>> verify -P uitests'. >> >> Hi, >> >> Is there any update on this? >> >> I've attached the patch again to this e-mail; this was the initial e-mail: >> >>> Please find attached an alternative patch that addresses JMC-6115. It >>> adds a step in the maven phase to download the Jemmy libraries from >>> Maven Central. The pom file is also converted to all tabs. Let me know >>> what you think! >> >> Regards, >> >>> >>> >>> Regards, >>> >>>> >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Reactor Summary: >>>> [INFO] >>>> [INFO] JDK Mission Control 7.0.0-SNAPSHOT ................. SUCCESS [ >>>> 1.867 s] >>>> [INFO] missioncontrol.application ......................... SUCCESS [ >>>> 0.061 s] >>>> [INFO] org.openjdk.jmc.ui.common .......................... SUCCESS [ >>>> 5.843 s] >>>> [INFO] org.openjdk.jmc.commands ........................... SUCCESS [ >>>> 4.192 s] >>>> [INFO] org.openjdk.jmc.ui ................................. SUCCESS [ >>>> 12.285 s] >>>> [INFO] org.openjdk.jmc.greychart .......................... SUCCESS [ >>>> 5.707 s] >>>> [INFO] org.openjdk.jmc.greychart.ui ....................... SUCCESS [ >>>> 6.156 s] >>>> [INFO] org.openjdk.jmc.rjmx ............................... SUCCESS [ >>>> 9.170 s] >>>> [INFO] org.openjdk.jmc.rjmx.ui ............................ SUCCESS [ >>>> 9.860 s] >>>> [INFO] org.openjdk.jmc.alert .............................. SUCCESS [ >>>> 4.523 s] >>>> [INFO] org.openjdk.jmc.attach ............................. SUCCESS [ >>>> 1.856 s] >>>> [INFO] org.openjdk.jmc.browser.attach ..................... FAILURE [ >>>> 3.777 s] >>>> >>>> -Patrick >>>> >>>> >>>> >> >> >> >> > > > > From marcus.hirt at oracle.com Mon Nov 12 11:27:18 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 12 Nov 2018 12:27:18 +0100 Subject: Review request for JMC-6199: Removing the text logging from the agent Message-ID: Hi all, Please review this fix to remove the text logging capabilities from the agent prototype. Jira: https://bugs.openjdk.java.net/browse/JMC-6199 Webrev: http://cr.openjdk.java.net/~hirt/JMC-6199/webrev.01/ Kind regards, Marcus From kdobson at redhat.com Tue Nov 13 17:12:23 2018 From: kdobson at redhat.com (Ken Dobson) Date: Tue, 13 Nov 2018 12:12:23 -0500 Subject: JMC-4721: Important Column not shown by default Message-ID: Hi all, This is a small patch that reveals the name column and reorders the value and description columns as requested in the comment. If someone could give it a quick review that'd be great. https://bugs.openjdk.java.net/browse/JMC-4721 Thanks, Ken Dobson diff -r 4629e44fd8ea application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml --- a/application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml Thu Nov 08 12:45:05 2018 +0100 +++ b/application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml Tue Nov 13 11:55:30 2018 -0500 @@ -47,9 +47,9 @@ name="%TAB_DIAGNOSTIC_COMMAND" placement="/#7.0"> - From marcus.hirt at oracle.com Tue Nov 13 17:48:32 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 13 Nov 2018 18:48:32 +0100 Subject: JMC-4721: Important Column not shown by default In-Reply-To: References: Message-ID: <413CB972-F58F-401B-8B1E-711A38B955E2@oracle.com> Hi Ken! Looks good! Thanks for the contribution! Kind regards, Marcus ?On 2018-11-13, 18:12, "jmc-dev on behalf of Ken Dobson" wrote: Hi all, This is a small patch that reveals the name column and reorders the value and description columns as requested in the comment. If someone could give it a quick review that'd be great. https://bugs.openjdk.java.net/browse/JMC-4721 Thanks, Ken Dobson diff -r 4629e44fd8ea application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml --- a/application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml Thu Nov 08 12:45:05 2018 +0100 +++ b/application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml Tue Nov 13 11:55:30 2018 -0500 @@ -47,9 +47,9 @@ name="%TAB_DIAGNOSTIC_COMMAND" placement="/#7.0"> - From marcus.hirt at oracle.com Tue Nov 13 19:16:50 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Tue, 13 Nov 2018 19:16:50 +0000 Subject: hg: jmc/jmc: JMC-4721: Displaying name column by default in diagnostic command tab in the JMX console Message-ID: <201811131916.wADJGp6H023400@aojmv0008.oracle.com> Changeset: 5409fea0624f Author: hirt Date: 2018-11-13 20:16 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/5409fea0624f JMC-4721: Displaying name column by default in diagnostic command tab in the JMX console Reviewed-by: hirt Contributed-by: Ken Dobson ! application/org.openjdk.jmc.console.ui.diagnostic/plugin.xml From almacdon at redhat.com Tue Nov 13 20:43:34 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Tue, 13 Nov 2018 15:43:34 -0500 Subject: RFR: JMC-5372: Exception printed on page when opening invalid recording Message-ID: Hi, This short patch addresses JMC-5372 [0], in which the error dialog is not displayed when an exception is thrown in the JFR Editor. As far as I can tell, the error here is within the catch block of the "displayPage" function in the JFR Editor [1]. When an exception is caught there is an evaluation of the boolean property for "showModalErrorDialog" [2], however I cannot find the instance where this property would be toggled from false to true. As a result, the if-statement takes the branch that displays the error page, but not the error dialog. The proposed fix here removes the check for the boolean (because we have already caught the exception), and instead opt to display both the error page and the modal. I've included a couple of images to show the result of this patch [3], as well as gifs showing the before [4] & after [5] experience. Before (gif): https://imgur.com/hHRmkx3 [3] After (gif): https://imgur.com/8rtaysS [4] After (img): https://imgur.com/0oBi6nH [5] Thoughts? Cheers, Alex [0] https://bugs.openjdk.java.net/browse/JMC-5372 [1] http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 [2] http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 [3] https://imgur.com/hHRmkx3 [4] https://imgur.com/8rtaysS [5] https://imgur.com/0oBi6nH -------------- next part -------------- A non-text attachment was scrubbed... Name: 5372-0.patch Type: text/x-patch Size: 1437 bytes Desc: not available URL: From marcus.hirt at oracle.com Wed Nov 14 00:59:57 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Wed, 14 Nov 2018 01:59:57 +0100 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: References: Message-ID: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> Hi Alex, Personally I am a bit allergic to modal dialogs. For example, if we have multiple recordings ending with problems, I'd rather have the editors opening with details than one or more modal dialogs. That is, of course, a personal preference that I'd be happy to discuss here. That said, I think what is shown, and how it is shown, in the editor could be improved. For example we should show the error title and message (that would have been showed in the modal dialog) first, followed by the stack trace. Possibly not throwing the stack trace in the user's face until it is asked for. Please let me know what you think! Kind regards, Marcus ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" wrote: Hi, This short patch addresses JMC-5372 [0], in which the error dialog is not displayed when an exception is thrown in the JFR Editor. As far as I can tell, the error here is within the catch block of the "displayPage" function in the JFR Editor [1]. When an exception is caught there is an evaluation of the boolean property for "showModalErrorDialog" [2], however I cannot find the instance where this property would be toggled from false to true. As a result, the if-statement takes the branch that displays the error page, but not the error dialog. The proposed fix here removes the check for the boolean (because we have already caught the exception), and instead opt to display both the error page and the modal. I've included a couple of images to show the result of this patch [3], as well as gifs showing the before [4] & after [5] experience. Before (gif): https://imgur.com/hHRmkx3 [3] After (gif): https://imgur.com/8rtaysS [4] After (img): https://imgur.com/0oBi6nH [5] Thoughts? Cheers, Alex [0] https://bugs.openjdk.java.net/browse/JMC-5372 [1] http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 [2] http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 [3] https://imgur.com/hHRmkx3 [4] https://imgur.com/8rtaysS [5] https://imgur.com/0oBi6nH From sasiddiq at redhat.com Wed Nov 14 15:49:18 2018 From: sasiddiq at redhat.com (Salman Siddiqui) Date: Wed, 14 Nov 2018 10:49:18 -0500 Subject: Packaging JMC for Fedora Message-ID: Hello everyone, I've been working on packaging Mission Control for Fedora. I've now submitted package review requests for JMC and its dependencies. There are 2 main packages: jmc [1] and jmc-core [2] jmc is the standalone application and jmc-core is the Core API. There are also several dependencies that need to be packaged. If you're interested, those bug numbers are: 1649574, 1649576, 1649573, 1649572, 1649569, 1649570. If you use Fedora, you can easily try out the builds: dnf install dnf-plugins-core dnf copr enable sasiddiq/jmc dnf install jmc If you would like to see the sources for the packages, they are available here: https://pagure.io/jmc-rpm Thanks, Salman [1] [Fedora][Package Review] RH1649552: Review Request: jmc - Profiling and diagnostics tool for Java applications ( https://bugzilla.redhat.com/show_bug.cgi?id=1649552) [2] [Fedora][Package Review] RH1649577: Review Request: jmc-core - Core API for Java Mission Control ( https://bugzilla.redhat.com/show_bug.cgi?id=1649577) From neugens at redhat.com Wed Nov 14 15:55:20 2018 From: neugens at redhat.com (Mario Torre) Date: Wed, 14 Nov 2018 16:55:20 +0100 Subject: Packaging JMC for Fedora In-Reply-To: References: Message-ID: Awesome Salman, Thanks a lot for doing this! This should make it a lot easier for people to consume Mission Control on Fedora. Cheers, Mario On Wed, Nov 14, 2018 at 4:50 PM Salman Siddiqui wrote: > > Hello everyone, > > I've been working on packaging Mission Control for Fedora. > I've now submitted package review requests for JMC and its dependencies. > > There are 2 main packages: jmc [1] and jmc-core [2] > jmc is the standalone application and jmc-core is the Core API. > > There are also several dependencies that need to be packaged. > If you're interested, those bug numbers are: 1649574, 1649576, 1649573, > 1649572, 1649569, 1649570. > > If you use Fedora, you can easily try out the builds: > dnf install dnf-plugins-core > dnf copr enable sasiddiq/jmc > dnf install jmc > > If you would like to see the sources for the packages, they are available > here: https://pagure.io/jmc-rpm > > Thanks, > Salman > > > [1] [Fedora][Package Review] RH1649552: Review Request: jmc - Profiling and > diagnostics tool for Java applications ( > https://bugzilla.redhat.com/show_bug.cgi?id=1649552) > > [2] [Fedora][Package Review] RH1649577: Review Request: jmc-core - Core API > for Java Mission Control ( > https://bugzilla.redhat.com/show_bug.cgi?id=1649577) -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From almacdon at redhat.com Wed Nov 14 21:12:32 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Wed, 14 Nov 2018 16:12:32 -0500 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> Message-ID: Hi Marcus, On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt wrote: > Hi Alex, > > Personally I am a bit allergic to modal dialogs. For example, if we have > multiple recordings ending with problems, I'd rather have the editors > opening > with details than one or more modal dialogs. That is, of course, a > personal > preference that I'd be happy to discuss here. That said, I think what is > shown, > and how it is shown, in the editor could be improved. For example we > should > show the error title and message (that would have been showed in the modal > dialog) first, followed by the stack trace. Possibly not throwing the > stack trace in the user's face until it is asked for. > That sounds fair enough to me. I've taken what you said into account and made a couple of modifications to the error page. I've transferred the text explaining the error from the dialog to the error page, and removed the dialog modal. The dialog title text was very similar to the current error message printed on the screen, so I've only kept the latter to avoid redundancy. In response to your comment about showing the stack trace when it's asked for, the stack trace is now hidden under a expandable component so it can be collapsed & expanded as desired. I've included some images to show these changes. Error page (gif): https://imgur.com/g8hpXlg Error page (collapsed): https://imgur.com/irTarA6 Error page (expanded): https://imgur.com/M51z8ct Cheers, Alex > Please let me know what you think! > > Kind regards, > Marcus > > ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < > jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: > > Hi, > > This short patch addresses JMC-5372 [0], in which the error dialog is > not > displayed when an exception is thrown in the JFR Editor. > > As far as I can tell, the error here is within the catch block of the > "displayPage" function in the JFR Editor [1]. When an exception is > caught > there is an evaluation of the boolean property for > "showModalErrorDialog" > [2], however I cannot find the instance where this property would be > toggled from false to true. As a result, the if-statement takes the > branch > that displays the error page, but not the error dialog. The proposed > fix > here removes the check for the boolean (because we have already caught > the > exception), and instead opt to display both the error page and the > modal. > > I've included a couple of images to show the result of this patch [3], > as > well as gifs showing the before [4] & after [5] experience. > Before (gif): https://imgur.com/hHRmkx3 [3] > After (gif): https://imgur.com/8rtaysS [4] > After (img): https://imgur.com/0oBi6nH [5] > > Thoughts? > > Cheers, > > Alex > > [0] https://bugs.openjdk.java.net/browse/JMC-5372 > [1] > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/ > application/org.openjdk.jmc.flightrecorder.ui/src/main/ > java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 > [2] > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/ > application/org.openjdk.jmc.flightrecorder.ui/src/main/ > java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 > [3] https://imgur.com/hHRmkx3 > [4] https://imgur.com/8rtaysS > [5] https://imgur.com/0oBi6nH > > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: 5372-1.patch Type: text/x-patch Size: 4658 bytes Desc: not available URL: From jmatsuok at redhat.com Wed Nov 14 22:49:43 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Wed, 14 Nov 2018 17:49:43 -0500 Subject: Review request for JMC-6199: Removing the text logging from the agent In-Reply-To: References: Message-ID: Hi Marcus, The changes look good to me. I'm unable to instrument the test classes properly however, as OpenJDK8 doesn't have flight recorder, and on OpenJDK11 the method we use for instrumentation (sun.misc.Unsafe.defineClass) has been deprecated [1]. We should look into a way to do this on OpenJDK11. For now the cleanup looks good. [1] https://bugs.openjdk.java.net/browse/JDK-8181442 Cheers, - Josh On Mon, Nov 12, 2018 at 6:27 AM, Marcus Hirt wrote: > Hi all, > > Please review this fix to remove the text logging capabilities from the > agent prototype. > > Jira: https://bugs.openjdk.java.net/browse/JMC-6199 > Webrev: http://cr.openjdk.java.net/~hirt/JMC-6199/webrev.01/ > > Kind regards, > Marcus > > > From marcus.hirt at oracle.com Thu Nov 15 10:56:55 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 15 Nov 2018 11:56:55 +0100 Subject: HG user to GitHub user Message-ID: <40FC49B0-A803-4AE4-9668-F14E94E409EF@oracle.com> Hi all, We?re going to try to automatically sync our hg and GitHub repos. For that to work well, we will need to have a mapping between the hg users to GitHub users. If you have contributed to JMC, and want the GitHub-repo to reflect your contributions, please e-mail me the mapping. For example, for me it is hirt->thegreystone. Kind regards, Marcus From marcus.hirt at oracle.com Thu Nov 15 11:12:58 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Thu, 15 Nov 2018 11:12:58 +0000 Subject: hg: jmc/jmc: JMC-6199: Removing the text logging from the agent (plus some cleanup) Message-ID: <201811151112.wAFBCwSs013030@aojmv0008.oracle.com> Changeset: a4214f9f5fda Author: hirt Date: 2018-11-15 12:12 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/a4214f9f5fda JMC-6199: Removing the text logging from the agent (plus some cleanup) Reviewed-by: jmatsuoka ! core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/TransformDescriptor.java ! core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/Transformer.java - core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/jfr/JFREventType.java ! core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/jfr/JFRTransformDescriptor.java ! core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/jfr/impl/JFREventClassGenerator.java + core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/jfr/impl/JFREventType.java - core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/text/impl/LoggerClassVisitor.java - core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/text/impl/LoggerMethodAdvisor.java - core/org.openjdk.jmc.agent/src/main/java/org/openjdk/jmc/agent/text/impl/TextTransformDescriptor.java ! core/org.openjdk.jmc.agent/src/test/resources/org/openjdk/jmc/agent/test/jfrprobes_template.xml From neugens at redhat.com Thu Nov 15 15:42:17 2018 From: neugens at redhat.com (Mario Torre) Date: Thu, 15 Nov 2018 16:42:17 +0100 Subject: JMC-5703: HighGcRule should report extra needed event types In-Reply-To: References: <345D9ADA-0679-4AAA-B48F-7C877E28478B@oracle.com> <587FFBF8-3601-4C1A-A387-820476612754@redhat.com> <48da6ec985aaf00db13480ea724827f734ddfe10.camel@redhat.com> Message-ID: The patch looks good now. I'll commit it in a minute. Cheers, Mario On Fri, Nov 9, 2018 at 6:07 PM Ken Dobson wrote: > > Sorry about that, this is a new patch adding the fix for the test. > > diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java > --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Thu Nov 08 12:45:05 2018 +0100 > +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Fri Nov 09 11:23:30 2018 -0500 > @@ -86,7 +86,8 @@ > String longMessage = message + " " + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); //$NON-NLS-1$ > if (!RulesToolkit.isEventsEnabled(items, JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { > longMessage = longMessage + "

" //$NON-NLS-1$ > - + Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED); > + + RulesToolkit.getEnabledEventTypesRecommendation(items, > + JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB); > } > return new Result(this, score, message, longMessage, JdkQueries.GC_PAUSE); > } > diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java > --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Thu Nov 08 12:45:05 2018 +0100 > +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java Fri Nov 09 11:23:30 2018 -0500 > @@ -302,7 +302,6 @@ > public static final String HighGcRuleFactory_RULE_NAME = "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_INFO = "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_INFO_LONG = "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ > - public static final String HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ > public static final String HighGcRuleFactory_TEXT_OK = "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ > public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ > public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ > diff -r 4629e44fd8ea core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties > --- a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Thu Nov 08 12:45:05 2018 +0100 > +++ b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties Fri Nov 09 11:23:30 2018 -0500 > @@ -325,7 +325,6 @@ > # {0} is a time period, {1} is a time stamp, {2} is a percentage > HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time during {0} starting at {1}. > HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation. > -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. > HighGcRuleFactory_TEXT_OK=The runtime did not spend much time performing garbage collections. > HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time > HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time > diff -r 4629e44fd8ea core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml > --- a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Thu Nov 08 12:45:05 2018 +0100 > +++ b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml Fri Nov 09 11:23:30 2018 -0500 > @@ -2619,7 +2619,7 @@ > OK > 2.054924803137792 > The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. > -The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.<p>Some allocation events were disabled in this recording. Enable them to help with troubleshooting this problem. > +The JVM was paused for 100 % of the time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent performing garbage collection may be reduced by increasing the heap size or by trying to reduce allocation.<p>To improve rule accuracy and/or get more details for further investigation, it is recommended to enable the following event types: 'Allocation in new TLAB', 'Allocation outside TLAB'. > > > HighJvmCpu > > On Fri, Nov 9, 2018 at 10:25 AM Mario Torre wrote: >> >> On Tue, 2018-11-06 at 17:57 +0100, Marcus Hirt wrote: >> > Excellent! Please work with Mario to sponsor it! >> >> I applied this patch but I get this wehn building: >> >> >> flightrecorder.rules.jdk.test ... FAILURE [ 8.283 s] >> BUILD FAILURE >> >> Test set: >> org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr >> --------------------------------------------------------------------- >> ---------- >> Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.66 s >> <<< FAILURE! - in >> org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr >> verifyAllResults(org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRule >> sWithJfr) Time elapsed: 6.5 s <<< FAILURE! >> java.lang.AssertionError: >> >> >> Report: "stringdedup_enabled_jdk9.jfr", >> Rule: "HighGc". >> Description mismatch: "The JVM was paused for 100 % of the time >> during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent >> performing garbage collection may be reduced by increasing the heap >> size or by trying to reduce allocation.

To improve rule accuracy >> and/or get more details for further investigation, it is recommended to >> enable the following event types: 'Allocation in new TLAB', 'Allocation >> outside TLAB'." was not equal to "The JVM was paused for 100 % of the >> time during 9.017 ms starting at 4/24/18 10:08:53 AM. The time spent >> performing garbage collection may be reduced by increasing the heap >> size or by trying to reduce allocation.

Some allocation events were >> disabled in this recording. Enable them to help with troubleshooting >> this problem.". >> at >> org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyRu >> leResults(TestRulesWithJfr.java:159) >> at >> org.openjdk.jmc.flightrecorder.test.rules.jdk.TestRulesWithJfr.verifyAl >> lResults(TestRulesWithJfr.java:132) >> >> Cheers, >> Mario >> >> > >> > Kind regards, >> > >> > Marcus >> > >> > >> > >> > From: Ken Dobson >> > Date: Tuesday, 6 November 2018 at 17:55 >> > To: Marcus Hirt >> > Cc: >> > Subject: Re: JMC-5703: HighGcRule should report extra needed event >> > types >> > >> > >> > >> > Here's the updated patch, there doesn't appear to be any translations >> > for it. >> > >> > >> > >> > Ken >> > >> > >> > >> > diff -r b3a23786ef23 >> > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj >> > dk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java >> > --- >> > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope >> > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Wed Oct >> > 10 16:43:35 2018 -0400 >> > +++ >> > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope >> > njdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java Tue Nov >> > 06 11:49:43 2018 -0500 >> > @@ -86,7 +86,8 @@ >> > String longMessage = message + " " + >> > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); >> > //$NON-NLS-1$ >> > if (!RulesToolkit.isEventsEnabled(items, >> > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { >> > longMessage = longMessage + "

" //$NON-NLS-1$ >> > - + >> > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DI >> > SABLED); >> > + + >> > RulesToolkit.getEnabledEventTypesRecommendation(items, >> > + JdkTypeIDs.ALLOC_INSIDE_TLAB, >> > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); >> > } >> > return new Result(this, score, message, longMessage, >> > JdkQueries.GC_PAUSE); >> > } >> > diff -r b3a23786ef23 >> > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openj >> > dk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java >> > --- >> > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope >> > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java >> > Wed Oct 10 16:43:35 2018 -0400 >> > +++ >> > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/ope >> > njdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java >> > Tue Nov 06 11:49:43 2018 -0500 >> > @@ -298,7 +298,6 @@ >> > public static final String HighGcRuleFactory_RULE_NAME = >> > "HighGcRuleFactory_RULE_NAME"; //$NON-NLS-1$ >> > public static final String HighGcRuleFactory_TEXT_INFO = >> > "HighGcRuleFactory_TEXT_INFO"; //$NON-NLS-1$ >> > public static final String HighGcRuleFactory_TEXT_INFO_LONG = >> > "HighGcRuleFactory_TEXT_INFO_LONG"; //$NON-NLS-1$ >> > - public static final String >> > HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED = >> > "HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED"; //$NON-NLS-1$ >> > public static final String HighGcRuleFactory_TEXT_OK = >> > "HighGcRuleFactory_TEXT_OK"; //$NON-NLS-1$ >> > public static final String HighJvmCpuRule_AGGR_MAX_ENDTIME = >> > "HighJvmCpuRule_AGGR_MAX_ENDTIME"; //$NON-NLS-1$ >> > public static final String HighJvmCpuRule_AGGR_MIN_ENDTIME = >> > "HighJvmCpuRule_AGGR_MIN_ENDTIME"; //$NON-NLS-1$ >> > diff -r b3a23786ef23 >> > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/ >> > openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.prope >> > rties >> > --- >> > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or >> > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro >> > perties Wed Oct 10 16:43:35 2018 -0400 >> > +++ >> > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/or >> > g/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.pro >> > perties Tue Nov 06 11:49:43 2018 -0500 >> > @@ -321,7 +321,6 @@ >> > # {0} is a time period, {1} is a time stamp, {2} is a percentage >> > HighGcRuleFactory_TEXT_INFO=The JVM was paused for {2} of the time >> > during {0} starting at {1}. >> > HighGcRuleFactory_TEXT_INFO_LONG=The time spent performing garbage >> > collection may be reduced by increasing the heap size or by trying to >> > reduce allocation. >> > -HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED=Some allocation >> > events were disabled in this recording. Enable them to help with >> > troubleshooting this problem. >> > HighGcRuleFactory_TEXT_OK=The runtime did not spend much time >> > performing garbage collections. >> > HighJvmCpuRule_AGGR_MAX_ENDTIME=Max End Time >> > HighJvmCpuRule_AGGR_MIN_ENDTIME=Min End Time >> > >> > >> > >> > On Tue, Nov 6, 2018 at 11:43 AM Marcus Hirt >> > wrote: >> > >> > Hi Ken, >> > >> > Yes, if it is no longer used, please go ahead and remove both the >> > constant and >> > the entry in the associated properties files (might as well remove it >> > from the >> > translated files too). >> > >> > Kind regards, >> > Marcus >> > >> > ?On 2018-11-06, 17:08, "jmc-dev on behalf of Ken Dobson" < >> > jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> >> > wrote: >> > >> > Hi all, >> > >> > This is a small patch to make the highGcRule consistent with the >> > GcFreedRatioRule when reporting extra needed event types. >> > Should I remove HighGcRuleFactory_TEXT_INFO_LONG_ALLOC_DISABLED >> > from >> > Messages.java given it is no longer used? >> > >> > Thanks, >> > >> > Ken Dobson >> > >> > diff -r b3a23786ef23 >> > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/o >> > penjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java >> > --- >> > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org >> > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java >> > Wed Oct 10 16:43:35 2018 -0400 >> > +++ >> > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org >> > /openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java >> > Tue Nov 06 10:33:20 2018 -0500 >> > @@ -84,9 +84,11 @@ >> > String message = >> > MessageFormat.format(Messages.getString(Messages.HighGcRuleFactor >> > y_TEXT_INFO), >> > duration, >> > startTime, >> > pausePercent.displayUsing(IDisplayable.AUTO)); >> > String longMessage = message + " " + >> > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG); >> > //$NON-NLS-1$ >> > if (!RulesToolkit.isEventsEnabled(items, >> > JdkTypeIDs.ALLOC_INSIDE_TLAB, JdkTypeIDs.ALLOC_OUTSIDE_TLAB)) { >> > longMessage = longMessage + "

" //$NON-NLS-1$ >> > - + >> > Messages.getString(Messages.HighGcRuleFactory_TEXT_INFO_LONG_ALLO >> > C_DISABLED); >> > + + >> > RulesToolkit.getEnabledEventTypesRecommendation(items, >> > + JdkTypeIDs.ALLOC_INSIDE_TLAB, >> > JdkTypeIDs.ALLOC_OUTSIDE_TLAB); >> > } >> > return new Result(this, score, message, longMessage, >> > JdkQueries.GC_PAUSE); >> > } >> > >> > >> > >> > >> -- >> Mario Torre >> Associate Manager, Software Engineering >> Red Hat GmbH >> 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 >> -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From neugens.limasoftware at gmail.com Thu Nov 15 15:51:07 2018 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Thu, 15 Nov 2018 15:51:07 +0000 Subject: hg: jmc/jmc: JMC-5703: HighGcRule should report extra needed event types Message-ID: <201811151551.wAFFp7q1028269@aojmv0008.oracle.com> Changeset: 997060a24c42 Author: neugens Date: 2018-11-15 16:50 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/997060a24c42 JMC-5703: HighGcRule should report extra needed event types Summary: Add clarity by reporting the missing event types for the HighGcRule Reviewed-by: hirt, neugens Contributed-by: Ken Dobson ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/memory/HighGcRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/Messages.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties ! core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml From miro.wengner at gmail.com Thu Nov 15 22:44:44 2018 From: miro.wengner at gmail.com (Miro Wengner) Date: Thu, 15 Nov 2018 23:44:44 +0100 Subject: [PATCH] JMC-4467 : Excessive debug logging of VM options when using Flight recorder Message-ID: <1110A38D-92FF-44BB-8A65-B56FED83FF59@gmail.com> Hi There, here is a patch to the bug JMC-4467. As Marcus has helped me, I think there should be another reviewer. Thank you Marcus, Kind Regards, Miro From Gary.Morrison at arm.com Fri Nov 16 03:05:24 2018 From: Gary.Morrison at arm.com (Gary Morrison) Date: Fri, 16 Nov 2018 03:05:24 +0000 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml Message-ID: I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. >From the README, I'm through to the (almost) final "mvn package" command, which gives me: ... [INFO] Adding repository http://localhost:8080/site [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException ubuntu at tx2inst-c143:~/jmc$ When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: Not Found We're sorry, the page or file cannot be found. Here are some reasons why: A file may have moved to the archives. Please contact the project members on their user forum. Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. The project is uploading a new build, and this file is not there yet. Try again later. Does this sound familiar to any of you gentlefolks? Thanks for any suggestions! IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From guru.hb at oracle.com Fri Nov 16 03:42:21 2018 From: guru.hb at oracle.com (Guru) Date: Fri, 16 Nov 2018 09:12:21 +0530 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: References: Message-ID: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> I believe you are following the Jmc build step mentioned in README.md. There could be any of the below : 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). I tried a `mvn clean package` now and didn?t see any failure. -Guru > On 16-Nov-2018, at 8:35 AM, Gary Morrison wrote: > > I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. > > From the README, I'm through to the (almost) final "mvn package" command, which gives me: > > ... > [INFO] Adding repository http://localhost:8080/site > [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please read the following articles: > [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException > ubuntu at tx2inst-c143:~/jmc$ > > When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: > > Not Found > We're sorry, the page or file cannot be found. Here are some reasons why: > A file may have moved to the archives. Please contact the project members on their user forum. > Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. > The project is uploading a new build, and this file is not there yet. Try again later. > > Does this sound familiar to any of you gentlefolks? > > Thanks for any suggestions! > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From Gary.Morrison at arm.com Fri Nov 16 03:54:18 2018 From: Gary.Morrison at arm.com (Gary Morrison) Date: Fri, 16 Nov 2018 03:54:18 +0000 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> References: , <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> Message-ID: Thanks for the reply. I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) Hmmm... As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. Get Outlook for iOS ________________________________ From: Guru Sent: Thursday, November 15, 2018 9:42 PM To: Gary Morrison Cc: jmc-dev at openjdk.java.net Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml I believe you are following the Jmc build step mentioned in README.md. There could be any of the below : 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). I tried a `mvn clean package` now and didn?t see any failure. -Guru On 16-Nov-2018, at 8:35 AM, Gary Morrison > wrote: I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. >From the README, I'm through to the (almost) final "mvn package" command, which gives me: ... [INFO] Adding repository http://localhost:8080/site [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException ubuntu at tx2inst-c143:~/jmc$ When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: Not Found We're sorry, the page or file cannot be found. Here are some reasons why: A file may have moved to the archives. Please contact the project members on their user forum. Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. The project is uploading a new build, and this file is not there yet. Try again later. Does this sound familiar to any of you gentlefolks? Thanks for any suggestions! IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From deepa.avhad at oracle.com Fri Nov 16 07:06:05 2018 From: deepa.avhad at oracle.com (Deepa Avhad) Date: Thu, 15 Nov 2018 23:06:05 -0800 (PST) Subject: Review request for JMC-6094: [CS-005] Graphs Y-axis title not shown when changed in windows 10. Message-ID: <6645b821-0749-44c3-82cc-abe5d0c54e2a@default> Hi All, Please review the small fix for, Jira : https://bugs.openjdk.java.net/browse/JMC-6094 RC : 'StringBounds()' of y-axis-title are getting changed in jdk-11 after applying rotation transformation. Thus,Y-axis title not shown when changed in windows 10. Above same is not changed using jdk-8. Solution: Storing 'StringBounds()' of y-axis-title before applying rotation transformation. Test : Tested on Windows 10, MacOS and yet to test on Linux. Thanks, Deepa From miro.wengner at gmail.com Fri Nov 16 09:06:54 2018 From: miro.wengner at gmail.com (Miro Wengner) Date: Fri, 16 Nov 2018 10:06:54 +0100 Subject: [PATCH] JMC-4467 : Excessive debug logging of VM options when using Flight recorder In-Reply-To: References: <1110A38D-92FF-44BB-8A65-B56FED83FF59@gmail.com> Message-ID: <0D5C0D50-AAB6-4458-B96D-92581D93F87D@gmail.com> Hi Guru, here is the patch. patch: JMC-4467 diff -r 997060a24c42 application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java --- a/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java Thu Nov 15 16:50:36 2018 +0100 +++ b/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java Thu Nov 15 22:04:39 2018 +0100 @@ -104,6 +104,9 @@ private List eventTypeMetas; private Map eventTypeMetaByInt; private Map eventTypeInfoById; + // Optimization to do less JMX invocations. If, against all odds, it gets disabled, + //after having been enabled, we get an exception, and will handle things there. + private boolean wasEnabled; private final ICommercialFeaturesService cfs; private final IMBeanHelperService mbhs; private final String serverId; @@ -444,7 +447,14 @@ @Override public boolean isEnabled() { - return cfs.isCommercialFeaturesEnabled(); + if(!wasEnabled) { + final boolean isEnabled = cfs.isCommercialFeaturesEnabled(); + if(isEnabled) { + wasEnabled = isEnabled; + } + return isEnabled; + } + return wasEnabled; } @Override diff -r 997060a24c42 application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java --- a/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java Thu Nov 15 16:50:36 2018 +0100 +++ b/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java Thu Nov 15 22:04:39 2018 +0100 @@ -90,6 +90,9 @@ private List eventTypeMetas; private Map eventTypeInfoById; private Map> optionInfoById; + // Optimization to do less JMX invocations. If, against all odds, it gets disabled, + // after having been enabled, we get an exception, and will handle things there. + private boolean wasEnabled; private final ICommercialFeaturesService cfs; private final IMBeanHelperService mbhs; private final String serverId; @@ -477,9 +480,14 @@ @Override public boolean isEnabled() { - return isFlightRecorderCommercial() - ? cfs.isCommercialFeaturesEnabled() - : isAvailable(connection); + if(!wasEnabled) { + final boolean isEnabled = isFlightRecorderCommercial() ? cfs.isCommercialFeaturesEnabled() : isAvailable(connection); + if(isEnabled) { + wasEnabled = isEnabled; + } + return isEnabled; + } + return wasEnabled; } @Override > On Nov 16, 2018, at 4:32 AM, Guru wrote: > > Hi Miro, > > > > I didn?t see the patch in the email, Please paste the same in .diff or paste the .diff content over email (if the diff is small enough). > > Thanks, > Guru >> On 16-Nov-2018, at 4:14 AM, Miro Wengner wrote: >> >> Hi There, >> here is a patch to the bug JMC-4467. >> As Marcus has helped me, I think there should be another reviewer. >> >> Thank you Marcus, >> Kind Regards, >> Miro >> >> > From deepa.avhad at oracle.com Fri Nov 16 10:06:05 2018 From: deepa.avhad at oracle.com (Deepa Avhad) Date: Fri, 16 Nov 2018 02:06:05 -0800 (PST) Subject: Review request for JMC-6207: Graphs Y-axis title not shown when changed in windows 10. Message-ID: <4435fc07-335b-4c8d-a218-da7675595b5b@default> Hi All, Kindly please ignore the previous Bug Id mentioned in the previous mail as it was sent by mistake. Please review the small fix, the correct Bug Id : Jira: https://bugs.openjdk.java.net/browse/JMC-6207 Patch: --- old/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:15.656210600 +0530 +++ new/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:14.623778000 +0530 @@ -167,13 +167,13 @@ } private void paintTitle(Graphics2D ctx, AffineTransform labelTrans, AffineTransform titleTrans) { + Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); ctx.setTransform(titleTrans); ctx.setColor(getTitleColor()); // calculate size for "legend" boxes in title int boxSize = Math.max(2, ctx.getFontMetrics().getHeight() / 2); // calculate padding, title bounds and text width int padding = Math.max(1, Math.round(boxSize * .5f)); - Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); int textWidth = titleBounds.width; // add space for "legend" boxes in title, if necessary OptimizingProvider[] providers = new OptimizingProvider[0]; Thanks, Deepa ----- Original Message ----- From: deepa.avhad at oracle.com To: jmc-dev at openjdk.java.net Sent: Friday, November 16, 2018 12:38:36 PM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi Subject: Review request for JMC-6094: [CS-005] Graphs Y-axis title not shown when changed in windows 10. Hi All, Please review the small fix for, Jira : https://bugs.openjdk.java.net/browse/JMC-6094 RC : 'StringBounds()' of y-axis-title are getting changed in jdk-11 after applying rotation transformation. Thus,Y-axis title not shown when changed in windows 10. Above same is not changed using jdk-8. Solution: Storing 'StringBounds()' of y-axis-title before applying rotation transformation. Test : Tested on Windows 10, MacOS and yet to test on Linux. Thanks, Deepa From marcus.hirt at oracle.com Fri Nov 16 12:13:55 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 16 Nov 2018 13:13:55 +0100 Subject: [PATCH] JMC-4467 : Excessive debug logging of VM options when using Flight recorder In-Reply-To: <648A95AE-50EA-4B31-96C6-514C3DF6BF14@gmail.com> References: <1110A38D-92FF-44BB-8A65-B56FED83FF59@gmail.com> <648A95AE-50EA-4B31-96C6-514C3DF6BF14@gmail.com> Message-ID: Guru, Never mind this for now. There will be an updated solution a bit later. Kind regards, Marcus ?On 2018-11-16, 10:08, "jmc-dev on behalf of Miro Wengner" wrote: Hi Guru, here is the patch. patch: JMC-4467 diff -r 997060a24c42 application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java --- a/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java Thu Nov 15 16:50:36 2018 +0100 +++ b/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV1.java Thu Nov 15 22:04:39 2018 +0100 @@ -104,6 +104,9 @@ private List eventTypeMetas; private Map eventTypeMetaByInt; private Map eventTypeInfoById; + // Optimization to do less JMX invocations. If, against all odds, it gets disabled, + //after having been enabled, we get an exception, and will handle things there. + private boolean wasEnabled; private final ICommercialFeaturesService cfs; private final IMBeanHelperService mbhs; private final String serverId; @@ -444,7 +447,14 @@ @Override public boolean isEnabled() { - return cfs.isCommercialFeaturesEnabled(); + if(!wasEnabled) { + final boolean isEnabled = cfs.isCommercialFeaturesEnabled(); + if(isEnabled) { + wasEnabled = isEnabled; + } + return isEnabled; + } + return wasEnabled; } @Override diff -r 997060a24c42 application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java --- a/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java Thu Nov 15 16:50:36 2018 +0100 +++ b/application/org.openjdk.jmc.rjmx.services.jfr/src/main/java/org/openjdk/jmc/rjmx/services/jfr/internal/FlightRecorderServiceV2.java Thu Nov 15 22:04:39 2018 +0100 @@ -90,6 +90,9 @@ private List eventTypeMetas; private Map eventTypeInfoById; private Map> optionInfoById; + // Optimization to do less JMX invocations. If, against all odds, it gets disabled, + // after having been enabled, we get an exception, and will handle things there. + private boolean wasEnabled; private final ICommercialFeaturesService cfs; private final IMBeanHelperService mbhs; private final String serverId; @@ -477,9 +480,14 @@ @Override public boolean isEnabled() { - return isFlightRecorderCommercial() - ? cfs.isCommercialFeaturesEnabled() - : isAvailable(connection); + if(!wasEnabled) { + final boolean isEnabled = isFlightRecorderCommercial() ? cfs.isCommercialFeaturesEnabled() : isAvailable(connection); + if(isEnabled) { + wasEnabled = isEnabled; + } + return isEnabled; + } + return wasEnabled; } @Override > On Nov 16, 2018, at 4:32 AM, Guru wrote: > > Hi Miro, > > > > I didn?t see the patch in the email, Please paste the same in .diff or paste the .diff content over email (if the diff is small enough). > > Thanks, > Guru >> On 16-Nov-2018, at 4:14 AM, Miro Wengner wrote: >> >> Hi There, >> here is a patch to the bug JMC-4467. >> As Marcus has helped me, I think there should be another reviewer. >> >> Thank you Marcus, >> Kind Regards, >> Miro >> >> > From jkang at redhat.com Fri Nov 16 14:03:40 2018 From: jkang at redhat.com (Jie Kang) Date: Fri, 16 Nov 2018 09:03:40 -0500 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: References: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> Message-ID: Hi Gary, > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] Looking at the error (re-pasted above), it looks like your proxy setup is unfinished. I would not expect a proxy of my.proxy.example.org to exist; it should be replaced by your proxy's actual host name. Is a proxy required for your system? I would be tempted to try without it. Regards, On Thu, Nov 15, 2018 at 10:55 PM Gary Morrison wrote: > > Thanks for the reply. > > I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) > > Hmmm... > > As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. > > Get Outlook for iOS > > ________________________________ > From: Guru > Sent: Thursday, November 15, 2018 9:42 PM > To: Gary Morrison > Cc: jmc-dev at openjdk.java.net > Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml > > I believe you are following the Jmc build step mentioned in README.md. > There could be any of the below : > 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). > You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. > 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml > 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). > > I tried a `mvn clean package` now and didn?t see any failure. > > -Guru > On 16-Nov-2018, at 8:35 AM, Gary Morrison > wrote: > > I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. > > From the README, I'm through to the (almost) final "mvn package" command, which gives me: > > ... > [INFO] Adding repository http://localhost:8080/site > [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please read the following articles: > [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException > ubuntu at tx2inst-c143:~/jmc$ > > When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: > > Not Found > We're sorry, the page or file cannot be found. Here are some reasons why: > A file may have moved to the archives. Please contact the project members on their user forum. > Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. > The project is uploading a new build, and this file is not there yet. Try again later. > > Does this sound familiar to any of you gentlefolks? > > Thanks for any suggestions! > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From Gary.Morrison at arm.com Fri Nov 16 15:10:50 2018 From: Gary.Morrison at arm.com (Gary Morrison) Date: Fri, 16 Nov 2018 15:10:50 +0000 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: References: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> , Message-ID: Thanks a bunch for the suggestions, Jie. I?ll dig deeper into how they set up the proxies on this system. It didn?t seem likely to be a proxy issue, because simply browsing to that URL on my Windows machine and on my iPad also reported being unable to access that file ? exact same error as browsing to it on the machine in question here. Also, I?d put in the ~/.m2 fix suggested in the README (didn?t help). Anyway, thanks again for the ideas! Get Outlook for iOS ________________________________ From: Jie Kang Sent: Friday, November 16, 2018 8:03 AM To: Gary Morrison Cc: guru.hb at oracle.com; jmc-dev at openjdk.java.net Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml Hi Gary, > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] Looking at the error (re-pasted above), it looks like your proxy setup is unfinished. I would not expect a proxy of my.proxy.example.org to exist; it should be replaced by your proxy's actual host name. Is a proxy required for your system? I would be tempted to try without it. Regards, On Thu, Nov 15, 2018 at 10:55 PM Gary Morrison wrote: > > Thanks for the reply. > > I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) > > Hmmm... > > As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. > > Get Outlook for iOS > > ________________________________ > From: Guru > Sent: Thursday, November 15, 2018 9:42 PM > To: Gary Morrison > Cc: jmc-dev at openjdk.java.net > Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml > > I believe you are following the Jmc build step mentioned in README.md. > There could be any of the below : > 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). > You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. > 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml > 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). > > I tried a `mvn clean package` now and didn?t see any failure. > > -Guru > On 16-Nov-2018, at 8:35 AM, Gary Morrison > wrote: > > I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. > > From the README, I'm through to the (almost) final "mvn package" command, which gives me: > > ... > [INFO] Adding repository http://localhost:8080/site > [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please read the following articles: > [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException > ubuntu at tx2inst-c143:~/jmc$ > > When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: > > Not Found > We're sorry, the page or file cannot be found. Here are some reasons why: > A file may have moved to the archives. Please contact the project members on their user forum. > Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. > The project is uploading a new build, and this file is not there yet. Try again later. > > Does this sound familiar to any of you gentlefolks? > > Thanks for any suggestions! > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From jkang at redhat.com Fri Nov 16 15:56:43 2018 From: jkang at redhat.com (Jie Kang) Date: Fri, 16 Nov 2018 10:56:43 -0500 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: References: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> Message-ID: Hi, No worries! For what it's worth, I also cannot access http://download.eclipse.org/releases/photon/content.xml If I add the sample proxy which does not exist to ~/.m2/settings.xml, the build fails similarly with: [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] I am certain the initial error is because you specify a proxy service (my.proxy.example.org) which does not exist. For reference, I do not need a proxy on my system and my build runs as: [...] > mvn clean verify [INFO] Scanning for projects... [INFO] Computing target platform for MavenProject: org.openjdk.jmc:org.openjdk.jmc.alert:7.0.0-SNAPSHOT @ /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/application/org.openjdk.jmc.alert/pom.xml [INFO] Adding repository http://localhost:8080/site [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ [INFO] Adding repository http://download.eclipse.org/releases/photon [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/ [...] On Fri, Nov 16, 2018 at 10:10 AM Gary Morrison wrote: > > Thanks a bunch for the suggestions, Jie. > > I?ll dig deeper into how they set up the proxies on this system. > > It didn?t seem likely to be a proxy issue, because simply browsing to that URL on my Windows machine and on my iPad also reported being unable to access that file ? exact same error as browsing to it on the machine in question here. Also, I?d put in the ~/.m2 fix suggested in the README (didn?t help). > > Anyway, thanks again for the ideas! > > Get Outlook for iOS > > ________________________________ > From: Jie Kang > Sent: Friday, November 16, 2018 8:03 AM > To: Gary Morrison > Cc: guru.hb at oracle.com; jmc-dev at openjdk.java.net > Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml > > Hi Gary, > > > [INFO] Adding repository http://download.eclipse.org/releases/photon > > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] > > Looking at the error (re-pasted above), it looks like your proxy setup > is unfinished. I would not expect a proxy of my.proxy.example.org to > exist; it should be replaced by your proxy's actual host name. Is a > proxy required for your system? I would be tempted to try without it. > > > Regards, > > On Thu, Nov 15, 2018 at 10:55 PM Gary Morrison wrote: > > > > Thanks for the reply. > > > > I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) > > > > Hmmm... > > > > As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. > > > > Get Outlook for iOS > > > > ________________________________ > > From: Guru > > Sent: Thursday, November 15, 2018 9:42 PM > > To: Gary Morrison > > Cc: jmc-dev at openjdk.java.net > > Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml > > > > I believe you are following the Jmc build step mentioned in README.md. > > There could be any of the below : > > 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). > > You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. > > 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml > > 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). > > > > I tried a `mvn clean package` now and didn?t see any failure. > > > > -Guru > > On 16-Nov-2018, at 8:35 AM, Gary Morrison > wrote: > > > > I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. > > > > From the README, I'm through to the (almost) final "mvn package" command, which gives me: > > > > ... > > [INFO] Adding repository http://localhost:8080/site > > [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) > > [INFO] Adding repository http://download.eclipse.org/releases/photon > > [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] > > [ERROR] > > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. > > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > > [ERROR] > > [ERROR] For more information about the errors and possible solutions, please read the following articles: > > [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException > > ubuntu at tx2inst-c143:~/jmc$ > > > > When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: > > > > Not Found > > We're sorry, the page or file cannot be found. Here are some reasons why: > > A file may have moved to the archives. Please contact the project members on their user forum. > > Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. > > The project is uploading a new build, and this file is not there yet. Try again later. > > > > Does this sound familiar to any of you gentlefolks? > > > > Thanks for any suggestions! > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From guru.hb at oracle.com Fri Nov 16 16:02:21 2018 From: guru.hb at oracle.com (Guru) Date: Fri, 16 Nov 2018 21:32:21 +0530 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: References: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> Message-ID: <72DE9DEF-9AB8-4B34-8F81-3C404F69D955@oracle.com> Could you please let me know which version of below tools used . I could try on my linux instance to evaluate. Java Maven I am using : java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b07, mixed mode) Apache Maven 3.5.3 // You can use latest. Thanks, Guru > On 16-Nov-2018, at 9:26 PM, Jie Kang wrote: > > Hi, > > No worries! For what it's worth, I also cannot access > http://download.eclipse.org/releases/photon/content.xml Yes this is expected, Only way to check `photon` P2 is working is to check with eclipse. > > If I add the sample proxy which does not exist to ~/.m2/settings.xml, > the build fails similarly with: > > [INFO] Adding repository http://download.eclipse.org/releases/photon > [ERROR] Failed to resolve target definition > /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: > Failed to load p2 metadata repository from location > http://download.eclipse.org/releases/photon/: Unknown Host: > http://download.eclipse.org/releases/photon/content.xml: Unknown host > my.proxy.example.org -> [Help 1] > > I am certain the initial error is because you specify a proxy service > (my.proxy.example.org) which does not exist. > > For reference, I do not need a proxy on my system and my build runs as: > > [...] > mvn clean verify > [INFO] Scanning for projects... > [INFO] Computing target platform for MavenProject: > org.openjdk.jmc:org.openjdk.jmc.alert:7.0.0-SNAPSHOT @ > /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/application/org.openjdk.jmc.alert/pom.xml > [INFO] Adding repository http://localhost:8080/site > [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ > [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ > [INFO] Adding repository http://download.eclipse.org/releases/photon > [INFO] Fetching p2.index from > http://download.eclipse.org/technology/epp/packages/photon/ > [INFO] Fetching p2.index from > http://download.eclipse.org/technology/epp/packages/photon/ > [INFO] Fetching p2.index from > http://download.eclipse.org/releases/photon/201806271001/ > [INFO] Fetching p2.index from > http://download.eclipse.org/releases/photon/201806271001/ > [...] > > On Fri, Nov 16, 2018 at 10:10 AM Gary Morrison wrote: >> >> Thanks a bunch for the suggestions, Jie. >> >> I?ll dig deeper into how they set up the proxies on this system. >> >> It didn?t seem likely to be a proxy issue, because simply browsing to that URL on my Windows machine and on my iPad also reported being unable to access that file ? exact same error as browsing to it on the machine in question here. Also, I?d put in the ~/.m2 fix suggested in the README (didn?t help). >> >> Anyway, thanks again for the ideas! >> >> Get Outlook for iOS >> >> ________________________________ >> From: Jie Kang >> Sent: Friday, November 16, 2018 8:03 AM >> To: Gary Morrison >> Cc: guru.hb at oracle.com; jmc-dev at openjdk.java.net >> Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml >> >> Hi Gary, >> >>> [INFO] Adding repository http://download.eclipse.org/releases/photon >>> [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] >> >> Looking at the error (re-pasted above), it looks like your proxy setup >> is unfinished. I would not expect a proxy of my.proxy.example.org to >> exist; it should be replaced by your proxy's actual host name. Is a >> proxy required for your system? I would be tempted to try without it. >> >> >> Regards, >> >> On Thu, Nov 15, 2018 at 10:55 PM Gary Morrison wrote: >>> >>> Thanks for the reply. >>> >>> I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) >>> >>> Hmmm... >>> >>> As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. >>> >>> Get Outlook for iOS >>> >>> ________________________________ >>> From: Guru >>> Sent: Thursday, November 15, 2018 9:42 PM >>> To: Gary Morrison >>> Cc: jmc-dev at openjdk.java.net >>> Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml >>> >>> I believe you are following the Jmc build step mentioned in README.md. >>> There could be any of the below : >>> 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). >>> You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. >>> 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml >>> 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). >>> >>> I tried a `mvn clean package` now and didn?t see any failure. >>> >>> -Guru >>> On 16-Nov-2018, at 8:35 AM, Gary Morrison > wrote: >>> >>> I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. >>> >>> From the README, I'm through to the (almost) final "mvn package" command, which gives me: >>> >>> ... >>> [INFO] Adding repository http://localhost:8080/site >>> [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) >>> [INFO] Adding repository http://download.eclipse.org/releases/photon >>> [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] >>> [ERROR] >>> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. >>> [ERROR] Re-run Maven using the -X switch to enable full debug logging. >>> [ERROR] >>> [ERROR] For more information about the errors and possible solutions, please read the following articles: >>> [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException >>> ubuntu at tx2inst-c143:~/jmc$ >>> >>> When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: >>> >>> Not Found >>> We're sorry, the page or file cannot be found. Here are some reasons why: >>> A file may have moved to the archives. Please contact the project members on their user forum. >>> Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. >>> The project is uploading a new build, and this file is not there yet. Try again later. >>> >>> Does this sound familiar to any of you gentlefolks? >>> >>> Thanks for any suggestions! >>> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. >>> >>> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From Gary.Morrison at arm.com Fri Nov 16 16:15:34 2018 From: Gary.Morrison at arm.com (Gary Morrison) Date: Fri, 16 Nov 2018 16:15:34 +0000 Subject: Unknown Host: http://download.eclipse.org/releases/photon/content.xml In-Reply-To: <72DE9DEF-9AB8-4B34-8F81-3C404F69D955@oracle.com> References: <69D3CCCE-FF61-4412-82B1-BE86A5E007F8@oracle.com> <72DE9DEF-9AB8-4B34-8F81-3C404F69D955@oracle.com> Message-ID: Java 1.8.0.121 (although I?ve tried 181 too), AArch64. Maven 3.5.4. From: Guru Sent: Friday, November 16, 2018 10:02 AM To: Jie Kang ; Gary Morrison Cc: jmc-dev at openjdk.java.net Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml Could you please let me know which version of below tools used . I could try on my linux instance to evaluate. Java Maven I am using : java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b07, mixed mode) Apache Maven 3.5.3 // You can use latest. Thanks, Guru On 16-Nov-2018, at 9:26 PM, Jie Kang > wrote: Hi, No worries! For what it's worth, I also cannot access http://download.eclipse.org/releases/photon/content.xml Yes this is expected, Only way to check `photon` P2 is working is to check with eclipse. If I add the sample proxy which does not exist to ~/.m2/settings.xml, the build fails similarly with: [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] I am certain the initial error is because you specify a proxy service (my.proxy.example.org) which does not exist. For reference, I do not need a proxy on my system and my build runs as: [...] > mvn clean verify [INFO] Scanning for projects... [INFO] Computing target platform for MavenProject: org.openjdk.jmc:org.openjdk.jmc.alert:7.0.0-SNAPSHOT @ /home/jkang/Work/code/src/hg.openjdk.java.net/jmc/jmc/application/org.openjdk.jmc.alert/pom.xml [INFO] Adding repository http://localhost:8080/site [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/ [INFO] Adding repository http://download.eclipse.org/releases/photon [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/ [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/ [...] On Fri, Nov 16, 2018 at 10:10 AM Gary Morrison > wrote: Thanks a bunch for the suggestions, Jie. I?ll dig deeper into how they set up the proxies on this system. It didn?t seem likely to be a proxy issue, because simply browsing to that URL on my Windows machine and on my iPad also reported being unable to access that file ? exact same error as browsing to it on the machine in question here. Also, I?d put in the ~/.m2 fix suggested in the README (didn?t help). Anyway, thanks again for the ideas! Get Outlook for iOS ________________________________ From: Jie Kang > Sent: Friday, November 16, 2018 8:03 AM To: Gary Morrison Cc: guru.hb at oracle.com; jmc-dev at openjdk.java.net Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml Hi Gary, [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] Looking at the error (re-pasted above), it looks like your proxy setup is unfinished. I would not expect a proxy of my.proxy.example.org to exist; it should be replaced by your proxy's actual host name. Is a proxy required for your system? I would be tempted to try without it. Regards, On Thu, Nov 15, 2018 at 10:55 PM Gary Morrison > wrote: Thanks for the reply. I already put the fix listed for a proxy. No effect. (Also my separate Windows machine?s browser also doesn?t see it.) Hmmm... As for it just being unavailable now only, I know that command failed for me earlier, but I didn?t make note of the exact error. Get Outlook for iOS ________________________________ From: Guru > Sent: Thursday, November 15, 2018 9:42 PM To: Gary Morrison Cc: jmc-dev at openjdk.java.net Subject: Re: Unknown Host: http://download.eclipse.org/releases/photon/content.xml I believe you are following the Jmc build step mentioned in README.md. There could be any of the below : 1. Photon update site might have been down for temporarily. (May be for periodic maintenance). You can cross check the same from, eclipse ?> Help ?> Install new software ?> Work with (add) http://download.eclipse.org/releases/photon . This will let you know if the photon p2 site is reachable or not. 2. If you are behind proxy , please do set the proxy in ~/.m2/settings.xml 3. If you are building the `Jmc` for the first time , ~/jmc/releng/third-party/ : mvn p2:site && mvn jetty:run will take some time to fetch dependency. (This might not be the case for the below problem). I tried a `mvn clean package` now and didn?t see any failure. -Guru On 16-Nov-2018, at 8:35 AM, Gary Morrison >> wrote: I got side-tracked on a separate assignment, but I'm back to trying to build JMC under JDK 8. From the README, I'm through to the (almost) final "mvn package" command, which gives me: ... [INFO] Adding repository http://localhost:8080/site [INFO] Fetching content.jar from http://localhost:8080/site/ (1.46kB) [INFO] Adding repository http://download.eclipse.org/releases/photon [ERROR] Failed to resolve target definition /home/ubuntu/jmc/releng/platform-definitions/platform-definition-photon/platform-definition-photon.target: Failed to load p2 metadata repository from location http://download.eclipse.org/releases/photon/: Unknown Host: http://download.eclipse.org/releases/photon/content.xml: Unknown host my.proxy.example.org -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException ubuntu at tx2inst-c143:~/jmc$ When I point my browser over to http://download.eclipse.org/releases/photon/content.xml (browser running on a separate, Windows machine, BTW, so probably not proxies), it really does seem to be "Not Found." It says: Not Found We're sorry, the page or file cannot be found. Here are some reasons why: A file may have moved to the archives. Please contact the project members on their user forum. Your file was part of a nightly or integration build which is no longer there. Simply download the latest version. The project is uploading a new build, and this file is not there yet. Try again later. Does this sound familiar to any of you gentlefolks? Thanks for any suggestions! IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From marcus.hirt at oracle.com Sun Nov 18 22:54:12 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Sun, 18 Nov 2018 17:54:12 -0500 Subject: Anyone with a Mac running Mojave? Message-ID: Hi all, I think this started after my upgrade to Mojave, but I am not sure: https://bugs.openjdk.java.net/browse/JMC-6208 Does anyone else see this? Kind regards, Marcus From tejpal.rebari at oracle.com Tue Nov 20 06:18:21 2018 From: tejpal.rebari at oracle.com (Tejpal Rebari) Date: Tue, 20 Nov 2018 11:48:21 +0530 Subject: Review request for JMC-5990 : Human readable names for JMC updatesites are missing Message-ID: Hi All, Please review the small fix for : Jira : https://bugs.openjdk.java.net/browse/JMC-5990 webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.0/ RC : The name for jmc rcp update site was missing. Solution : Added the name JDK Mission Control 7.0.0 Supported RCP Site for jmc rcp update site using setRepositoryProperty. Thanks Tejpal From guru.hb at oracle.com Tue Nov 20 07:20:41 2018 From: guru.hb at oracle.com (Guru) Date: Tue, 20 Nov 2018 12:50:41 +0530 Subject: Review request for JMC-6207: Graphs Y-axis title not shown when changed in windows 10. In-Reply-To: <4435fc07-335b-4c8d-a218-da7675595b5b@default> References: <4435fc07-335b-4c8d-a218-da7675595b5b@default> Message-ID: +1, Make sure you have executed , Uitest and a follow on bug in JDK8 client. Thanks, Guru > On 16-Nov-2018, at 3:36 PM, Deepa Avhad wrote: > > Hi All, > > Kindly please ignore the previous Bug Id mentioned in the previous mail as it was sent by mistake. > Please review the small fix, the correct Bug Id : > > Jira: https://bugs.openjdk.java.net/browse/JMC-6207 > > Patch: > > --- old/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:15.656210600 +0530 > +++ new/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:14.623778000 +0530 > @@ -167,13 +167,13 @@ > } > > private void paintTitle(Graphics2D ctx, AffineTransform labelTrans, AffineTransform titleTrans) { > + Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); > ctx.setTransform(titleTrans); > ctx.setColor(getTitleColor()); > // calculate size for "legend" boxes in title > int boxSize = Math.max(2, ctx.getFontMetrics().getHeight() / 2); > // calculate padding, title bounds and text width > int padding = Math.max(1, Math.round(boxSize * .5f)); > - Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); > int textWidth = titleBounds.width; > // add space for "legend" boxes in title, if necessary > OptimizingProvider[] providers = new OptimizingProvider[0]; > > > > Thanks, > Deepa > > > > > > > ----- Original Message ----- > From: deepa.avhad at oracle.com > To: jmc-dev at openjdk.java.net > Sent: Friday, November 16, 2018 12:38:36 PM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi > Subject: Review request for JMC-6094: [CS-005] Graphs Y-axis title not shown when changed in windows 10. > > Hi All, > > Please review the small fix for, > > Jira : https://bugs.openjdk.java.net/browse/JMC-6094 > RC : 'StringBounds()' of y-axis-title are getting changed in jdk-11 after applying rotation transformation. > Thus,Y-axis title not shown when changed in windows 10. Above same is not changed using jdk-8. > Solution: Storing 'StringBounds()' of y-axis-title before applying rotation transformation. > Test : Tested on Windows 10, MacOS and yet to test on Linux. > > > Thanks, > Deepa > > From sharath.ballal at oracle.com Tue Nov 20 07:21:47 2018 From: sharath.ballal at oracle.com (Sharath Ballal) Date: Mon, 19 Nov 2018 23:21:47 -0800 (PST) Subject: Review request for JMC-6207: Graphs Y-axis title not shown when changed in windows 10. In-Reply-To: References: <4435fc07-335b-4c8d-a218-da7675595b5b@default> Message-ID: +1 with Guru's comments. Thanks, Sharath -----Original Message----- From: Guru Sent: Tuesday, November 20, 2018 12:51 PM To: Deepa Avhad Cc: Sharath Ballal; Marcus Hirt; jmc-dev at openjdk.java.net Subject: Re: Review request for JMC-6207: Graphs Y-axis title not shown when changed in windows 10. +1, Make sure you have executed , Uitest and a follow on bug in JDK8 client. Thanks, Guru > On 16-Nov-2018, at 3:36 PM, Deepa Avhad wrote: > > Hi All, > > Kindly please ignore the previous Bug Id mentioned in the previous mail as it was sent by mistake. > Please review the small fix, the correct Bug Id : > > Jira: https://bugs.openjdk.java.net/browse/JMC-6207 > > Patch: > > --- old/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:15.656210600 +0530 > +++ new/application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java 2018-11-16 11:09:14.623778000 +0530 > @@ -167,13 +167,13 @@ > } > > private void paintTitle(Graphics2D ctx, AffineTransform labelTrans, AffineTransform titleTrans) { > + Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); > ctx.setTransform(titleTrans); > ctx.setColor(getTitleColor()); > // calculate size for "legend" boxes in title > int boxSize = Math.max(2, ctx.getFontMetrics().getHeight() / 2); > // calculate padding, title bounds and text width > int padding = Math.max(1, Math.round(boxSize * .5f)); > - Rectangle titleBounds = ctx.getFontMetrics().getStringBounds(getTitle(), ctx).getBounds(); > int textWidth = titleBounds.width; > // add space for "legend" boxes in title, if necessary > OptimizingProvider[] providers = new OptimizingProvider[0]; > > > > Thanks, > Deepa > > > > > > > ----- Original Message ----- > From: deepa.avhad at oracle.com > To: jmc-dev at openjdk.java.net > Sent: Friday, November 16, 2018 12:38:36 PM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi > Subject: Review request for JMC-6094: [CS-005] Graphs Y-axis title not shown when changed in windows 10. > > Hi All, > > Please review the small fix for, > > Jira : https://bugs.openjdk.java.net/browse/JMC-6094 > RC : 'StringBounds()' of y-axis-title are getting changed in jdk-11 after applying rotation transformation. > Thus,Y-axis title not shown when changed in windows 10. Above same is not changed using jdk-8. > Solution: Storing 'StringBounds()' of y-axis-title before applying rotation transformation. > Test : Tested on Windows 10, MacOS and yet to test on Linux. > > > Thanks, > Deepa > > From ceeaspb at gmail.com Tue Nov 20 09:06:48 2018 From: ceeaspb at gmail.com (Alex Bagehot) Date: Tue, 20 Nov 2018 09:06:48 +0000 Subject: Anyone with a Mac running Mojave? In-Reply-To: References: Message-ID: Same situation, yes thanks, Alex On Sun, Nov 18, 2018 at 10:54 PM Marcus Hirt wrote: > Hi all, > > I think this started after my upgrade to Mojave, but I am not sure: > https://bugs.openjdk.java.net/browse/JMC-6208 > > Does anyone else see this? > > Kind regards, > Marcus > > > From hdafgard at gmail.com Tue Nov 20 10:29:37 2018 From: hdafgard at gmail.com (=?UTF-8?Q?Henrik_Dafg=C3=A5rd?=) Date: Tue, 20 Nov 2018 11:29:37 +0100 Subject: Anyone with a Mac running Mojave? In-Reply-To: References: Message-ID: Hi all, I've already started looking into this, so I've assigned the bug to myself and I'll hopefully have time to fix it this week because it's really bugging me. Regards, Henrik Dafg?rd On Tue, 20 Nov 2018 at 10:07, Alex Bagehot wrote: > Same situation, yes > > thanks, > Alex > > On Sun, Nov 18, 2018 at 10:54 PM Marcus Hirt > wrote: > > > Hi all, > > > > I think this started after my upgrade to Mojave, but I am not sure: > > https://bugs.openjdk.java.net/browse/JMC-6208 > > > > Does anyone else see this? > > > > Kind regards, > > Marcus > > > > > > > From neugens at redhat.com Tue Nov 20 17:12:49 2018 From: neugens at redhat.com (Mario Torre) Date: Tue, 20 Nov 2018 18:12:49 +0100 Subject: JMC-6180: Changing the Java source editor font changes the size of some values in the JMC tables In-Reply-To: <9FE64A77-7090-4A70-AD06-9EE85E9FE076@oracle.com> References: <9FE64A77-7090-4A70-AD06-9EE85E9FE076@oracle.com> Message-ID: <2448ae1799ec96022eaed73e48976377ed458023.camel@redhat.com> On Tue, 2018-11-06 at 15:06 +0100, Marcus Hirt wrote: > Hi Elliott, > > Yes, I _think_ that would be the expected behavior from a user's > perspective. > If anyone thinks differently, please let me know and we can discuss > the pros > and cons. I'm a bit concerned by the scope of this, do you think it would make more sense to approach the patch incrementally? >From what I gather this is quite a massive patch I'm not sure we want that in before release. Any suggestions? Cheers, Mario > Kind regards, > Marcus > > ?On 2018-11-05, 23:37, "jmc-dev on behalf of Elliott Baron" < > jmc-dev-bounces at openjdk.java.net on behalf of ebaron at redhat.com> > wrote: > > Hi, > > I'm working on a solution to this bug that allows the user to > scale the > font size used by JMC labels using the same shortcuts as > Eclipse's text > editor zoom-in/out functionality (which also simply scale the > font size). > > Just to be clear, this functionality should scale font sizes for > all JMC > editors and views, and not just those using the Eclipse editor > font? > > Thanks, > Elliott > > > > -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From almacdon at redhat.com Tue Nov 20 21:35:28 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Tue, 20 Nov 2018 16:35:28 -0500 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> Message-ID: Ping - I sent this out about a week ago, let me know what you think. On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald wrote: > Hi Marcus, > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > wrote: > >> Hi Alex, >> >> Personally I am a bit allergic to modal dialogs. For example, if we have >> multiple recordings ending with problems, I'd rather have the editors >> opening >> with details than one or more modal dialogs. That is, of course, a >> personal >> preference that I'd be happy to discuss here. That said, I think what is >> shown, >> and how it is shown, in the editor could be improved. For example we >> should >> show the error title and message (that would have been showed in the >> modal >> dialog) first, followed by the stack trace. Possibly not throwing the >> stack trace in the user's face until it is asked for. >> > > That sounds fair enough to me. I've taken what you said into account and > made a couple of modifications to the error page. > > I've transferred the text explaining the error from the dialog to the > error page, and removed the dialog modal. The dialog title text was very > similar to the current error message printed on the screen, so I've only > kept the latter to avoid redundancy. In response to your comment about > showing the stack trace when it's asked for, the stack trace is now hidden > under a expandable component so it can be collapsed & expanded as desired. > > I've included some images to show these changes. > > Error page (gif): https://imgur.com/g8hpXlg > Error page (collapsed): https://imgur.com/irTarA6 > Error page (expanded): https://imgur.com/M51z8ct > > Cheers, > > Alex > > >> Please let me know what you think! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: >> >> Hi, >> >> This short patch addresses JMC-5372 [0], in which the error dialog is >> not >> displayed when an exception is thrown in the JFR Editor. >> >> As far as I can tell, the error here is within the catch block of the >> "displayPage" function in the JFR Editor [1]. When an exception is >> caught >> there is an evaluation of the boolean property for >> "showModalErrorDialog" >> [2], however I cannot find the instance where this property would be >> toggled from false to true. As a result, the if-statement takes the >> branch >> that displays the error page, but not the error dialog. The proposed >> fix >> here removes the check for the boolean (because we have already >> caught the >> exception), and instead opt to display both the error page and the >> modal. >> >> I've included a couple of images to show the result of this patch >> [3], as >> well as gifs showing the before [4] & after [5] experience. >> Before (gif): https://imgur.com/hHRmkx3 [3] >> After (gif): https://imgur.com/8rtaysS [4] >> After (img): https://imgur.com/0oBi6nH [5] >> >> Thoughts? >> >> Cheers, >> >> Alex >> >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 >> [1] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 >> [2] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 >> [3] https://imgur.com/hHRmkx3 >> [4] https://imgur.com/8rtaysS >> [5] https://imgur.com/0oBi6nH >> >> >> >> >> > From marcus.hirt at oracle.com Tue Nov 20 21:58:32 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 20 Nov 2018 16:58:32 -0500 Subject: Anyone with a Mac running Mojave? In-Reply-To: References: Message-ID: <3 /M From: Henrik Dafg?rd Date: Tuesday, 20 November 2018 at 05:29 To: Cc: , Subject: Re: Anyone with a Mac running Mojave? Hi all, I've already started looking into this, so I've assigned the bug to myself and I'll hopefully have time to fix it this week because it's really bugging me. Regards, Henrik Dafg?rd On Tue, 20 Nov 2018 at 10:07, Alex Bagehot wrote: Same situation, yes thanks, Alex On Sun, Nov 18, 2018 at 10:54 PM Marcus Hirt wrote: > Hi all, > > I think this started after my upgrade to Mojave, but I am not sure: > https://bugs.openjdk.java.net/browse/JMC-6208 > > Does anyone else see this? > > Kind regards, > Marcus > > > From marcus.hirt at oracle.com Tue Nov 20 22:08:45 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 20 Nov 2018 17:08:45 -0500 Subject: Review request for JMC-5990 : Human readable names for JMC updatesites are missing In-Reply-To: <0C62D8CB-6815-4B3D-9AD8-15CB6374ABD3@oracle.com> References: <0C62D8CB-6815-4B3D-9AD8-15CB6374ABD3@oracle.com> Message-ID: <73244634-FD56-458B-8E70-7A8059EC086F@oracle.com> Hi Tejpal, I don't think the name should include "Supported", and "Site" is not specific enough. Supported is implied unless it is tagged (Experimental). The delineator is rather between "OpenJDK" and "Oracle". I would suggest OpenJDK would be implied as well, so I'd either name it JDK Mission Control 7.0.0 OpenJDK RCP Update Site, or simply JDK Mission Control 7.0.0 RCP Update Site. Kind regards, Marcus ?On 2018-11-20, 01:18, "Tejpal Rebari charset=us-ascii" wrote: Hi All, Please review the small fix for : Jira : https://bugs.openjdk.java.net/browse/JMC-5990 webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.0/ RC : The name for jmc rcp update site was missing. Solution : Added the name JDK Mission Control 7.0.0 Supported RCP Site for jmc rcp update site using setRepositoryProperty. Thanks Tejpal From ebaron at redhat.com Wed Nov 21 20:42:48 2018 From: ebaron at redhat.com (Elliott Baron) Date: Wed, 21 Nov 2018 15:42:48 -0500 Subject: JMC-6180: Changing the Java source editor font changes the size of some values in the JMC tables In-Reply-To: <2448ae1799ec96022eaed73e48976377ed458023.camel@redhat.com> References: <9FE64A77-7090-4A70-AD06-9EE85E9FE076@oracle.com> <2448ae1799ec96022eaed73e48976377ed458023.camel@redhat.com> Message-ID: Hi, On 2018-11-20 12:12 p.m., Mario Torre wrote: > On Tue, 2018-11-06 at 15:06 +0100, Marcus Hirt wrote: >> Hi Elliott, >> >> Yes, I _think_ that would be the expected behavior from a user's >> perspective. >> If anyone thinks differently, please let me know and we can discuss >> the pros >> and cons. > > I'm a bit concerned by the scope of this, do you think it would make > more sense to approach the patch incrementally? > > From what I gather this is quite a massive patch I'm not sure we want > that in before release. > > Any suggestions? I have made good progress in allowing the user to resize all fonts used by JMC, but this ends up touching a lot of UI code. There are also still some bugs to resolve with the implementation. I agree with Mario that this is risky to do shortly before release. As a quick fix, we could remove or limit the use of the editor font, at least in tables. In the MBean Browser example cited in the bug, I don't see a need to use the editor font for the value column. Marcus, what do you think? Thanks, Elliott > > Cheers, > Mario > >> Kind regards, >> Marcus >> >> ?On 2018-11-05, 23:37, "jmc-dev on behalf of Elliott Baron" < >> jmc-dev-bounces at openjdk.java.net on behalf of ebaron at redhat.com> >> wrote: >> >> Hi, >> >> I'm working on a solution to this bug that allows the user to >> scale the >> font size used by JMC labels using the same shortcuts as >> Eclipse's text >> editor zoom-in/out functionality (which also simply scale the >> font size). >> >> Just to be clear, this functionality should scale font sizes for >> all JMC >> editors and views, and not just those using the Eclipse editor >> font? >> >> Thanks, >> Elliott >> >> >> >> From marcus.hirt at oracle.com Thu Nov 22 06:06:19 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 22 Nov 2018 07:06:19 +0100 Subject: JMC-6180: Changing the Java source editor font changes the size of some values in the JMC tables In-Reply-To: References: <9FE64A77-7090-4A70-AD06-9EE85E9FE076@oracle.com> <2448ae1799ec96022eaed73e48976377ed458023.camel@redhat.com> Message-ID: <8081FB34-342E-42C9-8696-77A2CF98EDDC@oracle.com> I agree. This is too risky this late for 7.0.0 - let?s take the change in 7.1.0. I also agree that not using the editor font for the value column as a quick fix is a good idea for 7.0.0. Kind regards, Marcus > On 21 Nov 2018, at 21:42, Elliott Baron wrote: > > Hi, > >> On 2018-11-20 12:12 p.m., Mario Torre wrote: >>> On Tue, 2018-11-06 at 15:06 +0100, Marcus Hirt wrote: >>> Hi Elliott, >>> >>> Yes, I _think_ that would be the expected behavior from a user's >>> perspective. >>> If anyone thinks differently, please let me know and we can discuss >>> the pros >>> and cons. >> I'm a bit concerned by the scope of this, do you think it would make >> more sense to approach the patch incrementally? >> From what I gather this is quite a massive patch I'm not sure we want >> that in before release. >> Any suggestions? > > I have made good progress in allowing the user to resize all fonts used by JMC, but this ends up touching a lot of UI code. There are also still some bugs to resolve with the implementation. I agree with Mario that this is risky to do shortly before release. > > As a quick fix, we could remove or limit the use of the editor font, at least in tables. In the MBean Browser example cited in the bug, I don't see a need to use the editor font for the value column. > > Marcus, what do you think? > > Thanks, > Elliott > >> Cheers, >> Mario >>> Kind regards, >>> Marcus >>> >>> ?On 2018-11-05, 23:37, "jmc-dev on behalf of Elliott Baron" < >>> jmc-dev-bounces at openjdk.java.net on behalf of ebaron at redhat.com> >>> wrote: >>> >>> Hi, >>> I'm working on a solution to this bug that allows the user to >>> scale the >>> font size used by JMC labels using the same shortcuts as >>> Eclipse's text >>> editor zoom-in/out functionality (which also simply scale the >>> font size). >>> Just to be clear, this functionality should scale font sizes for >>> all JMC >>> editors and views, and not just those using the Eclipse editor >>> font? >>> Thanks, >>> Elliott >>> >>> From tejpal.rebari at oracle.com Thu Nov 22 07:52:29 2018 From: tejpal.rebari at oracle.com (Tejpal Rebari) Date: Thu, 22 Nov 2018 13:22:29 +0530 Subject: Review request for JMC-5990 : Human readable names for JMC updatesites are missing In-Reply-To: <73244634-FD56-458B-8E70-7A8059EC086F@oracle.com> References: <0C62D8CB-6815-4B3D-9AD8-15CB6374ABD3@oracle.com> <73244634-FD56-458B-8E70-7A8059EC086F@oracle.com> Message-ID: <678C46F2-1BAF-4FB4-9D79-EF431E4C383E@oracle.com> Hi Marcus, I have changed the name to ?JDK Mission Control 7.0.0 RCP Update Site?. Webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.1/ Regards Tejpal > On 21-Nov-2018, at 3:38 AM, Marcus Hirt wrote: > > Hi Tejpal, > > I don't think the name should include "Supported", and "Site" is not specific > enough. Supported is implied unless it is tagged (Experimental). The delineator > is rather between "OpenJDK" and "Oracle". I would suggest OpenJDK would be > implied as well, so I'd either name it JDK Mission Control 7.0.0 OpenJDK RCP > Update Site, or simply JDK Mission Control 7.0.0 RCP Update Site. > > Kind regards, > Marcus > > ?On 2018-11-20, 01:18, "Tejpal Rebari charset=us-ascii" wrote: > > Hi All, > > Please review the small fix for : > > Jira : https://bugs.openjdk.java.net/browse/JMC-5990 > webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.0/ > RC : The name for jmc rcp update site was missing. > Solution : Added the name JDK Mission Control 7.0.0 Supported RCP Site for jmc rcp update site using setRepositoryProperty. > > Thanks > Tejpal > > > From marcus.hirt at oracle.com Thu Nov 22 07:57:01 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 22 Nov 2018 08:57:01 +0100 Subject: Review request for JMC-5990 : Human readable names for JMC updatesites are missing In-Reply-To: <678C46F2-1BAF-4FB4-9D79-EF431E4C383E@oracle.com> References: <0C62D8CB-6815-4B3D-9AD8-15CB6374ABD3@oracle.com> <73244634-FD56-458B-8E70-7A8059EC086F@oracle.com> <678C46F2-1BAF-4FB4-9D79-EF431E4C383E@oracle.com> Message-ID: <3630D6F5-D3ED-44D4-8AE6-069F9020DC8E@oracle.com> Looks fine! Kind regards, Marcus > On 22 Nov 2018, at 08:52, Tejpal Rebari wrote: > > Hi Marcus, > I have changed the name to ?JDK Mission Control 7.0.0 RCP Update Site?. > Webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.1/ > > Regards > Tejpal > >> On 21-Nov-2018, at 3:38 AM, Marcus Hirt wrote: >> >> Hi Tejpal, >> >> I don't think the name should include "Supported", and "Site" is not specific >> enough. Supported is implied unless it is tagged (Experimental). The delineator >> is rather between "OpenJDK" and "Oracle". I would suggest OpenJDK would be >> implied as well, so I'd either name it JDK Mission Control 7.0.0 OpenJDK RCP >> Update Site, or simply JDK Mission Control 7.0.0 RCP Update Site. >> >> Kind regards, >> Marcus >> >> ?On 2018-11-20, 01:18, "Tejpal Rebari charset=us-ascii" wrote: >> >> Hi All, >> >> Please review the small fix for : >> >> Jira : https://bugs.openjdk.java.net/browse/JMC-5990 >> webrev : http://cr.openjdk.java.net/~ghb/trebari/JMC-5990/webrev.0/ >> RC : The name for jmc rcp update site was missing. >> Solution : Added the name JDK Mission Control 7.0.0 Supported RCP Site for jmc rcp update site using setRepositoryProperty. >> >> Thanks >> Tejpal >> >> >> > From marcus.hirt at oracle.com Thu Nov 22 13:56:37 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Thu, 22 Nov 2018 13:56:37 +0000 Subject: hg: jmc/jmc: JMC-0000: Small grammar fix in the README Message-ID: <201811221356.wAMDubrj018559@aojmv0008.oracle.com> Changeset: d23f0bb0ad74 Author: hirt Date: 2018-11-22 14:56 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/d23f0bb0ad74 JMC-0000: Small grammar fix in the README ! README.md From marcus.hirt at oracle.com Thu Nov 22 17:16:06 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 22 Nov 2018 18:16:06 +0100 Subject: Review request for JMC-6213: Maven resources plug-in version should not be specified in rcp.application pom Message-ID: Hi all, Please review this fix to get rid of a warning. Also includes some cleanup. Jira: https://bugs.openjdk.java.net/browse/JMC-6213 Webrev: http://cr.openjdk.java.net/~hirt/JMC-6213/webrev.01/ Kind regards, Marcus From marcus.hirt at oracle.com Thu Nov 22 18:47:00 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 22 Nov 2018 19:47:00 +0100 Subject: The JMC launchers (in Eclipse) and Execution Environment. Message-ID: Hi all, Now that there is a downloadable plug-in for JDK 11 support for Eclipse 2018-09, we could upgrade the launchers to use JavaSE-11 as default execution environment. We could either just update the existing launchers, or update and add new launchers for those who still wish to be able to launch on Oracle JDK 8-10. What do you think? Kind regards, Marcus From hdafgard at gmail.com Thu Nov 22 18:55:07 2018 From: hdafgard at gmail.com (=?UTF-8?Q?Henrik_Dafg=C3=A5rd?=) Date: Thu, 22 Nov 2018 19:55:07 +0100 Subject: Review request for JMC-6213: Maven resources plug-in version should not be specified in rcp.application pom In-Reply-To: References: Message-ID: Looks good to me! Regards, Henrik Dafg?rd On Thu, 22 Nov 2018 at 18:16, Marcus Hirt wrote: > Hi all, > > Please review this fix to get rid of a warning. Also includes some cleanup. > > Jira: https://bugs.openjdk.java.net/browse/JMC-6213 > Webrev: http://cr.openjdk.java.net/~hirt/JMC-6213/webrev.01/ > > Kind regards, > Marcus > > > From marcus.hirt at oracle.com Thu Nov 22 21:47:18 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Thu, 22 Nov 2018 21:47:18 +0000 Subject: hg: jmc/jmc: JMC-6213: Maven resources plug-in version in rcp.application inherited from parent Message-ID: <201811222147.wAMLlIdW002085@aojmv0008.oracle.com> Changeset: 9aa7085f938b Author: hirt Date: 2018-11-22 22:47 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/9aa7085f938b JMC-6213: Maven resources plug-in version in rcp.application inherited from parent Reviewed-by: hdafgard ! application/org.openjdk.jmc.attach/pom.xml ! application/org.openjdk.jmc.browser.attach/pom.xml ! application/org.openjdk.jmc.browser/pom.xml ! application/org.openjdk.jmc.console.jconsole/pom.xml ! application/org.openjdk.jmc.javafx.osgi/pom.xml ! application/org.openjdk.jmc.jdp/pom.xml ! application/org.openjdk.jmc.joverflow.ui/pom.xml ! application/org.openjdk.jmc.rcp.application/pom.xml ! application/org.openjdk.jmc.rcp.product/pom.xml ! application/org.openjdk.jmc.updatesite.ide/pom.xml ! application/org.openjdk.jmc.updatesite.rcp/pom.xml ! application/pom.xml ! application/tests/org.openjdk.jmc.flightrecorder.controlpanel.ui.test/pom.xml ! application/tests/org.openjdk.jmc.jdp.test/pom.xml ! application/tests/org.openjdk.jmc.rjmx.services.jfr.test/pom.xml ! application/tests/org.openjdk.jmc.rjmx.test/pom.xml ! application/tests/pom.xml ! application/uitests/org.openjdk.jmc.browser.uitest/pom.xml ! application/uitests/org.openjdk.jmc.console.jconsole.uitest/pom.xml ! application/uitests/org.openjdk.jmc.console.persistence.uitest/pom.xml ! application/uitests/org.openjdk.jmc.console.uitest/pom.xml ! application/uitests/org.openjdk.jmc.flightrecorder.uitest/pom.xml ! application/uitests/org.openjdk.jmc.rcp.application.uitest/pom.xml ! application/uitests/org.openjdk.jmc.test.jemmy/pom.xml ! application/uitests/pom.xml ! pom.xml From marcus.hirt at oracle.com Thu Nov 22 21:50:22 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 22 Nov 2018 22:50:22 +0100 Subject: Review request for JMC-6213: Maven resources plug-in version should not be specified in rcp.application pom In-Reply-To: References: Message-ID: <7864016E-8346-4EE2-A67F-845896461921@oracle.com> Thanks for the review Henrik! /M From: Henrik Dafg?rd Date: Thursday, 22 November 2018 at 19:55 To: Cc: Subject: Re: Review request for JMC-6213: Maven resources plug-in version should not be specified in rcp.application pom Looks good to me! Regards, Henrik Dafg?rd On Thu, 22 Nov 2018 at 18:16, Marcus Hirt wrote: Hi all, Please review this fix to get rid of a warning. Also includes some cleanup. Jira: https://bugs.openjdk.java.net/browse/JMC-6213 Webrev: http://cr.openjdk.java.net/~hirt/JMC-6213/webrev.01/ Kind regards, Marcus From jmatsuok at redhat.com Fri Nov 23 16:06:45 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Fri, 23 Nov 2018 11:06:45 -0500 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> Message-ID: Hi Alex, - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page could not display data"; //$NON-NLS-1$ - - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ + public static final String INVALID_RECORDING_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ minor nit/question for Marcus: Should this message be localized in the same way as all of the other UI messages to keep things consistent? I.E. adding them to messages.properties and handling them in the usual way. Cheers, - Josh On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald wrote: > Ping - I sent this out about a week ago, let me know what you think. > > On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald > wrote: > > > Hi Marcus, > > > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > > wrote: > > > >> Hi Alex, > >> > >> Personally I am a bit allergic to modal dialogs. For example, if we have > >> multiple recordings ending with problems, I'd rather have the editors > >> opening > >> with details than one or more modal dialogs. That is, of course, a > >> personal > >> preference that I'd be happy to discuss here. That said, I think what is > >> shown, > >> and how it is shown, in the editor could be improved. For example we > >> should > >> show the error title and message (that would have been showed in the > >> modal > >> dialog) first, followed by the stack trace. Possibly not throwing the > >> stack trace in the user's face until it is asked for. > >> > > > > That sounds fair enough to me. I've taken what you said into account and > > made a couple of modifications to the error page. > > > > I've transferred the text explaining the error from the dialog to the > > error page, and removed the dialog modal. The dialog title text was very > > similar to the current error message printed on the screen, so I've only > > kept the latter to avoid redundancy. In response to your comment about > > showing the stack trace when it's asked for, the stack trace is now > hidden > > under a expandable component so it can be collapsed & expanded as > desired. > > > > I've included some images to show these changes. > > > > Error page (gif): https://imgur.com/g8hpXlg > > Error page (collapsed): https://imgur.com/irTarA6 > > Error page (expanded): https://imgur.com/M51z8ct > > > > Cheers, > > > > Alex > > > > > >> Please let me know what you think! > >> > >> Kind regards, > >> Marcus > >> > >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < > >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> > wrote: > >> > >> Hi, > >> > >> This short patch addresses JMC-5372 [0], in which the error dialog > is > >> not > >> displayed when an exception is thrown in the JFR Editor. > >> > >> As far as I can tell, the error here is within the catch block of > the > >> "displayPage" function in the JFR Editor [1]. When an exception is > >> caught > >> there is an evaluation of the boolean property for > >> "showModalErrorDialog" > >> [2], however I cannot find the instance where this property would be > >> toggled from false to true. As a result, the if-statement takes the > >> branch > >> that displays the error page, but not the error dialog. The proposed > >> fix > >> here removes the check for the boolean (because we have already > >> caught the > >> exception), and instead opt to display both the error page and the > >> modal. > >> > >> I've included a couple of images to show the result of this patch > >> [3], as > >> well as gifs showing the before [4] & after [5] experience. > >> Before (gif): https://imgur.com/hHRmkx3 [3] > >> After (gif): https://imgur.com/8rtaysS [4] > >> After (img): https://imgur.com/0oBi6nH [5] > >> > >> Thoughts? > >> > >> Cheers, > >> > >> Alex > >> > >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 > >> [1] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 > >> [2] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 > >> [3] https://imgur.com/hHRmkx3 > >> [4] https://imgur.com/8rtaysS > >> [5] https://imgur.com/0oBi6nH > >> > >> > >> > >> > >> > > > From jmatsuok at redhat.com Fri Nov 23 20:49:00 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Fri, 23 Nov 2018 15:49:00 -0500 Subject: JMC-5698: Improving Duplicate Flags rule In-Reply-To: References: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> Message-ID: Hi Ken, I've applied and taken a look at the changes and they look good! Cheers, - Josh (Resending to list without the very long quoted message) From guru.hb at oracle.com Mon Nov 26 06:16:45 2018 From: guru.hb at oracle.com (guru.hb at oracle.com) Date: Mon, 26 Nov 2018 06:16:45 +0000 Subject: hg: jmc/jmc: JMC-6207: Graphs Y-axis title not shown when changed in windows 10 Message-ID: <201811260616.wAQ6Gjrk006427@aojmv0008.oracle.com> Changeset: f08427620998 Author: ghb Date: 2018-11-26 11:46 +0530 URL: http://hg.openjdk.java.net/jmc/jmc/rev/f08427620998 JMC-6207: Graphs Y-axis title not shown when changed in windows 10 Reviewed-by: ghb, sballal Contributed-by: Deepa Avhad ! application/org.openjdk.jmc.greychart/src/main/java/org/openjdk/jmc/greychart/impl/DefaultYAxis.java From guru.hb at oracle.com Mon Nov 26 06:20:51 2018 From: guru.hb at oracle.com (guru.hb at oracle.com) Date: Mon, 26 Nov 2018 06:20:51 +0000 Subject: hg: jmc/jmc: JMC-5990: Human readable names for JMC updatesites are missing Message-ID: <201811260620.wAQ6Kqfu007311@aojmv0008.oracle.com> Changeset: 75d4f7700580 Author: ghb Date: 2018-11-26 11:50 +0530 URL: http://hg.openjdk.java.net/jmc/jmc/rev/75d4f7700580 JMC-5990: Human readable names for JMC updatesites are missing Reviewed-by: hirt Contributed-by: Tejpal Rebari ! application/l10n/org.openjdk.jmc.rcp.application.ja/src/main/resources/org/openjdk/jmc/rcp/application/messages_ja.properties ! application/l10n/org.openjdk.jmc.rcp.application.zh_CN/src/main/resources/org/openjdk/jmc/rcp/application/messages_zh_CN.properties ! application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/Messages.java ! application/org.openjdk.jmc.rcp.application/src/main/java/org/openjdk/jmc/rcp/application/p2/P2Toolkit.java ! application/org.openjdk.jmc.rcp.application/src/main/resources/org/openjdk/jmc/rcp/application/messages.properties From marcus.hirt at oracle.com Mon Nov 26 10:47:19 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 26 Nov 2018 11:47:19 +0100 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> Message-ID: <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> Hi Josh, Yes, it would make sense to externalize the strings. Kind regards, Marcus From: Joshua Matsuoka Date: Friday, 23 November 2018 at 17:07 To: Alex Macdonald Cc: Marcus Hirt , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Alex, - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page could not display data"; //$NON-NLS-1$ - - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ + public static final String INVALID_RECORDING_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ minor nit/question for Marcus: Should this message be localized in the same way as all of the other UI messages to keep things consistent? I.E. adding them to messages.properties and handling them in the usual way. Cheers, - Josh On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald wrote: Ping - I sent this out about a week ago, let me know what you think. On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald wrote: > Hi Marcus, > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > wrote: > >> Hi Alex, >> >> Personally I am a bit allergic to modal dialogs. For example, if we have >> multiple recordings ending with problems, I'd rather have the editors >> opening >> with details than one or more modal dialogs. That is, of course, a >> personal >> preference that I'd be happy to discuss here. That said, I think what is >> shown, >> and how it is shown, in the editor could be improved. For example we >> should >> show the error title and message (that would have been showed in the >> modal >> dialog) first, followed by the stack trace. Possibly not throwing the >> stack trace in the user's face until it is asked for. >> > > That sounds fair enough to me. I've taken what you said into account and > made a couple of modifications to the error page. > > I've transferred the text explaining the error from the dialog to the > error page, and removed the dialog modal. The dialog title text was very > similar to the current error message printed on the screen, so I've only > kept the latter to avoid redundancy. In response to your comment about > showing the stack trace when it's asked for, the stack trace is now hidden > under a expandable component so it can be collapsed & expanded as desired. > > I've included some images to show these changes. > > Error page (gif): https://imgur.com/g8hpXlg > Error page (collapsed): https://imgur.com/irTarA6 > Error page (expanded): https://imgur.com/M51z8ct > > Cheers, > > Alex > > >> Please let me know what you think! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: >> >> Hi, >> >> This short patch addresses JMC-5372 [0], in which the error dialog is >> not >> displayed when an exception is thrown in the JFR Editor. >> >> As far as I can tell, the error here is within the catch block of the >> "displayPage" function in the JFR Editor [1]. When an exception is >> caught >> there is an evaluation of the boolean property for >> "showModalErrorDialog" >> [2], however I cannot find the instance where this property would be >> toggled from false to true. As a result, the if-statement takes the >> branch >> that displays the error page, but not the error dialog. The proposed >> fix >> here removes the check for the boolean (because we have already >> caught the >> exception), and instead opt to display both the error page and the >> modal. >> >> I've included a couple of images to show the result of this patch >> [3], as >> well as gifs showing the before [4] & after [5] experience. >> Before (gif): https://imgur.com/hHRmkx3 [3] >> After (gif): https://imgur.com/8rtaysS [4] >> After (img): https://imgur.com/0oBi6nH [5] >> >> Thoughts? >> >> Cheers, >> >> Alex >> >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 >> [1] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 >> [2] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 >> [3] https://imgur.com/hHRmkx3 >> [4] https://imgur.com/8rtaysS >> [5] https://imgur.com/0oBi6nH >> >> >> >> >> > From marcus at hirt.se Mon Nov 26 11:26:28 2018 From: marcus at hirt.se (Marcus Hirt) Date: Mon, 26 Nov 2018 12:26:28 +0100 Subject: Note: IRC channels will only allow registered nicks Message-ID: <1c3001d4857a$df877d90$9e9678b0$@hirt.se> Hi all, I just noted that a few people I know were automatically kicked from the #jmc channel on OFTC recently. Please note that the #jmc and #openjdk channels now only allow registered nicks (+R). Kind regards, Marcus From aazores at redhat.com Mon Nov 26 17:14:47 2018 From: aazores at redhat.com (Andrew Azores) Date: Mon, 26 Nov 2018 12:14:47 -0500 Subject: JMC-5596: Full GC detection? Message-ID: <26557bea-3f2d-ed9c-2a41-94a5e653aeaf@redhat.com> Hi everyone, I've been looking at JMC-5596 ( https://bugs.openjdk.java.net/browse/JMC-5596 ) and reading some background on G1 and CMS (some reading list links below for reference). I feel I have a good handle on how JMC's rules work and I've successfully put together a prototype new rule and have played around with that a fair amount. In doing so I have also dug through the various events that can be observed by an Aggregator/IItemConsumer , but I haven't been able to determine any useful specific event that indicates a Full GC occurrence. From my reading it seems that such an event would emit a log message stating ex. "Full GC (GC Cause)" or "Pause Full (Allocation Failure), but the two relevant JFR event types (GARBAGE_COLLECTION and GC_COLLECTOR_G1_GARBAGE_COLLECTION) only report the Cause field, corresponding to the GcCause enum and G1YCType from the OpenJDK JFR sources. I don't know that there is a 1:1 mapping between these causes and the Full GC event, however - in other words, AFAIK these causes may also be listed for a minor, non-STW collection. The other relevant type is Concurrent Mode Failure, which is detectable and implies a Full GC for CMS, but these are already handled by the GC Stall rule. Is there anyone with some more background in this area who would be willing to lend a hand and point me in the right direction? Perhaps I simply haven't figured out the right event type to look at yet, or perhaps the events I already have found really are 1:1 indicators of a full collection with the right cause(s). Reading list: https://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector-tuning.htm#JSGCT-GUID-0DD93225-0BCF-4605-B365-E9833F5BD2FC https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/cms.html#concurrent_mode_failure https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/g1_gc.html https://www.redhat.com/en/blog/part-1-introduction-g1-garbage-collector https://www.redhat.com/en/blog/collecting-and-reading-g1-garbage-collector-logs-part-2 Thanks in advance, -- Andrew Azores Software Engineer, OpenJDK Team Red Hat From almacdon at redhat.com Mon Nov 26 18:29:17 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Mon, 26 Nov 2018 13:29:17 -0500 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> Message-ID: Hi Marcus & Josh, Thanks for taking another look at this. I've added the string into the messages.properties in this amended patch. Cheers, Alex On Mon, Nov 26, 2018 at 5:47 AM Marcus Hirt wrote: > Hi Josh, > > > > Yes, it would make sense to externalize the strings. > > > > Kind regards, > > Marcus > > > > *From: *Joshua Matsuoka > *Date: *Friday, 23 November 2018 at 17:07 > *To: *Alex Macdonald > *Cc: *Marcus Hirt , > *Subject: *Re: JMC-5372: Exception printed on page when opening invalid > recording > > > > Hi Alex, > > > > - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page > could not display data"; //$NON-NLS-1$ > - > > - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page > cannot be shown correctly for this recording. The recording may be from an > old JVM, or invalid in some other way."; //$NON-NLS-1$ > + public static final String INVALID_RECORDING_TEXT = "The page cannot > be shown correctly for this recording. The recording may be from an old > JVM, or invalid in some other way."; //$NON-NLS-1$ > > > > minor nit/question for Marcus: Should this message be localized in the > same way as all of the other UI messages to keep things consistent? I.E. > adding them to messages.properties and handling them in the usual way. > > > > Cheers, > > > > - Josh > > > > On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald > wrote: > > Ping - I sent this out about a week ago, let me know what you think. > > On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald > wrote: > > > Hi Marcus, > > > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > > wrote: > > > >> Hi Alex, > >> > >> Personally I am a bit allergic to modal dialogs. For example, if we have > >> multiple recordings ending with problems, I'd rather have the editors > >> opening > >> with details than one or more modal dialogs. That is, of course, a > >> personal > >> preference that I'd be happy to discuss here. That said, I think what is > >> shown, > >> and how it is shown, in the editor could be improved. For example we > >> should > >> show the error title and message (that would have been showed in the > >> modal > >> dialog) first, followed by the stack trace. Possibly not throwing the > >> stack trace in the user's face until it is asked for. > >> > > > > That sounds fair enough to me. I've taken what you said into account and > > made a couple of modifications to the error page. > > > > I've transferred the text explaining the error from the dialog to the > > error page, and removed the dialog modal. The dialog title text was very > > similar to the current error message printed on the screen, so I've only > > kept the latter to avoid redundancy. In response to your comment about > > showing the stack trace when it's asked for, the stack trace is now > hidden > > under a expandable component so it can be collapsed & expanded as > desired. > > > > I've included some images to show these changes. > > > > Error page (gif): https://imgur.com/g8hpXlg > > Error page (collapsed): https://imgur.com/irTarA6 > > Error page (expanded): https://imgur.com/M51z8ct > > > > Cheers, > > > > Alex > > > > > >> Please let me know what you think! > >> > >> Kind regards, > >> Marcus > >> > >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < > >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> > wrote: > >> > >> Hi, > >> > >> This short patch addresses JMC-5372 [0], in which the error dialog > is > >> not > >> displayed when an exception is thrown in the JFR Editor. > >> > >> As far as I can tell, the error here is within the catch block of > the > >> "displayPage" function in the JFR Editor [1]. When an exception is > >> caught > >> there is an evaluation of the boolean property for > >> "showModalErrorDialog" > >> [2], however I cannot find the instance where this property would be > >> toggled from false to true. As a result, the if-statement takes the > >> branch > >> that displays the error page, but not the error dialog. The proposed > >> fix > >> here removes the check for the boolean (because we have already > >> caught the > >> exception), and instead opt to display both the error page and the > >> modal. > >> > >> I've included a couple of images to show the result of this patch > >> [3], as > >> well as gifs showing the before [4] & after [5] experience. > >> Before (gif): https://imgur.com/hHRmkx3 [3] > >> After (gif): https://imgur.com/8rtaysS [4] > >> After (img): https://imgur.com/0oBi6nH [5] > >> > >> Thoughts? > >> > >> Cheers, > >> > >> Alex > >> > >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 > >> [1] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 > >> [2] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 > >> [3] https://imgur.com/hHRmkx3 > >> [4] https://imgur.com/8rtaysS > >> [5] https://imgur.com/0oBi6nH > >> > >> > >> > >> > >> > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: 5372-2.patch Type: text/x-patch Size: 6677 bytes Desc: not available URL: From marcus.hirt at oracle.com Mon Nov 26 18:37:44 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 26 Nov 2018 19:37:44 +0100 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> Message-ID: Looks good to me! Kind regards, Marcus From: Alex Macdonald Date: Monday, 26 November 2018 at 19:29 To: Marcus Hirt Cc: Joshua Matsuoka , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Marcus & Josh, Thanks for taking another look at this. I've added the string into the messages.properties in this amended patch. Cheers, Alex On Mon, Nov 26, 2018 at 5:47 AM Marcus Hirt wrote: Hi Josh, Yes, it would make sense to externalize the strings. Kind regards, Marcus From: Joshua Matsuoka Date: Friday, 23 November 2018 at 17:07 To: Alex Macdonald Cc: Marcus Hirt , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Alex, - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page could not display data"; //$NON-NLS-1$ - - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ + public static final String INVALID_RECORDING_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ minor nit/question for Marcus: Should this message be localized in the same way as all of the other UI messages to keep things consistent? I.E. adding them to messages.properties and handling them in the usual way. Cheers, - Josh On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald wrote: Ping - I sent this out about a week ago, let me know what you think. On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald wrote: > Hi Marcus, > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > wrote: > >> Hi Alex, >> >> Personally I am a bit allergic to modal dialogs. For example, if we have >> multiple recordings ending with problems, I'd rather have the editors >> opening >> with details than one or more modal dialogs. That is, of course, a >> personal >> preference that I'd be happy to discuss here. That said, I think what is >> shown, >> and how it is shown, in the editor could be improved. For example we >> should >> show the error title and message (that would have been showed in the >> modal >> dialog) first, followed by the stack trace. Possibly not throwing the >> stack trace in the user's face until it is asked for. >> > > That sounds fair enough to me. I've taken what you said into account and > made a couple of modifications to the error page. > > I've transferred the text explaining the error from the dialog to the > error page, and removed the dialog modal. The dialog title text was very > similar to the current error message printed on the screen, so I've only > kept the latter to avoid redundancy. In response to your comment about > showing the stack trace when it's asked for, the stack trace is now hidden > under a expandable component so it can be collapsed & expanded as desired. > > I've included some images to show these changes. > > Error page (gif): https://imgur.com/g8hpXlg > Error page (collapsed): https://imgur.com/irTarA6 > Error page (expanded): https://imgur.com/M51z8ct > > Cheers, > > Alex > > >> Please let me know what you think! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: >> >> Hi, >> >> This short patch addresses JMC-5372 [0], in which the error dialog is >> not >> displayed when an exception is thrown in the JFR Editor. >> >> As far as I can tell, the error here is within the catch block of the >> "displayPage" function in the JFR Editor [1]. When an exception is >> caught >> there is an evaluation of the boolean property for >> "showModalErrorDialog" >> [2], however I cannot find the instance where this property would be >> toggled from false to true. As a result, the if-statement takes the >> branch >> that displays the error page, but not the error dialog. The proposed >> fix >> here removes the check for the boolean (because we have already >> caught the >> exception), and instead opt to display both the error page and the >> modal. >> >> I've included a couple of images to show the result of this patch >> [3], as >> well as gifs showing the before [4] & after [5] experience. >> Before (gif): https://imgur.com/hHRmkx3 [3] >> After (gif): https://imgur.com/8rtaysS [4] >> After (img): https://imgur.com/0oBi6nH [5] >> >> Thoughts? >> >> Cheers, >> >> Alex >> >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 >> [1] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 >> [2] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 >> [3] https://imgur.com/hHRmkx3 >> [4] https://imgur.com/8rtaysS >> [5] https://imgur.com/0oBi6nH >> >> >> >> >> > From almacdon at redhat.com Mon Nov 26 19:45:49 2018 From: almacdon at redhat.com (Alex Macdonald) Date: Mon, 26 Nov 2018 14:45:49 -0500 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> Message-ID: Great! Please find attached my exported patch, ready for pushing by someone with permissions. Cheers, Alex On Mon, Nov 26, 2018 at 1:37 PM Marcus Hirt wrote: > Looks good to me! > > > > Kind regards, > > Marcus > > > > *From: *Alex Macdonald > *Date: *Monday, 26 November 2018 at 19:29 > *To: *Marcus Hirt > *Cc: *Joshua Matsuoka , > *Subject: *Re: JMC-5372: Exception printed on page when opening invalid > recording > > > > Hi Marcus & Josh, > > > > Thanks for taking another look at this. I've added the string into the > messages.properties in this amended patch. > > > > Cheers, > > > > Alex > > > > On Mon, Nov 26, 2018 at 5:47 AM Marcus Hirt > wrote: > > Hi Josh, > > > > Yes, it would make sense to externalize the strings. > > > > Kind regards, > > Marcus > > > > *From: *Joshua Matsuoka > *Date: *Friday, 23 November 2018 at 17:07 > *To: *Alex Macdonald > *Cc: *Marcus Hirt , > *Subject: *Re: JMC-5372: Exception printed on page when opening invalid > recording > > > > Hi Alex, > > > > - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page > could not display data"; //$NON-NLS-1$ > - > > - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page > cannot be shown correctly for this recording. The recording may be from an > old JVM, or invalid in some other way."; //$NON-NLS-1$ > + public static final String INVALID_RECORDING_TEXT = "The page cannot > be shown correctly for this recording. The recording may be from an old > JVM, or invalid in some other way."; //$NON-NLS-1$ > > > > minor nit/question for Marcus: Should this message be localized in the > same way as all of the other UI messages to keep things consistent? I.E. > adding them to messages.properties and handling them in the usual way. > > > > Cheers, > > > > - Josh > > > > On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald > wrote: > > Ping - I sent this out about a week ago, let me know what you think. > > On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald > wrote: > > > Hi Marcus, > > > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > > wrote: > > > >> Hi Alex, > >> > >> Personally I am a bit allergic to modal dialogs. For example, if we have > >> multiple recordings ending with problems, I'd rather have the editors > >> opening > >> with details than one or more modal dialogs. That is, of course, a > >> personal > >> preference that I'd be happy to discuss here. That said, I think what is > >> shown, > >> and how it is shown, in the editor could be improved. For example we > >> should > >> show the error title and message (that would have been showed in the > >> modal > >> dialog) first, followed by the stack trace. Possibly not throwing the > >> stack trace in the user's face until it is asked for. > >> > > > > That sounds fair enough to me. I've taken what you said into account and > > made a couple of modifications to the error page. > > > > I've transferred the text explaining the error from the dialog to the > > error page, and removed the dialog modal. The dialog title text was very > > similar to the current error message printed on the screen, so I've only > > kept the latter to avoid redundancy. In response to your comment about > > showing the stack trace when it's asked for, the stack trace is now > hidden > > under a expandable component so it can be collapsed & expanded as > desired. > > > > I've included some images to show these changes. > > > > Error page (gif): https://imgur.com/g8hpXlg > > Error page (collapsed): https://imgur.com/irTarA6 > > Error page (expanded): https://imgur.com/M51z8ct > > > > Cheers, > > > > Alex > > > > > >> Please let me know what you think! > >> > >> Kind regards, > >> Marcus > >> > >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < > >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> > wrote: > >> > >> Hi, > >> > >> This short patch addresses JMC-5372 [0], in which the error dialog > is > >> not > >> displayed when an exception is thrown in the JFR Editor. > >> > >> As far as I can tell, the error here is within the catch block of > the > >> "displayPage" function in the JFR Editor [1]. When an exception is > >> caught > >> there is an evaluation of the boolean property for > >> "showModalErrorDialog" > >> [2], however I cannot find the instance where this property would be > >> toggled from false to true. As a result, the if-statement takes the > >> branch > >> that displays the error page, but not the error dialog. The proposed > >> fix > >> here removes the check for the boolean (because we have already > >> caught the > >> exception), and instead opt to display both the error page and the > >> modal. > >> > >> I've included a couple of images to show the result of this patch > >> [3], as > >> well as gifs showing the before [4] & after [5] experience. > >> Before (gif): https://imgur.com/hHRmkx3 [3] > >> After (gif): https://imgur.com/8rtaysS [4] > >> After (img): https://imgur.com/0oBi6nH [5] > >> > >> Thoughts? > >> > >> Cheers, > >> > >> Alex > >> > >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 > >> [1] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 > >> [2] > >> > >> > http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 > >> [3] https://imgur.com/hHRmkx3 > >> [4] https://imgur.com/8rtaysS > >> [5] https://imgur.com/0oBi6nH > >> > >> > >> > >> > >> > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: 5372-export.patch Type: text/x-patch Size: 6812 bytes Desc: not available URL: From marcus.hirt at oracle.com Mon Nov 26 20:15:49 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 26 Nov 2018 21:15:49 +0100 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: <3B0250E1-2F31-47DA-9B7E-0B6E21CB633A@redhat.com> References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> <3B0250E1-2F31-47DA-9B7E-0B6E21CB633A@redhat.com> Message-ID: <7A77CF7E-E368-441C-856C-674A66F8F7B7@oracle.com> Hi Alex, I can sponsor this patch if you want to. Kind regards, Marcus From: Alex Macdonald Date: Monday, 26 November 2018 at 20:46 To: Marcus Hirt Cc: Joshua Matsuoka , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Great! Please find attached my exported patch, ready for pushing by someone with permissions. Cheers, Alex On Mon, Nov 26, 2018 at 1:37 PM Marcus Hirt wrote: Looks good to me! Kind regards, Marcus From: Alex Macdonald Date: Monday, 26 November 2018 at 19:29 To: Marcus Hirt Cc: Joshua Matsuoka , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Marcus & Josh, Thanks for taking another look at this. I've added the string into the messages.properties in this amended patch. Cheers, Alex On Mon, Nov 26, 2018 at 5:47 AM Marcus Hirt wrote: Hi Josh, Yes, it would make sense to externalize the strings. Kind regards, Marcus From: Joshua Matsuoka Date: Friday, 23 November 2018 at 17:07 To: Alex Macdonald Cc: Marcus Hirt , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Alex, - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page could not display data"; //$NON-NLS-1$ - - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ + public static final String INVALID_RECORDING_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ minor nit/question for Marcus: Should this message be localized in the same way as all of the other UI messages to keep things consistent? I.E. adding them to messages.properties and handling them in the usual way. Cheers, - Josh On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald wrote: Ping - I sent this out about a week ago, let me know what you think. On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald wrote: > Hi Marcus, > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > wrote: > >> Hi Alex, >> >> Personally I am a bit allergic to modal dialogs. For example, if we have >> multiple recordings ending with problems, I'd rather have the editors >> opening >> with details than one or more modal dialogs. That is, of course, a >> personal >> preference that I'd be happy to discuss here. That said, I think what is >> shown, >> and how it is shown, in the editor could be improved. For example we >> should >> show the error title and message (that would have been showed in the >> modal >> dialog) first, followed by the stack trace. Possibly not throwing the >> stack trace in the user's face until it is asked for. >> > > That sounds fair enough to me. I've taken what you said into account and > made a couple of modifications to the error page. > > I've transferred the text explaining the error from the dialog to the > error page, and removed the dialog modal. The dialog title text was very > similar to the current error message printed on the screen, so I've only > kept the latter to avoid redundancy. In response to your comment about > showing the stack trace when it's asked for, the stack trace is now hidden > under a expandable component so it can be collapsed & expanded as desired. > > I've included some images to show these changes. > > Error page (gif): https://imgur.com/g8hpXlg > Error page (collapsed): https://imgur.com/irTarA6 > Error page (expanded): https://imgur.com/M51z8ct > > Cheers, > > Alex > > >> Please let me know what you think! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: >> >> Hi, >> >> This short patch addresses JMC-5372 [0], in which the error dialog is >> not >> displayed when an exception is thrown in the JFR Editor. >> >> As far as I can tell, the error here is within the catch block of the >> "displayPage" function in the JFR Editor [1]. When an exception is >> caught >> there is an evaluation of the boolean property for >> "showModalErrorDialog" >> [2], however I cannot find the instance where this property would be >> toggled from false to true. As a result, the if-statement takes the >> branch >> that displays the error page, but not the error dialog. The proposed >> fix >> here removes the check for the boolean (because we have already >> caught the >> exception), and instead opt to display both the error page and the >> modal. >> >> I've included a couple of images to show the result of this patch >> [3], as >> well as gifs showing the before [4] & after [5] experience. >> Before (gif): https://imgur.com/hHRmkx3 [3] >> After (gif): https://imgur.com/8rtaysS [4] >> After (img): https://imgur.com/0oBi6nH [5] >> >> Thoughts? >> >> Cheers, >> >> Alex >> >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 >> [1] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 >> [2] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 >> [3] https://imgur.com/hHRmkx3 >> [4] https://imgur.com/8rtaysS >> [5] https://imgur.com/0oBi6nH >> >> >> >> >> > From jmatsuok at redhat.com Mon Nov 26 21:25:54 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 26 Nov 2018 16:25:54 -0500 Subject: RFR: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: References: Message-ID: Forgot the patch: http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ [1] https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues Cheers, - Josh On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka wrote: > Hi, > > The following patch addresses JMC-6122 by changing the grouping aggregator > to instead group on stack trace so we can retrieve the hottest path > alongside the hottest method and display it in the rule results. > > > As for the comment on the bug [1], I think that belongs more in a separate > bug addressed by another patch. > > Thoughts? > > [1] > From jmatsuok at redhat.com Mon Nov 26 21:24:58 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Mon, 26 Nov 2018 16:24:58 -0500 Subject: RFR: JMC-6122: Method profiling rule should show the hottest path Message-ID: Hi, The following patch addresses JMC-6122 by changing the grouping aggregator to instead group on stack trace so we can retrieve the hottest path alongside the hottest method and display it in the rule results. As for the comment on the bug [1], I think that belongs more in a separate bug addressed by another patch. Thoughts? [1] From marcus.hirt at oracle.com Mon Nov 26 22:11:34 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 26 Nov 2018 23:11:34 +0100 Subject: JMC-5372: Exception printed on page when opening invalid recording In-Reply-To: <3B0250E1-2F31-47DA-9B7E-0B6E21CB633A@redhat.com> References: <76DCE463-2D74-4639-BE38-21D354D8E18E@oracle.com> <2B194391-5D25-4C71-98F3-752BEC3E0B59@redhat.com> <22EAE8A1-2C9E-46CB-B7D2-7F7E3B5D707A@oracle.com> <3B0250E1-2F31-47DA-9B7E-0B6E21CB633A@redhat.com> Message-ID: <781804D9-F358-4EB7-9840-955F220DBC34@oracle.com> Hi Alex, Excellent! Thank you for your contribution! Kind regards, Marcus From: Alex Macdonald Date: Monday, 26 November 2018 at 20:46 To: Marcus Hirt Cc: Joshua Matsuoka , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Great! Please find attached my exported patch, ready for pushing by someone with permissions. Cheers, Alex On Mon, Nov 26, 2018 at 1:37 PM Marcus Hirt wrote: Looks good to me! Kind regards, Marcus From: Alex Macdonald Date: Monday, 26 November 2018 at 19:29 To: Marcus Hirt Cc: Joshua Matsuoka , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Marcus & Josh, Thanks for taking another look at this. I've added the string into the messages.properties in this amended patch. Cheers, Alex On Mon, Nov 26, 2018 at 5:47 AM Marcus Hirt wrote: Hi Josh, Yes, it would make sense to externalize the strings. Kind regards, Marcus From: Joshua Matsuoka Date: Friday, 23 November 2018 at 17:07 To: Alex Macdonald Cc: Marcus Hirt , Subject: Re: JMC-5372: Exception printed on page when opening invalid recording Hi Alex, - public static final String INVALID_RECORDING_DIALOG_TITLE = "Page could not display data"; //$NON-NLS-1$ - - public static final String INVALID_RECORDING_DIALOG_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ + public static final String INVALID_RECORDING_TEXT = "The page cannot be shown correctly for this recording. The recording may be from an old JVM, or invalid in some other way."; //$NON-NLS-1$ minor nit/question for Marcus: Should this message be localized in the same way as all of the other UI messages to keep things consistent? I.E. adding them to messages.properties and handling them in the usual way. Cheers, - Josh On Tue, Nov 20, 2018 at 4:36 PM Alex Macdonald wrote: Ping - I sent this out about a week ago, let me know what you think. On Wed, Nov 14, 2018 at 4:12 PM Alex Macdonald wrote: > Hi Marcus, > > On Tue, Nov 13, 2018 at 7:59 PM, Marcus Hirt > wrote: > >> Hi Alex, >> >> Personally I am a bit allergic to modal dialogs. For example, if we have >> multiple recordings ending with problems, I'd rather have the editors >> opening >> with details than one or more modal dialogs. That is, of course, a >> personal >> preference that I'd be happy to discuss here. That said, I think what is >> shown, >> and how it is shown, in the editor could be improved. For example we >> should >> show the error title and message (that would have been showed in the >> modal >> dialog) first, followed by the stack trace. Possibly not throwing the >> stack trace in the user's face until it is asked for. >> > > That sounds fair enough to me. I've taken what you said into account and > made a couple of modifications to the error page. > > I've transferred the text explaining the error from the dialog to the > error page, and removed the dialog modal. The dialog title text was very > similar to the current error message printed on the screen, so I've only > kept the latter to avoid redundancy. In response to your comment about > showing the stack trace when it's asked for, the stack trace is now hidden > under a expandable component so it can be collapsed & expanded as desired. > > I've included some images to show these changes. > > Error page (gif): https://imgur.com/g8hpXlg > Error page (collapsed): https://imgur.com/irTarA6 > Error page (expanded): https://imgur.com/M51z8ct > > Cheers, > > Alex > > >> Please let me know what you think! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-13, 21:45, "jmc-dev on behalf of Alex Macdonald" < >> jmc-dev-bounces at openjdk.java.net on behalf of almacdon at redhat.com> wrote: >> >> Hi, >> >> This short patch addresses JMC-5372 [0], in which the error dialog is >> not >> displayed when an exception is thrown in the JFR Editor. >> >> As far as I can tell, the error here is within the catch block of the >> "displayPage" function in the JFR Editor [1]. When an exception is >> caught >> there is an evaluation of the boolean property for >> "showModalErrorDialog" >> [2], however I cannot find the instance where this property would be >> toggled from false to true. As a result, the if-statement takes the >> branch >> that displays the error page, but not the error dialog. The proposed >> fix >> here removes the check for the boolean (because we have already >> caught the >> exception), and instead opt to display both the error page and the >> modal. >> >> I've included a couple of images to show the result of this patch >> [3], as >> well as gifs showing the before [4] & after [5] experience. >> Before (gif): https://imgur.com/hHRmkx3 [3] >> After (gif): https://imgur.com/8rtaysS [4] >> After (img): https://imgur.com/0oBi6nH [5] >> >> Thoughts? >> >> Cheers, >> >> Alex >> >> [0] https://bugs.openjdk.java.net/browse/JMC-5372 >> [1] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l240 >> [2] >> >> http://hg.openjdk.java.net/jmc/jmc/file/a76a464b3764/application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java#l243 >> [3] https://imgur.com/hHRmkx3 >> [4] https://imgur.com/8rtaysS >> [5] https://imgur.com/0oBi6nH >> >> >> >> >> > From marcus.hirt at oracle.com Mon Nov 26 22:10:58 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Mon, 26 Nov 2018 22:10:58 +0000 Subject: hg: jmc/jmc: JMC-5372: Exception printed on page when opening invalid recording Message-ID: <201811262210.wAQMAw0l000384@aojmv0008.oracle.com> Changeset: 1fa131d835db Author: hirt Date: 2018-11-26 23:10 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/1fa131d835db JMC-5372: Exception printed on page when opening invalid recording Reviewed-by: hirt, jmatsuok Contributed-by: Alex Macdonald ! application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/JfrEditor.java ! application/org.openjdk.jmc.flightrecorder.ui/src/main/java/org/openjdk/jmc/flightrecorder/ui/messages/internal/Messages.java ! application/org.openjdk.jmc.flightrecorder.ui/src/main/resources/org/openjdk/jmc/flightrecorder/ui/messages/internal/messages.properties From marcus.hirt at oracle.com Mon Nov 26 22:29:16 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Mon, 26 Nov 2018 23:29:16 +0100 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> Message-ID: <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> Hi Josh, 1. Map.replace was introduced in JDK 8, and core is still compiled with JDK 7. 2. Just a nit - could the assignment of the fields for the MethodProfilingWindowResult please be in the order of the arguments? Kind regards, Marcus ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" wrote: Forgot the patch: http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ [1] https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues Cheers, - Josh On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka wrote: > Hi, > > The following patch addresses JMC-6122 by changing the grouping aggregator > to instead group on stack trace so we can retrieve the hottest path > alongside the hottest method and display it in the rule results. > > > As for the comment on the bug [1], I think that belongs more in a separate > bug addressed by another patch. > > Thoughts? > > [1] > From guru.hb at oracle.com Tue Nov 27 06:59:34 2018 From: guru.hb at oracle.com (Guru) Date: Tue, 27 Nov 2018 12:29:34 +0530 Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly Message-ID: <77137898-5E5A-46D0-984F-519D667EA80D@oracle.com> Hi All, Please review the fix for JBS : https://bugs.openjdk.java.net/browse/JMC-6127 Webrev : http://cr.openjdk.java.net/~ghb/JMC-6127/webrev.0/ Root cause and its solution is updated in JBS. Thanks Guru From neugens at redhat.com Tue Nov 27 11:00:08 2018 From: neugens at redhat.com (Mario Torre) Date: Tue, 27 Nov 2018 12:00:08 +0100 Subject: Java Mission Control Author request for: Alex Macdonald Message-ID: Hello Marcus, I would like to propose Alex Macdonald as author for Java Mission Control. Alex has been active on the JMC project helping out with discussions and testing and most importantly has already contributed two fixes, with more under work: JMC-5372: https://hg.openjdk.java.net/jmc/jmc/rev/1fa131d835db JMC-4667: https://hg.openjdk.java.net/jmc/jmc/rev/74caa58c420f Cheers, Mario -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From prem.balakrishnan at oracle.com Tue Nov 27 12:04:25 2018 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Tue, 27 Nov 2018 04:04:25 -0800 (PST) Subject: Review Request: JMC-6217 Update mail.api and its dependencies Message-ID: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> Hi All, Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. After including javax.activation package, we were still not able to trigger mail in JMC 7.0. Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, hence updated mail.api and required dependencies. With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Regards, Prem From jkang at redhat.com Tue Nov 27 13:33:12 2018 From: jkang at redhat.com (Jie Kang) Date: Tue, 27 Nov 2018 08:33:12 -0500 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> Message-ID: On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan wrote: > > Hi All, > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > hence updated mail.api and required dependencies. > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Hi Prem, javamail and javax.activation as well as a number of other EE packages are now under the Eclipse foundation, e.g. @ https://github.com/eclipse-ee4j/javamail https://github.com/eclipse-ee4j/jaf These now have releases as well, 1.6.3. for javamail and 1.2.1 for jaf. While we're in this area, should we update to the latest as well? The maven coordinates have changed, introducing the jakarta name, but I'm not sure how much would need to change in the Tycho system; I'm not too familiar with it. Regards, > > > > Regards, > Prem > > From marcus.hirt at oracle.com Tue Nov 27 13:59:46 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 27 Nov 2018 14:59:46 +0100 Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly In-Reply-To: <0D2B7D78-74E0-40D3-AFD2-1BA5E6FE367E@oracle.com> References: <0D2B7D78-74E0-40D3-AFD2-1BA5E6FE367E@oracle.com> Message-ID: <82032D8F-2E32-415C-AD4F-78BB0E9F7BA1@oracle.com> Hi Guru, Looks good, but documentation could be a bit improved e.g. on the ReferenceTree related classes. It should not say "Object which is leaked" rather "referenced object" or something similar. Also, it should preferably explain what the method does, and not only list the parameter. For example: * @param leafNode * Object which is leaked */ Kind regards, Marcus From: Guru Date: Tuesday, 27 November 2018 at 07:59 To: , Marcus Hirt Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly Hi All, Please review the fix for? JBS :?https://bugs.openjdk.java.net/browse/JMC-6127 Webrev :?http://cr.openjdk.java.net/~ghb/JMC-6127/webrev.0/ Root cause and its solution is updated in JBS.? Thanks Guru From marcus.hirt at oracle.com Tue Nov 27 14:32:58 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 27 Nov 2018 15:32:58 +0100 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> Message-ID: <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> Hi Jie, Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. Kind regards, Marcus ?On 2018-11-27, 14:33, "Jie Kang" wrote: On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan wrote: > > Hi All, > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > hence updated mail.api and required dependencies. > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Hi Prem, javamail and javax.activation as well as a number of other EE packages are now under the Eclipse foundation, e.g. @ https://github.com/eclipse-ee4j/javamail https://github.com/eclipse-ee4j/jaf These now have releases as well, 1.6.3. for javamail and 1.2.1 for jaf. While we're in this area, should we update to the latest as well? The maven coordinates have changed, introducing the jakarta name, but I'm not sure how much would need to change in the Tycho system; I'm not too familiar with it. Regards, > > > > Regards, > Prem > > From hdafgard at gmail.com Tue Nov 27 15:47:09 2018 From: hdafgard at gmail.com (=?UTF-8?Q?Henrik_Dafg=C3=A5rd?=) Date: Tue, 27 Nov 2018 16:47:09 +0100 Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly In-Reply-To: <82032D8F-2E32-415C-AD4F-78BB0E9F7BA1@oracle.com> References: <0D2B7D78-74E0-40D3-AFD2-1BA5E6FE367E@oracle.com> <82032D8F-2E32-415C-AD4F-78BB0E9F7BA1@oracle.com> Message-ID: Hi, The leaves in the aggregated reference trees are not necessarily leaks, they're just known to be alive when the recording is dumped and the documentation should reflect that. I think referring to the leaf nodes as closer to OldObjectSamples or something similar would be better since it differentiates them more clearly from the leak candidates. There also seems to be a change in MemoryLeakPageUI constructor where the initial state of the table is set to display model.getLeakObjects() instead of model.getRootObjects(), which should probably be configurable. But there is also the case where selecting a time range will show model.getLeakObjects(IRange) and then unselecting a time range will revert to model.getRootObjects() even in this change. * A helper method to calculate number of leaked object with in specified time Within is one word, and since this is a sentence should be followed with a period. Other than that it looks good. // Henrik Dafg?rd On Tue, 27 Nov 2018 at 15:00, Marcus Hirt wrote: > Hi Guru, > > Looks good, but documentation could be a bit improved e.g. on the > ReferenceTree related classes. It should not say "Object which is leaked" > rather "referenced object" or something similar. Also, it should > preferably > explain what the method does, and not only list the parameter. For example: > > * @param leafNode > * Object which is leaked > */ > > Kind regards, > Marcus > > From: Guru > Date: Tuesday, 27 November 2018 at 07:59 > To: , Marcus Hirt > Subject: Review request: JMC-6127: Live Objects Page do not forward > selections correctly > > Hi All, > > Please review the fix for > JBS : https://bugs.openjdk.java.net/browse/JMC-6127 > Webrev : http://cr.openjdk.java.net/~ghb/JMC-6127/webrev.0/ > > Root cause and its solution is updated in JBS. > > Thanks > Guru > > > From kdobson at redhat.com Tue Nov 27 17:11:33 2018 From: kdobson at redhat.com (Ken Dobson) Date: Tue, 27 Nov 2018 12:11:33 -0500 Subject: Previously Completed JIRA Tickets Message-ID: Hi all, I've created a list of bugs that most likely have been solved so that they can be resolved on JIRA. Please let me know if there was any issues with how I attempted to replicate. https://bugs.openjdk.java.net/browse/JMC-5612 1. Select OldObjectSample in Event Browser 2. Objects that are not in an array display an Array Size of -1 rather than MININT - https://bugs.openjdk.java.net/browse/JMC-5406 EventAppearance class no longer exists in flightrecorder.configuration - https://bugs.openjdk.java.net/browse/JMC-5575 1. Added a Custom Event to a JVM and opened the Recording Wizard 2. Selected my custom event and the Enabled checkbox was not visually selected and did not record when started unless selected - https://bugs.openjdk.java.net/browse/JMC-5366 I'm not sure about this one as I'm unable to create large recordings on my machine, a few hundred megabytes max so I haven't noticed any significant lag. However it appears a large portion of the data is persisted after the page is loaded for the first time so I'm wondering if this is mostly an issue if you try to switch between a number of pages that have yet to be loaded. As well the Outline tab only updates the highlighted selection to the last selection which seems to indicates the load is being aborted at some point. An example to make this more clear would be if we select Thread -> Memory -> File I/O -> Socket I/O very quickly we'll only see Threads initially highlighted then Socket I/O will load and be highlighted, skipping over B and C. Any more information regarding this one would be great thanks. - https://bugs.openjdk.java.net/browse/JMC-4556 Again not sure about this one as I'm not aware of what FilterMatcher.regexpMatch() looked like at the time this bug was opened as there is no history as a result of the move to the OpenJDK. That being said it caches the most recently compiled Pattern as a class variable and only compiles a new Pattern if it doesn't equal the filterString. This to me sounds like some changes were made since the ticket refers to a new pattern being compiled each time it's called. If someone could clarify this that would be great. Thanks, Ken Dobson From guru.hb at oracle.com Tue Nov 27 17:28:25 2018 From: guru.hb at oracle.com (Guru) Date: Tue, 27 Nov 2018 22:58:25 +0530 Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly In-Reply-To: References: <0D2B7D78-74E0-40D3-AFD2-1BA5E6FE367E@oracle.com> <82032D8F-2E32-415C-AD4F-78BB0E9F7BA1@oracle.com> Message-ID: <6711EAC3-392D-4473-8081-3B0A70057EFF@oracle.com> Thanks Henrik and Marcus, Please find Updated webrev : http://cr.openjdk.java.net/~ghb/JMC-6127/webrev.1/ -Guru > On 27-Nov-2018, at 9:17 PM, Henrik Dafg?rd wrote: > > Hi, > > The leaves in the aggregated reference trees are not necessarily leaks, they're just known to be alive when the recording is dumped and the documentation should reflect that. I think referring to the leaf nodes as closer to OldObjectSamples or something similar would be better since it differentiates them more clearly from the leak candidates. > > There also seems to be a change in MemoryLeakPageUI constructor where the initial state of the table is set to display model.getLeakObjects() instead of model.getRootObjects(), which should probably be configurable. But there is also the case where selecting a time range will show model.getLeakObjects(IRange) and then unselecting a time range will revert to model.getRootObjects() even in this change. This is intended, ?model.getRootObjects()? are required if there is no time line selected in the chart, where as ?model.getLeakObjects(IRange)? returns RootObjects in which the alocationTime is filtered based on its leaf node rather than its Root. > > * A helper method to calculate number of leaked object with in specified time This is taken are with updated webrev.1. > Within is one word, and since this is a sentence should be followed with a period. > > Other than that it looks good. > > // Henrik Dafg?rd > > > On Tue, 27 Nov 2018 at 15:00, Marcus Hirt > wrote: > Hi Guru, > > Looks good, but documentation could be a bit improved e.g. on the > ReferenceTree related classes. It should not say "Object which is leaked" > rather "referenced object" or something similar. Also, it should preferably > explain what the method does, and not only list the parameter. For example: > > * @param leafNode > * Object which is leaked > */ > Please check the updated webrev.1. > Kind regards, > Marcus > > From: Guru > > Date: Tuesday, 27 November 2018 at 07:59 > To: >, Marcus Hirt > > Subject: Review request: JMC-6127: Live Objects Page do not forward selections correctly > > Hi All, > > Please review the fix for > JBS : https://bugs.openjdk.java.net/browse/JMC-6127 > Webrev : http://cr.openjdk.java.net/~ghb/JMC-6127/webrev.0/ > > Root cause and its solution is updated in JBS. > > Thanks > Guru > > From erik.gahlin at oracle.com Tue Nov 27 17:33:16 2018 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Tue, 27 Nov 2018 18:33:16 +0100 Subject: Previously Completed JIRA Tickets In-Reply-To: References: Message-ID: <5BFD7FDC.6070907@oracle.com> Hi Ken, You can create a large recording like this: import jdk.jfr.*; public class LargeRecording { static class MyEvent extends Event { } public static void main(String[] args) throws Exception { try (Recording r = new Recording()) { r.start(); do { for (int i = 0; i < 1_000_000; i++) { MyEvent e = new MyEvent(); e.commit(); } System.out.println("Size: " + r.getSize() / (1024 * 1024) + " MB"); } while (r.getSize() < 1024 * 1024 * 1024); r.stop(); Path file = Files.createTempFile("large-recording", ".jfr"); System.out.println("Dumping file at " + file); r.dump(file); System.out.println("File will be removed in 30 s. "); Thread.sleep(30_000); Files.delete(file); System.out.println("File removed!"); } } } Cheers! Erik > Hi all, > > I've created a list of bugs that most likely have been solved so that they > can be resolved on JIRA. Please let me know if there was any issues with > how I attempted to replicate. > > https://bugs.openjdk.java.net/browse/JMC-5612 > 1. Select OldObjectSample in Event Browser > 2. Objects that are not in an array display an Array Size of -1 rather than > MININT > > - https://bugs.openjdk.java.net/browse/JMC-5406 > EventAppearance class no longer exists in flightrecorder.configuration > > - https://bugs.openjdk.java.net/browse/JMC-5575 > 1. Added a Custom Event to a JVM and opened the Recording Wizard > 2. Selected my custom event and the Enabled checkbox was not visually > selected and did not record when started unless selected > > - https://bugs.openjdk.java.net/browse/JMC-5366 > I'm not sure about this one as I'm unable to create large recordings on > my machine, a few hundred megabytes max so I haven't noticed any > significant lag. However it appears a large portion of the data is > persisted after the page is loaded for the first time so I'm wondering if > this is mostly an issue if you try to switch between a number of pages that > have yet to be loaded. > As well the Outline tab only updates the highlighted selection to the > last selection which seems to indicates the load is being aborted at some > point. An example to make this more clear would be if we select Thread -> > Memory -> File I/O -> Socket I/O very quickly we'll only see Threads > initially highlighted then Socket I/O will load and be highlighted, > skipping over B and C. > Any more information regarding this one would be great thanks. > > - https://bugs.openjdk.java.net/browse/JMC-4556 > Again not sure about this one as I'm not aware of what > FilterMatcher.regexpMatch() looked like at the time this bug was opened as > there is no history as a result of the move to the OpenJDK. That being said > it caches the most recently compiled Pattern as a class variable and only > compiles a new Pattern if it doesn't equal the filterString. > This to me sounds like some changes were made since the ticket refers > to a new pattern being compiled each time it's called. If someone could > clarify this that would be great. > > Thanks, > > Ken Dobson From marcus.hirt at oracle.com Tue Nov 27 18:06:19 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 27 Nov 2018 19:06:19 +0100 Subject: Previously Completed JIRA Tickets In-Reply-To: <34C62676-F59A-4F91-BF17-91387D0A7B66@oracle.com> References: <34C62676-F59A-4F91-BF17-91387D0A7B66@oracle.com> Message-ID: <6428AB87-A0E2-4C94-B173-02E0F2D2C31D@oracle.com> Hi Ken, JMC-5612: This smells like either a new content type or normalizing the event type. I am keeping it open but moving it to a later release. JMC-5406: Indeed - resolved as fixed. JMC-5575: Need to test against an Oracle JDK 8. Keeping it open. JMC-5366: Reported from outside the JMC team. I don't think this should hold up the release, and any change to improve this would be risky at this point. I am moving it to 7.1.0. JMC-4556: Indeed - resolved as fixed. Thank you for looking at these! Kind regards, Marcus ?On 2018-11-27, 18:35, "jmc-dev on behalf of Erik Gahlin" wrote: Hi Ken, You can create a large recording like this: import jdk.jfr.*; public class LargeRecording { static class MyEvent extends Event { } public static void main(String[] args) throws Exception { try (Recording r = new Recording()) { r.start(); do { for (int i = 0; i < 1_000_000; i++) { MyEvent e = new MyEvent(); e.commit(); } System.out.println("Size: " + r.getSize() / (1024 * 1024) + " MB"); } while (r.getSize() < 1024 * 1024 * 1024); r.stop(); Path file = Files.createTempFile("large-recording", ".jfr"); System.out.println("Dumping file at " + file); r.dump(file); System.out.println("File will be removed in 30 s. "); Thread.sleep(30_000); Files.delete(file); System.out.println("File removed!"); } } } Cheers! Erik > Hi all, > > I've created a list of bugs that most likely have been solved so that they > can be resolved on JIRA. Please let me know if there was any issues with > how I attempted to replicate. > > https://bugs.openjdk.java.net/browse/JMC-5612 > 1. Select OldObjectSample in Event Browser > 2. Objects that are not in an array display an Array Size of -1 rather than > MININT > > - https://bugs.openjdk.java.net/browse/JMC-5406 > EventAppearance class no longer exists in flightrecorder.configuration > > - https://bugs.openjdk.java.net/browse/JMC-5575 > 1. Added a Custom Event to a JVM and opened the Recording Wizard > 2. Selected my custom event and the Enabled checkbox was not visually > selected and did not record when started unless selected > > - https://bugs.openjdk.java.net/browse/JMC-5366 > I'm not sure about this one as I'm unable to create large recordings on > my machine, a few hundred megabytes max so I haven't noticed any > significant lag. However it appears a large portion of the data is > persisted after the page is loaded for the first time so I'm wondering if > this is mostly an issue if you try to switch between a number of pages that > have yet to be loaded. > As well the Outline tab only updates the highlighted selection to the > last selection which seems to indicates the load is being aborted at some > point. An example to make this more clear would be if we select Thread -> > Memory -> File I/O -> Socket I/O very quickly we'll only see Threads > initially highlighted then Socket I/O will load and be highlighted, > skipping over B and C. > Any more information regarding this one would be great thanks. > > - https://bugs.openjdk.java.net/browse/JMC-4556 > Again not sure about this one as I'm not aware of what > FilterMatcher.regexpMatch() looked like at the time this bug was opened as > there is no history as a result of the move to the OpenJDK. That being said > it caches the most recently compiled Pattern as a class variable and only > compiles a new Pattern if it doesn't equal the filterString. > This to me sounds like some changes were made since the ticket refers > to a new pattern being compiled each time it's called. If someone could > clarify this that would be great. > > Thanks, > > Ken Dobson From aazores at redhat.com Tue Nov 27 19:01:37 2018 From: aazores at redhat.com (Andrew Azores) Date: Tue, 27 Nov 2018 14:01:37 -0500 Subject: JMC-4635: Copy-paste testing. Still valid? Message-ID: Hi all, I'm looking at https://bugs.openjdk.java.net/browse/JMC-4635 . I can't view the attached test run logs in the report, but I assume they are talking about logs from a "mvn verify -P uitests" run? Would it be possible for someone to re-post those log messages here on the list (scrubbed if need be) for wider viewing? In my test runs on Fedora 29 there don't seem to be any failing copy-paste tests, and there are no log messages about keybinding conflicts occurring for CopySelectionActions. There are keybinding conflict messages but they all relate to a CTRL+3 binding for Quick Access, which looks to be intrinsic to the Workbench and not something JMC-specific. One such example looks like this: > !ENTRY org.eclipse.jface 2 0 2018-11-27 13:27:33.305 > !MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. > !SUBENTRY 1 org.eclipse.jface 2 0 2018-11-27 13:27:33.305 > !MESSAGE A conflict occurred for CTRL+3: > Binding(CTRL+3, > ParameterizedCommand(Command(org.eclipse.ui.window.quickAccess,Quick Access, > Quickly access UI elements, > Category(org.eclipse.ui.category.window,Window,null,true), > org.eclipse.ui.internal.WorkbenchHandlerServiceHandler at 2db33feb, > ,,true),null), > org.eclipse.ui.defaultAcceleratorConfiguration, > org.eclipse.ui.contexts.window,,,system) > Binding(CTRL+3, > ParameterizedCommand(Command(org.eclipse.ui.window.quickAccess,Quick Access, > Quickly access UI elements, > Category(org.eclipse.ui.category.window,Window,null,true), > org.eclipse.ui.internal.WorkbenchHandlerServiceHandler at 2db33feb, > ,,true),null), > org.eclipse.ui.defaultAcceleratorConfiguration, > org.eclipse.ui.contexts.window,,,system) > Running org.openjdk.jmc.browser.uitest.CustomConnectionsTest -- Andrew Azores Software Engineer, OpenJDK Team Red Hat From marcus.hirt at oracle.com Tue Nov 27 19:18:39 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 27 Nov 2018 20:18:39 +0100 Subject: JMC-4635: Copy-paste testing. Still valid? In-Reply-To: References: Message-ID: <612418BB-3A5F-4289-861A-CBFCCB7C7D87@oracle.com> Hi Andrew, Thanks for looking into this. I updated the bug. Kind regards, Marcus ?On 2018-11-27, 20:02, "jmc-dev on behalf of Andrew Azores" wrote: Hi all, I'm looking at https://bugs.openjdk.java.net/browse/JMC-4635 . I can't view the attached test run logs in the report, but I assume they are talking about logs from a "mvn verify -P uitests" run? Would it be possible for someone to re-post those log messages here on the list (scrubbed if need be) for wider viewing? In my test runs on Fedora 29 there don't seem to be any failing copy-paste tests, and there are no log messages about keybinding conflicts occurring for CopySelectionActions. There are keybinding conflict messages but they all relate to a CTRL+3 binding for Quick Access, which looks to be intrinsic to the Workbench and not something JMC-specific. One such example looks like this: > !ENTRY org.eclipse.jface 2 0 2018-11-27 13:27:33.305 > !MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. > !SUBENTRY 1 org.eclipse.jface 2 0 2018-11-27 13:27:33.305 > !MESSAGE A conflict occurred for CTRL+3: > Binding(CTRL+3, > ParameterizedCommand(Command(org.eclipse.ui.window.quickAccess,Quick Access, > Quickly access UI elements, > Category(org.eclipse.ui.category.window,Window,null,true), > org.eclipse.ui.internal.WorkbenchHandlerServiceHandler at 2db33feb, > ,,true),null), > org.eclipse.ui.defaultAcceleratorConfiguration, > org.eclipse.ui.contexts.window,,,system) > Binding(CTRL+3, > ParameterizedCommand(Command(org.eclipse.ui.window.quickAccess,Quick Access, > Quickly access UI elements, > Category(org.eclipse.ui.category.window,Window,null,true), > org.eclipse.ui.internal.WorkbenchHandlerServiceHandler at 2db33feb, > ,,true),null), > org.eclipse.ui.defaultAcceleratorConfiguration, > org.eclipse.ui.contexts.window,,,system) > Running org.openjdk.jmc.browser.uitest.CustomConnectionsTest -- Andrew Azores Software Engineer, OpenJDK Team Red Hat From jmatsuok at redhat.com Tue Nov 27 19:31:59 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Tue, 27 Nov 2018 14:31:59 -0500 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> Message-ID: Hi Marcus, Thanks for the review! Here's an updated webrev http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.02/ Cheers, - Josh On Mon, Nov 26, 2018 at 5:31 PM Marcus Hirt wrote: > Hi Josh, > > 1. Map.replace was introduced in JDK 8, and core is still compiled with > JDK 7. > > 2. Just a nit - could the assignment of the fields for the > MethodProfilingWindowResult please be in the order of the arguments? > > Kind regards, > Marcus > > ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" < > jmc-dev-bounces at openjdk.java.net on behalf of jmatsuok at redhat.com> wrote: > > Forgot the patch: > http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ > > [1] > > https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues > > Cheers, > > - Josh > > On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka > wrote: > > > Hi, > > > > The following patch addresses JMC-6122 by changing the grouping > aggregator > > to instead group on stack trace so we can retrieve the hottest path > > alongside the hottest method and display it in the rule results. > > > > > > As for the comment on the bug [1], I think that belongs more in a > separate > > bug addressed by another patch. > > > > Thoughts? > > > > [1] > > > > > > > From marcus.hirt at oracle.com Tue Nov 27 20:11:22 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Tue, 27 Nov 2018 21:11:22 +0100 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: <2149C8F6-6470-4FF0-97CD-7336766EBFB4@redhat.com> References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> <2149C8F6-6470-4FF0-97CD-7336766EBFB4@redhat.com> Message-ID: Hi Josh, Looks good! Perhaps a new paragraph before the ?The most common stack trace was?? Kind regards, Marcus From: Joshua Matsuoka Date: Tuesday, 27 November 2018 at 20:32 To: Marcus Hirt Cc: Subject: Re: JMC-6122: Method profiling rule should show the hottest path Hi Marcus, Thanks for the review! Here's an updated webrev http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.02/ Cheers, - Josh On Mon, Nov 26, 2018 at 5:31 PM Marcus Hirt wrote: Hi Josh, 1. Map.replace was introduced in JDK 8, and core is still compiled with JDK 7. 2. Just a nit - could the assignment of the fields for the ? ?MethodProfilingWindowResult please be in the order of the arguments? Kind regards, Marcus ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" wrote: ? ? Forgot the patch: http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ ? ? [1] ? ? https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues ? ? Cheers, ? ? - Josh ? ? On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka wrote: ? ? > Hi, ? ? > ? ? > The following patch addresses JMC-6122 by changing the grouping aggregator ? ? > to instead group on stack trace so we can retrieve the hottest path ? ? > alongside the hottest method and display it in the rule results. ? ? > ? ? > ? ? > As for the comment on the bug [1], I think that belongs more in a separate ? ? > bug addressed by another patch. ? ? > ? ? > Thoughts? ? ? > ? ? > [1] ? ? > From prem.balakrishnan at oracle.com Wed Nov 28 12:17:17 2018 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Wed, 28 Nov 2018 04:17:17 -0800 (PST) Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> Message-ID: <7b544e7c-8c0b-4a89-ab57-a7f0bb4584f3@default> Hi Jie, Marcus Thank you for the review. Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ I have used latest versions of javamail and activation. With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. javax.mail.Session loadResource WARNING: expected resource not found: /META-INF/javamail.default.address.map I have contacted Yashi regarding third party approval, once review is done we can take further action. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Tuesday, November 27, 2018 8:03 PM To: Jie Kang ; Prem Balakrishnan Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Jie, Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. Kind regards, Marcus ?On 2018-11-27, 14:33, "Jie Kang" wrote: On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan wrote: > > Hi All, > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > hence updated mail.api and required dependencies. > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Hi Prem, javamail and javax.activation as well as a number of other EE packages are now under the Eclipse foundation, e.g. @ https://github.com/eclipse-ee4j/javamail https://github.com/eclipse-ee4j/jaf These now have releases as well, 1.6.3. for javamail and 1.2.1 for jaf. While we're in this area, should we update to the latest as well? The maven coordinates have changed, introducing the jakarta name, but I'm not sure how much would need to change in the Tycho system; I'm not too familiar with it. Regards, > > > > Regards, > Prem > > From marcus.hirt at oracle.com Wed Nov 28 14:00:53 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Wed, 28 Nov 2018 15:00:53 +0100 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> Message-ID: Hi Prem, Seems the better way to consume the reference mail implementation is using (only) the javax.mail bundle. See: https://javaee.github.io/javamail/ com.sun.mail javax.mail 1.6.2 Also (a similar issue for another project): https://github.com/triplea-game/triplea/pull/2541 I suggest checking to see if a similar change fixes the error messages for us. Kind regards, Marcus ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: Hi Jie, Marcus Thank you for the review. Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ I have used latest versions of javamail and activation. With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. javax.mail.Session loadResource WARNING: expected resource not found: /META-INF/javamail.default.address.map I have contacted Yashi regarding third party approval, once review is done we can take further action. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Tuesday, November 27, 2018 8:03 PM To: Jie Kang ; Prem Balakrishnan Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Jie, Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. Kind regards, Marcus ?On 2018-11-27, 14:33, "Jie Kang" wrote: On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan wrote: > > Hi All, > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > hence updated mail.api and required dependencies. > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Hi Prem, javamail and javax.activation as well as a number of other EE packages are now under the Eclipse foundation, e.g. @ https://github.com/eclipse-ee4j/javamail https://github.com/eclipse-ee4j/jaf These now have releases as well, 1.6.3. for javamail and 1.2.1 for jaf. While we're in this area, should we update to the latest as well? The maven coordinates have changed, introducing the jakarta name, but I'm not sure how much would need to change in the Tycho system; I'm not too familiar with it. Regards, > > > > Regards, > Prem > > From jmatsuok at redhat.com Wed Nov 28 15:59:36 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Wed, 28 Nov 2018 10:59:36 -0500 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> <2149C8F6-6470-4FF0-97CD-7336766EBFB4@redhat.com> Message-ID: Hi Marcus, Here's an exported patch with the requested change. Mario, could you sponsor it? Cheers, - Josh On Tue, Nov 27, 2018 at 3:11 PM Marcus Hirt wrote: > Hi Josh, > > Looks good! Perhaps a new paragraph before the ?The most common stack > trace was?? > > Kind regards, > Marcus > > > From: Joshua Matsuoka > Date: Tuesday, 27 November 2018 at 20:32 > To: Marcus Hirt > Cc: > Subject: Re: JMC-6122: Method profiling rule should show the hottest path > > Hi Marcus, > > Thanks for the review! Here's an updated webrev > > http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.02/ > > Cheers, > > - Josh > > On Mon, Nov 26, 2018 at 5:31 PM Marcus Hirt > wrote: > Hi Josh, > > 1. Map.replace was introduced in JDK 8, and core is still compiled with > JDK 7. > > 2. Just a nit - could the assignment of the fields for the > MethodProfilingWindowResult please be in the order of the arguments? > > Kind regards, > Marcus > > ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" jmc-dev-bounces at openjdk.java.net on behalf of mailto:jmatsuok at redhat.com> > wrote: > > Forgot the patch: > http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ > > [1] > > https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues > > Cheers, > > - Josh > > On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka jmatsuok at redhat.com> wrote: > > > Hi, > > > > The following patch addresses JMC-6122 by changing the grouping > aggregator > > to instead group on stack trace so we can retrieve the hottest path > > alongside the hottest method and display it in the rule results. > > > > > > As for the comment on the bug [1], I think that belongs more in a > separate > > bug addressed by another patch. > > > > Thoughts? > > > > [1] > > > > > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: JMC-6122.patch Type: text/x-patch Size: 17721 bytes Desc: not available URL: From prem.balakrishnan at oracle.com Thu Nov 29 04:14:57 2018 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Wed, 28 Nov 2018 20:14:57 -0800 (PST) Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> Message-ID: Hi Marcus, Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Wednesday, November 28, 2018 7:31 PM To: Prem Balakrishnan ; Jie Kang Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Prem, Seems the better way to consume the reference mail implementation is using (only) the javax.mail bundle. See: https://javaee.github.io/javamail/ com.sun.mail javax.mail 1.6.2 Also (a similar issue for another project): https://github.com/triplea-game/triplea/pull/2541 I suggest checking to see if a similar change fixes the error messages for us. Kind regards, Marcus ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: Hi Jie, Marcus Thank you for the review. Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ I have used latest versions of javamail and activation. With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. javax.mail.Session loadResource WARNING: expected resource not found: /META-INF/javamail.default.address.map I have contacted Yashi regarding third party approval, once review is done we can take further action. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Tuesday, November 27, 2018 8:03 PM To: Jie Kang ; Prem Balakrishnan Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Jie, Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. Kind regards, Marcus ?On 2018-11-27, 14:33, "Jie Kang" wrote: On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan wrote: > > Hi All, > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > hence updated mail.api and required dependencies. > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. Hi Prem, javamail and javax.activation as well as a number of other EE packages are now under the Eclipse foundation, e.g. @ https://github.com/eclipse-ee4j/javamail https://github.com/eclipse-ee4j/jaf These now have releases as well, 1.6.3. for javamail and 1.2.1 for jaf. While we're in this area, should we update to the latest as well? The maven coordinates have changed, introducing the jakarta name, but I'm not sure how much would need to change in the Tycho system; I'm not too familiar with it. Regards, > > > > Regards, > Prem > > From marcus.hirt at oracle.com Thu Nov 29 08:34:55 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 29 Nov 2018 09:34:55 +0100 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> Message-ID: <562D7DCD-1B96-4988-98BB-89724801DAF6@oracle.com> Looks good! /M - Excuse me if terse; sent from my phone. > On 29 Nov 2018, at 05:14, Prem Balakrishnan wrote: > > Hi Marcus, > > Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ > > com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Wednesday, November 28, 2018 7:31 PM > To: Prem Balakrishnan ; Jie Kang > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Prem, > > Seems the better way to consume the reference mail implementation is using > (only) the javax.mail bundle. > > See: > https://javaee.github.io/javamail/ > > > > com.sun.mail > javax.mail > 1.6.2 > > > > Also (a similar issue for another project): > https://github.com/triplea-game/triplea/pull/2541 > > I suggest checking to see if a similar change fixes the error messages for us. > > Kind regards, > Marcus > > ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: > > Hi Jie, Marcus > > Thank you for the review. > > Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ > I have used latest versions of javamail and activation. > With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. > javax.mail.Session loadResource > WARNING: expected resource not found: /META-INF/javamail.default.address.map > > I have contacted Yashi regarding third party approval, once review is done we can take further action. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Tuesday, November 27, 2018 8:03 PM > To: Jie Kang ; Prem Balakrishnan > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Jie, > > Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. > > Kind regards, > Marcus > > ?On 2018-11-27, 14:33, "Jie Kang" wrote: > > On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan > wrote: >> >> Hi All, >> >> >> >> Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 >> >> Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ >> >> >> >> Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. >> >> In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. >> >> >> >> After including javax.activation package, we were still not able to trigger mail in JMC 7.0. >> >> Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, >> >> hence updated mail.api and required dependencies. >> >> >> >> With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. > > Hi Prem, > > javamail and javax.activation as well as a number of other EE packages > are now under the Eclipse foundation, e.g. @ > > https://github.com/eclipse-ee4j/javamail > https://github.com/eclipse-ee4j/jaf > > These now have releases as well, 1.6.3. for javamail and 1.2.1 for > jaf. While we're in this area, should we update to the latest as well? > The maven coordinates have changed, introducing the jakarta name, but > I'm not sure how much would need to change in the Tycho system; I'm > not too familiar with it. > > > Regards, > >> >> >> >> Regards, >> Prem >> >> > > > > > > > > From markus.gronlund at oracle.com Thu Nov 29 10:09:13 2018 From: markus.gronlund at oracle.com (Markus Gronlund) Date: Thu, 29 Nov 2018 02:09:13 -0800 (PST) Subject: JMC parser and upcoming JFR event streaming Message-ID: Hello, We have been prototyping some of the JFR event streaming capabilities that we are planning for the near future; Our Event Streaming JEP is still in draft state but you can take a look here: https://bugs.openjdk.java.net/browse/JDK-8184193 Currently, our goal is to work to implement this feature for JDK13. We have some design ideas of how we could accomplish this, and if all ideas falls out as planned, it would mean we do not have to update the file format version to introduce streaming which would be a good thing for backwards compatibility. That said, in the streaming scenario, we will be more loose in regards to implicit ordering (established historically) of events. For example, in the current prototype, we are elaborating on getting the bulk constant pools (event id 1) and the metadata section (event id 0) written at the start of the chunk. Both these events have markers / pointers in the file header section that should be used by a parser to find their starting positions. Our JFR reference parsers reads these to find the correct offsets and can read up these "streaming recordings". However, as I elaborated on getting the streaming recording loaded into JMC, it seems it only reads a small section of the file. A conjecture is that the JMC parser only reads up to the first metadata event? The reason for this claim is that traditionally, this has been the last event in the chunk. This is currently only a speculation and is the reason for sending out this mail - it would be sad if we can maintain the file format but the JMC parser will not be able to parse the files just because of this issue. Maybe you want to have the choice of incorporating this now as soon as possible, to have JMC 7 be able to read upcoming "streamed" recordings? I have uploaded a kit with two recordings for comparison - please see: http://cr.openjdk.java.net/~mgronlun/stream_recording_prototype/ This has used the HotMethods JMC lab, and there are two recordings per 1 minute. One recording is the current JDK11 behavior, the other is a recording done using the current prototype "streaming system", using a flush interval every second. Thanks Markus From jkang at redhat.com Thu Nov 29 15:28:08 2018 From: jkang at redhat.com (Jie Kang) Date: Thu, 29 Nov 2018 10:28:08 -0500 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> Message-ID: Hi Prem, Marcus, It's my understanding that the latest versions for javamail and jaf are from the Eclipse Foundation and are javamail : 1.6.3 : com.sun.mail:jakarta.mail https://github.com/eclipse-ee4j/javamail/releases/tag/1.6.3 https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail/1.6.3 jaf : 1.2.1 : com.sun.activation:jakarta.activation https://github.com/eclipse-ee4j/jaf/releases/tag/1.2.1 https://mvnrepository.com/artifact/com.sun.activation/jakarta.activation/1.2.1 My initial suggestion was to use these. Is that possible? Regards, On Wed, Nov 28, 2018 at 11:17 PM Prem Balakrishnan wrote: > > Hi Marcus, > > Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ > > com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Wednesday, November 28, 2018 7:31 PM > To: Prem Balakrishnan ; Jie Kang > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Prem, > > Seems the better way to consume the reference mail implementation is using > (only) the javax.mail bundle. > > See: > https://javaee.github.io/javamail/ > > > > com.sun.mail > javax.mail > 1.6.2 > > > > Also (a similar issue for another project): > https://github.com/triplea-game/triplea/pull/2541 > > I suggest checking to see if a similar change fixes the error messages for us. > > Kind regards, > Marcus > > ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: > > Hi Jie, Marcus > > Thank you for the review. > > Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ > I have used latest versions of javamail and activation. > With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. > javax.mail.Session loadResource > WARNING: expected resource not found: /META-INF/javamail.default.address.map > > I have contacted Yashi regarding third party approval, once review is done we can take further action. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Tuesday, November 27, 2018 8:03 PM > To: Jie Kang ; Prem Balakrishnan > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Jie, > > Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. > > Kind regards, > Marcus > > ?On 2018-11-27, 14:33, "Jie Kang" wrote: > > On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan > wrote: > > > > Hi All, > > > > > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > > > hence updated mail.api and required dependencies. > > > > > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. > > Hi Prem, > > javamail and javax.activation as well as a number of other EE packages > are now under the Eclipse foundation, e.g. @ > > https://github.com/eclipse-ee4j/javamail > https://github.com/eclipse-ee4j/jaf > > These now have releases as well, 1.6.3. for javamail and 1.2.1 for > jaf. While we're in this area, should we update to the latest as well? > The maven coordinates have changed, introducing the jakarta name, but > I'm not sure how much would need to change in the Tycho system; I'm > not too familiar with it. > > > Regards, > > > > > > > > > Regards, > > Prem > > > > > > > > > > > > From marcus.hirt at oracle.com Thu Nov 29 16:15:53 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Thu, 29 Nov 2018 17:15:53 +0100 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> Message-ID: <9E69C805-88E8-4C78-B14F-05001525DCFA@oracle.com> Hi Jie, Ah, interesting. http://javaee.github.io/javamail/ references the EE4J initiative and says the project is temporarily paused whilst in transit, however the transition status for JavaMail clearly shows at 100%. Source location is now https://github.com/eclipse-ee4j/javamail. Sorry for missing that. Yes, we should switch to the new coordinates. Prem, can you please try switching to the jakarta.mail coordinates? Kind regards, Marcus ?On 2018-11-29, 16:28, "Jie Kang" wrote: Hi Prem, Marcus, It's my understanding that the latest versions for javamail and jaf are from the Eclipse Foundation and are javamail : 1.6.3 : com.sun.mail:jakarta.mail https://github.com/eclipse-ee4j/javamail/releases/tag/1.6.3 https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail/1.6.3 jaf : 1.2.1 : com.sun.activation:jakarta.activation https://github.com/eclipse-ee4j/jaf/releases/tag/1.2.1 https://mvnrepository.com/artifact/com.sun.activation/jakarta.activation/1.2.1 My initial suggestion was to use these. Is that possible? Regards, On Wed, Nov 28, 2018 at 11:17 PM Prem Balakrishnan wrote: > > Hi Marcus, > > Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ > > com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Wednesday, November 28, 2018 7:31 PM > To: Prem Balakrishnan ; Jie Kang > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Prem, > > Seems the better way to consume the reference mail implementation is using > (only) the javax.mail bundle. > > See: > https://javaee.github.io/javamail/ > > > > com.sun.mail > javax.mail > 1.6.2 > > > > Also (a similar issue for another project): > https://github.com/triplea-game/triplea/pull/2541 > > I suggest checking to see if a similar change fixes the error messages for us. > > Kind regards, > Marcus > > ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: > > Hi Jie, Marcus > > Thank you for the review. > > Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ > I have used latest versions of javamail and activation. > With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. > javax.mail.Session loadResource > WARNING: expected resource not found: /META-INF/javamail.default.address.map > > I have contacted Yashi regarding third party approval, once review is done we can take further action. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Tuesday, November 27, 2018 8:03 PM > To: Jie Kang ; Prem Balakrishnan > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Jie, > > Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. > > Kind regards, > Marcus > > ?On 2018-11-27, 14:33, "Jie Kang" wrote: > > On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan > wrote: > > > > Hi All, > > > > > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > > > hence updated mail.api and required dependencies. > > > > > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. > > Hi Prem, > > javamail and javax.activation as well as a number of other EE packages > are now under the Eclipse foundation, e.g. @ > > https://github.com/eclipse-ee4j/javamail > https://github.com/eclipse-ee4j/jaf > > These now have releases as well, 1.6.3. for javamail and 1.2.1 for > jaf. While we're in this area, should we update to the latest as well? > The maven coordinates have changed, introducing the jakarta name, but > I'm not sure how much would need to change in the Tycho system; I'm > not too familiar with it. > > > Regards, > > > > > > > > > Regards, > > Prem > > > > > > > > > > > > From erik.gahlin at oracle.com Thu Nov 29 21:34:57 2018 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Thu, 29 Nov 2018 22:34:57 +0100 Subject: RFR: 8212232: Wrong metadata for the configuration of the cutoff for old object sample events Message-ID: <5C005B81.4070003@oracle.com> Hi, Could I have a review of a bug fix that changes the content type for the cutoff setting from BooleanFlag to Timespan. Since the threshold setting is also Timespan it will now accept "infinity". The period setting is updated as well. Bug: https://bugs.openjdk.java.net/browse/JDK-8212232 Webrev: http://cr.openjdk.java.net/~egahlin/8212232.0/ Testing: /test/jdk/jdk/jfr/* Thanks Erik From marcus at hirt.se Thu Nov 29 21:41:09 2018 From: marcus at hirt.se (Marcus Hirt) Date: Thu, 29 Nov 2018 22:41:09 +0100 Subject: SV: 8212232: Wrong metadata for the configuration of the cutoff for old object sample events In-Reply-To: <5C005B81.4070003@oracle.com> References: <5C005B81.4070003@oracle.com> Message-ID: <01db01d4882c$3ded08b0$b9c71a10$@hirt.se> Excellent! Thanks Erik! Do we know which 11 update it will be in yet? Kind regards, Marcus -----Ursprungligt meddelande----- Fr?n: jmc-dev F?r Erik Gahlin Skickat: den 29 november 2018 22:35 Till: hotspot-jfr-dev at openjdk.java.net Kopia: jmc-dev at openjdk.java.net ?mne: RFR: 8212232: Wrong metadata for the configuration of the cutoff for old object sample events Hi, Could I have a review of a bug fix that changes the content type for the cutoff setting from BooleanFlag to Timespan. Since the threshold setting is also Timespan it will now accept "infinity". The period setting is updated as well. Bug: https://bugs.openjdk.java.net/browse/JDK-8212232 Webrev: http://cr.openjdk.java.net/~egahlin/8212232.0/ Testing: /test/jdk/jdk/jfr/* Thanks Erik From marcus.hirt at oracle.com Fri Nov 30 01:28:06 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 30 Nov 2018 02:28:06 +0100 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> <2149C8F6-6470-4FF0-97CD-7336766EBFB4@redhat.com> Message-ID: <4FA5713C-5ECF-4948-B03C-94E3B1001577@oracle.com> Hi Josh, If Mario is busy, I can help sponsor this. Kind regards, Marcus From: Joshua Matsuoka Date: Wednesday, 28 November 2018 at 16:59 To: Marcus Hirt , Mario Torre Cc: Subject: Re: JMC-6122: Method profiling rule should show the hottest path Hi Marcus, Here's an exported patch with the requested change. Mario, could you sponsor it? Cheers, - Josh On Tue, Nov 27, 2018 at 3:11 PM Marcus Hirt wrote: Hi Josh, Looks good! Perhaps a new paragraph before the ?The most common stack trace was?? Kind regards, Marcus From: Joshua Matsuoka Date: Tuesday, 27 November 2018 at 20:32 To: Marcus Hirt Cc: Subject: Re: JMC-6122: Method profiling rule should show the hottest path Hi Marcus, Thanks for the review! Here's an updated webrev http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.02/ Cheers, - Josh On Mon, Nov 26, 2018 at 5:31 PM Marcus Hirt wrote: Hi Josh, 1. Map.replace was introduced in JDK 8, and core is still compiled with JDK 7. 2. Just a nit - could the assignment of the fields for the MethodProfilingWindowResult please be in the order of the arguments? Kind regards, Marcus ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" wrote: Forgot the patch: http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ [1] https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues Cheers, - Josh On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka wrote: > Hi, > > The following patch addresses JMC-6122 by changing the grouping aggregator > to instead group on stack trace so we can retrieve the hottest path > alongside the hottest method and display it in the rule results. > > > As for the comment on the bug [1], I think that belongs more in a separate > bug addressed by another patch. > > Thoughts? > > [1] > From prem.balakrishnan at oracle.com Fri Nov 30 04:05:05 2018 From: prem.balakrishnan at oracle.com (Prem Balakrishnan) Date: Thu, 29 Nov 2018 20:05:05 -0800 (PST) Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: <9E69C805-88E8-4C78-B14F-05001525DCFA@oracle.com> References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> <9E69C805-88E8-4C78-B14F-05001525DCFA@oracle.com> Message-ID: <44f9ea45-9e89-488b-b1e1-f981492bf743@default> Hi Marcus, Jie, Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.03/ I have updated only mail and activation package. com.sun.mail.jakarta.mail_1.6.3.jar + com.sun.activation.jakarta.activation_1.2.1.jar works fine. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Thursday, November 29, 2018 9:46 PM To: Jie Kang ; Prem Balakrishnan Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Jie, Ah, interesting. http://javaee.github.io/javamail/ references the EE4J initiative and says the project is temporarily paused whilst in transit, however the transition status for JavaMail clearly shows at 100%. Source location is now https://github.com/eclipse-ee4j/javamail. Sorry for missing that. Yes, we should switch to the new coordinates. Prem, can you please try switching to the jakarta.mail coordinates? Kind regards, Marcus ?On 2018-11-29, 16:28, "Jie Kang" wrote: Hi Prem, Marcus, It's my understanding that the latest versions for javamail and jaf are from the Eclipse Foundation and are javamail : 1.6.3 : com.sun.mail:jakarta.mail https://github.com/eclipse-ee4j/javamail/releases/tag/1.6.3 https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail/1.6.3 jaf : 1.2.1 : com.sun.activation:jakarta.activation https://github.com/eclipse-ee4j/jaf/releases/tag/1.2.1 https://mvnrepository.com/artifact/com.sun.activation/jakarta.activation/1.2.1 My initial suggestion was to use these. Is that possible? Regards, On Wed, Nov 28, 2018 at 11:17 PM Prem Balakrishnan wrote: > > Hi Marcus, > > Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ > > com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Wednesday, November 28, 2018 7:31 PM > To: Prem Balakrishnan ; Jie Kang > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Prem, > > Seems the better way to consume the reference mail implementation is using > (only) the javax.mail bundle. > > See: > https://javaee.github.io/javamail/ > > > > com.sun.mail > javax.mail > 1.6.2 > > > > Also (a similar issue for another project): > https://github.com/triplea-game/triplea/pull/2541 > > I suggest checking to see if a similar change fixes the error messages for us. > > Kind regards, > Marcus > > ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: > > Hi Jie, Marcus > > Thank you for the review. > > Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ > I have used latest versions of javamail and activation. > With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. > javax.mail.Session loadResource > WARNING: expected resource not found: /META-INF/javamail.default.address.map > > I have contacted Yashi regarding third party approval, once review is done we can take further action. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Tuesday, November 27, 2018 8:03 PM > To: Jie Kang ; Prem Balakrishnan > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Jie, > > Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. > > Kind regards, > Marcus > > ?On 2018-11-27, 14:33, "Jie Kang" wrote: > > On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan > wrote: > > > > Hi All, > > > > > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > > > hence updated mail.api and required dependencies. > > > > > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. > > Hi Prem, > > javamail and javax.activation as well as a number of other EE packages > are now under the Eclipse foundation, e.g. @ > > https://github.com/eclipse-ee4j/javamail > https://github.com/eclipse-ee4j/jaf > > These now have releases as well, 1.6.3. for javamail and 1.2.1 for > jaf. While we're in this area, should we update to the latest as well? > The maven coordinates have changed, introducing the jakarta name, but > I'm not sure how much would need to change in the Tycho system; I'm > not too familiar with it. > > > Regards, > > > > > > > > > Regards, > > Prem > > > > > > > > > > > > From neugens at redhat.com Fri Nov 30 10:11:59 2018 From: neugens at redhat.com (Mario Torre) Date: Fri, 30 Nov 2018 11:11:59 +0100 Subject: JMC-6122: Method profiling rule should show the hottest path In-Reply-To: <4FA5713C-5ECF-4948-B03C-94E3B1001577@oracle.com> References: <47904C5D-8F85-40C7-87D5-491F84697147@redhat.com> <42E1ADE1-CB8F-4BA9-883D-5E4BF0037ACC@oracle.com> <2149C8F6-6470-4FF0-97CD-7336766EBFB4@redhat.com> <4FA5713C-5ECF-4948-B03C-94E3B1001577@oracle.com> Message-ID: I'll do this now, sorry, lots of things going on and I didn't see this email. Cheers, Mario On Fri, Nov 30, 2018 at 2:28 AM Marcus Hirt wrote: > > Hi Josh, > > > > If Mario is busy, I can help sponsor this. > > > > Kind regards, > > Marcus > > > > From: Joshua Matsuoka > Date: Wednesday, 28 November 2018 at 16:59 > To: Marcus Hirt , Mario Torre > Cc: > Subject: Re: JMC-6122: Method profiling rule should show the hottest path > > > > Hi Marcus, > > > > Here's an exported patch with the requested change. Mario, could you sponsor it? > > > > Cheers, > > > > - Josh > > > > On Tue, Nov 27, 2018 at 3:11 PM Marcus Hirt wrote: > > Hi Josh, > > Looks good! Perhaps a new paragraph before the ?The most common stack trace was?? > > Kind regards, > Marcus > > > From: Joshua Matsuoka > Date: Tuesday, 27 November 2018 at 20:32 > To: Marcus Hirt > Cc: > Subject: Re: JMC-6122: Method profiling rule should show the hottest path > > Hi Marcus, > > Thanks for the review! Here's an updated webrev > > http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.02/ > > Cheers, > > - Josh > > On Mon, Nov 26, 2018 at 5:31 PM Marcus Hirt wrote: > Hi Josh, > > 1. Map.replace was introduced in JDK 8, and core is still compiled with JDK 7. > > 2. Just a nit - could the assignment of the fields for the > MethodProfilingWindowResult please be in the order of the arguments? > > Kind regards, > Marcus > > ?On 2018-11-26, 22:26, "jmc-dev on behalf of Joshua Matsuoka" wrote: > > Forgot the patch: http://cr.openjdk.java.net/~jmatsuoka/JMC-6122/webrev.01/ > > [1] > https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6122?filter=allopenissues > > Cheers, > > - Josh > > On Mon, Nov 26, 2018 at 4:24 PM Joshua Matsuoka wrote: > > > Hi, > > > > The following patch addresses JMC-6122 by changing the grouping aggregator > > to instead group on stack trace so we can retrieve the hottest path > > alongside the hottest method and display it in the rule results. > > > > > > As for the comment on the bug [1], I think that belongs more in a separate > > bug addressed by another patch. > > > > Thoughts? > > > > [1] > > > > > > -- Mario Torre Associate Manager, Software Engineering Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From neugens.limasoftware at gmail.com Fri Nov 30 10:44:29 2018 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Fri, 30 Nov 2018 10:44:29 +0000 Subject: hg: jmc/jmc: JMC-6122: Method profiling rule should show hottest path Message-ID: <201811301044.wAUAiTh3022385@aojmv0008.oracle.com> Changeset: 056f1973bd3b Author: jmatsuoka Date: 2018-11-28 10:58 -0500 URL: http://hg.openjdk.java.net/jmc/jmc/rev/056f1973bd3b JMC-6122: Method profiling rule should show hottest path Summary: Modify the method profiling rule to track and report the most common stack trace as well as the most common method. Reviewed-by: hirt ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/MethodProfilingDataProvider.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/latency/MethodProfilingRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties From marcus.hirt at oracle.com Fri Nov 30 12:48:55 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 30 Nov 2018 13:48:55 +0100 Subject: jmc/jmc: JMC-6122: Method profiling rule should show hottest path In-Reply-To: <203FCCA2-636E-447A-8CF6-9B57D5AEEF5A@gmail.com> References: <203FCCA2-636E-447A-8CF6-9B57D5AEEF5A@gmail.com> Message-ID: Excellent! Thanks Mario! /M ?On 2018-11-30, 11:49, "jmc-dev-bounces at openjdk.java.net on behalf of neugens.limasoftware at gmail.com" wrote: Changeset: 056f1973bd3b Author: jmatsuoka Date: 2018-11-28 10:58 -0500 URL: http://hg.openjdk.java.net/jmc/jmc/rev/056f1973bd3b JMC-6122: Method profiling rule should show hottest path Summary: Modify the method profiling rule to track and report the most common stack trace as well as the most common method. Reviewed-by: hirt ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/MethodProfilingDataProvider.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/latency/MethodProfilingRule.java ! core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/resources/org/openjdk/jmc/flightrecorder/rules/jdk/messages/internal/messages.properties From marcus.hirt at oracle.com Fri Nov 30 13:14:12 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 30 Nov 2018 14:14:12 +0100 Subject: Review Request: JMC-6217 Update mail.api and its dependencies In-Reply-To: References: <6d33bef8-dc6d-411c-b72e-c0f49388540f@default> <0D9FF868-90F9-474D-9CB8-A0C3A870F048@redhat.com> <9063A658-53FC-42CF-8D23-4BE7A959BE91@oracle.com> <350425D7-57B0-4C55-AB1E-2E0D019613ED@oracle.com> <9E69C805-88E8-4C78-B14F-05001525DCFA@oracle.com> Message-ID: <4E181085-AE74-473A-A9B6-61DF28CEEE86@oracle.com> Looks good! I can sponsor this. /M ?On 2018-11-30, 05:05, "Prem Balakrishnan" wrote: Hi Marcus, Jie, Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.03/ I have updated only mail and activation package. com.sun.mail.jakarta.mail_1.6.3.jar + com.sun.activation.jakarta.activation_1.2.1.jar works fine. Regards, Prem -----Original Message----- From: Marcus Hirt Sent: Thursday, November 29, 2018 9:46 PM To: Jie Kang ; Prem Balakrishnan Cc: jmc-dev at openjdk.java.net Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies Hi Jie, Ah, interesting. http://javaee.github.io/javamail/ references the EE4J initiative and says the project is temporarily paused whilst in transit, however the transition status for JavaMail clearly shows at 100%. Source location is now https://github.com/eclipse-ee4j/javamail. Sorry for missing that. Yes, we should switch to the new coordinates. Prem, can you please try switching to the jakarta.mail coordinates? Kind regards, Marcus ?On 2018-11-29, 16:28, "Jie Kang" wrote: Hi Prem, Marcus, It's my understanding that the latest versions for javamail and jaf are from the Eclipse Foundation and are javamail : 1.6.3 : com.sun.mail:jakarta.mail https://github.com/eclipse-ee4j/javamail/releases/tag/1.6.3 https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail/1.6.3 jaf : 1.2.1 : com.sun.activation:jakarta.activation https://github.com/eclipse-ee4j/jaf/releases/tag/1.2.1 https://mvnrepository.com/artifact/com.sun.activation/jakarta.activation/1.2.1 My initial suggestion was to use these. Is that possible? Regards, On Wed, Nov 28, 2018 at 11:17 PM Prem Balakrishnan wrote: > > Hi Marcus, > > Updated patch: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.02/ > > com.sun.mail.javax.mail_1.6.2.jar + javax.activation_1.1.1.jar works fine. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Wednesday, November 28, 2018 7:31 PM > To: Prem Balakrishnan ; Jie Kang > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Prem, > > Seems the better way to consume the reference mail implementation is using > (only) the javax.mail bundle. > > See: > https://javaee.github.io/javamail/ > > > > com.sun.mail > javax.mail > 1.6.2 > > > > Also (a similar issue for another project): > https://github.com/triplea-game/triplea/pull/2541 > > I suggest checking to see if a similar change fixes the error messages for us. > > Kind regards, > Marcus > > ?On 2018-11-28, 13:17, "Prem Balakrishnan" wrote: > > Hi Jie, Marcus > > Thank you for the review. > > Updated Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.01/ > I have used latest versions of javamail and activation. > With these bundles triggering mail works as expected, but with below warning, seems to be issue with the bundle. Share your feedback on the same. > javax.mail.Session loadResource > WARNING: expected resource not found: /META-INF/javamail.default.address.map > > I have contacted Yashi regarding third party approval, once review is done we can take further action. > > Regards, > Prem > > -----Original Message----- > From: Marcus Hirt > Sent: Tuesday, November 27, 2018 8:03 PM > To: Jie Kang ; Prem Balakrishnan > Cc: jmc-dev at openjdk.java.net > Subject: Re: Review Request: JMC-6217 Update mail.api and its dependencies > > Hi Jie, > > Sounds like a very good idea. Prem, can you please try switching to the Eclipse provided bundles? If all works out, please check with Yashi on third party approvals, and then submit an updated webrev, please. > > Kind regards, > Marcus > > ?On 2018-11-27, 14:33, "Jie Kang" wrote: > > On Tue, Nov 27, 2018 at 7:05 AM Prem Balakrishnan > wrote: > > > > Hi All, > > > > > > > > Please review the fix for HYPERLINK "https://bugs.openjdk.java.net/browse/JMC-6217"JMC-6217 > > > > Webrev: http://cr.openjdk.java.net/~pkbalakr/jmc/6217/webrev.00/ > > > > > > > > Issue: javax.activiation is an EE module and it's not shipped any more with JDK 9 onwards. > > > > In order to use mail feature in JMC 7.0.0 we need to use mail.api which requires javax.activation. > > > > > > > > After including javax.activation package, we were still not able to trigger mail in JMC 7.0. > > > > Outdated mail.api was causing compatibility issue with "activation", "smtp" and other required bundles, > > > > hence updated mail.api and required dependencies. > > > > > > > > With proposed fix, mail gets triggered as expected and if smtp is not configured relevant exceptions are thrown. > > Hi Prem, > > javamail and javax.activation as well as a number of other EE packages > are now under the Eclipse foundation, e.g. @ > > https://github.com/eclipse-ee4j/javamail > https://github.com/eclipse-ee4j/jaf > > These now have releases as well, 1.6.3. for javamail and 1.2.1 for > jaf. While we're in this area, should we update to the latest as well? > The maven coordinates have changed, introducing the jakarta name, but > I'm not sure how much would need to change in the Tycho system; I'm > not too familiar with it. > > > Regards, > > > > > > > > > Regards, > > Prem > > > > > > > > > > > > From markus.gronlund at oracle.com Fri Nov 30 13:24:37 2018 From: markus.gronlund at oracle.com (Markus Gronlund) Date: Fri, 30 Nov 2018 05:24:37 -0800 (PST) Subject: RFR: 8212232: Wrong metadata for the configuration of the cutoff for old object sample events In-Reply-To: <5C005B81.4070003@oracle.com> References: <5C005B81.4070003@oracle.com> Message-ID: <31872ad1-921f-4e3d-8632-7f3828718d4b@default> Hi Erik, Looks good, thanks for fixing this. Markus -----Original Message----- From: Erik Gahlin Sent: den 29 november 2018 22:35 To: hotspot-jfr-dev at openjdk.java.net Cc: jmc-dev at openjdk.java.net Subject: RFR: 8212232: Wrong metadata for the configuration of the cutoff for old object sample events Hi, Could I have a review of a bug fix that changes the content type for the cutoff setting from BooleanFlag to Timespan. Since the threshold setting is also Timespan it will now accept "infinity". The period setting is updated as well. Bug: https://bugs.openjdk.java.net/browse/JDK-8212232 Webrev: http://cr.openjdk.java.net/~egahlin/8212232.0/ Testing: /test/jdk/jdk/jfr/* Thanks Erik From marcus.hirt at oracle.com Fri Nov 30 13:24:47 2018 From: marcus.hirt at oracle.com (marcus.hirt at oracle.com) Date: Fri, 30 Nov 2018 13:24:47 +0000 Subject: hg: jmc/jmc: JMC-6217: Using the new Jakarta coordinates for JavaMail Message-ID: <201811301324.wAUDOlKW005299@aojmv0008.oracle.com> Changeset: 1ddf3baa4e26 Author: hirt Date: 2018-11-30 14:24 +0100 URL: http://hg.openjdk.java.net/jmc/jmc/rev/1ddf3baa4e26 JMC-6217: Using the new Jakarta coordinates for JavaMail Reviewed-by: hirt, Jie Kang Contributed-by: pkbalakr ! application/org.openjdk.jmc.feature.core/feature.xml ! releng/platform-definitions/platform-definition-photon/platform-definition-photon.target ! releng/third-party/pom.xml From jmatsuok at redhat.com Fri Nov 30 16:24:26 2018 From: jmatsuok at redhat.com (Joshua Matsuoka) Date: Fri, 30 Nov 2018 11:24:26 -0500 Subject: RFR: JMC-6222 Allow filtering by package for the Method Profiling Rule Message-ID: Hi, The following patch adds support for filtering the method profiling rule by package name. When a regex is supplied via TypedPreferences, it will drop any frames matching the regex until reaching the first one that doesnt match, treating that one as the hot frame. http://cr.openjdk.java.net/~jmatsuoka/JMC-6222/webrev.00/jmc.patch Thoughts? Bug ID: https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6222?filter=allopenissues Cheers, - Josh From marcus at hirt.se Fri Nov 30 18:05:37 2018 From: marcus at hirt.se (Marcus Hirt) Date: Fri, 30 Nov 2018 19:05:37 +0100 Subject: SV: JMC-6222 Allow filtering by package for the Method Profiling Rule In-Reply-To: References: Message-ID: <04fb01d488d7$4bec98d0$e3c5ca70$@hirt.se> You're better than Santa, Josh. I get stuff that I only mention in passing, and it's not even Christmas. :D I'll take a closer look in a bit. Kind regards, Marcus -----Ursprungligt meddelande----- Fr?n: jmc-dev F?r Joshua Matsuoka Skickat: den 30 november 2018 17:24 Till: jmc-dev at openjdk.java.net ?mne: RFR: JMC-6222 Allow filtering by package for the Method Profiling Rule Hi, The following patch adds support for filtering the method profiling rule by package name. When a regex is supplied via TypedPreferences, it will drop any frames matching the regex until reaching the first one that doesnt match, treating that one as the hot frame. http://cr.openjdk.java.net/~jmatsuoka/JMC-6222/webrev.00/jmc.patch Thoughts? Bug ID: https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6222?filter=allopenissues Cheers, - Josh From marcus.hirt at oracle.com Fri Nov 30 22:13:42 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 30 Nov 2018 23:13:42 +0100 Subject: JMC-5698: Improving Duplicate Flags rule In-Reply-To: <87621B9B-A7F4-4A58-B8DD-74B3B8ECF6E4@oracle.com> References: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> <87621B9B-A7F4-4A58-B8DD-74B3B8ECF6E4@oracle.com> Message-ID: <8E97560D-21D2-4E00-A13F-F773FDF6CB82@oracle.com> Hi Ken, You're good to go! Kind regards, Marcus On 2018-11-23, 21:50, "jmc-dev on behalf of Joshua Matsuoka" wrote: I've applied and taken a look at the changes and they look good! Cheers, - Josh (Resending to list without the very long quoted message) ?On 2018-11-08, 22:52, "jmc-dev on behalf of Marcus Hirt" wrote: Hi Ken, I took a quick look, and it looks fine to me. If someone else could take a closer look, that would be great! Kind regards, Marcus ?On 2018-11-08, 22:11, "jmc-dev on behalf of Ken Dobson" wrote: Hi all, This is a patch to improve the output of the Duplicate Flags rule to be more clear. I've attached a screenshot showing the new output. Please review it and let me know if you have any comments. https://bugs.openjdk.java.net/projects/JMC/issues/JMC-5698 Thanks, Ken Dobson From marcus.hirt at oracle.com Fri Nov 30 22:21:34 2018 From: marcus.hirt at oracle.com (Marcus Hirt) Date: Fri, 30 Nov 2018 23:21:34 +0100 Subject: JMC-6222 Allow filtering by package for the Method Profiling Rule In-Reply-To: <9F04118A-ABD3-4A53-8F7B-16060B5EAC9C@redhat.com> References: <9F04118A-ABD3-4A53-8F7B-16060B5EAC9C@redhat.com> Message-ID: <18465BD2-DBCB-4949-BBF4-92B2A50D8E60@oracle.com> Hi Josh! Quickly tried your patch, but get this: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.openjdk.jmc.flightrecorder.ui.RuleManager$EvaluateJob.run(RuleManager.java:117) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) Caused by: java.lang.UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:161) at java.util.AbstractList$Itr.remove(AbstractList.java:374) at java.util.AbstractCollection.removeAll(AbstractCollection.java:376) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.processPath(MethodProfilingRule.java:462) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.getValue(MethodProfilingRule.java:421) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1$1.getValue(MethodProfilingRule.java:405) at org.openjdk.jmc.common.item.GroupingAggregator$GroupingAggregatorImpl.getValue(GroupingAggregator.java:164) at org.openjdk.jmc.common.item.GroupingAggregator$GroupingAggregatorImpl.getValue(GroupingAggregator.java:134) at org.openjdk.jmc.common.item.Aggregators$MergingAggregator.getValue(Aggregators.java:97) at org.openjdk.jmc.common.item.Aggregators$MergingAggregator.getValue(Aggregators.java:81) at org.openjdk.jmc.flightrecorder.ui.ItemIterableToolkit.aggregate(ItemIterableToolkit.java:128) at org.openjdk.jmc.flightrecorder.ui.ItemCollectionToolkit$StreamBackedItemCollection.getAggregate(ItemCollectionToolkit.java:91) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1.performCalculation(MethodProfilingRule.java:467) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$1.visitWindow(MethodProfilingRule.java:344) at org.openjdk.jmc.flightrecorder.rules.util.SlidingWindowToolkit.slidingWindowUnordered(SlidingWindowToolkit.java:200) at org.openjdk.jmc.flightrecorder.rules.util.SlidingWindowToolkit.slidingWindowUnordered(SlidingWindowToolkit.java:158) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule.getResult(MethodProfilingRule.java:239) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule.access$000(MethodProfilingRule.java:97) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$MethodProfilingCallable.call(MethodProfilingRule.java:196) at org.openjdk.jmc.flightrecorder.rules.jdk.latency.MethodProfilingRule$MethodProfilingCallable.call(MethodProfilingRule.java:184) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748) The regexp used: java\.util\..* And input file: The "before" file from here: https://github.com/thegreystone/jmc-tutorial/tree/master/projects/02_JFR_HotMethods Kind regards, Marcus ?On 2018-11-30, 17:25, "jmc-dev on behalf of Joshua Matsuoka" wrote: Hi, The following patch adds support for filtering the method profiling rule by package name. When a regex is supplied via TypedPreferences, it will drop any frames matching the regex until reaching the first one that doesnt match, treating that one as the hot frame. http://cr.openjdk.java.net/~jmatsuoka/JMC-6222/webrev.00/jmc.patch Thoughts? Bug ID: https://bugs.openjdk.java.net/projects/JMC/issues/JMC-6222?filter=allopenissues Cheers, - Josh From kdobson at redhat.com Mon Nov 19 20:26:52 2018 From: kdobson at redhat.com (Ken Dobson) Date: Mon, 19 Nov 2018 20:26:52 -0000 Subject: JMC-5698: Improving Duplicate Flags rule In-Reply-To: References: <7A9BCC98-8205-4ADF-9B5D-E743717704D4@redhat.com> Message-ID: Hi all, If anyone has the chance to give this a full review that would be great. Thanks, Ken Dobson On Fri, Nov 9, 2018 at 12:36 PM Ken Dobson wrote: > This is an update to the patch to add a fix to the tests. > > diff -r 4629e44fd8ea > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > Thu Nov 08 12:45:05 2018 +0100 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java > Fri Nov 09 12:32:49 2018 -0500 > @@ -32,10 +32,10 @@ > */ > package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; > > +import java.util.ArrayList; > +import java.util.Collection; > import java.util.HashMap; > -import java.util.HashSet; > import java.util.Map; > -import java.util.Set; > > /** > * Helper class used to share analysis of JVM related information, such > as flags. > @@ -43,33 +43,33 @@ > @SuppressWarnings("nls") > public class JvmInternalsDataProvider { > > - private static final String[] PREFIXES = new String[] {"Xmx", "Xms", > "Xmn", "Xss", "Xmaxjitcodesize"}; > + private static final String[] PREFIXES = new String[] {"-Xmx", > "-Xms", "-Xmn", "-Xss", "-Xmaxjitcodesize"}; > /** > * Options that are OK to use multiple times if different values are > provided. Check for > * duplicates using the full argument. > */ > - private static final String[] VERBATIM = new String[] {"verbose", > "-add-exports"}; > + private static final String[] VERBATIM = new String[] {"-verbose", > "--add-exports", "--add-opens"}; > private static final Map EQUIVALENT = new HashMap<>(); > > static { > - putBiMap("Xbatch", "BackgroundCompilation"); > - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); > - putBiMap("Xmx", "MaxHeapSize"); > - putBiMap("Xmn", "NewSize"); > - putBiMap("Xss", "ThreadStackSize"); > - putBiMap("Xusealtsigs", "UseAltSigs"); > - putBiMap("cp", "classpath"); > - putBiMap("esa", "enablesystemassertions"); > - putBiMap("dsa", "disablesystemassertions"); > - putBiMap("Xconcgc", "UseConcMarkSweepGC"); > - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); > - putBiMap("Xnoclassgc", "ClassUnloading"); > - putBiMap("Xminf", "MinHeapFreeRatio"); > - putBiMap("Xmaxf", "MaxHeapFreeRatio"); > - putBiMap("Xrs", "ReduceSignalUsage"); > - putBiMap("Dcom.sun.management", "ManagementServer"); > - putBiMap("Xshare:dump", "DumpSharedSpaces"); > - putBiMap("Xboundthreads", "UseBoundThreads"); > + putBiMap("-Xbatch", "BackgroundCompilation"); > + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); > + putBiMap("-Xmx", "MaxHeapSize"); > + putBiMap("-Xmn", "NewSize"); > + putBiMap("-Xss", "ThreadStackSize"); > + putBiMap("-Xusealtsigs", "UseAltSigs"); > + putBiMap("-cp", "classpath"); > + putBiMap("-esa", "enablesystemassertions"); > + putBiMap("-dsa", "disablesystemassertions"); > + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); > + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); > + putBiMap("-Xnoclassgc", "ClassUnloading"); > + putBiMap("-Xminf", "MinHeapFreeRatio"); > + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); > + putBiMap("-Xrs", "ReduceSignalUsage"); > + putBiMap("-Dcom.sun.management", "ManagementServer"); > + putBiMap("-Xshare:dump", "DumpSharedSpaces"); > + putBiMap("-Xboundthreads", "UseBoundThreads"); > putBiMap("AlwaysTenure", "NeverTenure"); > putBiMap("ResizeTLE", "ResizeTLAB"); > putBiMap("PrintTLE", "PrintTLAB"); > @@ -77,10 +77,10 @@ > putBiMap("UseTLE", "UseTLAB"); > putBiMap("UsePermISM", "UseISM"); > putBiMap("G1MarkStackSize", "CMSMarkStackSize"); > - putBiMap("Xms", "InitialHeapSize"); > + putBiMap("-Xms", "InitialHeapSize"); > putBiMap("DisplayVMOutputToStderr", "DisplayVMOutputToStdout"); > - putBiMap("Xverify", "BytecodeVerificationLocal"); > - putBiMap("Xverify", "BytecodeVerificationRemote"); > + putBiMap("-Xverify", "BytecodeVerificationLocal"); > + putBiMap("-Xverify", "BytecodeVerificationRemote"); > putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); > putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); > putBiMap("ParallelMarkingThreads", "ConcGCThreads"); > @@ -100,14 +100,13 @@ > * the set of JVM flags to check > * @return a set of all duplicated JVM flags > */ > - public static Set checkDuplicates(String arguments) { > - HashSet seenFlags = new HashSet<>(); > - HashSet dupes = new HashSet<>(); > - String[] argumentArray = arguments.split(" -"); > + public static Collection> checkDuplicates(String > arguments) { > + HashMap seenFlags = new HashMap<>(); > + HashMap> dupes = new HashMap<>(); > + String[] argumentArray = arguments.split(" "); > if (argumentArray.length == 1 && argumentArray[0].equals("")) { > - return dupes; > + return dupes.values(); > } > - argumentArray[0] = argumentArray[0].substring(1); > for (String fullArgument : argumentArray) { > boolean verbatim = false; > for (int i = 0; i < VERBATIM.length; i++) { > @@ -122,7 +121,7 @@ > } else { > String[] split = fullArgument.split("[=:]", 3); > argument = split[0]; > - if ("XX".equals(split[0])) { > + if ("-XX".equals(split[0])) { > argument = split[1]; > if (argument.startsWith("+") || > argument.startsWith("-")) { > argument = argument.substring(1); > @@ -132,22 +131,24 @@ > argument = scrubPrefix(argument, PREFIXES[i]); > } > String equivalentArgument = EQUIVALENT.get(argument); > - if (equivalentArgument != null && > !seenFlags.contains(argument) > - && seenFlags.contains(equivalentArgument)) { > - String longerArgument = equivalentArgument.length() > > argument.length() ? equivalentArgument > - : argument; > - String shorterArgument = equivalentArgument.length() > > argument.length() ? argument > - : equivalentArgument; > - String combinedArgument = String.format("%s (%s)", > longerArgument, shorterArgument); > - dupes.add(combinedArgument); > + if (equivalentArgument != null && > !seenFlags.containsKey(argument) > + && seenFlags.containsKey(equivalentArgument)) { > + argument = equivalentArgument; > } > } > - if (seenFlags.contains(argument)) { > - dupes.add(argument); > + if (seenFlags.containsKey(argument)) { > + if (!dupes.containsKey(argument)) { > + dupes.put(argument, new ArrayList()); > + dupes.get(argument).add(seenFlags.get(argument)); > + } > + dupes.get(argument).add(fullArgument); > + > } > - seenFlags.add(argument); > + else { > + seenFlags.put(argument, fullArgument); > + } > } > - return dupes; > + return dupes.values(); > } > > private static String scrubPrefix(String argument, String prefix) { > diff -r 4629e44fd8ea > core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > --- > a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > Thu Nov 08 12:45:05 2018 +0100 > +++ > b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java > Fri Nov 09 12:32:49 2018 -0500 > @@ -33,6 +33,7 @@ > package org.openjdk.jmc.flightrecorder.rules.jdk.general; > > import java.text.MessageFormat; > +import java.util.ArrayList; > import java.util.Collection; > import java.util.Collections; > import java.util.Set; > @@ -72,14 +73,15 @@ > // FIXME: Should we check if there are different jvm args in > different chunks? > Set args = > jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); > if (args != null && !args.isEmpty()) { > - > - Set dupes = > JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); > + > + Collection> dupes = > JvmInternalsDataProvider. > + checkDuplicates(args.iterator().next()); > > if (!dupes.isEmpty()) { > StringBuilder sb = new StringBuilder(); > sb.append("

    "); //$NON-NLS-1$ > - for (String dupe : dupes) { > - sb.append("
  • " + Encode.forHtml(dupe) + "
  • "); > //$NON-NLS-1$ //$NON-NLS-2$ > + for (ArrayList dupe : dupes) { > + sb.append("
  • " + Encode.forHtml(String.join(", ", > dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ > } > sb.append("
"); //$NON-NLS-1$ > String shortDescription = dupes.size() > 1 > diff -r 4629e44fd8ea > core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml > --- > a/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml > Thu Nov 08 12:45:05 2018 +0100 > +++ > b/core/tests/org.openjdk.jmc.flightrecorder.rules.jdk.test/src/test/resources/baseline/JfrRuleBaseline.xml > Fri Nov 09 12:32:49 2018 -0500 > @@ -2909,7 +2909,7 @@ > Information > 50.0 > There were 2 JVM duplicated flags. > -There were 2 JVM duplicated flags. Duplicated JVM flags > may be caused by multiple layers of scripts used when launching the > application. Having duplicate flags is dangerous as changing one of the > flags in one of the scripts may not have the intended effect. This can be > especially dangerous for security related system properties. Try to find > all the places where the flag is defined and keep only one. The following > flags were duplicated: > <ul><li>Xverify</li><li>Djava.endorsed.dirs</li></ul> > +There were 2 JVM duplicated flags. Duplicated JVM flags > may be caused by multiple layers of scripts used when launching the > application. Having duplicate flags is dangerous as changing one of the > flags in one of the scripts may not have the intended effect. This can be > especially dangerous for security related system properties. Try to find > all the places where the flag is defined and keep only one. The following > flags were duplicated: > <ul><li>-Djava.endorsed.dirs=c:\java\JDK18~1.0_6\jre\lib\endorsed;C:\tmp\WLS-JFR\oracle_common\modules\endorsed, > -Djava.endorsed.dirs=c:\java\JDK18~1.0_6\jre\lib\endorsed;C:\tmp\WLS-JFR\oracle_common\modules\endorsed</li><li>-Xverify:none, > -Xverify:none</li></ul> >
> > Errors > @@ -3305,8 +3305,8 @@ > DuplicateFlags > Information > 50.0 > -There were 6 JVM duplicated flags. > -There were 6 JVM duplicated flags. Duplicated JVM flags > may be caused by multiple layers of scripts used when launching the > application. Having duplicate flags is dangerous as changing one of the > flags in one of the scripts may not have the intended effect. This can be > especially dangerous for security related system properties. Try to find > all the places where the flag is defined and keep only one. The following > flags were duplicated: > <ul><li>Xmx</li><li>NewSize</li><li>Dweblogic.home</li><li>-add-opens</li><li>MaxNewSize</li><li>Xms</li></ul> > +There were 5 JVM duplicated flags. > +There were 5 JVM duplicated flags. Duplicated JVM flags > may be caused by multiple layers of scripts used when launching the > application. Having duplicate flags is dangerous as changing one of the > flags in one of the scripts may not have the intended effect. This can be > especially dangerous for security related system properties. Try to find > all the places where the flag is defined and keep only one. The following > flags were duplicated: <ul><li>-XX:NewSize=65m, > -XX:NewSize=65m</li><li>-Dweblogic.home=C:\weblogic\src122130_build\Oracle_Home\wlserver/server, > -Dweblogic.home=C:\weblogic\SRC122~1\ORACLE~1\wlserver\server</li><li>-Xmx500m, > -Xmx500m</li><li>-Xms160m, > -Xms160m</li><li>-XX:MaxNewSize=65m, > -XX:MaxNewSize=65m</li></ul> > > > Errors > > On Thu, Nov 8, 2018 at 4:51 PM Marcus Hirt wrote: > >> Hi Ken, >> >> I took a quick look, and it looks fine to me. If someone else could >> take a closer look, that would be great! >> >> Kind regards, >> Marcus >> >> ?On 2018-11-08, 22:11, "jmc-dev on behalf of Ken Dobson" < >> jmc-dev-bounces at openjdk.java.net on behalf of kdobson at redhat.com> wrote: >> >> Hi all, >> >> This is a patch to improve the output of the Duplicate Flags rule to >> be >> more clear. I've attached a screenshot showing the new output. Please >> review it and let me know if you have any comments. >> >> https://bugs.openjdk.java.net/projects/JMC/issues/JMC-5698 >> >> Thanks, >> >> Ken Dobson >> >> diff -r b3a23786ef23 >> >> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java >> --- >> >> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java >> Wed Oct 10 16:43:35 2018 -0400 >> +++ >> >> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/dataproviders/JvmInternalsDataProvider.java >> Thu Nov 08 14:31:12 2018 -0500 >> @@ -32,10 +32,10 @@ >> */ >> package org.openjdk.jmc.flightrecorder.rules.jdk.dataproviders; >> >> +import java.util.ArrayList; >> +import java.util.Collection; >> import java.util.HashMap; >> -import java.util.HashSet; >> import java.util.Map; >> -import java.util.Set; >> >> /** >> * Helper class used to share analysis of JVM related information, >> such as >> flags. >> @@ -43,33 +43,33 @@ >> @SuppressWarnings("nls") >> public class JvmInternalsDataProvider { >> >> - private static final String[] PREFIXES = new String[] {"Xmx", >> "Xms", >> "Xmn", "Xss", "Xmaxjitcodesize"}; >> + private static final String[] PREFIXES = new String[] {"-Xmx", >> "-Xms", >> "-Xmn", "-Xss", "-Xmaxjitcodesize"}; >> /** >> * Options that are OK to use multiple times if different values >> are >> provided. Check for >> * duplicates using the full argument. >> */ >> - private static final String[] VERBATIM = new String[] {"verbose", >> "-add-exports"}; >> + private static final String[] VERBATIM = new String[] >> {"-verbose", >> "--add-exports", "--add-opens"}; >> private static final Map EQUIVALENT = new >> HashMap<>(); >> >> static { >> - putBiMap("Xbatch", "BackgroundCompilation"); >> - putBiMap("Xmaxjitcodesize", "ReservedCodeCacheSize"); >> - putBiMap("Xmx", "MaxHeapSize"); >> - putBiMap("Xmn", "NewSize"); >> - putBiMap("Xss", "ThreadStackSize"); >> - putBiMap("Xusealtsigs", "UseAltSigs"); >> - putBiMap("cp", "classpath"); >> - putBiMap("esa", "enablesystemassertions"); >> - putBiMap("dsa", "disablesystemassertions"); >> - putBiMap("Xconcgc", "UseConcMarkSweepGC"); >> - putBiMap("Xnoconcgc", "UseConcMarkSweepGC"); >> - putBiMap("Xnoclassgc", "ClassUnloading"); >> - putBiMap("Xminf", "MinHeapFreeRatio"); >> - putBiMap("Xmaxf", "MaxHeapFreeRatio"); >> - putBiMap("Xrs", "ReduceSignalUsage"); >> - putBiMap("Dcom.sun.management", "ManagementServer"); >> - putBiMap("Xshare:dump", "DumpSharedSpaces"); >> - putBiMap("Xboundthreads", "UseBoundThreads"); >> + putBiMap("-Xbatch", "BackgroundCompilation"); >> + putBiMap("-Xmaxjitcodesize", "ReservedCodeCacheSize"); >> + putBiMap("-Xmx", "MaxHeapSize"); >> + putBiMap("-Xmn", "NewSize"); >> + putBiMap("-Xss", "ThreadStackSize"); >> + putBiMap("-Xusealtsigs", "UseAltSigs"); >> + putBiMap("-cp", "classpath"); >> + putBiMap("-esa", "enablesystemassertions"); >> + putBiMap("-dsa", "disablesystemassertions"); >> + putBiMap("-Xconcgc", "UseConcMarkSweepGC"); >> + putBiMap("-Xnoconcgc", "UseConcMarkSweepGC"); >> + putBiMap("-Xnoclassgc", "ClassUnloading"); >> + putBiMap("-Xminf", "MinHeapFreeRatio"); >> + putBiMap("-Xmaxf", "MaxHeapFreeRatio"); >> + putBiMap("-Xrs", "ReduceSignalUsage"); >> + putBiMap("-Dcom.sun.management", "ManagementServer"); >> + putBiMap("-Xshare:dump", "DumpSharedSpaces"); >> + putBiMap("-Xboundthreads", "UseBoundThreads"); >> putBiMap("AlwaysTenure", "NeverTenure"); >> putBiMap("ResizeTLE", "ResizeTLAB"); >> putBiMap("PrintTLE", "PrintTLAB"); >> @@ -77,10 +77,10 @@ >> putBiMap("UseTLE", "UseTLAB"); >> putBiMap("UsePermISM", "UseISM"); >> putBiMap("G1MarkStackSize", "CMSMarkStackSize"); >> - putBiMap("Xms", "InitialHeapSize"); >> + putBiMap("-Xms", "InitialHeapSize"); >> putBiMap("DisplayVMOutputToStderr", >> "DisplayVMOutputToStdout"); >> - putBiMap("Xverify", "BytecodeVerificationLocal"); >> - putBiMap("Xverify", "BytecodeVerificationRemote"); >> + putBiMap("-Xverify", "BytecodeVerificationLocal"); >> + putBiMap("-Xverify", "BytecodeVerificationRemote"); >> putBiMap("DefaultMaxRAMFraction", "MaxRAMFraction"); >> putBiMap("CMSMarkStackSizeMax", "MarkStackSizeMax"); >> putBiMap("ParallelMarkingThreads", "ConcGCThreads"); >> @@ -100,14 +100,13 @@ >> * the set of JVM flags to check >> * @return a set of all duplicated JVM flags >> */ >> - public static Set checkDuplicates(String arguments) { >> - HashSet seenFlags = new HashSet<>(); >> - HashSet dupes = new HashSet<>(); >> - String[] argumentArray = arguments.split(" -"); >> + public static Collection> >> checkDuplicates(String >> arguments) { >> + HashMap seenFlags = new HashMap<>(); >> + HashMap> dupes = new HashMap<>(); >> + String[] argumentArray = arguments.split(" "); >> if (argumentArray.length == 1 && >> argumentArray[0].equals("")) { >> - return dupes; >> + return dupes.values(); >> } >> - argumentArray[0] = argumentArray[0].substring(1); >> for (String fullArgument : argumentArray) { >> boolean verbatim = false; >> for (int i = 0; i < VERBATIM.length; i++) { >> @@ -122,7 +121,7 @@ >> } else { >> String[] split = fullArgument.split("[=:]", 3); >> argument = split[0]; >> - if ("XX".equals(split[0])) { >> + if ("-XX".equals(split[0])) { >> argument = split[1]; >> if (argument.startsWith("+") || >> argument.startsWith("-")) { >> argument = argument.substring(1); >> @@ -132,22 +131,24 @@ >> argument = scrubPrefix(argument, PREFIXES[i]); >> } >> String equivalentArgument = EQUIVALENT.get(argument); >> - if (equivalentArgument != null && >> !seenFlags.contains(argument) >> - && seenFlags.contains(equivalentArgument)) { >> - String longerArgument = >> equivalentArgument.length() > >> argument.length() ? equivalentArgument >> - : argument; >> - String shorterArgument = >> equivalentArgument.length() > >> argument.length() ? argument >> - : equivalentArgument; >> - String combinedArgument = String.format("%s >> (%s)", >> longerArgument, shorterArgument); >> - dupes.add(combinedArgument); >> + if (equivalentArgument != null && >> !seenFlags.containsKey(argument) >> + && >> seenFlags.containsKey(equivalentArgument)) { >> + argument = equivalentArgument; >> } >> } >> - if (seenFlags.contains(argument)) { >> - dupes.add(argument); >> + if (seenFlags.containsKey(argument)) { >> + if (!dupes.containsKey(argument)) { >> + dupes.put(argument, new ArrayList()); >> + dupes.get(argument).add(seenFlags.get(argument)); >> + } >> + dupes.get(argument).add(fullArgument); >> + >> } >> - seenFlags.add(argument); >> + else { >> + seenFlags.put(argument, fullArgument); >> + } >> } >> - return dupes; >> + return dupes.values(); >> } >> >> private static String scrubPrefix(String argument, String >> prefix) { >> diff -r b3a23786ef23 >> >> core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java >> --- >> >> a/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java >> Wed Oct 10 16:43:35 2018 -0400 >> +++ >> >> b/core/org.openjdk.jmc.flightrecorder.rules.jdk/src/main/java/org/openjdk/jmc/flightrecorder/rules/jdk/general/DuplicateFlagsRule.java >> Thu Nov 08 14:31:12 2018 -0500 >> @@ -33,6 +33,7 @@ >> package org.openjdk.jmc.flightrecorder.rules.jdk.general; >> >> import java.text.MessageFormat; >> +import java.util.ArrayList; >> import java.util.Collection; >> import java.util.Collections; >> import java.util.Set; >> @@ -72,14 +73,15 @@ >> // FIXME: Should we check if there are different jvm args in >> different chunks? >> Set args = >> >> jvmInfoItems.getAggregate(Aggregators.distinct(JdkAttributes.JVM_ARGUMENTS)); >> if (args != null && !args.isEmpty()) { >> - >> - Set dupes = >> JvmInternalsDataProvider.checkDuplicates(args.iterator().next()); >> + >> + Collection> dupes = >> JvmInternalsDataProvider. >> + checkDuplicates(args.iterator().next()); >> >> if (!dupes.isEmpty()) { >> StringBuilder sb = new StringBuilder(); >> sb.append("
    "); //$NON-NLS-1$ >> - for (String dupe : dupes) { >> - sb.append("
  • " + Encode.forHtml(dupe) + >> "
  • "); >> //$NON-NLS-1$ //$NON-NLS-2$ >> + for (ArrayList dupe : dupes) { >> + sb.append("
  • " + Encode.forHtml(String.join(", >> ", >> dupe)) + "
  • "); //$NON-NLS-1$ //$NON-NLS-2$ >> } >> sb.append("
"); //$NON-NLS-1$ >> String shortDescription = dupes.size() > 1 >> >> >> >> >>