import requests, time, json
SITES = ["https://main.example.com", "https://blog.example.com", "https://demo.example.com", "https://store.example.com"]
def check_site(url):
try:
start = time.time()
resp = requests.get(url, timeout=5)
latency = int((time.time() - start) * 1000)
uptime = 100 if resp.status_code == 200 else 0
return {"url": url, "response": latency, "uptime": uptime, "status": resp.status_code}
except:
return {"url": url, "response": 5000, "uptime": 0, "status": "down"}
def run_monitor():
results = [check_site(s) for s in SITES]
report = {"total_sites": len(SITES), "avg_response": sum(r["response"] for r in results)/len(results), "down_sites": sum(1 for r in results if r["uptime"]<100)}
return report
print(json.dumps(run_monitor()))