giltene / jHiccup

jHiccup is a non-intrusive instrumentation tool that logs and records platform "hiccups" - including the JVM stalls that often happen when Java applications are executed and/or any OS or hardware platform noise that may cause the running application to not be continuously runnable.
Other
677 stars 92 forks source link

The control process running in a separate JVM is not generated with JDK 9.0.4 and JDK 10 #30

Closed annabelleFougerolle closed 5 years ago

annabelleFougerolle commented 6 years ago

Hi,

We used the following parameters on Linux Centos 3.10.0-514.6.1.el7.x86_64:

-javaagent:/opt/jHiccup-2.0.8/jHiccup.jar=-c,-d,60000,-i,1000,-l,../var/log/program-name.%date

This example should record hiccups experienced during the running of MyProgram.jar in log file hiccuplog, while at the same time recording the hiccups experienced by a control process running in a separate JVM in the log file c.hiccuplog.

The control process running in a separate JVM is not generated with JDK 9.0.4 and JDK 10.0.1.

One single file is generated:

[Logged with jHiccup version 2.0.8]

[Histogram log format version 1.3]

[StartTime: 1524526871.595 (seconds since epoch), Mon Apr 23 23:41:11 UTC 2018]

"StartTimestamp","Interval_Length","Interval_Max","Interval_Compressed_Histogram" 60.007,1.000,0.033,HISTFAAAACV42pNpmSzMwMDAzAABTBDKTwEo5GawYwGD/QeIyDM+JgBnDAWw 61.007,1.000,0.049,HISTFAAAACh42pNpmSzMwMDAygABTBDKT4GBgdnNYMcCBvsPEJF7PEwdTABzmgYy

No issue with JDK 1.8_0_144: two files are generated.

Thanks for your help.

Regards,

Annabelle

giltene commented 6 years ago

This is currently blocked behind https://bugs.openjdk.java.net/browse/JDK-8208064 , unless we find some other way to determine the path to an agent jar from within a running program in Java 9+.

giltene commented 5 years ago

Fixed with https://github.com/giltene/jHiccup/commit/d0aa858fe6e4024042cc96bb618c5b885b405c7b