Module: InstJobsStatsd::Stats::Timing::Perform

Defined in:
lib/inst_jobs_statsd/stats/timing/perform.rb

Class Method Summary collapse

Class Method Details

.enableObject



5
6
7
8
# File 'lib/inst_jobs_statsd/stats/timing/perform.rb', line 5

def self.enable
  enable_batching
  enable_perform_timing
end

.enable_batchingObject



10
11
12
13
14
15
16
# File 'lib/inst_jobs_statsd/stats/timing/perform.rb', line 10

def self.enable_batching
  Delayed::Worker.lifecycle.around(:perform) do |worker, job, &block|
    InstStatsd::Statsd.batch do
      block.call(worker, job)
    end
  end
end

.enable_perform_timingObject



18
19
20
21
22
23
24
25
# File 'lib/inst_jobs_statsd/stats/timing/perform.rb', line 18

def self.enable_perform_timing
  Delayed::Worker.lifecycle.around(:perform) do |worker, job, &block|
    Timing.report_job_timing_queued(job)
    Timing.report_timing(:perform, job: job) do
      block.call(worker, job)
    end
  end
end