Module: DebugAgent::HttpRequestTracker

Defined in:
lib/debug_agent/inspectors/http_tracker.rb

Class Method Summary collapse

Class Method Details

.allObject



25
26
27
28
29
# File 'lib/debug_agent/inspectors/http_tracker.rb', line 25

def self.all
  DebugAgent.instance_variable_get(:@buffer_lock).synchronize do
    DebugAgent.instance_variable_get(:@request_buffer).dup
  end
end

.record(method, path, status, duration_ms, client = '') ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/debug_agent/inspectors/http_tracker.rb', line 10

def self.record(method, path, status, duration_ms, client = '')
  DebugAgent.instance_variable_get(:@buffer_lock).synchronize do
    buffer = DebugAgent.instance_variable_get(:@request_buffer)
    buffer << {
      timestamp: Time.now.iso8601,
      method: method,
      path: path,
      status: status,
      duration_ms: duration_ms.round(2),
      client: client
    }
    buffer.shift if buffer.size > MAX_REQUESTS
  end
end