polardbxengine/mysql-test/suite/perfschema/t/histograms.test

344 lines
9.7 KiB
Plaintext

# --------------------------------------------
# Tests for the performance schema histograms.
# --------------------------------------------
# Returns different results on 32bit release build
--source include/have_64bit.inc
--source include/no_protocol.inc
# Setup
connect(mon, localhost, root,,);
update performance_schema.threads
set INSTRUMENTED='NO'
where PROCESSLIST_ID = connection_id();
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
TRUNCATE TABLE performance_schema.events_statements_histogram_by_digest;
TRUNCATE TABLE performance_schema.events_statements_histogram_global;
#
# Check basic table structure
#
# empty
select count(*) from performance_schema.events_statements_summary_by_digest;
select count(*) from performance_schema.events_statements_histogram_by_digest;
# 450 rows
select count(*) from performance_schema.events_statements_histogram_global;
# empty
select * from performance_schema.events_statements_histogram_global
where COUNT_BUCKET > 0;
select BUCKET_NUMBER, BUCKET_TIMER_LOW, BUCKET_TIMER_HIGH
from performance_schema.events_statements_histogram_global
where BUCKET_NUMBER <= 10
order by BUCKET_NUMBER;
select BUCKET_NUMBER, BUCKET_TIMER_LOW, BUCKET_TIMER_HIGH
from performance_schema.events_statements_histogram_global
where BUCKET_NUMBER >= 440
order by BUCKET_NUMBER;
select min(BUCKET_TIMER_HIGH/BUCKET_TIMER_LOW),
max(BUCKET_TIMER_HIGH/BUCKET_TIMER_LOW)
from performance_schema.events_statements_histogram_global
where (BUCKET_NUMBER > 0) and (BUCKET_NUMBER < 449);
--connection default
select "A 1st statement" as marker_one;
--connection mon
# 450
select count(*)
from performance_schema.events_statements_histogram_by_digest;
# 1 statement so far
select count(*)
from performance_schema.events_statements_histogram_by_digest
where COUNT_BUCKET > 0;
select DIGEST
from performance_schema.events_statements_summary_by_digest
where DIGEST_TEXT like "%marker_one%"
into @digest_one;
select count(*)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select BUCKET_NUMBER, BUCKET_TIMER_LOW, BUCKET_TIMER_HIGH
from performance_schema.events_statements_histogram_by_digest
where (BUCKET_NUMBER <= 10)
and (DIGEST = @digest_one)
order by BUCKET_NUMBER;
select BUCKET_NUMBER, BUCKET_TIMER_LOW, BUCKET_TIMER_HIGH
from performance_schema.events_statements_histogram_by_digest
where (BUCKET_NUMBER >= 440)
and (DIGEST = @digest_one)
order by BUCKET_NUMBER;
select min(BUCKET_TIMER_HIGH/BUCKET_TIMER_LOW),
max(BUCKET_TIMER_HIGH/BUCKET_TIMER_LOW)
from performance_schema.events_statements_histogram_by_digest
where (BUCKET_NUMBER > 0) and (BUCKET_NUMBER < 449)
and (DIGEST = @digest_one);
# Only 1 statement counted so far
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--connection default
select "A 1st statement, again" as marker_one;
--connection mon
# 2 executions
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--connection default
select "A 1st statement, again and again" as marker_one;
--connection mon
# 3 executions
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--connection default
select "A 2nd statement" as marker_two;
--connection mon
select DIGEST
from performance_schema.events_statements_summary_by_digest
where DIGEST_TEXT like "%marker_two%"
into @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--connection default
select "A 2nd statement, again" as marker_two;
--connection mon
select sum(COUNT_BUCKET), max(COUNT_BUCKET_AND_LOWER)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET), max(COUNT_BUCKET_AND_LOWER)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where (DIGEST = @digest_one)
into @sum_digest_one;
select min(BUCKET_TIMER_LOW)
from performance_schema.events_statements_histogram_by_digest
where (DIGEST = @digest_one)
and (COUNT_BUCKET > 0)
into @min_digest_one;
select BUCKET_TIMER_HIGH
from performance_schema.events_statements_histogram_by_digest
where (DIGEST = @digest_one)
and (COUNT_BUCKET_AND_LOWER = @sum_digest_one)
order by BUCKET_NUMBER
limit 1
into @max_digest_one;
select DIGEST_TEXT,
"Check quantile relative values" as check_title,
(0 <= QUANTILE_95) as check_1,
(QUANTILE_95 <= QUANTILE_99) as check_2,
(QUANTILE_99 <= QUANTILE_999) as check_3
from performance_schema.events_statements_summary_by_digest;
select
DIGEST_TEXT,
"Check quantile values within bounds" as check_title,
(0 <= @min_digest_one) as check_1,
(@min_digest_one <= QUANTILE_95) as check_2,
(QUANTILE_999 <= @max_digest_one) as check_3
from performance_schema.events_statements_summary_by_digest
where DIGEST = @digest_one;
#
# Truncate
#
# TRUNCATE on events_statements_histogram_by_digest
# - reset stats on events_statements_histogram_by_digest
# - has no effect on events_statements_histogram_global
# - has no effect on events_statements_summary_by_digest
truncate table performance_schema.events_statements_histogram_by_digest;
select count(*)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select count(*)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
select DIGEST_TEXT, COUNT_STAR
from performance_schema.events_statements_summary_by_digest;
--connection default
select "A 2nd statement, again" as marker_two;
--connection mon
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
# TRUNCATE on events_statements_histogram_global
# -reset stats on events_statements_histogram_global
# - has no effect on events_statements_histogram_by_digest
# - has no effect on events_statements_summary_by_digest;
truncate table performance_schema.events_statements_histogram_global;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
select DIGEST_TEXT, COUNT_STAR
from performance_schema.events_statements_summary_by_digest;
--connection default
select "A 1st statement, again" as marker_one;
--connection mon
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
# TRUNCATE on performance_schema.events_statements_summary_by_digest
# - reset performance_schema.events_statements_histogram_by_digest
# - has no effect on performance_schema.events_statements_histogram_global
truncate table performance_schema.events_statements_summary_by_digest;
select count(*)
from performance_schema.events_statements_histogram_by_digest;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--connection default
select "A 1st statement, another time" as marker_one;
--connection mon
select count(*)
from performance_schema.events_statements_histogram_by_digest;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select count(*)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
# TRUNCATE on # performance_schema.events_statements_summary_global_by_event_name
# - xxx on performance_schema.events_statements_histogram_by_digest
# - xxx on performance_schema.events_statements_histogram_global
truncate table performance_schema.events_statements_summary_global_by_event_name;
select count(*)
from performance_schema.events_statements_histogram_by_digest;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_one;
select count(*)
from performance_schema.events_statements_histogram_by_digest
where DIGEST = @digest_two;
select sum(COUNT_BUCKET)
from performance_schema.events_statements_histogram_global;
--disconnect mon
--source include/wait_until_disconnected.inc