aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--control.py10
-rwxr-xr-xmetrics.py8
2 files changed, 15 insertions, 3 deletions
diff --git a/control.py b/control.py
index f865444..ecf3994 100644
--- a/control.py
+++ b/control.py
@@ -73,6 +73,16 @@ class EjabberdCtl(EjabberdApi):
return result
return result["s2s_outgoing"]
+ def fetch_uptime(self):
+ result = self.cmd("stats", {"name": "uptimeseconds"})
+ if "stat" in result:
+ return result["stat"]
+
+ def fetch_processes(self):
+ result = self.cmd("stats", {"name": "processes"})
+ if "stat" in result:
+ return result["stat"]
+
def fetch_registered_count(self, vhost=None):
if vhost is None:
result = self.cmd("stats", {"name":"registeredusers"})
diff --git a/metrics.py b/metrics.py
index 90d3fc5..761825e 100755
--- a/metrics.py
+++ b/metrics.py
@@ -210,6 +210,10 @@ class EjabberdMetrics(EjabberdCtl):
data = {
"registered": self.get_registered(),
"muc": self.get_muc(),
+ "s2s_in": self.get_s2s_in(),
+ "s2s_out": self.get_s2s_out(),
+ "uptime": self.fetch_uptime(),
+ "processes": self.fetch_processes(),
"online_by_status": self.get_online_by_status(),
"online_by_client": self.get_online_by_client(),
"online_by_ipversion": self.get_online_by_ipversion(),
@@ -229,9 +233,7 @@ class EjabberdMetrics(EjabberdCtl):
data["online_client_by_ipversion"] = self.get_online_client_by_ipversion()
data["nodes"] = nodes
-
- data["s2s_in"] = self.get_s2s_in()
- data["s2s_out"] = self.get_s2s_out()
+
return data