drop table if exists t0, t1;
select * from performance_schema.setup_instruments where name like '%show_explain%';
NAME	ENABLED	TIMED
wait/synch/cond/sql/show_explain	YES	YES
stage/sql/show explain	YES	YES
statement/sql/show_explain	YES	YES
# We've got no instances
select * from performance_schema.cond_instances where name like '%show_explain%';
NAME	OBJECT_INSTANCE_BEGIN
# Check out if our cond is hit.
create table t0 (a int);
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
set @show_explain_probe_select_id=1;
set debug_dbug='d,show_explain_probe_join_exec_start';
select count(*) from t0 where a < 100000;
show explain for $thr2;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t0	ALL	NULL	NULL	NULL	NULL	10	Using where
Warnings:
Note	1003	select count(*) from t0 where a < 100000
count(*)
10
set debug_dbug='';
select event_name
from performance_schema.events_waits_history_long 
where event_name='wait/synch/cond/sql/show_explain';
event_name
wait/synch/cond/sql/show_explain
drop table t0;
