mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug #12316050 MTR: --REPORT-TIMES GIVES TOO HIGH NUMBER FOR INITIALIZATION
Forgot that the main thread would be idle while waiting for tests Added sub mark_time_idle() so ignore time spent waiting Also added a new time category 'admin' to take some of 'init'
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
# -*- cperl -*-
|
||||
# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
@ -36,6 +36,7 @@ sub start_timer($);
|
||||
sub has_expired($);
|
||||
sub init_timers();
|
||||
sub mark_time_used($);
|
||||
sub mark_time_idle();
|
||||
sub add_total_times($);
|
||||
sub print_times_used($$);
|
||||
sub print_total_times($);
|
||||
@ -224,6 +225,7 @@ my %time_used= (
|
||||
'ch-warn' => 0,
|
||||
'test' => 0,
|
||||
'init' => 0,
|
||||
'admin' => 0,
|
||||
);
|
||||
|
||||
my %time_text= (
|
||||
@ -232,7 +234,8 @@ my %time_text= (
|
||||
'check' => "Check-testcase",
|
||||
'ch-warn' => "Check for warnings",
|
||||
'test' => "Test execution",
|
||||
'init' => "Initialization etc.",
|
||||
'init' => "Initialization/cleanup",
|
||||
'admin' => "Test administration",
|
||||
);
|
||||
|
||||
# Counts number of reports from workers
|
||||
@ -255,6 +258,10 @@ sub mark_time_used($) {
|
||||
$last_timer_set= $curr_time;
|
||||
}
|
||||
|
||||
sub mark_time_idle() {
|
||||
$last_timer_set= gettimeofday() if $opt_report_times;
|
||||
}
|
||||
|
||||
sub add_total_times($) {
|
||||
my ($dummy, $num, @line)= split (" ", $_[0]);
|
||||
|
||||
|
@ -549,7 +549,9 @@ sub run_test_server ($$$) {
|
||||
my $s= IO::Select->new();
|
||||
$s->add($server);
|
||||
while (1) {
|
||||
mark_time_used('admin');
|
||||
my @ready = $s->can_read(1); # Wake up once every second
|
||||
mark_time_idle();
|
||||
foreach my $sock (@ready) {
|
||||
if ($sock == $server) {
|
||||
# New client connected
|
||||
@ -891,7 +893,7 @@ sub run_worker ($) {
|
||||
if ( $opt_gprof ) {
|
||||
gprof_collect (find_mysqld($basedir), keys %gprof_dirs);
|
||||
}
|
||||
mark_time_used('init');
|
||||
mark_time_used('admin');
|
||||
print_times_used($server, $thread_num);
|
||||
exit($valgrind_reports);
|
||||
}
|
||||
@ -3775,7 +3777,7 @@ sub run_testcase ($) {
|
||||
|
||||
do_before_run_mysqltest($tinfo);
|
||||
|
||||
mark_time_used('init');
|
||||
mark_time_used('admin');
|
||||
|
||||
if ( $opt_check_testcases and check_testcase($tinfo, "before") ){
|
||||
# Failed to record state of server or server crashed
|
||||
@ -5248,7 +5250,7 @@ sub start_mysqltest ($) {
|
||||
my $exe= $exe_mysqltest;
|
||||
my $args;
|
||||
|
||||
mark_time_used('init');
|
||||
mark_time_used('admin');
|
||||
|
||||
mtr_init_args(\$args);
|
||||
|
||||
|
Reference in New Issue
Block a user