diff --git a/lib/puma/cluster.rb b/lib/puma/cluster.rb index 245f348f..8be4fd74 100644 --- a/lib/puma/cluster.rb +++ b/lib/puma/cluster.rb @@ -279,8 +279,8 @@ module Puma while true sleep WORKER_CHECK_INTERVAL begin - b = server.backlog - r = server.running + b = server.backlog || 0 + r = server.running || 0 payload = %Q!#{base_payload}{ "backlog":#{b}, "running":#{r} }\n! io << payload rescue IOError diff --git a/lib/puma/single.rb b/lib/puma/single.rb index 4adf56ea..1f556055 100644 --- a/lib/puma/single.rb +++ b/lib/puma/single.rb @@ -5,8 +5,8 @@ require 'puma/plugin' module Puma class Single < Runner def stats - b = @server.backlog - r = @server.running + b = @server.backlog || 0 + r = @server.running || 0 %Q!{ "backlog": #{b}, "running": #{r} }! end diff --git a/test/test_cli.rb b/test/test_cli.rb index fe1729b8..04c36635 100644 --- a/test/test_cli.rb +++ b/test/test_cli.rb @@ -56,7 +56,7 @@ class TestCLI < Minitest::Test s = TCPSocket.new "127.0.0.1", 9877 s << "GET /stats HTTP/1.0\r\n\r\n" body = s.read - assert_equal '{ "backlog": 0, "running": 0 }', body.split("\r\n").last + assert_equal '{ "backlog": 0, "running": 0 }', body.split(/\r?\n/).last cli.launcher.stop t.join