1 /***
2 * Jetrix TetriNET Server
3 * Copyright (C) 2004 Emmanuel Bourg
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 */
19
20 package net.jetrix.config;
21
22 /***
23 * Basic statistics about the server usage.
24 *
25 * @author Emmanuel Bourg
26 * @version $Revision: 794 $, $Date: 2009-02-17 20:08:39 +0100 (Tue, 17 Feb 2009) $
27 */
28 public class Statistics
29 {
30 private int gameCount;
31 private int connectionCount;
32 private long startTime;
33
34 public Statistics()
35 {
36 startTime = System.currentTimeMillis();
37 }
38
39 /***
40 * Return the uptime of the server (in days).
41 */
42 public long getUpTime()
43 {
44 long elaspsed = System.currentTimeMillis() - startTime;
45 return elaspsed / (24 * 3600 * 1000);
46 }
47
48 /***
49 * Return the number of games played.
50 */
51 public int getGameCount()
52 {
53 return gameCount;
54 }
55
56 /***
57 * Add 1 to the number of games played.
58 */
59 public synchronized void increaseGameCount()
60 {
61 gameCount++;
62 }
63
64 /***
65 * Return the number of connections from spectators and players.
66 */
67 public int getConnectionCount()
68 {
69 return connectionCount;
70 }
71
72 /***
73 * Add 1 to the number of connections.
74 */
75 public synchronized void increaseConnectionCount()
76 {
77 connectionCount++;
78 }
79 }