]> piware.de Git - learn-metrics.git/blobdiff - things-series
Add script to generate time series
[learn-metrics.git] / things-series
diff --git a/things-series b/things-series
new file mode 100755 (executable)
index 0000000..c67cd62
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/python3
+import time
+
+# time series in 5s steps
+series = {
+    'thing_count': {
+        'type': 'counter',
+        'help': 'how many things ran',
+        'series': [0] * 6 + [1] * 6 + [2] * 6 + [7] * 12 + [8] * 12
+    },
+    'thing_failures': {
+        'type': 'counter',
+        'help': 'how many things failed',
+        'series': [0] * 12 + [1] * 6 + [5] * 24
+    },
+}
+
+num = len(series[list(series)[0]]['series'])
+now = int(time.time() * 1000)
+timestamps = [now - 5000 * (num - i) for i in range(num)]
+
+for metric, data in series.items():
+    assert len(data['series']) == num
+    print(f'# TYPE {metric} {data["type"]}')
+    print(f'# HELP {metric} {data["help"]}')
+    for (time, datum) in zip(timestamps, data['series']):
+        print(f'{metric} {datum} {time}')
+    print()