KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > deliver > util > Timer


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.deliver.util;
25
26 /**
27  * @author Mattias Bogeblad
28  *
29  * This class is a timer utility to debug performance issues. It allows to start/stop the timer
30  * and to report in between what the time is.
31  *
32  */

33
34 public class Timer
35 {
36     private long startTime = 0;
37     private long elapsedTime = 0;
38     private long lastPrintTime = 0;
39     private boolean isActive = true;
40     
41     public Timer()
42     {
43         startTime = System.currentTimeMillis();
44         lastPrintTime = startTime;
45     }
46     
47     public long getElapsedTime()
48     {
49         elapsedTime = System.currentTimeMillis() - lastPrintTime;
50         lastPrintTime = System.currentTimeMillis();
51         return elapsedTime;
52     }
53     
54     public void printElapsedTime(String JavaDoc message)
55     {
56         if(this.isActive)
57         {
58             elapsedTime = System.currentTimeMillis() - lastPrintTime;
59             lastPrintTime = System.currentTimeMillis();
60             System.out.println(message + " - Elapsed time since last report: " + elapsedTime);
61         }
62     }
63     
64     public boolean getIsActive()
65     {
66         return this.isActive;
67     }
68
69     public void setActive(boolean isActive)
70     {
71         this.isActive = isActive;
72     }
73
74 }
75
Popular Tags