polardbxengine/mysql-test/suite/x/t/performance_schema_memory.test

114 lines
5.6 KiB
Plaintext

## Tests detecting presence of xplugin objects in PERFORMANCE_SCHEMA memory related tables.
## Preamble
--source ../include/have_performance_schema_threads.inc
--source include/xplugin_preamble.inc
--source include/xplugin_create_user.inc
# Tests
--write_file $MYSQL_TMP_DIR/performance_schema_memory.tmp
-->quiet
-->echo See for existence of required events in the tables
-->macro Read_status_values %TABLE% %EVENT% %VAR_SET_NO%
-->sql
SET
@MY_COUNT_ALLOC%VAR_SET_NO% = (SELECT SUM(COUNT_ALLOC) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_COUNT_FREE%VAR_SET_NO% = (SELECT SUM(COUNT_FREE) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_SUM_NUMBER_OF_BYTES_ALLOC%VAR_SET_NO% = (SELECT SUM(SUM_NUMBER_OF_BYTES_ALLOC) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_SUM_NUMBER_OF_BYTES_FREE%VAR_SET_NO% = (SELECT SUM(SUM_NUMBER_OF_BYTES_FREE) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_LOW_COUNT_USED%VAR_SET_NO% = (SELECT SUM(LOW_COUNT_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_CURRENT_COUNT_USED%VAR_SET_NO% = (SELECT SUM(CURRENT_COUNT_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_HIGH_COUNT_USED%VAR_SET_NO% = (SELECT SUM(HIGH_COUNT_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_LOW_NUMBER_OF_BYTES_USED%VAR_SET_NO% = (SELECT SUM(LOW_NUMBER_OF_BYTES_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_CURRENT_NUMBER_OF_BYTES_USED%VAR_SET_NO% = (SELECT SUM(CURRENT_NUMBER_OF_BYTES_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%'),
@MY_HIGH_NUMBER_OF_BYTES_USED%VAR_SET_NO% = (SELECT SUM(HIGH_NUMBER_OF_BYTES_USED) FROM performance_schema.%TABLE% where EVENT_NAME = 'memory/mysqlx/%EVENT%');
-->endsql
-->endmacro
-->sql
select distinct event_name from performance_schema.memory_summary_global_by_event_name where event_name like '%mysqlx%' order by event_name;
-->endsql
-->echo memory_summary_global_by_event_name 'memory/mysqlx/objects'
-->sql
TRUNCATE TABLE performance_schema.memory_summary_global_by_event_name;
-->endsql
-->callmacro Read_status_values memory_summary_global_by_event_name objects 1
-->sql
SELECT IF(@MY_COUNT_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_HIGH_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_COUNT_ALLOC1 >= @MY_COUNT_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 >= @MY_SUM_NUMBER_OF_BYTES_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 <= @MY_HIGH_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 >= @MY_LOW_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
-->endsql
-->echo second query, more allocations and memory used expected
-->callmacro Read_status_values memory_summary_global_by_event_name objects 2
-->sql
SELECT IF(@MY_COUNT_ALLOC2 >= @MY_COUNT_FREE2, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC2 >= @MY_SUM_NUMBER_OF_BYTES_FREE2, "SUCCESS", "ERROR");
SELECT IF(@MY_COUNT_ALLOC2 >= @MY_COUNT_ALLOC1, "SUCCESS", "ERROR");
SELECT IF(@MY_COUNT_FREE2 >= @MY_COUNT_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC2 >= @MY_SUM_NUMBER_OF_BYTES_ALLOC1, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_FREE2 >= @MY_SUM_NUMBER_OF_BYTES_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_HIGH_NUMBER_OF_BYTES_USED2 >= @MY_HIGH_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
-->endsql
-->echo memory_summary_global_by_event_name 'memory/mysqlx/recv_buffer'
-->sql
TRUNCATE TABLE performance_schema.memory_summary_global_by_event_name;
-->endsql
-->callmacro Read_status_values memory_summary_global_by_event_name recv_buffer 1
-->sql
SELECT IF(@MY_COUNT_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_HIGH_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_COUNT_ALLOC1 >= @MY_COUNT_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 >= @MY_SUM_NUMBER_OF_BYTES_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 <= @MY_HIGH_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 >= @MY_LOW_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
-->endsql
-->echo memory_summary_global_by_event_name 'memory/mysqlx/send_buffer'
-->sql
TRUNCATE TABLE performance_schema.memory_summary_global_by_event_name;
-->endsql
-->callmacro Read_status_values memory_summary_global_by_event_name send_buffer 1
-->sql
SELECT IF(@MY_COUNT_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_HIGH_NUMBER_OF_BYTES_USED1 > 0, "SUCCESS", "ERROR");
SELECT IF(@MY_COUNT_ALLOC1 >= @MY_COUNT_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_SUM_NUMBER_OF_BYTES_ALLOC1 >= @MY_SUM_NUMBER_OF_BYTES_FREE1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 <= @MY_HIGH_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
SELECT IF(@MY_CURRENT_NUMBER_OF_BYTES_USED1 >= @MY_LOW_NUMBER_OF_BYTES_USED1, "SUCCESS", "ERROR");
-->endsql
EOF
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/performance_schema_memory.tmp 2>&1
## Cleanup
--remove_file $MYSQL_TMP_DIR/performance_schema_memory.tmp
--source include/xplugin_drop_user.inc