Added monitor layer of abstraction for dashboard statistics
authorSapan Bhatia <sapanb@cs.princeton.edu>
Tue, 16 Dec 2014 06:07:33 +0000 (01:07 -0500)
committerSapan Bhatia <sapanb@cs.princeton.edu>
Tue, 16 Dec 2014 06:07:33 +0000 (01:07 -0500)
planetstack/monitor/__init__.py [new file with mode: 0644]
planetstack/monitor/monitordriver.py [new file with mode: 0644]

diff --git a/planetstack/monitor/__init__.py b/planetstack/monitor/__init__.py
new file mode 100644 (file)
index 0000000..1dd5074
--- /dev/null
@@ -0,0 +1,3 @@
+from observer import ceilometer
+
+driver = ceilometer.CeilometerDriver()
diff --git a/planetstack/monitor/monitordriver.py b/planetstack/monitor/monitordriver.py
new file mode 100644 (file)
index 0000000..f7eb1b9
--- /dev/null
@@ -0,0 +1,19 @@
+# Implement this interface
+# to serve as a driver for analytics
+
+class DashboardStatistics(dict):
+    def __init__(self):
+        self['stat_list'] = []
+        self['average'] = 0
+        self['sum'] = 0
+        self['unit'] = 'units'
+        # stat_list is a list of dicts
+        # [ {'timestamp': datetime, 'value': value} ]
+
+
+class MonitorDriver:
+    def __init__(self):
+        pass
+
+    def get_meter(self, meter_name, credentials):
+        pass