module InstJobsStatsd::Stats::Timing
Public Class Methods
report_job_timing_failed(job)
click to toggle source
# File lib/inst_jobs_statsd/stats/timing.rb, line 20 def self.report_job_timing_failed(job) return unless job time_to_failure = ((Delayed::Job.db_time_now - job.run_at) * 1000).round report_timing(:failed_after, job: job, timing: time_to_failure) end
report_job_timing_queued(job)
click to toggle source
# File lib/inst_jobs_statsd/stats/timing.rb, line 14 def self.report_job_timing_queued(job) return unless job time_in_queue = ((Delayed::Job.db_time_now - job.run_at) * 1000).round report_timing(:queue, job: job, timing: time_in_queue) end
report_timing(stat, job: nil, timing: nil, sample_rate: 1) { || ... }
click to toggle source
# File lib/inst_jobs_statsd/stats/timing.rb, line 4 def self.report_timing(stat, job: nil, timing: nil, sample_rate: 1) stats = Naming.qualified_names(stat, job) if block_given? InstStatsd::Statsd.time(stats, sample_rate, short_stat: stat, tags: Naming.dd_job_tags(job)) { yield } else InstStatsd::Statsd.timing(stats, timing, sample_rate, short_stat: stat, tags: Naming.dd_job_tags(job)) end end