6 use POSIX qw(strftime);
7 use Data::Dump qw(dump);
14 return strftime("%Y-%m-%d %H:%M:%S", localtime($_[0]));
17 open(my $slow_fh, '<', '/var/log/mysql/mysql-slow.log');
20 if ( m/Time:\s+(\S+)\s+(\S+)/ ) {
21 $t = str2time("20$1 $2");
22 } elsif ( m/Query_time: (\S+)/ ) {
24 my $t_start = $t - $d;
25 print "XXX ",t_iso($t), " -> ", t_iso($t_start), $/;
27 foreach ( $t , $t_start, $t_start - 0.5 ) {
28 $test->{ strftime("%d/%b/%Y:%H:%M:%S", localtime($_)) }++; # apache
30 print "XXX test=",dump($test),$/;
31 my $patt = join('|', sort keys %$test);
33 my $cmd = "grep -E '($patt)' /var/log/apache2/other_vhosts_access.log";
37 my $date_log = "/var/log/apache2/other_vhosts_access.log-20$1";
39 system "grep $2 $date_log";
41 system "grep $2 /var/log/apache2/other_vhosts_access.log";
50 stdbuf -o L cat /var/log/mysql/mysql-slow.log \
51 | stdbuf -e L tee /dev/stderr \
52 | stdbuf -o L grep Time: \
53 | stdbuf -o L awk '{ print "grep --line-buffered " $4 " /var/log/apache2/other_vhosts_access.log-20"$3 ; fflush(stdout); }' | sh
57 zgrep Query_time /var/log/mysql/mysql-slow.log*
61 grep -E '(Query_time|Time)' /var/log/mysql/mysql-slow.log