RFR: 7260: Create a new serializers bundle [v2]

Alex Macdonald aptmac at openjdk.java.net
Wed Jun 2 16:23:42 UTC 2021


On Wed, 2 Jun 2021 16:18:54 GMT, Marcus Hirt <hirt at openjdk.org> wrote:

>> This creates a new core bundle that can be used to serialize data from JFR into various popular formats, such as DOT and JSON.
>
> Marcus Hirt has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Update core/org.openjdk.jmc.flightrecorder.serializers/src/main/java/org/openjdk/jmc/flightrecorder/serializers/json/FlameGraphJsonSerializer.java
>    
>    Co-authored-by: Henrik Dafgård <hdafgard at gmail.com>
>  - Update core/org.openjdk.jmc.flightrecorder.serializers/src/main/java/org/openjdk/jmc/flightrecorder/serializers/json/FlameGraphJsonSerializer.java
>    
>    Co-authored-by: Henrik Dafgård <hdafgard at gmail.com>

core/org.openjdk.jmc.flightrecorder.serializers/META-INF/MANIFEST.MF line 12:

> 10:  org.openjdk.jmc.flightrecorder.serializers.dot
> 11: Automatic-Module-Name: org.openjdk.jmc.flightrecorder.serializers
> 12: Require-Bundle: org.lz4.lz4-java

Looks like it could use `org.openjdk.jmc.flightrecorder` in the require-bundle list? Otherwise when trying to use the Flamegraph or Graphview I end up with lots of exceptions such as:


Exception in thread "FlameGraphModelCalculation-0" java.lang.NoClassDefFoundError: org/openjdk/jmc/flightrecorder/stacktrace/tree/StacktraceTreeModel
	at org.openjdk.jmc.flightrecorder.serializers.json.FlameGraphJsonSerializer.toJson(FlameGraphJsonSerializer.java:89)
	at org.openjdk.jmc.flightrecorder.flameview.views.FlameGraphView$ModelRebuildRunnable.run(FlameGraphView.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassNotFoundException: org.openjdk.jmc.flightrecorder.stacktrace.tree.StacktraceTreeModel cannot be found by org.openjdk.jmc.flightrecorder.serializers_8.1.0.qualifier
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:519)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 5 more

-------------

PR: https://git.openjdk.java.net/jmc/pull/254


More information about the jmc-dev mailing list