Files
percona-toolkit/t/lib/bash/report_mysql_info.sh

721 lines
30 KiB
Bash

#!/usr/bin/env bash
plan 32
. "$LIB_DIR/alt_cmds.sh"
. "$LIB_DIR/log_warn_die.sh"
. "$LIB_DIR/summary_common.sh"
. "$LIB_DIR/report_formatting.sh"
. "$LIB_DIR/report_mysql_info.sh"
TMPDIR="$TEST_TMPDIR"
PATH="$PATH:$PERCONA_TOOLKIT_SANDBOX/bin"
TOOL="pt-mysql-summary"
samples="$PERCONA_TOOLKIT_BRANCH/t/pt-mysql-summary/samples"
NAME_VAL_LEN=20
# ###########################################################################
# table_cache
# ###########################################################################
rm $TMPDIR/table_cache_tests 2>/dev/null
touch $TMPDIR/table_cache_tests
is \
$(get_table_cache "$TMPDIR/table_cache_tests") \
0 \
"0 if neither table_cache nor table_open_cache are present"
cat <<EOF > $TMPDIR/table_cache_tests
table_cache 5
table_open_cache 4
EOF
is \
$(get_table_cache "$TMPDIR/table_cache_tests") \
4 \
"If there's a table_open_cache present, uses that"
cat <<EOF > $TMPDIR/table_cache_tests
table_cache 5
EOF
is \
$(get_table_cache "$TMPDIR/table_cache_tests") \
5 \
"Otherwise, defaults to table_cache"
# ###########################################################################
# summarize_processlist
# ###########################################################################
cat <<EOF > $TMPDIR/expected
Command COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Binlog Dump 1 1 9000000 9000000
Connect 2 2 6000000 5000000
Query 2 2 0 0
Sleep 150 0 150000 20000
User COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
acjcxx 4 0 0 0
aecac 1 0 0 0
babeecc 20 0 0 0
centous 2 0 0 0
crcpcpc 2 0 0 0
crgcp4c 3 0 0 0
eanecj 30 1 0 0
ebace 10 0 0 0
etace 80 0 0 0
goate 8 0 0 0
qjveec 1 0 0 0
repl 1 1 9000000 9000000
root 1 1 0 0
system user 2 2 6000000 5000000
Host COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
10.14.82.196 6 0 0 0
10.14.82.202 20 0 0 0
10.17.85.100 9 0 0 0
10.17.85.74 1 1 9000000 9000000
10.17.85.86 35 0 0 0
10.17.85.88 5 0 0 0
10.17.85.90 10 0 0 0
10.36.34.66 35 1 0 0
2 2 6000000 5000000
localhost 1 1 0 0
someserver.woozle.com11 1 0 0 0
someserver.woozle.com14 1 0 0 0
someserver.woozle.com 40 0 0 0
db COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
aetecjc 175 1 0 0
NULL 4 4 15000000 9000000
State COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
150 0 0 0
Has read all relay log; waitin 1 1 300000 300000
Has sent all binlog to slave; 1 1 9000000 9000000
NULL 2 2 0 0
Waiting for master to send eve 1 1 5000000 5000000
EOF
summarize_processlist "$samples/processlist-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "summarize_processlist"
# ###########################################################################
# summarize_binlogs
# ###########################################################################
NAME_VAL_LEN=25
cat <<EOF > "$TMPDIR/expected"
Binlogs | 20
Zero-Sized | 3
Total Size | 6.5G
EOF
summarize_binlogs "$samples/mysql-master-logs-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/expected" "$TMPDIR/got" "summarize_binlogs"
# ###########################################################################
# Reporting semisync replication
# ###########################################################################
cat <<EOF > "$TMPDIR/expected"
master semisync status |
master trace level | 32, net wait (more information about network waits)
master timeout in milliseconds | 10000
master waits for slaves | ON
master clients |
master net_avg_wait_time |
master net_wait_time |
master net_waits |
master no_times |
master no_tx |
master timefunc_failures |
master tx_avg_wait_time |
master tx_wait_time |
master tx_waits |
master wait_pos_backtraverse |
master wait_sessions |
master yes_tx |
EOF
_semi_sync_stats_for "master" "$samples/mysql-variables-with-semisync.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/expected" "$TMPDIR/got" "semisync replication"
# ###########################################################################
# pretty_print_cnf_file
# ###########################################################################
cat <<EOF > $TMPDIR/expected
[mysqld]
datadir = /mnt/data/mysql
socket = /mnt/data/mysql/mysql.sock
old_passwords = 1
ssl-key = /opt/mysql.pdns/.cert/server-key.pem
ssl-cert = /opt/mysql.pdns/.cert/server-cert.pem
ssl-ca = /opt/mysql.pdns/.cert/ca-cert.pem
innodb_buffer_pool_size = 16M
innodb_flush_method = O_DIRECT
innodb_log_file_size = 64M
innodb_log_buffer_size = 1M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1
ssl = 1
server-id = 1
log-bin = sl1-bin
[mysql.server]
user = mysql
basedir = /mnt/data
[mysqld_safe]
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
[mysql]
[xtrabackup]
target-dir = /data/backup
EOF
pretty_print_cnf_file "$samples/my.cnf-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "pretty_print_cnf_file"
# TODO BUG NUMBER#
cp "$samples/my.cnf-001.txt" "$TMPDIR/test_pretty_print_cnf_file"
echo "some_var_yadda=0" >> "$TMPDIR/test_pretty_print_cnf_file"
echo "some_var_yadda = 0" >> "$TMPDIR/expected"
pretty_print_cnf_file "$TMPDIR/test_pretty_print_cnf_file" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "pretty_print_cnf_file, bug XXXXXX"
# ###########################################################################
# plugin_status
# ###########################################################################
cat <<EOF > $TMPDIR/plugins
binlog ACTIVE STORAGE ENGINE NULL GPL
partition ACTIVE STORAGE ENGINE NULL GPL
ARCHIVE ACTIVE STORAGE ENGINE NULL GPL
BLACKHOLE ACTIVE STORAGE ENGINE NULL GPL
CSV ACTIVE STORAGE ENGINE NULL GPL
FEDERATED DISABLED STORAGE ENGINE NULL GPL
MEMORY ACTIVE STORAGE ENGINE NULL GPL
InnoDB ACTIVE STORAGE ENGINE NULL GPL
MyISAM ACTIVE STORAGE ENGINE NULL GPL
MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL
EOF
is \
"$(get_plugin_status $TMPDIR/plugins InnoDB )" \
"ACTIVE" \
"Sanity test, finds InnoDB as active"
is \
"$(get_plugin_status $TMPDIR/plugins some_plugin_that_doesnt_exist )" \
"Not found" \
"Doesn't find a nonexistent plugin"
echo "INNODB_CMP ACTIVE" >> $TMPDIR/plugins
is \
"$(get_plugin_status $TMPDIR/plugins "INNODB_CMP" )" \
"ACTIVE"
cat <<EOF > $TMPDIR/plugins
binlog ACTIVE STORAGE ENGINE NULL GPL
mysql_native_password ACTIVE AUTHENTICATION NULL GPL
mysql_old_password ACTIVE AUTHENTICATION NULL GPL
MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL
MyISAM ACTIVE STORAGE ENGINE NULL GPL
CSV ACTIVE STORAGE ENGINE NULL GPL
MEMORY ACTIVE STORAGE ENGINE NULL GPL
FEDERATED DISABLED STORAGE ENGINE NULL GPL
ARCHIVE ACTIVE STORAGE ENGINE NULL GPL
BLACKHOLE ACTIVE STORAGE ENGINE NULL GPL
InnoDB ACTIVE STORAGE ENGINE NULL GPL
INNODB_TRX ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_LOCKS ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_LOCK_WAITS ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_CMP ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_CMP_RESET ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_CMPMEM ACTIVE INFORMATION SCHEMA NULL GPL
INNODB_CMPMEM_RESET ACTIVE INFORMATION SCHEMA NULL GPL
PERFORMANCE_SCHEMA ACTIVE STORAGE ENGINE NULL GPL
partition ACTIVE STORAGE ENGINE NULL GPL
EOF
is \
"$(get_plugin_status $TMPDIR/plugins "INNODB_CMP" )" \
"ACTIVE" \
"Multiple plugins with the same prefix"
# ###########################################################################
# parse_mysqld_instances
# ###########################################################################
_NO_FALSE_NEGATIVES=1
cat <<EOF > $TMPDIR/expected
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
3306 /var/lib/mysql ? ? /var/run/mysqld/mysqld.sock
12345 /tmp/12345/data ? ? /tmp/12345/mysql_sandbox12345.sock
12346 /tmp/12346/data ? ? /tmp/12346/mysql_sandbox12346.sock
EOF
touch "$TMPDIR/empty"
parse_mysqld_instances "$samples/ps-mysqld-001.txt" "$TMPDIR/empty" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "ps-mysqld-001.txt"
cat <<EOF > "$TMPDIR/expected"
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
/var/lib/mysql ? ? /var/lib/mysql/mysql.sock
EOF
parse_mysqld_instances "$samples/ps-mysqld-002.txt" "$TMPDIR/empty" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "ps-mysqld-002.txt"
#parse_mysqld_instances
cat <<EOF > $TMPDIR/expected
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
3306 /mnt/data-store/mysql/data ? ? /tmp/mysql.sock
EOF
parse_mysqld_instances "$samples/ps-mysqld-003.txt" "$TMPDIR/empty" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "ps-mysqld-003.txt"
cat <<EOF > "$TMPDIR/expected"
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
/var/db/mysql ? ?
EOF
cat <<EOF > "$TMPDIR/in"
mysql 767 0.0 0.9 3492 1100 v0 I 3:01PM 0:00.07 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/freebsd.hsd1.va.comcast.net..pid
mysql 818 0.0 17.4 45292 20584 v0 I 3:01PM 0:02.28 /usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/db/mysql --user=mysql --log-error=/var/db/mysql/freebsd.hsd1.va.comcast.net..err --pid-file=/var/db/mysql/freebsd.hsd1.va.comcast.net..pid
EOF
parse_mysqld_instances "$TMPDIR/in" "$TMPDIR/empty" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "parse_mysqld_instances"
# ###########################################################################
# get_mysql_*
# ###########################################################################
NAME_VAL_LEN=20
cp $samples/mysql-variables-001.txt $TMPDIR/mysql-variables
is \
$(get_mysql_timezone "$TMPDIR/mysql-variables") \
"EDT" \
"get_mysql_timezone"
cat <<EOF > $TMPDIR/expected
2010-05-27 11:38 (up 0+02:08:52)
EOF
cp $samples/mysql-status-001.txt $TMPDIR/mysql-status
uptime="$(get_var Uptime $TMPDIR/mysql-status)"
current_time="$(echo -e "2010-05-27 11:38\n")"
get_mysql_uptime "${uptime}" "${current_time}" > $TMPDIR/got
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_uptime"
cat <<EOF > $TMPDIR/expected
Version | 5.0.51a-24+lenny2 (Debian)
Built On | debian-linux-gnu i486
EOF
cp "$samples/mysql-variables-001.txt" "$TMPDIR/mysql-variables"
get_mysql_version "$TMPDIR/mysql-variables" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_version"
# ###########################################################################
# format_status_variables
# ###########################################################################
cat <<EOF > "$TMPDIR/expected"
Variable Per day Per second 5 secs
Bytes_received 8000000 100
Bytes_sent 35000000 400
Com_admin_commands 20
Com_change_db 1000
Com_delete 8000
Com_insert 8000
Com_lock_tables 200
Com_replace 1250
Com_select 22500
Com_set_option 22500
Com_show_binlogs 10
Com_show_create_db 400
Com_show_create_table 7000
Com_show_databases 125
Com_show_fields 7000
Com_show_innodb_status 300
Com_show_open_tables 10
Com_show_processlist 300
Com_show_slave_status 300
Com_show_status 350
Com_show_storage_engines 10
Com_show_tables 400
Com_show_triggers 7000
Com_show_variables 450
Com_truncate 300
Com_unlock_tables 250
Com_update 900
Connections 2500
Created_tmp_disk_tables 15000
Created_tmp_files 60
Created_tmp_tables 22500
Flush_commands 10
Handler_delete 8000
Handler_read_first 2250
Handler_read_key 30000
Handler_read_next 15000
Handler_read_rnd 9000
Handler_read_rnd_next 300000 3
Handler_update 17500
Handler_write 250000 2
Innodb_buffer_pool_pages_data 225
Innodb_buffer_pool_pages_free 5000
Innodb_buffer_pool_pages_total 6000
Innodb_buffer_pool_read_ahead_rnd 10
Innodb_buffer_pool_read_requests 2250
Innodb_buffer_pool_reads 150
Innodb_data_fsyncs 35
Innodb_data_read 30000000 350
Innodb_data_reads 300
Innodb_data_writes 35
Innodb_data_written 17500
Innodb_log_writes 10
Innodb_os_log_fsyncs 35
Innodb_os_log_written 6000
Innodb_page_size 175000 2
Innodb_pages_read 225
Key_blocks_unused 150000 1
Key_blocks_used 175
Key_read_requests 100000 1
Key_reads 600
Key_write_requests 70000
Key_writes 17500
Max_used_connections 45
Open_files 1500
Open_tables 700
Opened_tables 15000
Qcache_free_blocks 80
Qcache_free_memory 175000000 2250
Qcache_hits 8000
Qcache_inserts 20000
Qcache_not_cached 10000
Qcache_queries_in_cache 225
Qcache_total_blocks 600
Questions 100000 1
Select_scan 25000
Sort_rows 8000
Sort_scan 300
Table_locks_immediate 50000 17500
Table_locks_waited 10 1
Threads_cached 35
Threads_connected 10
Threads_created 45
Threads_running 10
Uptime 90000 1 1
Uptime_since_flush_status 90000 1
EOF
join "$samples/mysql-status-001.txt" "$samples/mysql-status-002.txt" > "$TMPDIR/in"
format_status_variables "$TMPDIR/in" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "format_status_variables"
# ###########################################################################
# format_overall_db_stats
# ###########################################################################
cat <<EOF > "$TMPDIR/expected"
Database Tables Views SPs Trigs Funcs FKs Partn
mysql 17
sakila 17 7 3 6 3 22 1
Database MyISAM InnoDB
mysql 17
sakila 2 15
Database BTREE FULLTEXT
mysql 24
sakila 63 1
c t s e t s i t b l b v d y d m
h i e n i m n e l o i a a e e e
a m t u n a t x o n g r t a c d
r e m y l t b g i c e r i i
s i l b n h t m u
t n i l t a i a m
a t n o r m l i
m t b e n
p t
Database === === === === === === === === === === === === === === === ===
mysql 38 5 5 69 2 3 16 2 4 1 2
sakila 1 15 1 3 19 26 3 4 1 45 4 1 7 2
EOF
format_overall_db_stats "$samples/mysql-schema-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected"
cat <<EOF > $TMPDIR/expected
Database Tables Views SPs Trigs Funcs FKs Partn
{chosen} 1
Database InnoDB
{chosen} 1
Database BTREE
{chosen} 2
t v
i a
n r
y c
i h
n a
t r
Database === ===
{chosen} 1 1
EOF
format_overall_db_stats "$samples/mysql-schema-002.txt" > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$TMPDIR/expected" \
"format_overall_db_stats: single DB without CREATE DATABASE nor USE db defaults to {chosen}"
# ###########################################################################
# format_innodb_status
# ###########################################################################
cat <<EOF > $TMPDIR/expected
Checkpoint Age | 619k
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 3 Seconds
History List Len | 255
Read Views | 23
Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
Pending I/O Reads | 14 buf pool reads, 6 normal AIO, 0 ibuf AIO, 23 preads
Pending I/O Writes | 63 buf pool (63 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (1 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 1 log
Transaction States | 1xACTIVE
Semaphore Waits
69 btr/btr0cur.c line 457
47 btr/btr0cur.c line 523
17 trx/trx0trx.c line 1621
12 row/row0sel.c line 3549
4 lock/lock0lock.c line 4944
3 lock/lock0lock.c line 5316
2 lock/lock0lock.c line 3224
2 btr/btr0sea.c line 1032
1 trx/trx0trx.c line 738
1 row/row0sel.c line 4574
1 lock/lock0lock.c line 5163
1 lock/lock0lock.c line 3249
1 ./include/btr0btr.ic line 53
1 fsp/fsp0fsp.c line 3395
1 btr/btr0cur.c line 672
1 btr/btr0cur.c line 450
Semaphore Holders
66 thread id 139960165583184
45 thread id 139960567171408
4 thread id 139960404199760
1 thread id 139961215367504
1 thread id 139960969292112
1 thread id 139960676096336
Mutexes/Locks Waited For
65 lock on RW-latch at 0x905d33d0 '&new_index->lock'
45 lock on RW-latch at 0x7f4bedbf8810 '&block->lock'
30 Mutex at 0xf89ab0 '&kernel_mutex'
15 lock on RW-latch at 0x90075530 '&btr_search_latch'
4 lock on RW-latch at 0x90a42ca0 '&new_index->lock'
1 lock on RW-latch at 0x90fe1c80 '&new_index->lock'
1 lock on RW-latch at 0x90078f10 '&space->latch'
1 lock on RW-latch at 0x7f4c0d3abba8 '&block->lock'
1 lock on RW-latch at 0x7f4bfc558040 '&block->lock'
1 lock on RW-latch at 0x7f4bd0a8c8d0 '&block->lock'
EOF
format_innodb_status $samples/innodb-status.001.txt > $TMPDIR/got
no_diff $TMPDIR/got $TMPDIR/expected "innodb-status.001.txt"
cat <<'EOF' > $TMPDIR/expected
Checkpoint Age | 348M
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 4 Seconds
History List Len | 426
Read Views | 583
Undo Log Entries | 71 transactions, 247 total undo, 46 max undo
Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 1xACTIVE, 70xACTIVE (PREPARED)
Tables Locked
62 `citydb`.`player_buildings`
46 `citydb`.`players`
22 `citydb`.`city_grid`
17 `citydb`.`player_stats`
6 `citydb`.`player_contracts`
1 `citydb`.`player_achievements`
Semaphore Waits
23 trx/trx0undo.c line 1796
10 trx/trx0trx.c line 1888
8 trx/trx0trx.c line 1033
7 trx/trx0trx.c line 738
1 lock/lock0lock.c line 3770
1 ./include/log0log.ic line 322
Mutexes/Locks Waited For
33 Mutex at 0x2abf68b76a18 '&rseg->mutex'
16 Mutex at 0x48ace40 '&kernel_mutex'
1 Mutex at 0x2abf68b6c0d0 '&log_sys->mutex'
EOF
format_innodb_status $samples/innodb-status.002.txt > $TMPDIR/got
no_diff $TMPDIR/got $TMPDIR/expected "innodb-status.002.txt"
cat <<'EOF' > $TMPDIR/expected
Checkpoint Age | 0
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 35 Seconds
History List Len | 11
Read Views | 1
Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 1xACTIVE, 1xnot started
Tables Locked
1 `test`.`t`
EOF
format_innodb_status $samples/innodb-status.003.txt > $TMPDIR/got
no_diff $TMPDIR/got $TMPDIR/expected "innodb-status.003.txt"
cat <<'EOF' > $TMPDIR/expected
Checkpoint Age | 93M
InnoDB Queue | 9 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 263 Seconds
History List Len | 1282
Read Views | 10
Undo Log Entries | 3 transactions, 276797 total undo, 153341 max undo
Pending I/O Reads | 50 buf pool reads, 48 normal AIO, 0 ibuf AIO, 2 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 9xACTIVE, 57xnot started
Semaphore Waits
3 row/row0sel.c line 3495
2 btr/btr0sea.c line 1024
1 btr/btr0sea.c line 1170
1 btr/btr0cur.c line 443
1 btr/btr0cur.c line 1501
Semaphore Holders
7 thread id 1220999488
1 thread id 1229429056
Mutexes/Locks Waited For
7 lock on RW-latch at 0x2aaab42120b8 created in file btr/btr0sea.c line 139
1 lock on RW-latch at 0x2ab2c679a550 created in file buf/buf0buf.c line 550
EOF
format_innodb_status $samples/innodb-status.004.txt > $TMPDIR/got
no_diff $TMPDIR/got $TMPDIR/expected "innodb-status.004.txt"
# ###########################################################################
# section_innodb
# ###########################################################################
test_format_innodb () {
local NAME_VAL_LEN=25
cat <<EOF > $TMPDIR/expected
Version | 1.0.17-13.2
Buffer Pool Size | 128.0M
Buffer Pool Fill | 1%
Buffer Pool Dirty | 0%
File Per Table | OFF
Page Size | 16k
Log File Size | 2 * 1.5G = 2.9G
Log Buffer Size | 8M
Flush Method |
Flush Log At Commit | 1
XA Support | ON
Checksums | ON
Doublewrite | ON
R/W I/O Threads | 4 4
I/O Capacity | 200
Thread Concurrency | 0
Concurrency Tickets | 500
Commit Concurrency | 0
Txn Isolation Level | REPEATABLE-READ
Adaptive Flushing | OFF
Adaptive Checkpoint | estimate
EOF
section_innodb "$samples/temp001/mysql-variables" "$samples/temp001/mysql-status" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "Format InnoDB"
}
test_format_innodb
# ###########################################################################
# format_innodb_filters
# ###########################################################################
test_format_innodb_filters () {
local NAME_VAL_LEN=20
cat <<EOF > $TMPDIR/expected
binlog_do_db | foo
binlog_ignore_db | mysql,test
EOF
format_binlog_filters "$samples/mysql-show-master-status-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "Format InnoDB filters"
}
test_format_innodb_filters
# ###########################################################################
# report_mysql_summary
# ###########################################################################
OPT_SLEEP=1
OPT_DATABASES=""
OPT_READ_SAMPLES=""
NAME_VAL_LEN=25
report_mysql_summary "$samples/tempdir" | tail -n+3 > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$samples/expected_result_report_summary.txt"
_NO_FALSE_NEGATIVES=""
OPT_SLEEP=10
report_mysql_summary "$samples/temp002" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp002.txt" \
"report_mysql_summary, dir: temp002"
report_mysql_summary "$samples/temp003" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp003.txt" \
"report_mysql_summary, dir: temp003"
report_mysql_summary "$samples/temp004" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp004.txt" \
"report_mysql_summary, dir: temp004"
# ###########################################################################
# Done
# ###########################################################################