[英]java flight recorder concatenation error
我正在使用java 7的飛行記錄器來轉儲Hadoop任務的執行。 要做到這一點,我使用此配置選項:
<property>
<name>mapred.child.java.opts</name>
<value>-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=/root/recordings</value>
</property>
結果是許多.jfr文件(如預期的那樣)。 我可以毫無問題地在Java Mission Control中打開這些中的任何一個。 但是,如果我嘗試使用以下方法將它們連接在一起:
java oracle.jrockit.jfr.tools.ConCatRepository [directory] [-o output_filename]
(摘自: http : //docs.oracle.com/cd/E15289_01/doc.40/e15070.pdf : http : //docs.oracle.com/cd/E15289_01/doc.40/e15070.pdf )
我無法在Java Mission Control中打開結果,並顯示錯誤“從condensed.jfr加載事件遇到了問題。無法加載來自condensed.jfr的事件”。
我究竟做錯了什么?
聽起來像一個bug,如果JVM每秒發出十個(或更多)文件,那么該工具可能會按非時間順序連接文件,即一個名為2014_01_15_20_03_14_35880_10.jfr的文件會在2014_01_15_20_03_14_35880_2.jfr之前出現,這可能會讓人感到困惑任務控制解析器。
您可以嘗試以正確的順序自己連接文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.