#!/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()