Update: I figured out how to run the app directly. Method profiling now works, but MBeans browsing still doesn't.
Is it just the MBean browser that doesn't work, do the dials and the graphs in the other tabs of the JMX Console still move?
In what way doesn't it work? Is it just empty?
In the daemon case, did you get other data in the Flight Recording, not just the method profiling data?
Yes, in the JMX Console everything else works except the MBeans browser, which is completely empty. As I mentioned, this is the case both when the app runs under jsvc and when it runs standalone. Note I can view the MBeans fine via jconsole.
For method profiling when running under jsvc, that does work for the first few seconds, but then stops working thereafter. Again it works normally when the app runs standalone. If it'd help I can attach an example .jfr file that illustrates this.
I noticed that jsvc logs the message "Daemon doesn't support signaling" at some point after startup, not sure if this is at all related.
I guess that log message comes from
Maybe this indicates that the jvm attach framework on Linux will not work that well, and if you're connecting locally with JMC to your app, this might be a problem.
If you did not do so already, it might help if you start the jsvc daemon with some extra jvm flags:
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=7091
and then in JMC create a custom connection to localhost:7091
If this a system you want secure, you should of course enable ssl and/or authentication...
We do already use those JVM flags and the issue happens whether I connect a local JMC or a remote JMC.