Module: DistribCore::Metrics
- Defined in:
- lib/distrib_core/metrics.rb
Overview
Collect metrics from Leader and Workers.
Class Method Summary collapse
-
.queue_exposed ⇒ Object
Records Leader is ready to serve tests.
-
.report ⇒ Object
Stores metrics.
-
.test_taken ⇒ Object
Records first test was taken by a worker.
-
.watchdog_repushed(test, timeout_in_seconds) ⇒ Object
Records when watchdog repushes files back to queue because of timeout.
Class Method Details
.queue_exposed ⇒ Object
Records Leader is ready to serve tests
16 17 18 |
# File 'lib/distrib_core/metrics.rb', line 16 def queue_exposed report[:queue_exposed_at] = Time.now.to_i end |
.report ⇒ Object
Stores metrics
6 7 8 9 10 11 12 13 |
# File 'lib/distrib_core/metrics.rb', line 6 def report @report ||= { queue_exposed_at: nil, first_test_taken_at: nil, watchdog_repush_count: 0, repushed_files: Hash.new { |h, k| h[k] = [] } } end |
.test_taken ⇒ Object
Records first test was taken by a worker
21 22 23 |
# File 'lib/distrib_core/metrics.rb', line 21 def test_taken report[:first_test_taken_at] ||= Time.now.to_i end |
.watchdog_repushed(test, timeout_in_seconds) ⇒ Object
Records when watchdog repushes files back to queue because of timeout
29 30 31 32 |
# File 'lib/distrib_core/metrics.rb', line 29 def watchdog_repushed(test, timeout_in_seconds) report[:watchdog_repush_count] += 1 report[:repushed_files][test] << timeout_in_seconds end |