Class: PumaMetricsEngine::MatrixController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
app/controllers/puma_metrics_engine/matrix_controller.rb

Constant Summary collapse

TTL_SECONDS =

5 minutes

300
REQUESTS_KEY =
"puma:request_timestamps"
QUEUE_TIMES_KEY =
"puma:queue_times"
MAX_SAMPLES =
1000

Instance Method Summary collapse

Instance Method Details

#show ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/puma_metrics_engine/matrix_controller.rb', line 12

def show
  puma_stats = fetch_puma_stats
  queue_time_stats = calculate_aggregate_queue_times
  queue_time_windows = calculate_queue_time_windows
  requests_per_minute = calculate_requests_per_minute

  render json: {
    timestamp: Time.current,
    queue_time_ms: queue_time_stats,
    queue_time_windows: queue_time_windows,
    requests_per_minute: requests_per_minute,
    puma: puma_stats
  }
end