Sha256: ef6859ab8eb46c9d0a9de67db45f10e46a7e1f46c55d89c50bb7898686116e79

Contents?: true

Size: 1.41 KB

Versions: 16

Compression:

Stored size: 1.41 KB

Contents

module RequestLogAnalyzer::FileFormat

  # The DelayedJob2 file format parsed log files that are created by DelayedJob 2.0.
  # By default, the log file can be found in RAILS_ROOT/log/delayed_job.log
  class DelayedJob2 < Base
    
    extend CommonRegularExpressions
    
    line_definition :job_lock do |line|
      line.header = true
      line.regexp = /(#{timestamp('%Y-%m-%dT%H:%M:%S%z')}): \* \[Worker\(\S+ host:(#{hostname_or_ip_address}) pid:(\d+)\)\] acquired lock on (\S+)/
      
      line.capture(:timestamp).as(:timestamp)
      line.capture(:host)
      line.capture(:pid).as(:integer)
      line.capture(:job)
    end
    
    line_definition :job_completed do |line|
      line.footer = true
      line.regexp = /(#{timestamp('%Y-%m-%dT%H:%M:%S%z')}): \* \[JOB\] \S+ host:(#{hostname_or_ip_address}) pid:(\d+) completed after (\d+\.\d+)/
      line.capture(:timestamp).as(:timestamp)
      line.capture(:host)
      line.capture(:pid).as(:integer)
      line.capture(:duration).as(:duration, :unit => :sec)
    end
    
    report do |analyze|
      analyze.timespan
      analyze.hourly_spread

      analyze.frequency :job, :line_type => :job_completed, :title => "Completed jobs"
      #analyze.frequency :job, :if => lambda { |request| request[:attempts] ==  1 }, :title => "Failed jobs"
      
      analyze.duration :duration, :category => :job, :line_type => :job_completed, :title => "Job duration"
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
request-log-analyzer-1.13.1 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.13.0 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.11 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.10 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.9 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.8 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.7 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.6 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.5 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.4 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.3 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.2 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.1 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.12.0 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.11.1 lib/request_log_analyzer/file_format/delayed_job2.rb
request-log-analyzer-1.11.0 lib/request_log_analyzer/file_format/delayed_job2.rb