#!/usr/bin/python3

import time
import glob
import os.path

import ltsdb_record

now = time.time()
with open("/proc/uptime") as fh:
    ln = fh.readline()
    uptime = float(ln.split()[0])
last_reboot = now - uptime

last_mtime = 0
for p in glob.glob("/boot/**/*", recursive=True):
    mtime = os.path.getmtime(p)
    if mtime > last_mtime:
        last_mtime = mtime

if last_mtime > last_reboot:
    overdue = now - last_mtime
else:
    overdue = 0

report0 = []
report0.append({ "measure": "reboot_overdue", "unit": "s", "value": overdue})
report = [
    {
        "description": {
            "hostname": ltsdb_record.node,
            "measure": r["measure"],
            "unit": r["unit"]
        },
        "data": [
            [now, r["value"]]
        ]
    }
    for r in report0
]

success = ltsdb_record.record_observations(report)
exit(1 - success)