HTTP_STATUSES = {
"200" => "OK",
+ "206" => "Partial Content",
"301" => "Moved Permanently",
"302" => "Found",
"303" => "See Other",
"401" => "Unauthorized",
"403" => "Forbidden",
"404" => "Not Found",
+ "405" => "Method Not Allowed",
"408" => "Request Timeout",
"409" => "Conflict",
"410" => "Gone",
+ "412" => "Precondition Failed",
+ "416" => "Requested Range Not Satisfiable",
+ "422" => "Unprocessable Entity",
"500" => "Internal Server Error",
+ "502" => "Bad Gateway",
+ "503" => "Service Unavailable",
"509" => "Bandwidth Limit Exceeded"
-}
+}.freeze
if ARGV[0] == "config"
puts "graph_title HTTP response codes"
- puts "graph_args --lower-limit 0 --base 1000 --logarithmic"
+ puts "graph_args --base 1000"
puts "graph_vlabel Number of requests per ${graph_period}"
puts "graph_category api"
HTTP_STATUSES.each do |code, label|
- puts "http#{code}.label #{label}"
+ puts "http#{code}.label #{code} #{label}"
puts "http#{code}.type DERIVE"
+ puts "http#{code}.min 0"
end
else
statistics = JSON.parse(File.read("/srv/www.openstreetmap.org/rails/tmp/statistics.json"))
- HTTP_STATUSES.keys.each do |code|
+ HTTP_STATUSES.each_key do |code|
count = statistics["status"][code] || 0
puts "http#{code}.value #{count}"
end