Perf4j使用一主要演示了性能監控的日志直接打印在標準輸出流。那么使用二呢則主要來演示怎么來分析打印出來的日志文件。
由于我們還沒有跟log4j集成,日志文件打印在標準輸出流,我們需要把標準輸出流重定向到times.log文件中。重定向有兩種方式:直接copy到文件中,或者在eclipse里指定下輸出文件。我主要是用eclipse指定輸出文件。



然后運行代碼(Perf4j使用一的Example.java),控制臺會在第一句話中打出[Console output redirected to file:E:\yangpingyu\work\times.log],這樣運行的結果會同時打印在文件中和標準輸出中。
有了times.log,我們就可以對日志文件進行分析,以找出有問題的代碼。
分析日志命令:
E:\yangpingyu\work>java -jar perf4j-0.9.16.jar times.log

以csv的格式來查看結果,命令如下:
java -jar perf4j-0.9.16.jar -f csv times.log

以上都是以文本的格式進行輸出,但文本沒有圖表更具有表達力。所以把結果以圖表形式輸出是必不可少,幸好perf4j也支持,命令如下:
java -jar perf4j-0.9.16.jar --graph perfGraphs.html times.log
執行命令后,在控制臺輸出相應的統計信息,相應的在磁盤上也生成了一個html,html里包含平均值圖表和tps圖表。
<html>
<head><title>Perf4J Performance Graphs</title></head>
<body>
<br/><br/><img src="http://chart.apis.google.com/chart?cht=lxy&chtt=Mean&chs=750x400&chxt=x,x,y&chd=t:0.0,50.0,100.0|56.3,60.1,6.0|0.0,50.0|88.5,94.5|50.0,100.0|43.2,7.2|0.0,50.0,100.0|71.8,57.4,8.0|0.0,50.0,100.0|100.0,61.2,59.6|0.0,50.0,100.0|63.9,62.0,18.7|0.0,50.0,100.0|34.4,72.1,30.1&chco=ff0000,00ff00,0000ff,00ffff,ff00ff,ffff00,000000&chm=d,ff0000,0,-1,5.0|d,00ff00,1,-1,5.0|d,0000ff,2,-1,5.0|d,00ffff,3,-1,5.0|d,ff00ff,4,-1,5.0|d,ffff00,5,-1,5.0|d,000000,6,-1,5.0&chdl=codeBlock1|codeBlock2.failure|codeBlock2.success|codeBlock3|codeBlock4|codeBlock5|codeBlock6&chxr=2,0,748.5&chxl=0:|18:12:00|18:12:30|18:13:00|1:|Time&chxp=0,0.0,50.0,100.0|1,50&chg=50.0,10"/>
<br/><br/><img src="http://chart.apis.google.com/chart?cht=lxy&chtt=TPS&chs=750x400&chxt=x,x,y&chd=t:0.0,50.0,100.0|36.4,90.9,9.1|0.0,50.0|27.3,63.6|50.0,100.0|36.4,9.1|0.0,50.0,100.0|36.4,90.9,9.1|0.0,50.0,100.0|36.4,90.9,9.1|0.0,50.0,100.0|36.4,90.9,9.1|0.0,50.0,100.0|27.3,100.0,9.1&chco=ff0000,00ff00,0000ff,00ffff,ff00ff,ffff00,000000&chm=d,ff0000,0,-1,5.0|d,00ff00,1,-1,5.0|d,0000ff,2,-1,5.0|d,00ffff,3,-1,5.0|d,ff00ff,4,-1,5.0|d,ffff00,5,-1,5.0|d,000000,6,-1,5.0&chdl=codeBlock1|codeBlock2.failure|codeBlock2.success|codeBlock3|codeBlock4|codeBlock5|codeBlock6&chxr=2,0,0.4&chxl=0:|18:12:00|18:12:30|18:13:00|1:|Time&chxp=0,0.0,50.0,100.0|1,50&chg=50.0,10"/>
</body></html>
以上是html的內容,里面最重要的信息就是兩個img標簽,里面具體的圖片是google chart api生成。可以打開html直接查看圖表。


如果想要看更詳細的參數,可以使用—help來查看。java -jar perf4j-0.9.16.jar –help。