from flask import Flask, jsonify, request import sqlite3 import time app = Flask(__name__) DB = "/data/metrics.db" def init_db(): conn = sqlite3.connect(DB) c = conn.cursor() c.execute(""" CREATE TABLE IF NOT EXISTS metrics ( id INTEGER PRIMARY KEY AUTOINCREMENT, target TEXT, latency REAL, status TEXT, timestamp TEXT ) """) conn.commit() conn.close() @app.route("/report", methods=["POST"]) def report(): data = request.json conn = sqlite3.connect(DB) c = conn.cursor() c.execute("INSERT INTO metrics (target, latency, status, timestamp) VALUES (?, ?, ?, ?)", (data["target"], data["latency"], data["status"], time.ctime())) conn.commit() conn.close() return {"message": "stored"} @app.route("/metrics") def metrics(): conn = sqlite3.connect(DB) c = conn.cursor() c.execute("SELECT target, latency, status, timestamp FROM metrics ORDER BY id DESC LIMIT 20") rows = c.fetchall() conn.close() return jsonify(rows) if __name__ == "__main__": init_db() app.run(host="0.0.0.0", port=5000)