344 lines
9.7 KiB
Plaintext
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
|
|
|
|
|