class Capsium::Reactor::Metrics
Minimal in-memory request counters for the /introspect/metrics endpoint (07-reactor): total requests plus a breakdown by HTTP status, thread-safe via Mutex (WEBrick serves concurrently).
Public Class Methods
() → void
Source
# File lib/capsium/reactor/metrics.rb, line 9 def initialize @mutex = Mutex.new @total = 0 @by_status = Hash.new(0) end
Public Instance Methods
(Integer status) → Metrics
Source
# File lib/capsium/reactor/metrics.rb, line 15 def record(status) @mutex.synchronize do @total += 1 @by_status[status.to_i] += 1 end self end
() → Hash[Symbol, untyped]
Source
# File lib/capsium/reactor/metrics.rb, line 23 def snapshot @mutex.synchronize do { requestsTotal: @total, requestsByStatus: @by_status.dup } end end