aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Lasseter <nat.lasseter@york.ac.uk>2020-11-11 14:57:09 +0000
committerNat Lasseter <nat.lasseter@york.ac.uk>2020-11-11 15:01:18 +0000
commitbc57c085e987f831ee50798109d6bc114182c22c (patch)
treeffdbfd317285900c76a6c2e4ad703bf0ca737bf9
parent72937de200cb22b300970c7080a8a5040737010f (diff)
New raider: number of jobs by partition, user, and state
-rw-r--r--slurm_number_jobs.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/slurm_number_jobs.rb b/slurm_number_jobs.rb
new file mode 100644
index 0000000..0dd3385
--- /dev/null
+++ b/slurm_number_jobs.rb
@@ -0,0 +1,31 @@
+class SlurmNumberJobs
+ def initialize(collector, config)
+ @collector = collector
+ @config = config
+ end
+
+ def raid
+ raw = `squeue --format="%P,%u,%T" --noheader`
+ raw = raw.lines
+ raw = raw.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