diff options
author | Nat Lasseter <66247271+nl987@users.noreply.github.com> | 2020-11-11 16:01:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-11 16:01:43 +0000 |
commit | c218b3ab2cecab7efafdb8f9f3f18cb725dc9634 (patch) | |
tree | a7cd4945c95c14a8ebcd867c8a8cbdfadbe58ea7 /slurm_number_jobs.rb | |
parent | 72937de200cb22b300970c7080a8a5040737010f (diff) | |
parent | fdc0cc08592e4606e684951b5e2503832b15d148 (diff) |
Merge pull request #2 from university-of-york/slurm_number_jobs
New raider: number of jobs by partition, user, and state
Diffstat (limited to 'slurm_number_jobs.rb')
-rw-r--r-- | slurm_number_jobs.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/slurm_number_jobs.rb b/slurm_number_jobs.rb new file mode 100644 index 0000000..91fe630 --- /dev/null +++ b/slurm_number_jobs.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +# Report the number of jobs currently in queue, +# aggregated by state, user, and partition +class SlurmNumberJobs + def initialize(collector, config) + @collector = collector + @config = config + end + + def raid + raw = `squeue --format="%P,%u,%T" --noheader` + raw = raw.lines.map(&:strip) + raw = raw.map { |line| line.split(',') } + + tally = raw.tally + + @collector.redact!('slurm_number_jobs') + + tally.each do |labelset, number| + @collector.report!( + 'slurm_number_jobs', + number, + help: 'Number of jobs for a given user, partition, and state', + type: 'gauge', + labels: { + partition: labelset[0], + user: labelset[1], + state: labelset[2] + } + ) + end + end +end |