6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/anomonitor/collectors/solid_queue.rb', line 6
def collect
unless solid_queue_available?
log_skip("Solid Queue tables not available")
return []
end
points = []
points << count_point("claimed", "solid_queue_claimed_executions")
points << count_point("failed", "solid_queue_failed_executions")
points << count_point("scheduled", "solid_queue_scheduled_executions")
if table_exists?("solid_queue_ready_executions")
points << point(
source: "solid_queue",
metric: "queue_depth",
value: connection.select_value("SELECT COUNT(*) FROM solid_queue_ready_executions").to_i
)
end
points.compact
rescue StandardError => e
Anomonitor.logger.warn("[Anomonitor] Solid Queue collector error: #{e.message}")
[]
end
|