]> git.ipfire.org Git - collecty.git/blobdiff - src/collecty/plugins/memory.py
Rewrite plugin architecture
[collecty.git] / src / collecty / plugins / memory.py
index e66e22393f727392d6a732b7d664387ebb0bdf41..b58cbca5b0ffb104b526908f9f2b6d5a2fe61c18 100644 (file)
@@ -87,12 +87,7 @@ class GraphTemplateMemory(base.GraphTemplate):
        ]
 
 
-class MemoryPlugin(base.Plugin):
-       name = "memory"
-       description = "Memory Usage Data Source"
-
-       templates = [GraphTemplateMemory,]
-
+class MemoryObject(base.Object):
        rrd_schema = [
                "DS:used:GAUGE:0:100",
                "DS:cached:GAUGE:0:100",
@@ -101,12 +96,11 @@ class MemoryPlugin(base.Plugin):
                "DS:swap:GAUGE:0:100",
        ]
 
-       @classmethod
-       def autocreate(cls, collecty, **kwargs):
-               # Every system has got memory.
-               return cls(collecty, **kwargs)
+       @property
+       def id(self):
+               return "default"
 
-       def read(self):
+       def collect(self):
                f = None
 
                try:
@@ -141,3 +135,14 @@ class MemoryPlugin(base.Plugin):
                finally:
                        if f:
                                f.close()
+
+
+class MemoryPlugin(base.Plugin):
+       name = "memory"
+       description = "Memory Usage Plugin"
+
+       templates = [GraphTemplateMemory,]
+
+       @property
+       def objects(self):
+               yield MemoryObject(self)