changeset 88:cb159e4e790c default tip

metric
author drewp@bigasterisk.com
date Sat, 07 Sep 2024 19:58:32 -0700
parents 598e75e8e2d7
children
files metric
diffstat 1 files changed, 27 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/metric	Sat Sep 07 19:58:32 2024 -0700
@@ -0,0 +1,27 @@
+#!/usr/bin/python3
+
+import json
+import subprocess
+import sys
+import time
+import httpx
+
+[q, hours] = sys.argv[1:]
+
+vmselect = subprocess.check_output(['khost', 'victoriametrics-vmselect']).decode('utf8')
+t2 = time.time()
+t1 = t2 - float(hours) * 3600
+
+res = httpx.get(f'http://{vmselect}/m/vmselect/select/0/prometheus/api/v1/query_range', params={
+    'query': q,
+    'start': t1,
+    'end': t2,
+    'step': f'{max(5, (t2 - t1) / 250)}s',
+})
+res.raise_for_status()
+response = res.json()
+out = []
+first = response['data']['result'][0]
+for row in first['values']:
+    out.append({'t': row[0], first['metric']['__name__']: float(row[1])})
+print(json.dumps(out))