aboutsummaryrefslogtreecommitdiff
path: root/Readme.textile
blob: aa4750d33318922e908b991d430ede1de0b2357e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 a single argument of the collector to @report!@ the metrics to
** @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.