summaryrefslogtreecommitdiff
path: root/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/perfschema/include/memory_aggregate_load.inc')
-rw-r--r--mysql-test/suite/perfschema/include/memory_aggregate_load.inc506
1 files changed, 506 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_load.inc b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
new file mode 100644
index 00000000000..7a54d25216e
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc
@@ -0,0 +1,506 @@
+# Tests for the performance schema
+
+# ========================================
+# HELPER include/memory_aggregate_load.inc
+# ========================================
+
+echo "================== Step 1 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+# Notes about this test
+#
+# get_lock("marker") causes the following memory allocation:
+# memory/sql/User_level_lock, 1 malloc, size 16 (size 8 for 32-bit systems).
+# release_lock("marker") causes the following memory free:
+# memory/sql/User_level_lock, 1 free, size 16 (size 8 for 32-bit systems).
+#
+# To avoid noise from main, the background threads are disabled.
+
+connect (con1, localhost, user1, , );
+
+echo "================== con1 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
+--source include/wait_condition.inc
+
+echo "================== Step 2 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con1
+
+set GLOBAL query_cache_size=1000*1024;
+select get_lock("marker_1", 10);
+select release_lock("marker_1");
+set @v1 = repeat("a", 1000);
+set @v2 = repeat("b", 2000);
+set @v3 = repeat("c", 4000);
+
+echo "================== con1 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 3 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+# Debugging helpers
+# select * from performance_schema.events_waits_history_long;
+# select PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from performance_schema.threads;
+
+connect (con2, localhost, user2, , );
+
+echo "================== con2 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2';
+--source include/wait_condition.inc
+
+echo "================== Step 4 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con2
+
+set GLOBAL query_cache_size=2000*1024;
+select get_lock("marker_2", 10);
+select release_lock("marker_2");
+set @v1 = repeat("a", 1000);
+set @v2 = repeat("b", 2000);
+set @v3 = repeat("c", 4000);
+
+echo "================== con2 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 5 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate table performance_schema.memory_summary_by_thread_by_event_name;
+
+echo "================== MEMORY_BY_THREAD truncated ==================";
+
+echo "================== Step 5b ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+connect (con3, localhost, user3, , );
+
+echo "================== con3 connected ==================";
+
+--connection default
+
+# Wait for the connect to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3';
+--source include/wait_condition.inc
+
+echo "================== Step 6 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con3
+
+set GLOBAL query_cache_size=500*1024;
+select get_lock("marker_3", 10);
+select release_lock("marker_3");
+set @v1 = repeat("a", 1000);
+set @v2 = repeat("b", 2000);
+set @v3 = repeat("c", 4000);
+
+echo "================== con3 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 3 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 7 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+connect (con4, localhost, user4, , );
+connect (con5, localhost, user4, , );
+
+echo "================== con4/con5 (both user4) connected ==================";
+
+--connection default
+
+# Wait for the connects to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== Step 8 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection con4
+
+set GLOBAL query_cache_size=4000*1024;
+select get_lock("marker_4", 10);
+select release_lock("marker_4");
+set @v1 = repeat("a", 1000);
+set @v2 = repeat("b", 2000);
+set @v3 = repeat("c", 4000);
+
+--connection con5
+select get_lock("marker_5", 10);
+select release_lock("marker_5");
+set @v1 = repeat("a", 1000);
+set @v2 = repeat("b", 2000);
+set @v3 = repeat("c", 4000);
+
+echo "================== con4/con5 marker ==================";
+
+--connection default
+
+# Wait for the payload to complete
+let $wait_condition=
+ select count(*) = 5 from performance_schema.events_waits_current
+ where EVENT_NAME= 'idle';
+--source include/wait_condition.inc
+
+echo "================== Step 9 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con1
+--disconnect con5
+
+--connection default
+
+# Wait for the disconnects to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1';
+--source include/wait_condition.inc
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== con1/con5 disconnected ==================";
+
+echo "================== Step 10 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2';
+--source include/wait_condition.inc
+
+echo "================== con2 disconnected ==================";
+
+echo "================== Step 11 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con3
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3';
+--source include/wait_condition.inc
+
+echo "================== con3 disconnected ==================";
+
+echo "================== Step 12 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--disconnect con4
+
+--connection default
+
+# Wait for the disconnect to complete
+let $wait_condition=
+ select count(*) = 0 from performance_schema.threads
+ where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4';
+--source include/wait_condition.inc
+
+echo "================== con4 disconnected ==================";
+
+echo "================== Step 13 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+--connection default
+
+truncate performance_schema.memory_summary_by_thread_by_event_name;
+
+echo "================== MEMORY_BY_THREAD truncated ==================";
+
+echo "================== Step 14 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.memory_summary_by_account_by_event_name;
+
+echo "================== MEMORY_BY_ACCOUNT truncated ==================";
+
+echo "================== Step 15 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.memory_summary_by_user_by_event_name;
+
+echo "================== MEMORY_BY_USER truncated ==================";
+
+echo "================== Step 16 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.memory_summary_by_host_by_event_name;
+
+echo "================== MEMORY_BY_HOST truncated ==================";
+
+echo "================== Step 17 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.memory_summary_global_by_event_name;
+
+echo "================== MEMORY_GLOBAL truncated ==================";
+
+echo "================== Step 18 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.accounts;
+
+echo "================== ACCOUNTS truncated ==================";
+
+echo "================== Step 19 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.users;
+
+echo "================== USERS truncated ==================";
+
+echo "================== Step 20 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+
+truncate performance_schema.hosts;
+
+echo "================== HOSTS truncated ==================";
+
+echo "================== Step 21 ==================";
+--vertical_results
+call dump_thread();
+execute dump_memory_account;
+execute dump_memory_user;
+execute dump_memory_host;
+execute dump_memory_global;
+--horizontal_results
+execute dump_accounts;
+execute dump_users;
+execute dump_hosts;
+