Sha256: 75ef766db7544eb52e6e26e0a67d453471b3b8785b579d99335d887453c9c482

Contents?: true

Size: 1.32 KB

Versions: 2

Compression:

Stored size: 1.32 KB

Contents

# Simple log file specification, used to test log parser.
class TestingFormat < RequestLogAnalyzer::FileFormat::Base
  format_definition.first do |line|
    line.header = true
    line.teaser = /processing /
    line.regexp = /processing request (\d+)/
    line.captures = [{ name: :request_no, type: :integer }]
  end

  format_definition.test do |line|
    line.teaser = /testing /
    line.regexp = /testing is (\w+)(?: in (\d+\.\d+)ms)?/
    line.captures = [{ name: :test_capture, type: :test_type },
                     { name: :duration, type: :duration, unit: :msec }]
  end

  format_definition.eval do |line|
    line.regexp = /evaluation (\{.*\})/
    line.captures = [{ name: :evaluated, type: :eval, provides: { greating: :string, what: :string } }]
  end

  format_definition.last do |line|
    line.footer = true
    line.teaser = /finishing /
    line.regexp = /finishing request (\d+)/
    line.captures = [{ name: :request_no, type: :integer }]
  end

  format_definition.combined do |line|
    line.header = true
    line.footer = true
    line.regexp = /this is a header and footer line/
  end

  report do |analyze|
    analyze.frequency :test_capture, title: 'What is testing exactly?'
  end

  class Request < RequestLogAnalyzer::Request
    def convert_test_type(value, _definition)
      "Testing is #{value}"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
request-log-analyzer-1.13.4 spec/lib/testing_format.rb
request-log-analyzer-1.13.3 spec/lib/testing_format.rb