X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=tools%2Fprivoxy-log-parser.pl;h=e8503f111e25fe1aea4d2483999a5f24bb51fcd0;hb=c1412ed1972b83c1011786ddeab1079e65ead03b;hp=91c5c6c8c1ef1f92e5dc543ecc2c8cf78f18b4a6;hpb=e5ba37acdda39e3178f3ed8e04011c9c3b807b5e;p=privoxy.git diff --git a/tools/privoxy-log-parser.pl b/tools/privoxy-log-parser.pl index 91c5c6c8..e8503f11 100755 --- a/tools/privoxy-log-parser.pl +++ b/tools/privoxy-log-parser.pl @@ -8,7 +8,7 @@ # # https://www.fabiankeil.de/sourcecode/privoxy-log-parser/ # -# $Id: privoxy-log-parser.pl,v 1.164 2017/02/20 15:57:40 fabiankeil Exp $ +# $Id: privoxy-log-parser.pl,v 1.170 2017/03/03 17:43:35 fabiankeil Exp $ # # TODO: # - LOG_LEVEL_CGI, LOG_LEVEL_ERROR, LOG_LEVEL_WRITE content highlighting @@ -25,7 +25,7 @@ # hash key as input. # - Add --compress and --decompress options. # -# Copyright (c) 2007-2013 Fabian Keil +# Copyright (c) 2007-2017 Fabian Keil # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -45,7 +45,7 @@ use warnings; use Getopt::Long; use constant { - PRIVOXY_LOG_PARSER_VERSION => '0.8', + PRIVOXY_LOG_PARSER_VERSION => '0.9', # Feel free to mess with these ... DEFAULT_BACKGROUND => 'black', # Choose registered colour (like 'black') DEFAULT_TEXT_COLOUR => 'white', # Choose registered colour (like 'black') @@ -2009,6 +2009,10 @@ sub gather_loglevel_crunch_stats ($$) { } elsif ($c =~ m/^Connection timeout:/) { # Connection timeout: http://c.tile.openstreetmap.org/18/136116/87842.png $stats{'connection-timeout'}++; + + } elsif ($c =~ m/^Connection failure:/) { + # Connection failure: http://127.0.0.1:8080/ + $stats{'connection-failure'}++; } } @@ -2078,6 +2082,7 @@ sub gather_loglevel_header_stats ($$) { my ($c, $thread) = @_; our %stats; + our %cli_options; if ($c =~ m/^A HTTP\/1\.1 response without/ or $c =~ m/^Keeping the server header 'Connection: keep-alive' around./) @@ -2090,10 +2095,13 @@ sub gather_loglevel_header_stats ($$) { # scan: HTTP/1.1 200 OK $stats{'method'}{$2}++; - $stats{'resource'}{$3}++; + if ($cli_options{'url-statistics-threshold'} != 0) { + $stats{'resource'}{$3}++; + } $stats{'http-version'}{$4}++; - } elsif ($c =~ m/^scan: Host: ([^\s]+)/) { + } elsif ($cli_options{'host-statistics-threshold'} != 0 and + $c =~ m/^scan: Host: ([^\s]+)/) { # scan: Host: p.p $stats{'hosts'}{$1}++; @@ -2111,6 +2119,8 @@ sub init_stats () { 'empty-responses-on-reused-connections' => 0, 'fast-redirections' => 0, 'blocked' => 0, + 'connection-failure' => 0, + 'connection-timeout' => 0, 'reused-connections' => 0, 'server-keep-alive' => 0, 'closed-client-connections' => 0, @@ -2155,6 +2165,8 @@ sub print_stats () { get_percentage($stats{requests}, $stats{'fast-redirections'}) . ")\n"; print "Connection timeouts: " . $stats{'connection-timeout'} . " (" . get_percentage($stats{requests}, $stats{'connection-timeout'}) . ")\n"; + print "Connection failures: " . $stats{'connection-failure'} . " (" . + get_percentage($stats{requests}, $stats{'connection-failure'}) . ")\n"; print "Outgoing requests: " . $outgoing_requests . " (" . get_percentage($stats{requests}, $outgoing_requests) . ")\n"; print "Server keep-alive offers: " . $stats{'server-keep-alive'} . " (" .