summaryrefslogtreecommitdiffstats
path: root/roles/collectd/web-service/templates/web-service-collectd.py
blob: a29935c815c47f3d0419bff52bb4e4d80fc9ec4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python
""" monitor website request times for collectd """

import time
import socket
import urllib


hostname = socket.gethostname()  # Use FQDN, I guess..


def get_loadtime(url):
    start = time.time()
    _ = urllib.urlopen(url)
    return time.time() - start


if __name__ == '__main__':
    site = "{{ site }}"
    url = "{{ url }}"
    interval = int("{{ interval }}")

    try:
        while True:
            loadtime = get_loadtime(url)
            timestamp = int(time.time())
            print "PUTVAL %s/%s/delay-%s interval=%i %i:%f" % (
                hostname, 'web', site, interval, timestamp, loadtime)
            time.sleep((interval - (loadtime % interval)) % interval)
    except KeyboardInterrupt:
        pass