diff --git a/Changelog b/Changelog index 1752c5bd..220812dc 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,15 @@ Changelog for Percona Toolkit +v2.2.11 released 2014-09-26 + + * Fixed bug 1262456: pt-query-digest doesn't report host details + * Fixed bug 1264580: pt-mysql-summary incorrectly tries to parse key/value pairs in wsrep_provider_options resulting in incomplete my.cnf information + * Fixed bug 1318985: pt-stalk should use SQL_NO_CACHE + * Fixed bug 1348679: pt-stalk handles mysql user password in awkward way + * Fixed bug 1365085: Various issues with tests + * Fixed bug 1368379: pt-summary problem parsing dmidecode output on some machines + * Fixed bug 1303388: Typo in pt-variable-advisor + v2.2.10 released 2014-08-06 * Fixed bug 1287253: pt-table-checksum deadlock diff --git a/Makefile.PL b/Makefile.PL index d1642e51..88a00707 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -2,7 +2,7 @@ use ExtUtils::MakeMaker; WriteMakefile( NAME => 'percona-toolkit', - VERSION => '2.2.10', + VERSION => '2.2.11', EXE_FILES => [ ], MAN1PODS => { 'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p', diff --git a/bin/pt-align b/bin/pt-align index 710da4b2..de20e4a7 100755 --- a/bin/pt-align +++ b/bin/pt-align @@ -1323,6 +1323,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-align 2.2.10 +pt-align 2.2.11 =cut diff --git a/bin/pt-archiver b/bin/pt-archiver index 68c9b372..a6c10fa8 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -43,7 +43,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -7892,6 +7892,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-archiver 2.2.10 +pt-archiver 2.2.11 =cut diff --git a/bin/pt-config-diff b/bin/pt-config-diff index b114f7b0..016fd51e 100755 --- a/bin/pt-config-diff +++ b/bin/pt-config-diff @@ -43,7 +43,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5733,6 +5733,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-config-diff 2.2.10 +pt-config-diff 2.2.11 =cut diff --git a/bin/pt-deadlock-logger b/bin/pt-deadlock-logger index dd3e93b1..73fbcec5 100755 --- a/bin/pt-deadlock-logger +++ b/bin/pt-deadlock-logger @@ -42,7 +42,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5523,6 +5523,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-deadlock-logger 2.2.10 +pt-deadlock-logger 2.2.11 =cut diff --git a/bin/pt-diskstats b/bin/pt-diskstats index 20a60f2c..6dce70bf 100755 --- a/bin/pt-diskstats +++ b/bin/pt-diskstats @@ -38,7 +38,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5579,6 +5579,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-diskstats 2.2.10 +pt-diskstats 2.2.11 =cut diff --git a/bin/pt-duplicate-key-checker b/bin/pt-duplicate-key-checker index 39c9d782..a2b35dc6 100755 --- a/bin/pt-duplicate-key-checker +++ b/bin/pt-duplicate-key-checker @@ -39,7 +39,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5600,6 +5600,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-duplicate-key-checker 2.2.10 +pt-duplicate-key-checker 2.2.11 =cut diff --git a/bin/pt-fifo-split b/bin/pt-fifo-split index ee7bdc12..05db8e10 100755 --- a/bin/pt-fifo-split +++ b/bin/pt-fifo-split @@ -1612,6 +1612,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fifo-split 2.2.10 +pt-fifo-split 2.2.11 =cut diff --git a/bin/pt-find b/bin/pt-find index 013fd839..71394e03 100755 --- a/bin/pt-find +++ b/bin/pt-find @@ -35,7 +35,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -4984,6 +4984,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-find 2.2.10 +pt-find 2.2.11 =cut diff --git a/bin/pt-fingerprint b/bin/pt-fingerprint index 7d3d8a7f..ff48b202 100755 --- a/bin/pt-fingerprint +++ b/bin/pt-fingerprint @@ -2203,6 +2203,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fingerprint 2.2.10 +pt-fingerprint 2.2.11 =cut diff --git a/bin/pt-fk-error-logger b/bin/pt-fk-error-logger index 4ef78285..ed477406 100755 --- a/bin/pt-fk-error-logger +++ b/bin/pt-fk-error-logger @@ -37,7 +37,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -4509,6 +4509,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fk-error-logger 2.2.10 +pt-fk-error-logger 2.2.11 =cut diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index 05e7add1..b11c7b4b 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -38,7 +38,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -6192,6 +6192,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-heartbeat 2.2.10 +pt-heartbeat 2.2.11 =cut diff --git a/bin/pt-index-usage b/bin/pt-index-usage index 9ecbcaa8..739c35df 100755 --- a/bin/pt-index-usage +++ b/bin/pt-index-usage @@ -45,7 +45,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -2845,6 +2845,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -2857,6 +2858,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -7546,6 +7548,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-index-usage 2.2.10 +pt-index-usage 2.2.11 =cut diff --git a/bin/pt-ioprofile b/bin/pt-ioprofile index 27ca4f13..80b91582 100755 --- a/bin/pt-ioprofile +++ b/bin/pt-ioprofile @@ -1119,7 +1119,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-ioprofile 2.2.10 +pt-ioprofile 2.2.11 =cut diff --git a/bin/pt-kill b/bin/pt-kill index 61d1b6d8..03e2aea2 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -47,7 +47,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -8183,6 +8183,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-kill 2.2.10 +pt-kill 2.2.11 =cut diff --git a/bin/pt-mext b/bin/pt-mext index 4cd544ae..86f3b7e8 100755 --- a/bin/pt-mext +++ b/bin/pt-mext @@ -792,7 +792,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-mext 2.2.10 +pt-mext 2.2.11 =cut diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 2ff5cd54..a9aaf88a 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -1353,26 +1353,19 @@ pretty_print_cnf_file () { [ -e "$file" ] || return - awk ' - BEGIN { - FS="=" - } - /^[ \t]*[a-zA-Z[]/ { - if (length($2)) { - gsub(/^[ \t]*/, "", $1); - gsub(/^[ \t]*/, "", $2); - gsub(/[ \t]*$/, "", $1); - gsub(/[ \t]*$/, "", $2); - printf("%-35s = %s\n", $1, $2); - } - else if ( $0 ~ /\[/ ) { - print ""; - print $1; - } - else { - print $1; - } - }' "$file" + perl -n -l -e ' + my $line = $_; + if ( $line =~ /^[ \t]*[a-zA-Z[]/ ) { + if ( $line=~/\s*(.*?)\s*=\s*(.*)\s*$/ ) { + printf("%-35s = %s\n", $1, $2) + } + elsif ( $line =~ /\s*\[/ ) { + print "\n$line" + } else { + print $line + } + }' "$file" + } find_checkpoint_age() { @@ -3090,7 +3083,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-mysql-summary 2.2.10 +pt-mysql-summary 2.2.11 =cut diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index 1595699f..85b72330 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -54,7 +54,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -11563,6 +11563,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-online-schema-change 2.2.10 +pt-online-schema-change 2.2.11 =cut diff --git a/bin/pt-pmp b/bin/pt-pmp index fd50121c..2cfaebce 100755 --- a/bin/pt-pmp +++ b/bin/pt-pmp @@ -889,7 +889,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-pmp 2.2.10 +pt-pmp 2.2.11 =cut diff --git a/bin/pt-query-digest b/bin/pt-query-digest index dee71494..5d974edf 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -64,7 +64,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5039,6 +5039,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -5051,6 +5052,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -16593,6 +16595,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-query-digest 2.2.10 +pt-query-digest 2.2.11 =cut diff --git a/bin/pt-show-grants b/bin/pt-show-grants index 3e9e2cff..7d7589dc 100755 --- a/bin/pt-show-grants +++ b/bin/pt-show-grants @@ -2406,6 +2406,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-show-grants 2.2.10 +pt-show-grants 2.2.11 =cut diff --git a/bin/pt-sift b/bin/pt-sift index bf70fbcf..227ad1fd 100755 --- a/bin/pt-sift +++ b/bin/pt-sift @@ -1237,7 +1237,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-sift 2.2.10 +pt-sift 2.2.11 =cut diff --git a/bin/pt-slave-delay b/bin/pt-slave-delay index d7c362aa..3204386a 100755 --- a/bin/pt-slave-delay +++ b/bin/pt-slave-delay @@ -40,7 +40,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -4869,6 +4869,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-delay 2.2.10 +pt-slave-delay 2.2.11 =cut diff --git a/bin/pt-slave-find b/bin/pt-slave-find index 81c42632..53c0fcd3 100755 --- a/bin/pt-slave-find +++ b/bin/pt-slave-find @@ -4334,6 +4334,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-find 2.2.10 +pt-slave-find 2.2.11 =cut diff --git a/bin/pt-slave-restart b/bin/pt-slave-restart index 05980c1b..15a821b7 100755 --- a/bin/pt-slave-restart +++ b/bin/pt-slave-restart @@ -41,7 +41,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -5937,6 +5937,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-restart 2.2.10 +pt-slave-restart 2.2.11 =cut diff --git a/bin/pt-stalk b/bin/pt-stalk index cc2df893..7a5f8eca 100755 --- a/bin/pt-stalk +++ b/bin/pt-stalk @@ -1001,7 +1001,7 @@ open_tables() { } lock_waits() { - local sql1="SELECT + local sql1="SELECT SQL_NO_CACHE CONCAT('thread ', b.trx_mysql_thread_id, ' from ', p.host) AS who_blocks, IF(p.command = \"Sleep\", p.time, 0) AS idle_in_trx, MAX(TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP)) AS max_wait_time, @@ -1013,7 +1013,7 @@ lock_waits() { GROUP BY who_blocks ORDER BY num_waiters DESC\G" $CMD_MYSQL $EXT_ARGV -e "$sql1" - local sql2="SELECT + local sql2="SELECT SQL_NO_CACHE r.trx_id AS waiting_trx_id, r.trx_mysql_thread_id AS waiting_thread, TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) AS wait_time, @@ -1034,9 +1034,9 @@ lock_waits() { } transactions() { - $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G" - $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G" - $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G" + $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_TRX\G" + $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G" + $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G" } innodb_status() { @@ -1447,9 +1447,19 @@ if [ "${0##*/}" = "$TOOL" ] \ exit 0 fi + # if ASK-PASS , request password on terminal without echoing. This will override --password + if [ -n "$OPT_ASK_PASS" ]; then + stty_orig=`stty -g` # save original terminal setting. + echo -n "Enter MySQL password: "; + stty -echo # turn-off echoing. + read OPT_PASSWORD # read the password + stty $stty_orig # restore terminal setting. + fi + MYSQL_ARGS="$(mysql_options)" EXT_ARGV="$(arrange_mysql_options "$EXT_ARGV $MYSQL_ARGS")" + # Check that mysql and mysqladmin are in PATH. If not, we're # already dead in the water, so don't bother with cmd line opts, # just error and exit. @@ -1650,6 +1660,10 @@ fail to start. =over +=item --ask-pass + +Prompt for a password when connecting to MySQL. + =item --collect default: yes; negatable: yes @@ -2211,7 +2225,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-stalk 2.2.10 +pt-stalk 2.2.11 =cut diff --git a/bin/pt-summary b/bin/pt-summary index 60f4139b..41c1e42a 100755 --- a/bin/pt-summary +++ b/bin/pt-summary @@ -1506,7 +1506,7 @@ parse_dmidecode_mem_devices () { local PTFUNCNAME=parse_dmidecode_mem_devices; -e 's/>/}/g' \ -e 's/[ \t]*\n/\n/g' \ "${file}" \ - | awk -F: '/Size|Type|Form.Factor|Type.Detail|[^ ]Locator/{printf("|%s", $2)}/Speed/{print "|" $2}' \ + | awk -F: '/Size|Type|Form.Factor|Type.Detail|^[\t ]+Locator/{printf("|%s", $2)}/^[\t ]+Speed/{print "|" $2}' \ | sed -e 's/No Module Installed/{EMPTY}/' \ | sort \ | awk -F'|' '{printf(" %-9s %-8s %-17s %-13s %-13s %-8s\n", $4, $2, $7, $3, $5, $6);}' @@ -2691,7 +2691,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-summary 2.2.10 +pt-summary 2.2.11 =cut diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 7bcb4880..47ba81e7 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -57,7 +57,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -12698,6 +12698,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-checksum 2.2.10 +pt-table-checksum 2.2.11 =cut diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 0001bb2b..6e92e5d5 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -55,7 +55,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -12768,6 +12768,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-sync 2.2.10 +pt-table-sync 2.2.11 =cut diff --git a/bin/pt-table-usage b/bin/pt-table-usage index 397424e9..7352894b 100755 --- a/bin/pt-table-usage +++ b/bin/pt-table-usage @@ -1629,6 +1629,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -1641,6 +1642,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -7561,6 +7563,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-usage 2.2.10 +pt-table-usage 2.2.11 =cut diff --git a/bin/pt-upgrade b/bin/pt-upgrade index 69baf7e5..59820b24 100755 --- a/bin/pt-upgrade +++ b/bin/pt-upgrade @@ -61,7 +61,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -6610,6 +6610,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -6622,6 +6623,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; if ( $thread_id ) { push @properties, 'Thread_id', $thread_id; @@ -11238,6 +11240,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-upgrade 2.2.10 +pt-upgrade 2.2.11 =cut diff --git a/bin/pt-variable-advisor b/bin/pt-variable-advisor index 30b0e03c..093374b5 100755 --- a/bin/pt-variable-advisor +++ b/bin/pt-variable-advisor @@ -44,7 +44,7 @@ BEGIN { { package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; @@ -3601,10 +3601,10 @@ sub get_rules { }, }, { - id => 'expire_log_days', + id => 'expire_logs_days', code => sub { my ( %args ) = @_; - return _var_eq($args{variables}->{expire_log_days}, 0) + return _var_eq($args{variables}->{expire_logs_days}, 0) && _var_seq($args{variables}->{log_bin}, "ON"); }, }, @@ -5720,7 +5720,7 @@ severity: warn Most applications should use the default REPEATABLE-READ transaction isolation level, or in a few cases READ-COMMITTED. -=item expire_log_days +=item expire_logs_days severity: warn @@ -6138,6 +6138,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-variable-advisor 2.2.10 +pt-variable-advisor 2.2.11 =cut diff --git a/bin/pt-visual-explain b/bin/pt-visual-explain index 4274eea1..aef873a8 100755 --- a/bin/pt-visual-explain +++ b/bin/pt-visual-explain @@ -3243,6 +3243,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-visual-explain 2.2.10 +pt-visual-explain 2.2.11 =cut diff --git a/config/deb/changelog b/config/deb/changelog index 22429a93..56b338d2 100644 --- a/config/deb/changelog +++ b/config/deb/changelog @@ -1,3 +1,15 @@ +percona-toolkit (2.2.11) unstable; urgency=low + + * Fixed bug 1262456: pt-query-digest doesn't report host details + * Fixed bug 1264580: pt-mysql-summary incorrectly tries to parse key/value pairs in wsrep_provider_options resulting in incomplete my.cnf information + * Fixed bug 1318985: pt-stalk should use SQL_NO_CACHE + * Fixed bug 1348679: pt-stalk handles mysql user password in awkward way + * Fixed bug 1365085: Various issues with tests + * Fixed bug 1368379: pt-summary problem parsing dmidecode output on some machines + * Fixed bug 1303388: Typo in pt-variable-advisor + + -- Percona Toolkit Developers Thu, 25 Sep 2014 13:43:24 +0000 + percona-toolkit (2.2.10) unstable; urgency=low * Fixed bug 1287253: pt-table-checksum deadlock diff --git a/config/rpm/percona-toolkit.spec b/config/rpm/percona-toolkit.spec index 4c64b01c..6dfc7104 100644 --- a/config/rpm/percona-toolkit.spec +++ b/config/rpm/percona-toolkit.spec @@ -9,7 +9,7 @@ URL: http://www.percona.com/software/percona-toolkit/ Source: percona-toolkit-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildArch: noarch -Requires: perl(DBI) >= 1.13, perl(DBD::mysql) >= 1.0, perl(Time::HiRes), perl(IO::Socket::SSL) +Requires: perl(DBI) >= 1.13, perl(DBD::mysql) >= 1.0, perl(Time::HiRes), perl(IO::Socket::SSL), perl(Digest::MD5) AutoReq: no %description diff --git a/config/sphinx-build/conf.py b/config/sphinx-build/conf.py index fe8f3a4a..a14b073c 100644 --- a/config/sphinx-build/conf.py +++ b/config/sphinx-build/conf.py @@ -50,7 +50,7 @@ copyright = u'2013, Percona LLC and/or its affiliates' # The short X.Y version. version = '2.2' # The full version, including alpha/beta/rc tags. -release = '2.2.10' +release = '2.2.11' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/percona-toolkit.pod b/docs/percona-toolkit.pod index cc3f4378..3f0084ce 100644 --- a/docs/percona-toolkit.pod +++ b/docs/percona-toolkit.pod @@ -557,6 +557,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -Percona Toolkit v2.2.10 released 2014-08-06 +Percona Toolkit v2.2.11 released 2014-09-25 =cut diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 3142fdd3..0df73370 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -1,6 +1,34 @@ Release Notes ************* +v2.2.11 released 2014-09-26 +=========================== + +Percona Toolkit 2.2.11 has been released. This release contains seven bug fixes. + +Bugs Fixed: + +* Fixed bug 1262456: pt-query-digest didn't report host details when host was using skip-name-resolve option. Fixed by using the IP of the host instead of it's name, when the hostname is missing. + +* Fixed bug 1264580: pt-mysql-summary was incorrectly parsing key/value pairs in the wsrep_provider_options option, which resulted in incomplete my.cnf information. + +* Fixed bug 1318985: pt-stalk is now using ``SQL_NO_CACHE`` when executing queries for locks and transactions. Previously this could lead to situations where most of the queries that were ``waiting on query cache mutex`` were the pt-stalk queries (INNODB_TRX). + +* Fixed bug 1348679: When using ``-- -p`` option to enter the password for pt-stalk it would ask user to re-enter the password every time tool connects to the server to retrieve the information. New option ``--ask-pass`` has been introduced that can be used to specify the password only once. + +* Fixed bug 1368379: A parsing error caused pt-summary ( specifically the ``report_system_info`` module) to choke on the "Memory Device" parameter named "Configured Clock Speed" when using dmidecode to report memory slot information. + +Changelog +--------- + +* Fixed bug 1262456: pt-query-digest doesn't report host details +* Fixed bug 1264580: pt-mysql-summary incorrectly tries to parse key/value pairs in wsrep_provider_options resulting in incomplete my.cnf information +* Fixed bug 1318985: pt-stalk should use SQL_NO_CACHE +* Fixed bug 1348679: pt-stalk handles mysql user password in awkward way +* Fixed bug 1365085: Various issues with tests +* Fixed bug 1368379: pt-summary problem parsing dmidecode output on some machines +* Fixed bug 1303388: Typo in pt-variable-advisor + v2.2.10 released 2014-08-06 =========================== diff --git a/lib/Percona/Toolkit.pm b/lib/Percona/Toolkit.pm index 53964766..85592771 100644 --- a/lib/Percona/Toolkit.pm +++ b/lib/Percona/Toolkit.pm @@ -18,7 +18,7 @@ # ########################################################################### package Percona::Toolkit; -our $VERSION = '2.2.10'; +our $VERSION = '2.2.11'; use strict; use warnings FATAL => 'all'; diff --git a/lib/Sandbox.pm b/lib/Sandbox.pm index 3ee79ff4..6a21e7fa 100644 --- a/lib/Sandbox.pm +++ b/lib/Sandbox.pm @@ -374,6 +374,10 @@ sub verify_test_data { . join(", ", map { "mysql.$_" } @tables_in_mysql) . ", " . join(", ", map { "sakila.$_" } @tables_in_sakila); + + # remove leading "," if any + $sql =~ s/CHECKSUM TABLES\s+,/CHECKSUM TABLES /; + my @checksums = @{$dbh->selectall_arrayref($sql, {Slice => {} })}; # Diff the two sets of checksums: host to master (ref). diff --git a/lib/SlowLogParser.pm b/lib/SlowLogParser.pm index e2317ac6..961991d6 100644 --- a/lib/SlowLogParser.pm +++ b/lib/SlowLogParser.pm @@ -162,6 +162,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; # 5.6 has the thread id on the User@Host line if ( $thread_id ) { @@ -177,6 +178,7 @@ sub parse_event { && ( my ( $user, $host, $ip, $thread_id ) = $line =~ m/$slow_log_uh_line/o ) ) { PTDEBUG && _d("Got user, host, ip", $user, $host, $ip); + $host ||= $ip; # sometimes host is missing when using skip-name-resolve (LP #issue 1262456) push @properties, 'user', $user, 'host', $host, 'ip', $ip; # 5.6 has the thread id on the User@Host line if ( $thread_id ) { diff --git a/lib/VariableAdvisorRules.pm b/lib/VariableAdvisorRules.pm index 562c4f0f..8960402f 100644 --- a/lib/VariableAdvisorRules.pm +++ b/lib/VariableAdvisorRules.pm @@ -430,10 +430,10 @@ sub get_rules { }, }, { - id => 'expire_log_days', + id => 'expire_logs_days', code => sub { my ( %args ) = @_; - return _var_eq($args{variables}->{expire_log_days}, 0) + return _var_eq($args{variables}->{expire_logs_days}, 0) && _var_seq($args{variables}->{log_bin}, "ON"); }, }, diff --git a/lib/bash/report_mysql_info.sh b/lib/bash/report_mysql_info.sh index e5401338..289693f1 100644 --- a/lib/bash/report_mysql_info.sh +++ b/lib/bash/report_mysql_info.sh @@ -345,37 +345,28 @@ summarize_processlist () { echo } -# Pretty-prints the my.cnf file. It's super annoying, but some *modern* -# versions of awk don't support POSIX character sets in regular -# expressions, like [[:space:]] (looking at you, Debian). So -# the below patterns contain [] and must remain that way. +# Pretty-prints the my.cnf file. pretty_print_cnf_file () { local file="$1" [ -e "$file" ] || return - awk ' - BEGIN { - FS="=" - } - /^[ \t]*[a-zA-Z[]/ { - if (length($2)) { - gsub(/^[ \t]*/, "", $1); - gsub(/^[ \t]*/, "", $2); - gsub(/[ \t]*$/, "", $1); - gsub(/[ \t]*$/, "", $2); - printf("%-35s = %s\n", $1, $2); - } - else if ( $0 ~ /\[/ ) { - print ""; - print $1; - } - else { - print $1; - } - }' "$file" + perl -n -l -e ' + my $line = $_; + if ( $line =~ /^\s*[a-zA-Z[]/ ) { + if ( $line=~/\s*(.*?)\s*=\s*(.*)\s*$/ ) { + printf("%-35s = %s\n", $1, $2) + } + elsif ( $line =~ /\s*\[/ ) { + print "\n$line" + } else { + print $line + } + }' "$file" + } + find_checkpoint_age() { local file="$1" awk ' diff --git a/lib/bash/report_system_info.sh b/lib/bash/report_system_info.sh index 1a10bd78..7a1fa08a 100644 --- a/lib/bash/report_system_info.sh +++ b/lib/bash/report_system_info.sh @@ -230,7 +230,7 @@ parse_dmidecode_mem_devices () { local PTFUNCNAME=parse_dmidecode_mem_devices; -e 's/>/}/g' \ -e 's/[ \t]*\n/\n/g' \ "${file}" \ - | awk -F: '/Size|Type|Form.Factor|Type.Detail|[^ ]Locator/{printf("|%s", $2)}/Speed/{print "|" $2}' \ + | awk -F: '/Size|Type|Form.Factor|Type.Detail|^[\t ]+Locator/{printf("|%s", $2)}/^[\t ]+Speed/{print "|" $2}' \ | sed -e 's/No Module Installed/{EMPTY}/' \ | sort \ | awk -F'|' '{printf(" %-9s %-8s %-17s %-13s %-13s %-8s\n", $4, $2, $7, $3, $5, $6);}' diff --git a/sandbox/start-sandbox b/sandbox/start-sandbox index ea9dd833..3602bae8 100755 --- a/sandbox/start-sandbox +++ b/sandbox/start-sandbox @@ -240,7 +240,7 @@ APP="${FORK:-"mysql"}" if [ $type = "cluster" -o $APP = "pxc" ]; then ip=$(perl -MNet::Address::IP::Local -le 'print Net::Address::IP::Local->public') - version=`$PERCONA_TOOLKIT_SANDBOX/$mysqld -V --bind-address $ip 2>/dev/null | awk '{print $3}' | cut -d. -f 1,2`; + version=`$PERCONA_TOOLKIT_SANDBOX/$mysqld -V --query_cache_size=0 --query_cache_type=0 --bind-address $ip 2>/dev/null | awk '{print $3}' | cut -d. -f 1,2`; else version=`$PERCONA_TOOLKIT_SANDBOX/$mysqld -V 2>/dev/null | awk '{print $3}' | cut -d. -f 1,2`; fi diff --git a/t/lib/Percona/Toolkit.t b/t/lib/Percona/Toolkit.t index fdccdcfe..9accbc7d 100644 --- a/t/lib/Percona/Toolkit.t +++ b/t/lib/Percona/Toolkit.t @@ -75,6 +75,8 @@ SKIP: { unless $root eq $trunk; my @tags = split /\n/, `$bzr tags`; + # sort the version numbers (some bzr versions do not sort them) + @tags = sort { calc_value($a) <=> calc_value($b) } @tags; my ($current_tag) = $tags[-1] =~ /^(\S+)/; is( @@ -84,4 +86,18 @@ SKIP: { ); } +# we use this function to help sort version numbers +sub calc_value { + my $version = shift; + $version =~ s/ +[^ ]*$//; + my $value = 0; + my $exp = 0; + foreach my $num (reverse split /\./, $version) { + $value += $num * 10 ** $exp++; + } + print "$version = $value\n"; + return $value; +} + + done_testing; diff --git a/t/lib/SlowLogParser.t b/t/lib/SlowLogParser.t index bdf8ff4b..28fdbb7e 100644 --- a/t/lib/SlowLogParser.t +++ b/t/lib/SlowLogParser.t @@ -587,7 +587,7 @@ test_log_parser( 'ip' => '1.2.3.8', 'arg' => 'administrator command: Quit', 'Thread_id' => '5', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.000002', @@ -602,7 +602,7 @@ test_log_parser( 'ip' => '1.2.3.8', arg => 'SET NAMES utf8', 'Thread_id' => '6', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.000899', @@ -616,7 +616,7 @@ test_log_parser( 'arg' => 'SELECT MIN(id),MAX(id) FROM tbl', 'ip' => '1.2.3.8', 'Thread_id' => '6', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.018799', @@ -664,7 +664,7 @@ test_log_parser( 'arg' => 'administrator command: Quit', 'ip' => '1.2.3.8', 'Thread_id' => '5', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.000002', @@ -679,7 +679,7 @@ test_log_parser( 'ip' => '1.2.3.8', arg => 'SET NAMES utf8', 'Thread_id' => '6', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.000899', @@ -694,7 +694,7 @@ test_log_parser( 'arg' => 'administrator command: Quit', 'ip' => '1.2.3.8', 'Thread_id' => '7', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.018799', @@ -709,7 +709,7 @@ test_log_parser( 'ip' => '1.2.3.8', arg => 'SET NAMES utf8', 'Thread_id' => '9', - 'host' => '', + 'host' => '1.2.3.8', 'Rows_examined' => '0', 'user' => 'meow', 'Query_time' => '0.000899', @@ -731,7 +731,7 @@ test_log_parser( 'arg' => 'SET autocommit=1', 'ip' => '10.1.250.19', 'Thread_id' => '39387', - 'host' => '', + 'host' => '10.1.250.19', 'Rows_examined' => '0', 'user' => 'sabapp', 'Query_time' => '0.000018', @@ -745,7 +745,7 @@ test_log_parser( 'arg' => 'SET autocommit=1', 'ip' => '10.1.250.19', 'Thread_id' => '39387', - 'host' => '', + 'host' => '10.1.250.19', 'Rows_examined' => '0', 'user' => 'sabapp', 'Query_time' => '0.000018', @@ -769,7 +769,7 @@ test_log_parser( 'arg' => 'SET autocommit=1', 'ip' => '10.1.250.19', 'Thread_id' => '39796', - 'host' => '', + 'host' => '10.1.250.19', 'pos_in_log' => '0', 'Rows_examined' => '0', 'user' => 'foo_app', @@ -785,7 +785,7 @@ test_log_parser( 'ip' => '10.1.12.201', 'ts' => '081127 8:51:20', 'Thread_id' => '39947', - 'host' => '', + 'host' => '10.1.12.201', 'pos_in_log' => '174', 'Rows_examined' => '226', 'Query_time' => '0.149435', @@ -800,7 +800,7 @@ test_log_parser( 'ip' => '10.1.12.201', 'ts' => '081127 8:51:21', 'Thread_id' => '39947', - 'host' => '', + 'host' => '10.1.12.201', 'pos_in_log' => '385', 'Rows_examined' => '0', 'Query_time' => '0.000005', @@ -815,7 +815,7 @@ test_log_parser( 'arg' => 'SET autocommit=0', 'ip' => '10.1.250.19', 'Thread_id' => '39796', - 'host' => '', + 'host' => '10.1.250.19', 'pos_in_log' => '600', 'Rows_examined' => '0', 'user' => 'foo_app', @@ -829,7 +829,7 @@ test_log_parser( 'arg' => 'commit', 'ip' => '10.1.250.19', 'Thread_id' => '39796', - 'host' => '', + 'host' => '10.1.250.19', 'pos_in_log' => '782', 'Rows_examined' => '0', 'user' => 'foo_app', @@ -965,7 +965,7 @@ test_log_parser( Thread_id => '5', arg => 'administrator command: Quit', cmd => 'Admin', - host => '', + host => '1.2.3.8', ip => '1.2.3.8', pos_in_log => '0', user => 'meow', @@ -980,7 +980,7 @@ test_log_parser( arg => 'SET NAMES utf8', cmd => 'Query', db => 'db', - host => '', + host => '1.2.3.8', ip => '1.2.3.8', pos_in_log => '221', user => 'meow', @@ -995,7 +995,7 @@ test_log_parser( arg => 'administrator command: Quit', cmd => 'Admin', db => 'db2', - host => '', + host => '1.2.3.8', ip => '1.2.3.8', pos_in_log => '435', user => 'meow', @@ -1184,7 +1184,7 @@ test_log_parser( arg => 'SELECT missing_a_schema_above from crash_me', bytes => 43, cmd => 'Query', - host => '', + host => '10.1.12.30', ip => '10.1.12.30', pos_in_log => '0', ts => '081126 13:08:25', @@ -1319,7 +1319,7 @@ test_log_parser( Last_errno => 0, Killed => 0, db => 'test_db', - host => '', + host => '127.0.0.1', Schema => 'test_db', ip => '127.0.0.1', timestamp => '1111111111', @@ -1340,7 +1340,7 @@ test_log_parser( arg => 'update t set b = b + 30 where user_id=1', bytes => 39, cmd => 'Query', - host => '', + host => '127.0.0.1', ip => '127.0.0.1', pos_in_log => 596, timestamp => '2222222222', diff --git a/t/lib/VariableAdvisorRules.t b/t/lib/VariableAdvisorRules.t index ea3b8137..fdb18564 100644 --- a/t/lib/VariableAdvisorRules.t +++ b/t/lib/VariableAdvisorRules.t @@ -276,12 +276,12 @@ my @cases = ( }, - { name => "expire_log_days", - vars => [qw(expire_log_days 0 log_bin ON)], - advice => [qw(expire_log_days)], + { name => "expire_logs_days", + vars => [qw(expire_logs_days 0 log_bin ON)], + advice => [qw(expire_logs_days)], }, - { name => "expire_log_days, log_bin OFF, only warns about log_bin", - vars => [qw(expire_log_days 0 log_bin OFF)], + { name => "expire_logs_days, log_bin OFF, only warns about log_bin", + vars => [qw(expire_logs_days 0 log_bin OFF)], advice => [qw(log_bin)], }, { name => "innodb_file_io_threads", diff --git a/t/lib/bash/report_mysql_info.sh b/t/lib/bash/report_mysql_info.sh index 47e7c3b6..1eda3c20 100644 --- a/t/lib/bash/report_mysql_info.sh +++ b/t/lib/bash/report_mysql_info.sh @@ -172,6 +172,7 @@ innodb_file_per_table = 1 ssl = 1 server-id = 1 log-bin = sl1-bin +wsrep_provider_options = "gcache.size=64M;base_host=10.1.2.102; base_port=4567; cert.log_conflicts=no;etc=etc;" [mysql.server] user = mysql diff --git a/t/lib/bash/report_system_info.sh b/t/lib/bash/report_system_info.sh index 77201727..53298a6f 100644 --- a/t/lib/bash/report_system_info.sh +++ b/t/lib/bash/report_system_info.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -plan 53 +plan 54 . "$LIB_DIR/alt_cmds.sh" . "$LIB_DIR/log_warn_die.sh" @@ -1040,6 +1040,16 @@ EOF parse_dmidecode_mem_devices "$samples/dmidecode-005.txt" > "$PT_TMPDIR/got" no_diff "$PT_TMPDIR/got" "$PT_TMPDIR/expected" "dmidecode-005.txt" +cat < "$PT_TMPDIR/expected" + Locator Size Speed Form Factor Type Type Detail + ========= ======== ================= ============= ============= =========== + DIMM 1 8192 MB 1600 MHz SODIMM DDR3 Synchronous + DIMM 2 8192 MB 1600 MHz SODIMM DDR3 Synchronous +EOF +parse_dmidecode_mem_devices "$samples/dmidecode-006.txt" > "$PT_TMPDIR/got" +no_diff "$PT_TMPDIR/got" "$PT_TMPDIR/expected" "dmidecode-006.txt" + + # parse_arcconf cat < "$PT_TMPDIR/expected" diff --git a/t/pt-duplicate-key-checker/standard_options.t b/t/pt-duplicate-key-checker/standard_options.t index 606ea2ad..2c5f85c7 100644 --- a/t/pt-duplicate-key-checker/standard_options.t +++ b/t/pt-duplicate-key-checker/standard_options.t @@ -28,7 +28,32 @@ diag(`rm -f $pid_file >/dev/null`); diag(`touch $pid_file`); -$output = `$cmd -d issue_295 --pid $pid_file 2>&1`; + +# to test this issue I must set a timeout in case the command doesn't come back + +eval { + # we define an alarm signal handler + local $SIG{'ALRM'} = sub { die "timed out\n" }; + + # and set the alarm 'clock' to 5 seconds + alarm(5); + + # here's the actual command. correct bahaviour is to die with messsage "PID file exists" + # Incorrect behavior is anything else, including not returning control after 5 seconds + $output = `$cmd -d issue_295 --pid $pid_file 2>&1`; + +}; + +if ($@) { + if ($@ eq "timed out\n") { + print "I timed out\n"; + } + else { + print "Something else went wrong: $@\n"; + } +} + + like( $output, qr{PID file $pid_file exists}, diff --git a/t/pt-fifo-split/pt-fifo-split.t b/t/pt-fifo-split/pt-fifo-split.t index c7a6e39f..f45ae850 100644 --- a/t/pt-fifo-split/pt-fifo-split.t +++ b/t/pt-fifo-split/pt-fifo-split.t @@ -47,6 +47,12 @@ sub read_fifo { my ($n_reads) = @_; my $last_inode = 0; my @data; + + # This test still freezes on some centos systems, + # so we're going to bluntly sleep for a few secs to avoid deadlock + # TODO: figure out if there is a proper way to do this. + sleep(3); + for (1..$n_reads) { PerconaTest::wait_until(sub { my $inode; diff --git a/t/pt-mysql-summary/samples/my.cnf-001.txt b/t/pt-mysql-summary/samples/my.cnf-001.txt index 3efdbb68..fce27b5d 100644 --- a/t/pt-mysql-summary/samples/my.cnf-001.txt +++ b/t/pt-mysql-summary/samples/my.cnf-001.txt @@ -24,6 +24,8 @@ ssl = 1 server-id = 1 log-bin=sl1-bin +wsrep_provider_options = "gcache.size=64M;base_host=10.1.2.102; base_port=4567; cert.log_conflicts=no;etc=etc;" + [mysql.server] user=mysql ####basedir=/var/lib diff --git a/t/pt-query-digest/samples/slow008_report.txt b/t/pt-query-digest/samples/slow008_report.txt index f4bb7458..f808c527 100644 --- a/t/pt-query-digest/samples/slow008_report.txt +++ b/t/pt-query-digest/samples/slow008_report.txt @@ -12,7 +12,7 @@ # Query size 43 31 31 31 31 31 0 31 # String: # Databases db2 -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us @@ -42,7 +42,7 @@ SELECT MIN(id),MAX(id) FROM tbl\G # Query size 19 14 14 14 14 14 0 14 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us @@ -68,7 +68,7 @@ SET NAMES utf8\G # Query size 37 27 27 27 27 27 0 27 # String: # Databases db1 -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################################################ diff --git a/t/pt-query-digest/samples/slow011_report.txt b/t/pt-query-digest/samples/slow011_report.txt index d624a280..559773a7 100644 --- a/t/pt-query-digest/samples/slow011_report.txt +++ b/t/pt-query-digest/samples/slow011_report.txt @@ -12,7 +12,7 @@ # Query size 65 54 27 27 27 27 0 27 # String: # Databases db1 (1/50%), db2 (1/50%) -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################################################ @@ -38,7 +38,7 @@ administrator command: Quit\G # Query size 34 28 14 14 14 14 0 14 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us diff --git a/t/pt-query-digest/samples/slow013_report.txt b/t/pt-query-digest/samples/slow013_report.txt index 3e8d479b..a715cf4d 100644 --- a/t/pt-query-digest/samples/slow013_report.txt +++ b/t/pt-query-digest/samples/slow013_report.txt @@ -13,7 +13,7 @@ # Query size 14 11 11 11 11 11 0 11 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Users mytopuser # Query_time distribution # 1us @@ -40,7 +40,7 @@ SHOW STATUS\G # Query size 42 32 16 16 16 16 0 16 # String: # Databases abc -# Hosts +# Hosts 10.1.250.19 # Users foo_app # Query_time distribution # 1us @@ -67,7 +67,7 @@ SET autocommit=0\G # Query size 7 6 6 6 6 6 0 6 # String: # Databases abc -# Hosts +# Hosts 10.1.250.19 # Users foo_app # Query_time distribution # 1us @@ -94,7 +94,7 @@ commit\G # Query size 35 27 27 27 27 27 0 27 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Users mytopuser # Query_time distribution # 1us ################################################################ diff --git a/t/pt-query-digest/samples/slow013_report_fingerprint_user.txt b/t/pt-query-digest/samples/slow013_report_fingerprint_user.txt index 9ba33aec..a3901b26 100644 --- a/t/pt-query-digest/samples/slow013_report_fingerprint_user.txt +++ b/t/pt-query-digest/samples/slow013_report_fingerprint_user.txt @@ -27,7 +27,7 @@ # Query size 14 11 11 11 11 11 0 11 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Users mytopuser # Query_time distribution # 1us @@ -58,7 +58,7 @@ SHOW STATUS\G # Query size 50 38 11 27 19 27 11.31 19 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Query_time distribution # 1us ################################################################ # 10us diff --git a/t/pt-query-digest/samples/slow013_report_limit.txt b/t/pt-query-digest/samples/slow013_report_limit.txt index d465694e..40ea090f 100644 --- a/t/pt-query-digest/samples/slow013_report_limit.txt +++ b/t/pt-query-digest/samples/slow013_report_limit.txt @@ -13,7 +13,7 @@ # Query size 14 11 11 11 11 11 0 11 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Users mytopuser # Query_time distribution # 1us diff --git a/t/pt-query-digest/samples/slow013_report_outliers.txt b/t/pt-query-digest/samples/slow013_report_outliers.txt index 6b60ddc0..c7195603 100644 --- a/t/pt-query-digest/samples/slow013_report_outliers.txt +++ b/t/pt-query-digest/samples/slow013_report_outliers.txt @@ -17,7 +17,7 @@ # Query size 50 38 11 27 19 27 11.31 19 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Query_time distribution # 1us ################################################################ # 10us @@ -43,7 +43,7 @@ mytopuser # Query size 50 38 6 16 12.67 15.25 4.48 15.25 # String: # Databases abc -# Hosts +# Hosts 10.1.250.19 # Query_time distribution # 1us # 10us ################################################################ diff --git a/t/pt-query-digest/samples/slow013_report_user.txt b/t/pt-query-digest/samples/slow013_report_user.txt index 1428d2c5..c4682c67 100644 --- a/t/pt-query-digest/samples/slow013_report_user.txt +++ b/t/pt-query-digest/samples/slow013_report_user.txt @@ -17,7 +17,7 @@ # Query size 50 38 11 27 19 27 11.31 19 # String: # Databases test -# Hosts +# Hosts 10.1.12.201 # Query_time distribution # 1us ################################################################ # 10us @@ -43,7 +43,7 @@ mytopuser # Query size 50 38 6 16 12.67 15.25 4.48 15.25 # String: # Databases abc -# Hosts +# Hosts 10.1.250.19 # Query_time distribution # 1us # 10us ################################################################ diff --git a/t/pt-query-digest/samples/slow019_report.txt b/t/pt-query-digest/samples/slow019_report.txt index 2ae61093..7e73764e 100644 --- a/t/pt-query-digest/samples/slow019_report.txt +++ b/t/pt-query-digest/samples/slow019_report.txt @@ -12,7 +12,7 @@ # Query size 79 54 27 27 27 27 0 27 # String: # Databases db1 (1/50%), db2 (1/50%) -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################################################ @@ -38,7 +38,7 @@ administrator command: Quit\G # Query size 20 14 14 14 14 14 0 14 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us diff --git a/t/pt-query-digest/samples/slow055.txt b/t/pt-query-digest/samples/slow055.txt index c834e436..77e09c43 100644 --- a/t/pt-query-digest/samples/slow055.txt +++ b/t/pt-query-digest/samples/slow055.txt @@ -15,7 +15,7 @@ # Rows examine 0 0 0 0 0 0 0 0 # Query size 100 72 14 31 24 30.19 6.95 26.08 # String: -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################################################ diff --git a/t/pt-query-digest/samples/slow056.txt b/t/pt-query-digest/samples/slow056.txt index a265aa1f..aa48795e 100644 --- a/t/pt-query-digest/samples/slow056.txt +++ b/t/pt-query-digest/samples/slow056.txt @@ -15,7 +15,7 @@ # Query size 100 39 39 39 39 39 0 39 # String: # Databases test_db -# Hosts +# Hosts 127.0.0.1 # Last errno 0 # Users root # Query_time distribution @@ -51,7 +51,7 @@ select b = b + 30 from t where user_id=1\G # Query size 0 0 0 0 0 0 0 0 # String: # Databases test_db -# Hosts +# Hosts 127.0.0.1 # Last errno 0 # Users root # Query_time distribution diff --git a/t/pt-query-digest/samples/slow057.txt b/t/pt-query-digest/samples/slow057.txt index 0adba5e6..04b7ccba 100644 --- a/t/pt-query-digest/samples/slow057.txt +++ b/t/pt-query-digest/samples/slow057.txt @@ -15,7 +15,7 @@ # Rows examine 0 0 0 0 0 0 0 0 # Query size 100 82 14 27 20.50 26.08 6.12 26.08 # String: -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################ diff --git a/t/pt-query-digest/samples/slow058.txt b/t/pt-query-digest/samples/slow058.txt index 0022c77e..2b167b55 100644 --- a/t/pt-query-digest/samples/slow058.txt +++ b/t/pt-query-digest/samples/slow058.txt @@ -12,7 +12,7 @@ # Query size 24 52 26 26 26 26 0 26 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us @@ -41,7 +41,7 @@ insert `foo` values("bar")\G # Query size 25 54 27 27 27 27 0 27 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us @@ -70,7 +70,7 @@ replace `foo` values("bar")\G # Query size 50 108 54 54 54 54 0 54 # String: # Databases db -# Hosts +# Hosts 1.2.3.8 # Users meow # Query_time distribution # 1us ################################################################ diff --git a/t/pt-summary/samples/dmidecode-006.txt b/t/pt-summary/samples/dmidecode-006.txt new file mode 100644 index 00000000..d874318f --- /dev/null +++ b/t/pt-summary/samples/dmidecode-006.txt @@ -0,0 +1,920 @@ +# dmidecode 2.12 +# SMBIOS entry point at 0x000f04d0 +SMBIOS 2.8 present. +84 structures occupying 3168 bytes. +Table at 0x000EC170. + +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Vendor: Intel Corp. + Version: WYLPT10H.86A.0027.2014.0710.1904 + Release Date: 07/10/2014 + Address: 0xF0000 + Runtime Size: 64 kB + ROM Size: 6656 kB + Characteristics: + PCI is supported + BIOS is upgradeable + BIOS shadowing is allowed + Boot from CD is supported + Selectable boot is supported + BIOS ROM is socketed + EDD is supported + 5.25"/1.2 MB floppy services are supported (int 13h) + 3.5"/720 kB floppy services are supported (int 13h) + 3.5"/2.88 MB floppy services are supported (int 13h) + Print screen service is supported (int 5h) + Serial services are supported (int 14h) + Printer services are supported (int 17h) + ACPI is supported + USB legacy is supported + BIOS boot specification is supported + Targeted content distribution is supported + UEFI is supported + BIOS Revision: 4.6 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: + Product Name: + Version: + Serial Number: + UUID: CF181A80-34D4-11E1-BA8E-C03FD5602091 + Wake-up Type: Power Switch + SKU Number: + Family: + +Handle 0x0002, DMI type 2, 15 bytes +Base Board Information + Manufacturer: Intel Corporation + Product Name: D34010WYK + Version: H14771-303 + Serial Number: GEWY401001F8 + Asset Tag: + Features: + Board is a hosting board + Board is replaceable + Location In Chassis: To be filled by O.E.M. + Chassis Handle: 0x0003 + Type: Motherboard + Contained Object Handles: 0 + +Handle 0x0003, DMI type 3, 25 bytes +Chassis Information + Manufacturer: + Type: Desktop + Lock: Not Present + Version: + Serial Number: + Asset Tag: + Boot-up State: Safe + Power Supply State: Safe + Thermal State: Safe + Security Status: None + OEM Information: 0x00000000 + Height: Unspecified + Number Of Power Cords: 1 + Contained Elements: 1 + (0) + SKU Number: To be filled by O.E.M. + +Handle 0x0004, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J1A1 + Internal Connector Type: None + External Reference Designator: PS2Mouse + External Connector Type: PS/2 + Port Type: Mouse Port + +Handle 0x0005, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J1A1 + Internal Connector Type: None + External Reference Designator: Keyboard + External Connector Type: PS/2 + Port Type: Keyboard Port + +Handle 0x0006, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2A1 + Internal Connector Type: None + External Reference Designator: TV Out + External Connector Type: Mini Centronics Type-14 + Port Type: Other + +Handle 0x0007, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2A2A + Internal Connector Type: None + External Reference Designator: COM A + External Connector Type: DB-9 male + Port Type: Serial Port 16550A Compatible + +Handle 0x0008, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2A2B + Internal Connector Type: None + External Reference Designator: Video + External Connector Type: DB-15 female + Port Type: Video Port + +Handle 0x0009, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J3A1 + Internal Connector Type: None + External Reference Designator: USB1 + External Connector Type: Access Bus (USB) + Port Type: USB + +Handle 0x000A, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J3A1 + Internal Connector Type: None + External Reference Designator: USB2 + External Connector Type: Access Bus (USB) + Port Type: USB + +Handle 0x000B, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J3A1 + Internal Connector Type: None + External Reference Designator: USB3 + External Connector Type: Access Bus (USB) + Port Type: USB + +Handle 0x000C, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9A1 - TPM HDR + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x000D, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9C1 - PCIE DOCKING CONN + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x000E, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2B3 - CPU FAN + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x000F, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J6C2 - EXT HDMI + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0010, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J3C1 - GMCH FAN + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0011, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J1D1 - ITP + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0012, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9E2 - MDC INTPSR + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0013, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9E4 - MDC INTPSR + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0014, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9E3 - LPC HOT DOCKING + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0015, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9E1 - SCAN MATRIX + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0016, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J9G1 - LPC SIDE BAND + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0017, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J8F1 - UNIFIED + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0018, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J6F1 - LVDS + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x0019, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2F1 - LAI FAN + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x001A, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J2G1 - GFX VID + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x001B, DMI type 8, 9 bytes +Port Connector Information + Internal Reference Designator: J1G6 - AC JACK + Internal Connector Type: Other + External Reference Designator: Not Specified + External Connector Type: None + Port Type: Other + +Handle 0x001C, DMI type 9, 17 bytes +System Slot Information + Designation: J6B2 + Type: x16 PCI Express + Current Usage: Available + Length: Long + ID: 0 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:01.0 + +Handle 0x001D, DMI type 10, 10 bytes +On Board Device 1 Information + Type: Video + Status: Enabled + Description: Intel(R) HD Graphics Device +On Board Device 2 Information + Type: Ethernet + Status: Enabled + Description: Intel(R) WGI218V Gigabit Network Device +On Board Device 3 Information + Type: Sound + Status: Enabled + Description: Realtek High Definition Audio Device + +Handle 0x001E, DMI type 11, 5 bytes +OEM Strings + String 1: To Be Filled By O.E.M. + +Handle 0x001F, DMI type 12, 5 bytes +System Configuration Options + Option 1: To Be Filled By O.E.M. + +Handle 0x0020, DMI type 24, 5 bytes +Hardware Security + Power-On Password Status: Disabled + Keyboard Password Status: Disabled + Administrator Password Status: Disabled + Front Panel Reset Status: Disabled + +Handle 0x0021, DMI type 32, 20 bytes +System Boot Information + Status: No errors detected + +Handle 0x0022, DMI type 34, 11 bytes +Management Device + Description: LM78-1 + Type: LM78 + Address: 0x00000000 + Address Type: I/O Port + +Handle 0x0023, DMI type 26, 22 bytes +Voltage Probe + Description: LM78A + Location: + Status: + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0024, DMI type 36, 16 bytes +Management Device Threshold Data + Lower Non-critical Threshold: 1 + Upper Non-critical Threshold: 2 + Lower Critical Threshold: 3 + Upper Critical Threshold: 4 + Lower Non-recoverable Threshold: 5 + Upper Non-recoverable Threshold: 6 + +Handle 0x0025, DMI type 35, 11 bytes +Management Device Component + Description: To Be Filled By O.E.M. + Management Device Handle: 0x0022 + Component Handle: 0x0022 + Threshold Handle: 0x0023 + +Handle 0x0026, DMI type 28, 22 bytes +Temperature Probe + Description: LM78A + Location: + Status: + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0027, DMI type 36, 16 bytes +Management Device Threshold Data + Lower Non-critical Threshold: 1 + Upper Non-critical Threshold: 2 + Lower Critical Threshold: 3 + Upper Critical Threshold: 4 + Lower Non-recoverable Threshold: 5 + Upper Non-recoverable Threshold: 6 + +Handle 0x0028, DMI type 35, 11 bytes +Management Device Component + Description: To Be Filled By O.E.M. + Management Device Handle: 0x0022 + Component Handle: 0x0025 + Threshold Handle: 0x0026 + +Handle 0x0029, DMI type 27, 15 bytes +Cooling Device + Temperature Probe Handle: 0x0026 + Type: + Status: + Cooling Unit Group: 1 + OEM-specific Information: 0x00000000 + Nominal Speed: Unknown Or Non-rotating + Description: Cooling Dev 1 + +Handle 0x002A, DMI type 36, 16 bytes +Management Device Threshold Data + Lower Non-critical Threshold: 1 + Upper Non-critical Threshold: 2 + Lower Critical Threshold: 3 + Upper Critical Threshold: 4 + Lower Non-recoverable Threshold: 5 + Upper Non-recoverable Threshold: 6 + +Handle 0x002B, DMI type 35, 11 bytes +Management Device Component + Description: To Be Filled By O.E.M. + Management Device Handle: 0x0022 + Component Handle: 0x0028 + Threshold Handle: 0x0029 + +Handle 0x002C, DMI type 27, 15 bytes +Cooling Device + Temperature Probe Handle: 0x0026 + Type: + Status: + Cooling Unit Group: 1 + OEM-specific Information: 0x00000000 + Nominal Speed: Unknown Or Non-rotating + Description: Not Specified + +Handle 0x002D, DMI type 36, 16 bytes +Management Device Threshold Data + Lower Non-critical Threshold: 1 + Upper Non-critical Threshold: 2 + Lower Critical Threshold: 3 + Upper Critical Threshold: 4 + Lower Non-recoverable Threshold: 5 + Upper Non-recoverable Threshold: 6 + +Handle 0x002E, DMI type 35, 11 bytes +Management Device Component + Description: To Be Filled By O.E.M. + Management Device Handle: 0x0022 + Component Handle: 0x002B + Threshold Handle: 0x002C + +Handle 0x002F, DMI type 29, 22 bytes +Electrical Current Probe + Description: ABC + Location: + Status: + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0030, DMI type 36, 16 bytes +Management Device Threshold Data + +Handle 0x0031, DMI type 35, 11 bytes +Management Device Component + Description: To Be Filled By O.E.M. + Management Device Handle: 0x0022 + Component Handle: 0x002E + Threshold Handle: 0x002C + +Handle 0x0032, DMI type 26, 22 bytes +Voltage Probe + Description: LM78A + Location: Power Unit + Status: OK + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0033, DMI type 28, 22 bytes +Temperature Probe + Description: LM78A + Location: Power Unit + Status: OK + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0034, DMI type 27, 15 bytes +Cooling Device + Temperature Probe Handle: 0x0033 + Type: Power Supply Fan + Status: OK + Cooling Unit Group: 1 + OEM-specific Information: 0x00000000 + Nominal Speed: Unknown Or Non-rotating + Description: Cooling Dev 1 + +Handle 0x0035, DMI type 29, 22 bytes +Electrical Current Probe + Description: ABC + Location: Power Unit + Status: OK + Maximum Value: Unknown + Minimum Value: Unknown + Resolution: Unknown + Tolerance: Unknown + Accuracy: Unknown + OEM-specific Information: 0x00000000 + Nominal Value: Unknown + +Handle 0x0036, DMI type 39, 22 bytes +System Power Supply + Power Unit Group: 1 + Location: To Be Filled By O.E.M. + Name: To Be Filled By O.E.M. + Manufacturer: To Be Filled By O.E.M. + Serial Number: To Be Filled By O.E.M. + Asset Tag: To Be Filled By O.E.M. + Model Part Number: To Be Filled By O.E.M. + Revision: To Be Filled By O.E.M. + Max Power Capacity: Unknown + Status: Present, OK + Type: Switching + Input Voltage Range Switching: Auto-switch + Plugged: Yes + Hot Replaceable: No + Input Voltage Probe Handle: 0x0032 + Cooling Device Handle: 0x0034 + Input Current Probe Handle: 0x0035 + +Handle 0x0037, DMI type 41, 11 bytes +Onboard Device + Reference Designation: CPU1 + Type: Video + Status: Enabled + Type Instance: 1 + Bus Address: 0000:00:02.0 + +Handle 0x0038, DMI type 41, 11 bytes +Onboard Device + Reference Designation: ILAN + Type: Ethernet + Status: Enabled + Type Instance: 1 + Bus Address: 0000:00:19.0 + +Handle 0x0039, DMI type 41, 11 bytes +Onboard Device + Reference Designation: AUDIO1 + Type: Sound + Status: Enabled + Type Instance: 1 + Bus Address: 0000:00:1b.0 + +Handle 0x003A, DMI type 4, 42 bytes +Processor Information + Socket Designation: CPU 1 + Type: Central Processor + Family: Core i3 + Manufacturer: Intel(R) Corp. + ID: 51 06 04 00 FF FB EB BF + Signature: Type 0, Family 6, Model 69, Stepping 1 + Flags: + FPU (Floating-point unit on-chip) + VME (Virtual mode extension) + DE (Debugging extension) + PSE (Page size extension) + TSC (Time stamp counter) + MSR (Model specific registers) + PAE (Physical address extension) + MCE (Machine check exception) + CX8 (CMPXCHG8 instruction supported) + APIC (On-chip APIC hardware supported) + SEP (Fast system call) + MTRR (Memory type range registers) + PGE (Page global enable) + MCA (Machine check architecture) + CMOV (Conditional move instruction supported) + PAT (Page attribute table) + PSE-36 (36-bit page size extension) + CLFSH (CLFLUSH instruction supported) + DS (Debug store) + ACPI (ACPI supported) + MMX (MMX technology supported) + FXSR (FXSAVE and FXSTOR instructions supported) + SSE (Streaming SIMD extensions) + SSE2 (Streaming SIMD extensions 2) + SS (Self-snoop) + HTT (Multi-threading) + TM (Thermal monitor supported) + PBE (Pending break enabled) + Version: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz + Voltage: 1.2 V + External Clock: 100 MHz + Max Speed: 1700 MHz + Current Speed: 1700 MHz + Status: Populated, Enabled + Upgrade: + L1 Cache Handle: 0x003C + L2 Cache Handle: 0x003B + L3 Cache Handle: 0x003D + Serial Number: Not Specified + Asset Tag: Fill By OEM + Part Number: Fill By OEM + Core Count: 2 + Core Enabled: 2 + Thread Count: 4 + Characteristics: + 64-bit capable + +Handle 0x003B, DMI type 7, 19 bytes +Cache Information + Socket Designation: CPU Internal L2 + Configuration: Enabled, Not Socketed, Level 2 + Operational Mode: Write Back + Location: Internal + Installed Size: 512 kB + Maximum Size: 512 kB + Supported SRAM Types: + Unknown + Installed SRAM Type: Unknown + Speed: Unknown + Error Correction Type: Single-bit ECC + System Type: Unified + Associativity: 8-way Set-associative + +Handle 0x003C, DMI type 7, 19 bytes +Cache Information + Socket Designation: CPU Internal L1 + Configuration: Enabled, Not Socketed, Level 1 + Operational Mode: Write Back + Location: Internal + Installed Size: 128 kB + Maximum Size: 128 kB + Supported SRAM Types: + Unknown + Installed SRAM Type: Unknown + Speed: Unknown + Error Correction Type: Single-bit ECC + System Type: Other + Associativity: 8-way Set-associative + +Handle 0x003D, DMI type 7, 19 bytes +Cache Information + Socket Designation: CPU Internal L3 + Configuration: Enabled, Not Socketed, Level 3 + Operational Mode: Write Back + Location: Internal + Installed Size: 3072 kB + Maximum Size: 3072 kB + Supported SRAM Types: + Unknown + Installed SRAM Type: Unknown + Speed: Unknown + Error Correction Type: Single-bit ECC + System Type: Unified + Associativity: 12-way Set-associative + +Handle 0x003E, DMI type 16, 23 bytes +Physical Memory Array + Location: System Board Or Motherboard + Use: System Memory + Error Correction Type: None + Maximum Capacity: 16 GB + Error Information Handle: Not Provided + Number Of Devices: 2 + +Handle 0x003F, DMI type 17, 40 bytes +Memory Device + Array Handle: 0x003E + Error Information Handle: Not Provided + Total Width: 64 bits + Data Width: 64 bits + Size: 8192 MB + Form Factor: SODIMM + Set: None + Locator: DIMM 1 + Bank Locator: Channel A Slot 0 + Type: DDR3 + Type Detail: Synchronous + Speed: 1600 MHz + Manufacturer: 1315 + Serial Number: 102007000000 + Asset Tag: 9876543210 + Part Number: CT102464BF160B.C16 + Rank: 2 + Configured Clock Speed: 1600 MHz + Minimum voltage: 1.350 V + Maximum voltage: 1.500 V + Configured voltage: 1.350 V + +Handle 0x0040, DMI type 20, 35 bytes +Memory Device Mapped Address + Starting Address: 0x00000000000 + Ending Address: 0x001FFFFFFFF + Range Size: 8 GB + Physical Device Handle: 0x003F + Memory Array Mapped Address Handle: 0x0043 + Partition Row Position: Unknown + Interleave Position: Unknown + Interleaved Data Depth: Unknown + +Handle 0x0041, DMI type 17, 40 bytes +Memory Device + Array Handle: 0x003E + Error Information Handle: Not Provided + Total Width: 64 bits + Data Width: 64 bits + Size: 8192 MB + Form Factor: SODIMM + Set: None + Locator: DIMM 2 + Bank Locator: Channel B Slot 0 + Type: DDR3 + Type Detail: Synchronous + Speed: 1600 MHz + Manufacturer: 1315 + Serial Number: 037018000000 + Asset Tag: 9876543210 + Part Number: CT102464BF160B.C16 + Rank: 2 + Configured Clock Speed: 1600 MHz + Minimum voltage: 1.350 V + Maximum voltage: 1.500 V + Configured voltage: 1.350 V + +Handle 0x0042, DMI type 20, 35 bytes +Memory Device Mapped Address + Starting Address: 0x00200000000 + Ending Address: 0x003FFFFFFFF + Range Size: 8 GB + Physical Device Handle: 0x0041 + Memory Array Mapped Address Handle: 0x0043 + Partition Row Position: Unknown + Interleave Position: Unknown + Interleaved Data Depth: Unknown + +Handle 0x0043, DMI type 19, 31 bytes +Memory Array Mapped Address + Starting Address: 0x00000000000 + Ending Address: 0x003FFFFFFFF + Range Size: 16 GB + Physical Array Handle: 0x003E + Partition Width: 2 + +Handle 0x0054, DMI type 136, 6 bytes +OEM-specific Type + Header and Data: + 88 06 54 00 5A 5A + +Handle 0x0055, DMI type 131, 64 bytes +OEM-specific Type + Header and Data: + 83 40 55 00 31 00 00 00 00 00 00 00 00 00 00 00 + F8 00 43 9C 00 00 00 00 01 00 00 00 05 00 09 00 + AA 06 0D 00 00 00 00 00 C8 00 59 15 00 00 00 00 + 00 00 00 00 26 00 00 00 76 50 72 6F 00 00 00 00 + +Handle 0x0057, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x1 PCI Express 2 x1 + Current Usage: Available + Length: Short + ID: 7 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.5 + +Handle 0x0058, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x1 PCI Express 2 x1 + Current Usage: Available + Length: Short + ID: 5 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.6 + +Handle 0x0059, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x4 PCI Express 2 x4 + Current Usage: Available + Length: Short + ID: 4 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.1 + +Handle 0x005A, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 3 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:00.0 + +Handle 0x005B, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 2 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:01.0 + +Handle 0x005C, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 1 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:02.0 + +Handle 0x005D, DMI type 13, 22 bytes +BIOS Language Information + Language Description Format: Long + Installable Languages: 1 + en|US|iso8859-1 + Currently Installed Language: en|US|iso8859-1 + +Handle 0x0060, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x1 PCI Express 2 x1 + Current Usage: Available + Length: Short + ID: 7 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.5 + +Handle 0x0061, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x1 PCI Express 2 x1 + Current Usage: Available + Length: Short + ID: 5 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.6 + +Handle 0x0062, DMI type 9, 17 bytes +System Slot Information + Designation: PCIeSlot + Type: x4 PCI Express 2 x4 + Current Usage: Available + Length: Short + ID: 4 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:00:1c.1 + +Handle 0x0063, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 3 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:00.0 + +Handle 0x0064, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 2 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:01.0 + +Handle 0x0065, DMI type 9, 17 bytes +System Slot Information + Designation: PCI Slot + Type: 32-bit PCI + Current Usage: Available + Length: Short + ID: 1 + Characteristics: + 3.3 V is provided + Opening is shared + PME signal is supported + Bus Address: 0000:ff:02.0 + +Handle 0x0066, DMI type 127, 4 bytes +End Of Table diff --git a/t/pt-variable-advisor/samples/vars001-ignore-rules.txt b/t/pt-variable-advisor/samples/vars001-ignore-rules.txt index eedf633a..ac5c2aac 100644 --- a/t/pt-variable-advisor/samples/vars001-ignore-rules.txt +++ b/t/pt-variable-advisor/samples/vars001-ignore-rules.txt @@ -10,6 +10,8 @@ # WARN slave_net_timeout: This variable is set too high. +# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. + # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. # NOTE innodb_flush_method: Most production database servers that use InnoDB should set innodb_flush_method to O_DIRECT to avoid double-buffering, unless the I/O system is very low performance. diff --git a/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt b/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt index d8e9e933..075bbe61 100644 --- a/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt +++ b/t/pt-variable-advisor/samples/vars001-verbose-verbose.txt @@ -10,6 +10,8 @@ # WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the master has failed and retrying. This should probably be set to 60 seconds or less. It is also a good idea to use pt-heartbeat to ensure that the connection does not appear to time out when the master is simply idle. +# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. If you do not purge binary logs, your disk will fill up. If you delete binary logs externally to MySQL, you will cause unwanted behaviors. Always ask MySQL to purge obsolete logs, never delete them externally. + # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. Some people prefer to set innodb_file_per_table and allocate a fixed-size file for ibdata1. # NOTE innodb_flush_method: Most production database servers that use InnoDB should set innodb_flush_method to O_DIRECT to avoid double-buffering, unless the I/O system is very low performance. diff --git a/t/pt-variable-advisor/samples/vars001-verbose.txt b/t/pt-variable-advisor/samples/vars001-verbose.txt index 45351758..2447917d 100644 --- a/t/pt-variable-advisor/samples/vars001-verbose.txt +++ b/t/pt-variable-advisor/samples/vars001-verbose.txt @@ -10,6 +10,8 @@ # WARN slave_net_timeout: This variable is set too high. This is too long to wait before noticing that the connection to the master has failed and retrying. +# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. If you do not purge binary logs, your disk will fill up. + # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. Some people prefer to set innodb_file_per_table and allocate a fixed-size file for ibdata1. # NOTE innodb_flush_method: Most production database servers that use InnoDB should set innodb_flush_method to O_DIRECT to avoid double-buffering, unless the I/O system is very low performance. diff --git a/t/pt-variable-advisor/samples/vars001.txt b/t/pt-variable-advisor/samples/vars001.txt index 44ef8940..273a8960 100644 --- a/t/pt-variable-advisor/samples/vars001.txt +++ b/t/pt-variable-advisor/samples/vars001.txt @@ -10,6 +10,8 @@ # WARN slave_net_timeout: This variable is set too high. +# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. + # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. # NOTE innodb_flush_method: Most production database servers that use InnoDB should set innodb_flush_method to O_DIRECT to avoid double-buffering, unless the I/O system is very low performance. diff --git a/t/pt-variable-advisor/samples/vars002.txt b/t/pt-variable-advisor/samples/vars002.txt index 3530ecd1..d500767e 100644 --- a/t/pt-variable-advisor/samples/vars002.txt +++ b/t/pt-variable-advisor/samples/vars002.txt @@ -10,6 +10,8 @@ # WARN slave_net_timeout: This variable is set too high. +# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. + # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. # WARN myisam_recover_options: myisam_recover_options should be set to some value such as BACKUP,FORCE to ensure that table corruption is noticed.