blob: 317460bb5f489830133df66a6f8f48dd5be37b4c [file] [log] [blame]
#!/usr/bin/perl
# A brief file description
#
# @section license License
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
my $runs = 0;
my $fetches = 0;
my $conns = 0;
my $parallel = 0;
my $bytes = 0;
my $seconds = 0;
my $mean_bytes = 0;
my $fetches_sec = 0.0;
my $bytes_sec = 0.0;
my %msecs_connect = (
"mean" => 0.0,
"max" => 0.0,
"min" => 0.0
);
my %msecs_response = (
"mean" => 0.0,
"max" => 0.0,
"min" => 0.0
);
while (<>) {
my @c = split();
if (/fetches on/) {
$fetches += $c[0];
$conns += $c[3];
$parallel += $c[5];
$bytes += $c[8];
$seconds += $c[11];
$runs++;
} elsif (/mean bytes/) {
$mean_bytes += $c[0];
} elsif (/fetches\/sec/) {
$fetches_sec += $c[0];
$bytes_sec += $c[2];
} elsif (/msecs\/connect/) {
$msecs_connect{"mean"} += $c[1];
$msecs_connect{"max"} += $c[3];
$msecs_connect{"min"} += $c[5];
} elsif (/msecs\/first/) {
$msecs_response{"mean"} += $c[1];
$msecs_response{"max"} += $c[3];
$msecs_response{"min"} += $c[5];
}
}
print "Total runs: ", $runs, "\n";
printf "%d fetches on %d conns, %d max parallel, %.5e bytes in %d seconds\n",
$fetches, $conns, $parallel, $bytes, $seconds / $runs;
print $mean_bytes/ $runs, " mean bytes/fetch\n";
printf "%.2f fetches/sec, %.5e bytes/sec\n", $fetches_sec, $bytes_sec;
print "msecs/connect: ", $msecs_connect{"mean"} / $runs, " mean, ",
$msecs_connect{"max"} / $runs, " max, ", $msecs_connect{"min"} / $runs, " min\n";
print "msecs/first-response: ", $msecs_response{"mean"} / $runs, " mean, ",
$msecs_response{"max"} / $runs, " max, ", $msecs_response{"min"} / $runs, " min\n";