简体   繁体   中英

java flight recorder concatenation error

i'm using java 7's flight recorder to dump execution of Hadoop tasks. to do this, i use this configuration option:

<property>
    <name>mapred.child.java.opts</name>
    <value>-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=/root/recordings</value>
</property>

The result is many .jfr files (as expected). I can open anyone of these in Java Mission Control without issue. However, if I try and concatenate them together using:

java oracle.jrockit.jfr.tools.ConCatRepository [directory] [-o output_filename] 

(taken from: http://docs.oracle.com/cd/E15289_01/doc.40/e15070.pdf : http://docs.oracle.com/cd/E15289_01/doc.40/e15070.pdf )

I can not open the result in Java Mission Control with error "Loading events from condensed.jfr has encountered a problem. Could not load events from condensed.jfr".

What am I doing wrong?

Sounds like a bug, it could be that the tool concatenates files in a non-chronological order, if the JVM emits ten (or more) files per second, ie a file named 2014_01_15_20_03_14_35880_10.jfr would come before 2014_01_15_20_03_14_35880_2.jfr, which perhaps confuses the Mission Control parser.

You could try to concatenate the files yourself, in the correct order.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM