Puma was built for speed and parallelism. Puma is a small library that provides a very fast and concurrent HTTP 1.1 server for Ruby web applications.
Support for Puma was added in AppSignal Ruby gem version
The AppSignal Ruby gem automatically inserts a listener into the Puma server. No further action is required.
Note: Puma 3.11.4 or higher required.
Note: When running in clustered mode
preload_app! is required.
This probe will report the following metrics grouped by
count: number of currently running threads for this server.
booted: the total number of currently booted workers for this server.
old: the number of workers running the previous configuration/code of the server at the moment in time. These will be phased out by Puma as new workers start.
running: number of currently running threads for this server.
max: maximum number of configured threads for this server.
- The number of established but unaccepted connections that are in the server backlog queue and still need to be processed.
- The total thread pool capacity of the Puma server, including the number of threads that are waiting to be booted.
This probe listens to the
hostname config option for the hostname tag added to all its metrics. If none is set it will try to detect it automatically. Use the
hostname config option to set the hostname if you want to change the detected hostname.
When running puma in
daemonized mode started by
rails server, the minutely probe isn't started automatically. To get Puma metrics, add the following to the Puma config (puma.rb).
1 2 3 4 5 # puma.rb before_fork do Appsignal::Minutely.start end