A small utility application to make a GET request to a configurable HTTP URL, measure the latency and push it to Carbon. The utility is useful to recreate rare network issues or simply measure latencies.
The application tries to have sane defaults and could be started without any additional parameters. Here's a list of all CLI parameters:
$ ./http-pinger -help
Usage of ./http-pinger:
-carbon-host="localhost": Carbon host/IP.
-carbon-interval=1m0s: Interval to write to Carbon.
-carbon-namespace="http-pinger": Where the Carbon data should be stored in Graphite.
-carbon-port=2003: Carbon port.
-http-interval=10s: HTTP test interval.
-http-timeout=30s: HTTP request socket timeout.
-url="http://localhost/": The URL to issue the GET to.
Sample of metric submitted to Carbon/Graphite:
http-pinger.min 0 1433333074
http-pinger.max 2 1433333074
http-pinger.median 0 1433333074
http-pinger.5p 0 1433333074
http-pinger.25p 0 1433333074
http-pinger.95p 2 1433333074
http-pinger.75p 0 1433333074
http-pinger.timeouts 0 1433333074
http-pinger.count 11 1433333074
http-pinger.errors 11 1433333074
Execute
$ go get
$ go build
Contributions are always welcome. Bonus points for adding a unit test. If you aren't a code, or simply lazy ;), feel free to simply submit an issue to propose ideas or share bugs.
Made by Jens Rantil. Feel free to send me some love on Twitter if you like this!