<commit_before># Poller

A simple and composable HTTP monitoring application written in Go.

It's very alpha for now, so please bear with it.

## What is it?

Poller's job is to monitor http application by submitting GET requests to URL
you define in a config file. These URLs are called "Checks".

Once a check is done, the result is sent to one or many backend of your choice. 

Current supported backend are stdout, syslog,
[librato](http://metrics.librato.com/) and [statsd](://github.com/etsy/statsd).

## How to build/install it

As the software is alpha now, I'll assume that you know how to build go
softwares. For the others, I'll try to provide binaries soon enough once
stability has been proven for 1 check to 1000s of checks.

## How to configure it

Configuration is done is a json file (for now). A sample configuration file
looks like this:

    {
        "backends": ["stdout", "syslog"],
        "checks": [
            {
                "key": "com_google",
                "url": "http://google.com",
                "interval": "10s"
            },
            {
                "key": "fr_yahoo",
                "url": "http://yahoo.fr",
                "interval": "10s"
            }
        ]
    }

This config file defines 2 backends and 2 checks. These two checks will be
executes every 10 seconds. Configuration for the backend is achieved with
environment variables.

The `key` is the identifier that will be used in the output.

## How to run it
<commit_msg>Adds poller-heroku repository link to README<commit_after># Poller

A simple and composable HTTP monitoring application written in Go.

It's very alpha for now, so please bear with it.

## What is it?

Poller's job is to monitor http application by submitting GET requests to URL
you define in a config file. These URLs are called "Checks".

Once a check is done, the result is sent to one or many backend of your choice. 

Current supported backend are stdout, syslog,
[librato](http://metrics.librato.com/) and [statsd](://github.com/etsy/statsd).

## How to build/install it

As the software is alpha now, I'll assume that you know how to build go
softwares. For the others, I'll try to provide binaries soon enough once
stability has been proven for 1 check to 1000s of checks.

If you want to run it on heroku, I've made a sample repository for that
available here:
[https://github.com/marcw/poller-heroku](https://github.com/marcw/poller-heroku)

## How to configure it

Configuration is done is a json file (for now). A sample configuration file
looks like this:

    {
        "backends": ["stdout", "syslog"],
        "checks": [
            {
                "key": "com_google",
                "url": "http://google.com",
                "interval": "10s"
            },
            {
                "key": "fr_yahoo",
                "url": "http://yahoo.fr",
                "interval": "10s"
            }
        ]
    }

This config file defines 2 backends and 2 checks. These two checks will be
executes every 10 seconds. Configuration for the backend is achieved with
environment variables.

The `key` is the identifier that will be used in the output.

## How to run it

{'fraction_non_alphanumeric': 0.08802263439170073, 'fraction_numerical': 0.00817353033637221, 'mean_word_length': 2.5513392857142856, 'pattern_counts': {'":': 16, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1388814', 'n_tokens_mistral': 929, 'n_tokens_neox': 867, 'n_words': 415}