#!/usr/bin/python3 import argparse import hmac import json import os import pprint import random import socket import subprocess import time import re import urllib.parse import requests import ltsdb_report ap = argparse.ArgumentParser() ap.add_argument("url") args = ap.parse_args() url = urllib.parse.urlparse(args.url) hostname = url.hostname port = url.port if port is None: if url.scheme == "https": port = 443 elif url.scheme == "http": port = 80 else: raise RuntimeError("cannot determine port number") t0 = time.time() response = requests.get(args.url) t1 = time.time() dt = t1 - t0 report0 = [] report0.append({ "measure": "rtt", "unit": "s", "value": dt }) report0.append({ "measure": "http_status_code", "unit": "http_status_code", "value": response.status_code }) report0.append({ "measure": "content_length", "unit": "bytes", "value": len(response.content) }) report = [ { "description": { "hostname": hostname, "port": port, "url": args.url, "measure": r["measure"], "unit": r["unit"] }, "data": [ [t0, r["value"]] ] } for r in report0 ] success = ltsdb_report.send_report(report) exit(1 - success)