summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/DBStats.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2008-07-22 04:48:31 +0000
committerNarayan Desai <desai@mcs.anl.gov>2008-07-22 04:48:31 +0000
commitefd69fd03d93239463cdea4d12eb2c52dfef3b81 (patch)
tree7b641e3adbbf2554378bed1ed970d94a21a52bae /src/lib/Server/Plugins/DBStats.py
parent3cf149d0e05d91305a6e6e8957f8da9d3b28ac7c (diff)
downloadbcfg2-efd69fd03d93239463cdea4d12eb2c52dfef3b81.tar.gz
bcfg2-efd69fd03d93239463cdea4d12eb2c52dfef3b81.tar.bz2
bcfg2-efd69fd03d93239463cdea4d12eb2c52dfef3b81.zip
Add new DBstats plugin (direct to reports db)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4820 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Plugins/DBStats.py')
-rw-r--r--src/lib/Server/Plugins/DBStats.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/Server/Plugins/DBStats.py b/src/lib/Server/Plugins/DBStats.py
new file mode 100644
index 000000000..410bed4d7
--- /dev/null
+++ b/src/lib/Server/Plugins/DBStats.py
@@ -0,0 +1,25 @@
+import Bcfg2.Server.Plugin
+import Bcfg2.Server.Reports.importscript
+import lxml.etree, time
+
+class DBStats(Bcfg2.Server.Plugin.StatisticsPlugin):
+ __name__ = 'DBStats'
+ __version__ = '$Id: $'
+
+ def __init__(self, core, datastore):
+ self.cpath = "%s/Metadata/clients.xml" % datastore
+ self.core = core
+
+ def StoreStatistics(self, mdata, xdata):
+ newstats = xdata.find("Statistics")
+ newstats.set('time', time.asctime(time.localtime()))
+ e = lxml.etree.Element('Node', name=mdata.hostname)
+ e.append(newstats)
+ container = lxml.etree.Element("ConfigStatistics")
+ container.append(e)
+
+ # FIXME need to build a metadata interface to expose a list of clients
+ Bcfg2.Server.Reports.importscript.load_stats(
+ self.core.metadata.clientdata, container, 0)
+
+