summaryrefslogtreecommitdiff
path: root/mysql-test/suite/perfschema/t/setup_instruments_defaults.test
blob: e1f61404d12f60d82066bb760a562945f8297bc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Tests for PERFORMANCE_SCHEMA

--source include/not_embedded.inc
--source include/have_perfschema.inc

# Verify that the configuration options were applied correctly to the
# performance_schema.setup_instruments table. These instruments that are known to persist across
# platforms and the various compile options.

--echo #
--echo # Verify that the configuration file defaults were processed correctly
--echo #

SELECT * FROM performance_schema.setup_instruments
WHERE name IN (
  'wait/synch/mutex/sql/LOCK_user_conn',
  'wait/synch/mutex/sql/LOCK_uuid_generator',
  'wait/synch/mutex/sql/LOCK_xid_cache',
  'stage/sql/creating table')
AND enabled = 'yes' AND timed = 'no'
ORDER BY name;

SELECT * FROM performance_schema.setup_instruments
WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
AND enabled = 'no' AND timed = 'no';

SELECT * FROM performance_schema.setup_instruments
WHERE name IN (
  'wait/synch/mutex/sql/LOG_INFO::lock',
  'wait/synch/mutex/sql/THD::LOCK_thd_data')
AND enabled = 'yes' AND timed = 'yes'
ORDER BY name;

SELECT * FROM performance_schema.setup_instruments
WHERE name = 'wait/synch/mutex/sql/hash_filo::lock'
AND enabled = 'no' AND timed = 'no'
ORDER BY name;

--echo #
--echo # Verify that the instrument startup settings are not not visible.
--echo #
SHOW VARIABLES LIKE "%/wait/synch/mutex%";

--echo #
--echo # Verify command line options are processed correctly
--echo #

# The instrument wait/io/table/sql/handler should be enabled and timed. We will
# restart the server with the instrument disabled from the command line.
--echo #
--echo # Verify that wait/io/table/sql/handler is enabled and timed
--echo #
SELECT * FROM performance_schema.setup_instruments
WHERE name like "%wait/io/table/sql/handler%";

# Write file to make mysql-test-run.pl wait for the server to stop
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect

# Restart the server
--echo #
--echo # Stop server
--send_shutdown
--source include/wait_until_disconnected.inc

--echo # Restart server with wait/io/table/sql/handler disabled

--exec echo "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect

# Turn on reconnect
--echo # Enable reconnect
--enable_reconnect

# Wait for server to be back online again
--echo # Wait until connected again
--source include/wait_until_connected_again.inc

# Turn off reconnect again
--echo # Disable reconnect
--disable_reconnect

--echo #
--echo # Verify that wait/io/table is disabled
--echo #
SELECT * FROM performance_schema.setup_instruments
WHERE name like "%wait/io/table/sql/handler%";