Sha256: 9fb93084b3a21e57f433fb7ef59f3445cbeb52c4c8b1ac04605d52063c264733

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

# Copyright (c) 2021 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true

require 'contrast/components/interface'
require 'contrast/utils/timer'

module Contrast
  module Logger
    # Our decorator for the Ougai logger allowing for the logging of the
    # request lifecycle, used to provide context during troubleshooting.
    module Request
      include Contrast::Components::Interface
      access_component :config

      # Utility method to log the start of a request
      def request_start
        debug('Beginning request analysis')
      end

      # Utility method to log the end of a request, including the time it took
      # for that request to be processed.
      def request_end
        context = Contrast::Agent::REQUEST_TRACKER.current
        elapsed_time = context ? (Contrast::Utils::Timer.now_ms - context.timer.start_ms) : -1
        debug('Ending request analysis', elapsed_time_ms: elapsed_time)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
contrast-agent-4.8.0 lib/contrast/logger/request.rb
contrast-agent-4.7.0 lib/contrast/logger/request.rb