Class | Mongrel::StatusHandler |
In: |
lib/mongrel/handlers.rb
lib/mongrel/handlers.rb |
Parent: | HttpHandler |
The :stats_filter is basically any configured stats filter that you‘ve added to this same URI. This lets the status handler print out statistics on how Mongrel is doing.
# File lib/mongrel/handlers.rb, line 371 371: def initialize(ops={}) 372: @stats = ops[:stats_filter] 373: end
# File lib/mongrel/handlers.rb, line 371 371: def initialize(ops={}) 372: @stats = ops[:stats_filter] 373: end
# File lib/mongrel/handlers.rb, line 385 385: def describe_listener 386: results = "" 387: results << "<h1>Listener #{listener.host}:#{listener.port}</h1>" 388: results << table("settings", [ 389: ["host",listener.host], 390: ["port",listener.port], 391: ["throttle",listener.throttle], 392: ["timeout",listener.timeout], 393: ["workers max",listener.num_processors], 394: ]) 395: 396: if @stats 397: results << "<h2>Statistics</h2><p>N means the number of samples, pay attention to MEAN, SD, MIN and MAX." 398: results << "<pre>#{@stats.dump}</pre>" 399: end 400: 401: results << "<h2>Registered Handlers</h2>" 402: handler_map = listener.classifier.handler_map 403: results << table("handlers", handler_map.map {|uri,handlers| 404: [uri, 405: "<pre>" + 406: handlers.map {|h| h.class.to_s }.join("\n") + 407: "</pre>" 408: ] 409: }) 410: 411: results 412: end
# File lib/mongrel/handlers.rb, line 385 385: def describe_listener 386: results = "" 387: results << "<h1>Listener #{listener.host}:#{listener.port}</h1>" 388: results << table("settings", [ 389: ["host",listener.host], 390: ["port",listener.port], 391: ["throttle",listener.throttle], 392: ["timeout",listener.timeout], 393: ["workers max",listener.num_processors], 394: ]) 395: 396: if @stats 397: results << "<h2>Statistics</h2><p>N means the number of samples, pay attention to MEAN, SD, MIN and MAX." 398: results << "<pre>#{@stats.dump}</pre>" 399: end 400: 401: results << "<h2>Registered Handlers</h2>" 402: handler_map = listener.classifier.handler_map 403: results << table("handlers", handler_map.map {|uri,handlers| 404: [uri, 405: "<pre>" + 406: handlers.map {|h| h.class.to_s }.join("\n") + 407: "</pre>" 408: ] 409: }) 410: 411: results 412: end
# File lib/mongrel/handlers.rb, line 414 414: def process(request, response) 415: response.start do |head,out| 416: out.write "<html><body><title>Mongrel Server Status</title>\n\#{describe_listener}\n</body></html>\n" 417: end 418: end
# File lib/mongrel/handlers.rb, line 414 414: def process(request, response) 415: response.start do |head,out| 416: out.write "<html><body><title>Mongrel Server Status</title>\n\#{describe_listener}\n</body></html>\n" 417: end 418: end
# File lib/mongrel/handlers.rb, line 375 375: def table(title, rows) 376: results = "<table border=\"1\"><tr><th colspan=\"#{rows[0].length}\">#{title}</th></tr>" 377: rows.each do |cols| 378: results << "<tr>" 379: cols.each {|col| results << "<td>#{col}</td>" } 380: results << "</tr>" 381: end 382: results + "</table>" 383: end
# File lib/mongrel/handlers.rb, line 375 375: def table(title, rows) 376: results = "<table border=\"1\"><tr><th colspan=\"#{rows[0].length}\">#{title}</th></tr>" 377: rows.each do |cols| 378: results << "<tr>" 379: cols.each {|col| results << "<td>#{col}</td>" } 380: results << "</tr>" 381: end 382: results + "</table>" 383: end