diff options
author | Killian Murphy <killian.murphy@york.ac.uk> | 2020-11-11 14:52:03 +0000 |
---|---|---|
committer | Killian Murphy <killian.murphy@york.ac.uk> | 2020-11-11 14:52:03 +0000 |
commit | 37451d9cb9b5061326827a7858b2a7c71ff64e52 (patch) | |
tree | 60080b596d6f9ca46eb05e20a17d0bbe588ab192 /pending_on_qos.rb | |
parent | c045926de0021e0be5426b983a9f9820619bcb62 (diff) |
Rename QoS pending raider with slurm_ prefix
Diffstat (limited to 'pending_on_qos.rb')
-rw-r--r-- | pending_on_qos.rb | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/pending_on_qos.rb b/pending_on_qos.rb deleted file mode 100644 index 330011c..0000000 --- a/pending_on_qos.rb +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -require 'date' - -# For each Viking partition, report the number of jobs pending for a long time -# due to QoS reasons. -class PendingOnQos - def initialize(collector, config) - @collector = collector - @partition_thresholds = { - nodes: 604_800, - week: 1_209_600, - month: 2_419_200, - himem: 604_800, - himem_week: 1_209_600, - gpu: 604_800, - interactive: 900, - test: 900, - preempt: 2_419_200 - } - end - - def raid - @partition_thresholds.each do |partition, threshold| - squeue_cmd = [ - 'squeue', - '--format="%R,%V"', - '--noheader', - "--partition=#{partition}", - '--state=PENDING' - ].join(' ') - - data = `#{squeue_cmd}`.split("\n").grep(/QOS/).map do |row| - row.split(',') - end - - count = data.count do |columns| - (Time.now.to_i - DateTime.parse(columns[1]).to_time.to_i) > threshold - end - - @collector.report!( - 'pending_on_qos', - count, - help: 'Number of jobs pending beyond a threshold for QoS reasons', - type: 'gauge', - labels: { - partition: partition.to_s - } - ) - end - end -end |