aboutsummaryrefslogtreecommitdiff
path: root/Readme.textile
blob: d5f5f3ad5718e6778f1c51fab40cead1964cafa5 (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
h1. Longboat

Longboat is a metric collection system. Intended for Viking, but theoretically generic.

h2. Jobs

Longboat will pick up all jobs in the lib/jobs directory. Each job consists of:

* a file with a snake_case name, such as @my_job.rb@
* containing a single class with a CamelCase name matching the file name, such as @MyJob@
* with two methods:
** @initialize@, which takes two arguments of:
*** the collector to @report!@ the metrics to, and
*** a hash containing config relevant to jobs
** @run@, no arguments, which triggers a job run and metric report

@Longboat::Collector#report!@ takes as arguments:

# The name of the metric
# The value of the metric
# Optionally, as a final hash:
#* @help@: The help string for the metric
#* @type@: The Prometheus type of the metric
#* @labels@: A hash containing the metric labels
#* @timestamp@: The timestamp when the metric was collected, defaults to the time @report!@ was called.