
server-status - a script to show the status of the local server

% server-status --scoreboard server-status --counter server-status/access-counter
Total Accesses: 123
BusyWorkers: 2
IdleWorkers: 3
--
pid status remote_addr host method uri protocol ss
20060 A 127.0.0.1 localhost:10001 GET / HTTP/1.1 1
20061 .
20062 A 127.0.0.1 localhost:10001 GET /server-status HTTP/1.1 0
20063 .
20064 .
# JSON format
% server-status --json --counter ~/server-status/access-counter
{"BusyWorkers":"2",
"stats":[
{"protocol":null,"remote_addr":null,"pid":"78639",
"status":".","method":null,"uri":null,"host":null,"ss":null},
{"protocol":"HTTP/1.1","remote_addr":"127.0.0.1","pid":"78640",
"status":"A","method":"GET","uri":"/","host":"localhost:10226","ss":0},
...
],"IdleWorkers":"3"}

This is a simple command-line script that examines the local server status files to report on the status of a locally-running server, without incurring any network overhead nor using a worker.

Required - same as the scoreboard option in the middleware.
Optional - same as the counter_file option in the middleware.
Optional - when provided, returns the data in JSON format. Defaults to false.
Optional - when provided, skip executes `ps command`. Please read perldoc Plack::Middleware::ServerStatus::Lite for details
Display help

This script mirrors the middleware's behaviour when the skip_ps_command option is set, because currently we do not know the server's parent pid (the process where the middleware was originally loaded, before worker processes are forked off). Therefore, data will be incomplete if not every worker has yet serviced a request before this script is run.

Karen Etheridge <ether {at} cpan.org> Masahiro Nagano <kazeburo {at} cpan.org>

Plack::Middleware::ServerStatus::Lite

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.