[22, 23, master] Enable dtrace support.

Due to the conflicts in d/control I have raised additional mrs for enabling dtrace.

hotspot taps are provided by https://github.com/icedtea-git/icedtea project.

This MR does not include hotspot taps as they hardcode path to OpenJDK and will cause a conflict.

CenOS vendors them, but maybe a cleaner solution would be to create an icedtea-systemtap package and recommend it from OpenJDK? I could include a script that will discover installed JVMs in the standard location and preprocess the .in tap to include them.

PPA build: https://launchpad.net/~vpa1977/+archive/ubuntu/october-21/+sourcepub/16404438/+listing-archive-extra

Testing:

Checked out https://github.com/icedtea-git/icedtea, preprocessed tapset and ran stap:

$sed -e s'|@ABS_SERVER_LIBJVM_SO@|/usr/lib/jvm/java-1.21.0-openjdk-amd64/lib/server/libjvm.so|'g -e s'|@JAVA_SPEC_VER@|21|'g -e '/@ABS_CLIENT_LIBJVM_SO@/d' hotspot.stp.in  > hotspot.stp
$sudo cp hotspot.stp /usr/share/systemtap/tapset/
 
$sudo stap -e 'probe hotspot.* {println(pn);}' -c "java Test.java"
hotspot.vm_init_begin
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
hotspot.class_loaded
...
hotspot.thread_stop
hotspot.vm_shutdown

 
Edited by Vladimir Petko

Merge request reports

Loading