<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    perf4j使用一

    如果大家使用的是maven工程,那么現(xiàn)在pom文件中加入perf4j的依賴。

    <dependency>

    <groupId>org.perf4j</groupId>

    <artifactId>perf4j</artifactId>

    <version>0.9.16</version>

    <scope>compile</scope>

    </dependency>

    如果用的是普通工程,那么直接下載jar包放入lib目錄下即可。

     

     

    例子:

    package com.baowu.per4j;

     

    import org.perf4j.LoggingStopWatch;

    import org.perf4j.StopWatch;

     

    public class Example1 {

     

        public static void main(String[] args) throws InterruptedException{

           method1();

           method2();

           method3();

        }

       

        /**

         * 監(jiān)控一處代碼示例

         * @throws InterruptedException

         */

        private static void method1() throws InterruptedException{

           //創(chuàng)建一個監(jiān)控對象,這里使用LoggingStopWatch,它是把結(jié)果直接輸出到控制臺。我們也可以

           //使用StopWatch的其他子類,比如:Log4JStopWatchCommonsLogStopWatch。不過這些子類需

           //要工程使用日志框架

           StopWatch stopWatch = new LoggingStopWatch("codeBlock1");

     

           //這里就是一些需要監(jiān)控的代碼,我們命名為codeBlock1

           //使用線程休眠是為了模擬代碼執(zhí)行時間

           Thread.sleep((long)(Math.random() * 1000L));

     

           //停止計算代碼性能

           stopWatch.stop();

        }

       

        /**

         * 一個方法多出代碼監(jiān)控

         * @throws InterruptedException

         */

        private static void method2() throws InterruptedException{

           StopWatch stopWatch = new LoggingStopWatch();

           Thread.sleep((long)(Math.random() * 1000L));

           stopWatch.lap("codeBlock3");

           Thread.sleep((long)(Math.random() * 1000L));

           stopWatch.lap("codeBlock4");

           Thread.sleep((long)(Math.random() * 1000L));

           stopWatch.lap("codeBlock5");

           Thread.sleep((long)(Math.random() * 1000L));

           stopWatch.stop("codeBlock6");

        }

       

        /**

         * stop方法可以加入一些說明信息

         */

        private static void method3(){

           StopWatch stopWatch = new LoggingStopWatch();

           try {

               // the code block being timed - this is just a dummy example

               long sleepTime = (long)(Math.random() * 1000L);

               Thread.sleep(sleepTime);

               if (sleepTime > 500L) {

                   throw new Exception("Throwing exception");

               }

               stopWatch.stop("codeBlock2.success", "Sleep time was < 500 ms");

           } catch (Exception e) {

               stopWatch.stop("codeBlock2.failure", "Exception was: " + e);

           }

        }

    }

     

    運行結(jié)果:

    start[1334457619937] time[355] tag[codeBlock1]

    start[1334457620296] time[152] tag[codeBlock3]

    start[1334457620453] time[138] tag[codeBlock4]

    start[1334457620593] time[598] tag[codeBlock5]

    start[1334457621187] time[700] tag[codeBlock6]

    start[1334457621890] time[619] tag[codeBlock2.failure] message[Exception was: java.lang.Exception: Throwing exception]

    posted on 2012-04-15 10:44 yangpingyu 閱讀(2983) 評論(0)  編輯  收藏 所屬分類: java基礎(chǔ)

    <2012年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    收藏夾

    linux

    產(chǎn)品交互

    分析,設(shè)計,架構(gòu)

    安全

    技術(shù)牛人

    數(shù)據(jù)庫

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91精品视频在线免费观看| 亚洲另类激情专区小说图片| 久久亚洲AV无码精品色午夜麻豆| 羞羞视频在线观看免费| 国产午夜免费福利红片| 亚洲字幕AV一区二区三区四区 | 国产成人免费a在线资源| 亚洲入口无毒网址你懂的| 亚洲黄色免费网站| 亚洲综合色丁香麻豆| 久久免费动漫品精老司机| 久久亚洲高清观看| a级毛片高清免费视频就| 伊伊人成亚洲综合人网7777| 深夜免费在线视频| 亚洲高清免费视频| 黄色a三级免费看| 免费少妇a级毛片人成网| 美景之屋4在线未删减免费| 国产午夜无码视频免费网站| 精品国产日韩亚洲一区在线| 日本二区免费一片黄2019| 噜噜综合亚洲AV中文无码| 国产福利免费在线观看| 国产成人va亚洲电影| 免费h黄肉动漫在线观看| 白白色免费在线视频| 亚洲高清无码在线观看| 一级毛片免费在线播放| 亚洲片一区二区三区| 国产免费久久精品丫丫| 亚洲人成国产精品无码| 狠狠躁狠狠爱免费视频无码| 亚洲人成色7777在线观看| 永久免费不卡在线观看黄网站| 亚洲Aⅴ无码专区在线观看q| 91香蕉在线观看免费高清| 亚洲AV无码精品蜜桃| 成人在线视频免费| 国产精品亚洲а∨天堂2021| 亚洲成a人片在线观看老师|