From 6c192e01dad7e9947c466eff521fe22ac775fcd6 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Fri, 28 Feb 2020 18:11:48 +0000 Subject: Initial commit --- lib/longboat/jobs.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/longboat/jobs.rb (limited to 'lib/longboat/jobs.rb') diff --git a/lib/longboat/jobs.rb b/lib/longboat/jobs.rb new file mode 100644 index 0000000..eadae03 --- /dev/null +++ b/lib/longboat/jobs.rb @@ -0,0 +1,28 @@ +module Longboat + module Jobs + class << self + def collect! + start_time = (Time.now - 15 * 60).strftime("%H:%M:%S") + raw = `sacct -a -P -o State -S #{start_time}`.lines.map(&:strip)[1..-1] + + tally = Hash.new{0} + + raw.each do |state| + tally[state] += 1 + end + + tally.each do |state, number| + Longboat::Metrics.report!( + "longboat_slurm_job_state", + number, + help: "Number of jobs in each state", + type: "gauge", + labels: {state: state} + ) + end + end + end + + Longboat::Metrics.register!(self) + end +end -- cgit v1.2.1