Add nonci_accounts metric

Calculating this with PromQL is not easy
due to interpolation.

Also add HELP and TYPE metadata for each metric.
This commit is contained in:
link2xt
2024-07-08 13:40:11 +00:00
parent 85bb301255
commit 4292355310
3 changed files with 15 additions and 6 deletions

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env python3
import sys
import time
from pathlib import Path
@@ -16,9 +15,15 @@ def main(vmail_dir=None):
if path.name[:3] in ("ci-", "ac_"):
ci_accounts += 1
timestamp = int(time.time() * 1000)
print(f"accounts {accounts} {timestamp}")
print(f"ci_accounts {ci_accounts} {timestamp}")
print("# HELP total number of accounts")
print("# TYPE accounts gauge")
print(f"accounts {accounts}")
print("# HELP number of CI accounts")
print("# TYPE ci_accounts gauge")
print(f"ci_accounts {ci_accounts}")
print("# HELP number of non-CI accounts")
print("# TYPE nonci_accounts gauge")
print(f"nonci_accounts {accounts - ci_accounts}")
if __name__ == "__main__":

View File

@@ -8,9 +8,10 @@ def test_main(tmp_path, capsys):
out, _ = capsys.readouterr()
d = {}
for line in out.split("\n"):
if line.strip():
name, num, _ = line.split()
if line.strip() and not line.startswith("#"):
name, num = line.split()
d[name] = int(num)
assert d["accounts"] == 4
assert d["ci_accounts"] == 3
assert d["nonci_accounts"] == 1