[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r22583: {arm} Adding optional 15 minute graphing interval and stub in case (arm/trunk/interface/graphing)
Author: atagar
Date: 2010-07-02 15:32:44 +0000 (Fri, 02 Jul 2010)
New Revision: 22583
Modified:
arm/trunk/interface/graphing/bandwidthStats.py
arm/trunk/interface/graphing/graphPanel.py
Log:
Adding optional 15 minute graphing interval and stub in case prepopulating from the state file actually works out (still not sure if it'll be viable).
Modified: arm/trunk/interface/graphing/bandwidthStats.py
===================================================================
--- arm/trunk/interface/graphing/bandwidthStats.py 2010-07-02 01:42:00 UTC (rev 22582)
+++ arm/trunk/interface/graphing/bandwidthStats.py 2010-07-02 15:32:44 UTC (rev 22583)
@@ -52,6 +52,31 @@
if self._config["features.graph.bw.accounting.show"]:
self.isAccounting = conn.getInfo('accounting/enabled') == '1'
+ # TODO: Currently this function is unused and pending responses on #tor-dev
+ # to figure out if the feature's even viable. If not, scrape.
+ def prepopulateFromState(self):
+ """
+ Attempts to use tor's state file to prepopulate values for the 15 minute
+ interval via the BWHistoryReadValues/BWHistoryWriteValues values. This
+ returns True if successful and False otherwise.
+ """
+
+
+ # get the user's data directory (usually '~/.tor')
+ dataDir = conn.getOption("DataDirectory")
+ if not dataDir: return False
+
+ # attempt to open the state file
+ try: stateFile = open("%s/state" % dataDir, "r")
+ except IOError: return False
+
+ # find the BWHistory lines (might not exist yet for new relays)
+ bwReadLine, bwWriteLine = None, None
+
+ for line in stateFile:
+ if line.startswith("BWHistoryReadValues"): bwReadLine = line
+ elif line.startswith("BWHistoryWriteValues"): bwWriteLine = line
+
def bandwidth_event(self, event):
if self.isAccounting and self.isNextTickRedraw():
if time.time() - self.accountingLastUpdated >= self._config["features.graph.bw.accounting.rate"]:
Modified: arm/trunk/interface/graphing/graphPanel.py
===================================================================
--- arm/trunk/interface/graphing/graphPanel.py 2010-07-02 01:42:00 UTC (rev 22582)
+++ arm/trunk/interface/graphing/graphPanel.py 2010-07-02 15:32:44 UTC (rev 22583)
@@ -23,8 +23,9 @@
from util import panel, uiTools
# time intervals at which graphs can be updated
-UPDATE_INTERVALS = [("each second", 1), ("5 seconds", 5), ("30 seconds", 30), ("minutely", 60),
- ("half hour", 1800), ("hourly", 3600), ("daily", 86400)]
+UPDATE_INTERVALS = [("each second", 1), ("5 seconds", 5), ("30 seconds", 30),
+ ("minutely", 60), ("15 minute", 900), ("30 minute", 1800),
+ ("hourly", 3600), ("daily", 86400)]
DEFAULT_HEIGHT = 10 # space needed for graph and content
DEFAULT_COLOR_PRIMARY, DEFAULT_COLOR_SECONDARY = "green", "cyan"