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

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

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

    perf4j使用一

    如果大家使用的是maven工程,那么現在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();

        }

       

        /**

         * 監控一處代碼示例

         * @throws InterruptedException

         */

        private static void method1() throws InterruptedException{

           //創建一個監控對象,這里使用LoggingStopWatch,它是把結果直接輸出到控制臺。我們也可以

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

           //要工程使用日志框架

           StopWatch stopWatch = new LoggingStopWatch("codeBlock1");

     

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

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

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

     

           //停止計算代碼性能

           stopWatch.stop();

        }

       

        /**

         * 一個方法多出代碼監控

         * @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);

           }

        }

    }

     

    運行結果:

    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基礎

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

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    收藏夾

    linux

    產品交互

    分析,設計,架構

    安全

    技術牛人

    數據庫

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人免费永久播放视频平台 | 皇色在线视频免费网站| 亚洲伊人久久大香线蕉AV| 国产嫩草影院精品免费网址| 一级成人毛片免费观看| 亚洲欧洲视频在线观看| 日韩免费观看视频| a级毛片免费播放| 日韩亚洲人成在线| 亚洲综合无码精品一区二区三区| 30岁的女人韩剧免费观看| 亚洲日韩国产欧美一区二区三区| 中文字幕无码精品亚洲资源网| 日本高清在线免费| 一级毛片免费在线观看网站| 香蕉蕉亚亚洲aav综合| 又色又污又黄无遮挡的免费视| 午夜精品免费在线观看| 亚洲av日韩av永久在线观看| 亚洲AV第一页国产精品| 免费观看亚洲人成网站| 成人免费黄色网址| 中文字幕成人免费高清在线视频| 亚洲人成网站在线播放2019| 久久亚洲国产欧洲精品一| 永久免费看bbb| 久久免费公开视频| 亚洲日本VA午夜在线电影| 久久久久亚洲AV综合波多野结衣 | 最近免费中文字幕mv电影| 亚洲精品国产综合久久久久紧| 亚洲人妻av伦理| 亚洲精品免费网站| 好猛好深好爽好硬免费视频| 亚洲AV无码一区二区三区牛牛| 国产在线不卡免费播放| 1000部羞羞禁止免费观看视频 | 国产精品久久久久影院免费| 免费毛片在线看不用播放器| 亚洲日韩国产精品乱-久| 国产一级特黄高清免费大片|