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.