1 # name : response-time-distribution.patch
6 # Any small change to this file in the main branch
7 # should be done or reviewed by the maintainer!
11 OPTION (WITH_UNIT_TESTS "Compile MySQL with unit tests" ON)
12 MARK_AS_ADVANCED(CYBOZU BACKUP_TEST WITHOUT_SERVER DISABLE_SHARED)
15 +OPTION(WITHOUT_RESPONSE_TIME_DISTRIBUTION "If we want to have response_time_distribution" OFF)
16 +IF(WITHOUT_RESPONSE_TIME_DISTRIBUTION)
18 +ADD_DEFINITIONS(-DHAVE_RESPONSE_TIME_DISTRIBUTION)
21 OPTION(ENABLE_DEBUG_SYNC "Enable debug sync (debug builds only)" ON)
23 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC")
24 --- a/include/mysql_com.h
25 +++ b/include/mysql_com.h
27 #define REFRESH_FAST 32768 /* Intern flag */
29 /* RESET (remove all queries) from query cache */
30 -#define REFRESH_QUERY_CACHE 65536
31 -#define REFRESH_QUERY_CACHE_FREE 0x20000L /* pack query cache */
32 -#define REFRESH_DES_KEY_FILE 0x40000L
33 -#define REFRESH_USER_RESOURCES 0x80000L
34 +#define REFRESH_QUERY_CACHE 65536
35 +#define REFRESH_QUERY_CACHE_FREE 0x20000L /* pack query cache */
36 +#define REFRESH_DES_KEY_FILE 0x40000L
37 +#define REFRESH_USER_RESOURCES 0x80000L
38 +#define REFRESH_QUERY_RESPONSE_TIME 0x100000L /* response time distibution */
40 #define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
41 #define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
43 +++ b/mysql-test/include/have_response_time_distribution.inc
45 +-- require r/have_response_time_distribution.require
47 +show variables like 'have_response_time_distribution';
50 +++ b/mysql-test/include/query_response_time.inc
52 +SET SESSION query_exec_time=0.1;
54 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
55 +EVAL SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base;
56 +FLUSH QUERY_RESPONSE_TIME;
57 +# Following two queries check works of FLUSH and
58 +# respecting of "QUERY_RESPONSE_TIME_STATS" variable (see launchpad bug #855312)
59 +SHOW QUERY_RESPONSE_TIME;
60 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
61 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
63 +SET SESSION query_exec_time=0.31; SELECT 1;
64 +SET SESSION query_exec_time=0.32; SELECT 1;
65 +SET SESSION query_exec_time=0.33; SELECT 1;
66 +SET SESSION query_exec_time=0.34; SELECT 1;
67 +SET SESSION query_exec_time=0.35; SELECT 1;
68 +SET SESSION query_exec_time=0.36; SELECT 1;
69 +SET SESSION query_exec_time=0.37; SELECT 1;
70 +SET SESSION query_exec_time=0.38; SELECT 1;
71 +SET SESSION query_exec_time=0.39; SELECT 1;
72 +SET SESSION query_exec_time=0.4; SELECT 1;
73 +SET SESSION query_exec_time=1.1; SELECT 1;
74 +SET SESSION query_exec_time=1.2; SELECT 1;
75 +SET SESSION query_exec_time=1.3; SELECT 1;
76 +SET SESSION query_exec_time=1.5; SELECT 1;
77 +SET SESSION query_exec_time=1.4; SELECT 1;
78 +SET SESSION query_exec_time=0.5; SELECT 1;
79 +SET SESSION query_exec_time=2.1; SELECT 1;
80 +SET SESSION query_exec_time=2.3; SELECT 1;
81 +SET SESSION query_exec_time=2.5; SELECT 1;
82 +SET SESSION query_exec_time=3.1; SELECT 1;
83 +SET SESSION query_exec_time=4.1; SELECT 1;
84 +SET SESSION query_exec_time=5.1; SELECT 1;
86 +SET SESSION query_exec_time=0.1;
88 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
90 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
91 +SHOW QUERY_RESPONSE_TIME;
92 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
94 +SET SESSION query_exec_time=default;
96 +++ b/mysql-test/include/query_response_time-replication.inc
100 +CREATE TABLE t(id INT);
103 +SET GLOBAL query_exec_time = 0.1;
104 +--source include/restart_slave_sql.inc
108 +SET SESSION query_exec_time=0.1;
110 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
111 +--eval SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base
112 +FLUSH QUERY_RESPONSE_TIME;
113 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
117 +SET SESSION query_exec_time = 0.31; INSERT INTO t VALUES(1);
118 +SET SESSION query_exec_time = 0.32; INSERT INTO t VALUES(1);
119 +SET SESSION query_exec_time = 0.33; INSERT INTO t VALUES(1);
120 +SET SESSION query_exec_time = 0.34; INSERT INTO t VALUES(1);
121 +SET SESSION query_exec_time = 0.35; INSERT INTO t VALUES(1);
122 +SET SESSION query_exec_time = 0.36; INSERT INTO t VALUES(1);
123 +SET SESSION query_exec_time = 0.37; INSERT INTO t VALUES(1);
124 +SET SESSION query_exec_time = 0.38; INSERT INTO t VALUES(1);
125 +SET SESSION query_exec_time = 0.39; INSERT INTO t VALUES(1);
126 +SET SESSION query_exec_time = 0.4; INSERT INTO t VALUES(1);
127 +SET SESSION query_exec_time = 1.1; INSERT INTO t VALUES(1);
128 +SET SESSION query_exec_time = 1.2; INSERT INTO t VALUES(1);
129 +SET SESSION query_exec_time = 1.3; INSERT INTO t VALUES(1);
130 +SET SESSION query_exec_time = 1.5; INSERT INTO t VALUES(1);
131 +SET SESSION query_exec_time = 1.4; INSERT INTO t VALUES(1);
132 +SET SESSION query_exec_time = 0.5; INSERT INTO t VALUES(1);
133 +SET SESSION query_exec_time = 2.1; INSERT INTO t VALUES(1);
134 +SET SESSION query_exec_time = 2.3; INSERT INTO t VALUES(1);
135 +SET SESSION query_exec_time = 2.5; INSERT INTO t VALUES(1);
136 +SET SESSION query_exec_time = 3.1; INSERT INTO t VALUES(1);
137 +SET SESSION query_exec_time = 4.1; INSERT INTO t VALUES(1);
138 +SET SESSION query_exec_time = 5.1; INSERT INTO t VALUES(1);
140 +sync_slave_with_master;
143 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
144 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
145 +SHOW QUERY_RESPONSE_TIME;
146 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
148 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
149 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
154 +sync_slave_with_master;
156 +++ b/mysql-test/include/query_response_time-stored.inc
158 +SET SESSION query_exec_time=0.1;
160 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
161 +EVAL SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=$base;
162 +FLUSH QUERY_RESPONSE_TIME;
163 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
188 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
190 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
191 +SHOW QUERY_RESPONSE_TIME;
192 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
194 +SET SESSION query_exec_time=default;
196 +++ b/mysql-test/r/percona_query_response_time-replication.result
198 +SET GLOBAL query_exec_time=0.1;
199 +include/master-slave.inc
201 +CREATE TABLE t(id INT);
202 +SET GLOBAL query_exec_time = 0.1;
203 +include/restart_slave.inc
204 +SET SESSION query_exec_time=0.1;
205 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
206 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1;
208 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1'
209 +FLUSH QUERY_RESPONSE_TIME;
210 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
211 +SET SESSION query_exec_time = 0.31;
212 +INSERT INTO t VALUES(1);
213 +SET SESSION query_exec_time = 0.32;
214 +INSERT INTO t VALUES(1);
215 +SET SESSION query_exec_time = 0.33;
216 +INSERT INTO t VALUES(1);
217 +SET SESSION query_exec_time = 0.34;
218 +INSERT INTO t VALUES(1);
219 +SET SESSION query_exec_time = 0.35;
220 +INSERT INTO t VALUES(1);
221 +SET SESSION query_exec_time = 0.36;
222 +INSERT INTO t VALUES(1);
223 +SET SESSION query_exec_time = 0.37;
224 +INSERT INTO t VALUES(1);
225 +SET SESSION query_exec_time = 0.38;
226 +INSERT INTO t VALUES(1);
227 +SET SESSION query_exec_time = 0.39;
228 +INSERT INTO t VALUES(1);
229 +SET SESSION query_exec_time = 0.4;
230 +INSERT INTO t VALUES(1);
231 +SET SESSION query_exec_time = 1.1;
232 +INSERT INTO t VALUES(1);
233 +SET SESSION query_exec_time = 1.2;
234 +INSERT INTO t VALUES(1);
235 +SET SESSION query_exec_time = 1.3;
236 +INSERT INTO t VALUES(1);
237 +SET SESSION query_exec_time = 1.5;
238 +INSERT INTO t VALUES(1);
239 +SET SESSION query_exec_time = 1.4;
240 +INSERT INTO t VALUES(1);
241 +SET SESSION query_exec_time = 0.5;
242 +INSERT INTO t VALUES(1);
243 +SET SESSION query_exec_time = 2.1;
244 +INSERT INTO t VALUES(1);
245 +SET SESSION query_exec_time = 2.3;
246 +INSERT INTO t VALUES(1);
247 +SET SESSION query_exec_time = 2.5;
248 +INSERT INTO t VALUES(1);
249 +SET SESSION query_exec_time = 3.1;
250 +INSERT INTO t VALUES(1);
251 +SET SESSION query_exec_time = 4.1;
252 +INSERT INTO t VALUES(1);
253 +SET SESSION query_exec_time = 5.1;
254 +INSERT INTO t VALUES(1);
255 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
256 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
258 +query_response_time_range_base 2
259 +SHOW QUERY_RESPONSE_TIME;
261 + 0.000001 1 0.000000
262 + 0.000003 0 0.000000
263 + 0.000007 0 0.000000
264 + 0.000015 0 0.000000
265 + 0.000030 0 0.000000
266 + 0.000061 0 0.000000
267 + 0.000122 0 0.000000
268 + 0.000244 0 0.000000
269 + 0.000488 0 0.000000
270 + 0.000976 0 0.000000
271 + 0.001953 0 0.000000
272 + 0.003906 0 0.000000
273 + 0.007812 0 0.000000
274 + 0.015625 0 0.000000
275 + 0.031250 0 0.000000
276 + 0.062500 0 0.000000
277 + 0.125000 1 0.100000
278 + 0.250000 0 0.000000
279 + 0.500000 30 10.650000
280 + 1.000000 3 1.500000
281 + 2.000000 15 19.500000
282 + 4.000000 12 30.000000
283 + 8.000000 6 27.599997
284 + 16.000000 0 0.000000
285 + 32.000000 0 0.000000
286 + 64.000000 0 0.000000
287 + 128.000000 0 0.000000
288 + 256.000000 0 0.000000
289 + 512.000000 0 0.000000
290 + 1024.000000 0 0.000000
291 + 2048.000000 0 0.000000
292 + 4096.000000 0 0.000000
293 + 8192.000000 0 0.000000
294 + 16384.000000 0 0.000000
295 + 32768.000000 0 0.000000
296 + 65536.000000 0 0.000000
297 + 131072.000000 0 0.000000
298 + 262144.000000 0 0.000000
299 + 524288.000000 0 0.000000
300 +1048576.000000 0 0.000000
301 +2097152.000000 0 0.000000
302 +4194304.000000 0 0.000000
303 +8388608.000000 0 0.000000
305 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
307 + 0.000001 1 0.000000
308 + 0.000003 0 0.000000
309 + 0.000007 0 0.000000
310 + 0.000015 0 0.000000
311 + 0.000030 0 0.000000
312 + 0.000061 0 0.000000
313 + 0.000122 0 0.000000
314 + 0.000244 0 0.000000
315 + 0.000488 0 0.000000
316 + 0.000976 0 0.000000
317 + 0.001953 0 0.000000
318 + 0.003906 0 0.000000
319 + 0.007812 0 0.000000
320 + 0.015625 0 0.000000
321 + 0.031250 0 0.000000
322 + 0.062500 0 0.000000
323 + 0.125000 1 0.100000
324 + 0.250000 0 0.000000
325 + 0.500000 30 10.650000
326 + 1.000000 3 1.500000
327 + 2.000000 15 19.500000
328 + 4.000000 12 30.000000
329 + 8.000000 6 27.599997
330 + 16.000000 0 0.000000
331 + 32.000000 0 0.000000
332 + 64.000000 0 0.000000
333 + 128.000000 0 0.000000
334 + 256.000000 0 0.000000
335 + 512.000000 0 0.000000
336 + 1024.000000 0 0.000000
337 + 2048.000000 0 0.000000
338 + 4096.000000 0 0.000000
339 + 8192.000000 0 0.000000
340 + 16384.000000 0 0.000000
341 + 32768.000000 0 0.000000
342 + 65536.000000 0 0.000000
343 + 131072.000000 0 0.000000
344 + 262144.000000 0 0.000000
345 + 524288.000000 0 0.000000
346 +1048576.000000 0 0.000000
347 +2097152.000000 0 0.000000
348 +4194304.000000 0 0.000000
349 +8388608.000000 0 0.000000
351 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
352 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
354 +CREATE TABLE t(id INT);
355 +SET GLOBAL query_exec_time = 0.1;
356 +include/restart_slave.inc
357 +SET SESSION query_exec_time=0.1;
358 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
359 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=2;
360 +FLUSH QUERY_RESPONSE_TIME;
361 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
362 +SET SESSION query_exec_time = 0.31;
363 +INSERT INTO t VALUES(1);
364 +SET SESSION query_exec_time = 0.32;
365 +INSERT INTO t VALUES(1);
366 +SET SESSION query_exec_time = 0.33;
367 +INSERT INTO t VALUES(1);
368 +SET SESSION query_exec_time = 0.34;
369 +INSERT INTO t VALUES(1);
370 +SET SESSION query_exec_time = 0.35;
371 +INSERT INTO t VALUES(1);
372 +SET SESSION query_exec_time = 0.36;
373 +INSERT INTO t VALUES(1);
374 +SET SESSION query_exec_time = 0.37;
375 +INSERT INTO t VALUES(1);
376 +SET SESSION query_exec_time = 0.38;
377 +INSERT INTO t VALUES(1);
378 +SET SESSION query_exec_time = 0.39;
379 +INSERT INTO t VALUES(1);
380 +SET SESSION query_exec_time = 0.4;
381 +INSERT INTO t VALUES(1);
382 +SET SESSION query_exec_time = 1.1;
383 +INSERT INTO t VALUES(1);
384 +SET SESSION query_exec_time = 1.2;
385 +INSERT INTO t VALUES(1);
386 +SET SESSION query_exec_time = 1.3;
387 +INSERT INTO t VALUES(1);
388 +SET SESSION query_exec_time = 1.5;
389 +INSERT INTO t VALUES(1);
390 +SET SESSION query_exec_time = 1.4;
391 +INSERT INTO t VALUES(1);
392 +SET SESSION query_exec_time = 0.5;
393 +INSERT INTO t VALUES(1);
394 +SET SESSION query_exec_time = 2.1;
395 +INSERT INTO t VALUES(1);
396 +SET SESSION query_exec_time = 2.3;
397 +INSERT INTO t VALUES(1);
398 +SET SESSION query_exec_time = 2.5;
399 +INSERT INTO t VALUES(1);
400 +SET SESSION query_exec_time = 3.1;
401 +INSERT INTO t VALUES(1);
402 +SET SESSION query_exec_time = 4.1;
403 +INSERT INTO t VALUES(1);
404 +SET SESSION query_exec_time = 5.1;
405 +INSERT INTO t VALUES(1);
406 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
407 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
409 +query_response_time_range_base 2
410 +SHOW QUERY_RESPONSE_TIME;
412 + 0.000001 1 0.000000
413 + 0.000003 0 0.000000
414 + 0.000007 0 0.000000
415 + 0.000015 0 0.000000
416 + 0.000030 0 0.000000
417 + 0.000061 0 0.000000
418 + 0.000122 0 0.000000
419 + 0.000244 0 0.000000
420 + 0.000488 0 0.000000
421 + 0.000976 0 0.000000
422 + 0.001953 0 0.000000
423 + 0.003906 0 0.000000
424 + 0.007812 0 0.000000
425 + 0.015625 0 0.000000
426 + 0.031250 0 0.000000
427 + 0.062500 0 0.000000
428 + 0.125000 1 0.100000
429 + 0.250000 0 0.000000
430 + 0.500000 30 10.650000
431 + 1.000000 3 1.500000
432 + 2.000000 15 19.500000
433 + 4.000000 12 30.000000
434 + 8.000000 6 27.599997
435 + 16.000000 0 0.000000
436 + 32.000000 0 0.000000
437 + 64.000000 0 0.000000
438 + 128.000000 0 0.000000
439 + 256.000000 0 0.000000
440 + 512.000000 0 0.000000
441 + 1024.000000 0 0.000000
442 + 2048.000000 0 0.000000
443 + 4096.000000 0 0.000000
444 + 8192.000000 0 0.000000
445 + 16384.000000 0 0.000000
446 + 32768.000000 0 0.000000
447 + 65536.000000 0 0.000000
448 + 131072.000000 0 0.000000
449 + 262144.000000 0 0.000000
450 + 524288.000000 0 0.000000
451 +1048576.000000 0 0.000000
452 +2097152.000000 0 0.000000
453 +4194304.000000 0 0.000000
454 +8388608.000000 0 0.000000
456 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
458 + 0.000001 1 0.000000
459 + 0.000003 0 0.000000
460 + 0.000007 0 0.000000
461 + 0.000015 0 0.000000
462 + 0.000030 0 0.000000
463 + 0.000061 0 0.000000
464 + 0.000122 0 0.000000
465 + 0.000244 0 0.000000
466 + 0.000488 0 0.000000
467 + 0.000976 0 0.000000
468 + 0.001953 0 0.000000
469 + 0.003906 0 0.000000
470 + 0.007812 0 0.000000
471 + 0.015625 0 0.000000
472 + 0.031250 0 0.000000
473 + 0.062500 0 0.000000
474 + 0.125000 1 0.100000
475 + 0.250000 0 0.000000
476 + 0.500000 30 10.650000
477 + 1.000000 3 1.500000
478 + 2.000000 15 19.500000
479 + 4.000000 12 30.000000
480 + 8.000000 6 27.599997
481 + 16.000000 0 0.000000
482 + 32.000000 0 0.000000
483 + 64.000000 0 0.000000
484 + 128.000000 0 0.000000
485 + 256.000000 0 0.000000
486 + 512.000000 0 0.000000
487 + 1024.000000 0 0.000000
488 + 2048.000000 0 0.000000
489 + 4096.000000 0 0.000000
490 + 8192.000000 0 0.000000
491 + 16384.000000 0 0.000000
492 + 32768.000000 0 0.000000
493 + 65536.000000 0 0.000000
494 + 131072.000000 0 0.000000
495 + 262144.000000 0 0.000000
496 + 524288.000000 0 0.000000
497 +1048576.000000 0 0.000000
498 +2097152.000000 0 0.000000
499 +4194304.000000 0 0.000000
500 +8388608.000000 0 0.000000
502 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
503 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
505 +CREATE TABLE t(id INT);
506 +SET GLOBAL query_exec_time = 0.1;
507 +include/restart_slave.inc
508 +SET SESSION query_exec_time=0.1;
509 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
510 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=10;
511 +FLUSH QUERY_RESPONSE_TIME;
512 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
513 +SET SESSION query_exec_time = 0.31;
514 +INSERT INTO t VALUES(1);
515 +SET SESSION query_exec_time = 0.32;
516 +INSERT INTO t VALUES(1);
517 +SET SESSION query_exec_time = 0.33;
518 +INSERT INTO t VALUES(1);
519 +SET SESSION query_exec_time = 0.34;
520 +INSERT INTO t VALUES(1);
521 +SET SESSION query_exec_time = 0.35;
522 +INSERT INTO t VALUES(1);
523 +SET SESSION query_exec_time = 0.36;
524 +INSERT INTO t VALUES(1);
525 +SET SESSION query_exec_time = 0.37;
526 +INSERT INTO t VALUES(1);
527 +SET SESSION query_exec_time = 0.38;
528 +INSERT INTO t VALUES(1);
529 +SET SESSION query_exec_time = 0.39;
530 +INSERT INTO t VALUES(1);
531 +SET SESSION query_exec_time = 0.4;
532 +INSERT INTO t VALUES(1);
533 +SET SESSION query_exec_time = 1.1;
534 +INSERT INTO t VALUES(1);
535 +SET SESSION query_exec_time = 1.2;
536 +INSERT INTO t VALUES(1);
537 +SET SESSION query_exec_time = 1.3;
538 +INSERT INTO t VALUES(1);
539 +SET SESSION query_exec_time = 1.5;
540 +INSERT INTO t VALUES(1);
541 +SET SESSION query_exec_time = 1.4;
542 +INSERT INTO t VALUES(1);
543 +SET SESSION query_exec_time = 0.5;
544 +INSERT INTO t VALUES(1);
545 +SET SESSION query_exec_time = 2.1;
546 +INSERT INTO t VALUES(1);
547 +SET SESSION query_exec_time = 2.3;
548 +INSERT INTO t VALUES(1);
549 +SET SESSION query_exec_time = 2.5;
550 +INSERT INTO t VALUES(1);
551 +SET SESSION query_exec_time = 3.1;
552 +INSERT INTO t VALUES(1);
553 +SET SESSION query_exec_time = 4.1;
554 +INSERT INTO t VALUES(1);
555 +SET SESSION query_exec_time = 5.1;
556 +INSERT INTO t VALUES(1);
557 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
558 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
560 +query_response_time_range_base 10
561 +SHOW QUERY_RESPONSE_TIME;
563 + 0.000001 1 0.000000
564 + 0.000010 0 0.000000
565 + 0.000100 0 0.000000
566 + 0.001000 0 0.000000
567 + 0.010000 0 0.000000
568 + 0.100000 0 0.000000
569 + 1.000000 34 12.250000
570 + 10.000000 33 77.099997
571 + 100.000000 0 0.000000
572 + 1000.000000 0 0.000000
573 + 10000.000000 0 0.000000
574 + 100000.000000 0 0.000000
575 +1000000.000000 0 0.000000
577 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
579 + 0.000001 1 0.000000
580 + 0.000010 0 0.000000
581 + 0.000100 0 0.000000
582 + 0.001000 0 0.000000
583 + 0.010000 0 0.000000
584 + 0.100000 0 0.000000
585 + 1.000000 34 12.250000
586 + 10.000000 33 77.099997
587 + 100.000000 0 0.000000
588 + 1000.000000 0 0.000000
589 + 10000.000000 0 0.000000
590 + 100000.000000 0 0.000000
591 +1000000.000000 0 0.000000
593 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
594 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
596 +CREATE TABLE t(id INT);
597 +SET GLOBAL query_exec_time = 0.1;
598 +include/restart_slave.inc
599 +SET SESSION query_exec_time=0.1;
600 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
601 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=7;
602 +FLUSH QUERY_RESPONSE_TIME;
603 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
604 +SET SESSION query_exec_time = 0.31;
605 +INSERT INTO t VALUES(1);
606 +SET SESSION query_exec_time = 0.32;
607 +INSERT INTO t VALUES(1);
608 +SET SESSION query_exec_time = 0.33;
609 +INSERT INTO t VALUES(1);
610 +SET SESSION query_exec_time = 0.34;
611 +INSERT INTO t VALUES(1);
612 +SET SESSION query_exec_time = 0.35;
613 +INSERT INTO t VALUES(1);
614 +SET SESSION query_exec_time = 0.36;
615 +INSERT INTO t VALUES(1);
616 +SET SESSION query_exec_time = 0.37;
617 +INSERT INTO t VALUES(1);
618 +SET SESSION query_exec_time = 0.38;
619 +INSERT INTO t VALUES(1);
620 +SET SESSION query_exec_time = 0.39;
621 +INSERT INTO t VALUES(1);
622 +SET SESSION query_exec_time = 0.4;
623 +INSERT INTO t VALUES(1);
624 +SET SESSION query_exec_time = 1.1;
625 +INSERT INTO t VALUES(1);
626 +SET SESSION query_exec_time = 1.2;
627 +INSERT INTO t VALUES(1);
628 +SET SESSION query_exec_time = 1.3;
629 +INSERT INTO t VALUES(1);
630 +SET SESSION query_exec_time = 1.5;
631 +INSERT INTO t VALUES(1);
632 +SET SESSION query_exec_time = 1.4;
633 +INSERT INTO t VALUES(1);
634 +SET SESSION query_exec_time = 0.5;
635 +INSERT INTO t VALUES(1);
636 +SET SESSION query_exec_time = 2.1;
637 +INSERT INTO t VALUES(1);
638 +SET SESSION query_exec_time = 2.3;
639 +INSERT INTO t VALUES(1);
640 +SET SESSION query_exec_time = 2.5;
641 +INSERT INTO t VALUES(1);
642 +SET SESSION query_exec_time = 3.1;
643 +INSERT INTO t VALUES(1);
644 +SET SESSION query_exec_time = 4.1;
645 +INSERT INTO t VALUES(1);
646 +SET SESSION query_exec_time = 5.1;
647 +INSERT INTO t VALUES(1);
648 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
649 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
651 +query_response_time_range_base 7
652 +SHOW QUERY_RESPONSE_TIME;
654 + 0.000001 1 0.000000
655 + 0.000008 0 0.000000
656 + 0.000059 0 0.000000
657 + 0.000416 0 0.000000
658 + 0.002915 0 0.000000
659 + 0.020408 0 0.000000
660 + 0.142857 1 0.100000
661 + 1.000000 33 12.150000
662 + 7.000000 33 77.099997
663 + 49.000000 0 0.000000
664 + 343.000000 0 0.000000
665 + 2401.000000 0 0.000000
666 + 16807.000000 0 0.000000
667 + 117649.000000 0 0.000000
668 + 823543.000000 0 0.000000
669 +5764801.000000 0 0.000000
671 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
673 + 0.000001 1 0.000000
674 + 0.000008 0 0.000000
675 + 0.000059 0 0.000000
676 + 0.000416 0 0.000000
677 + 0.002915 0 0.000000
678 + 0.020408 0 0.000000
679 + 0.142857 1 0.100000
680 + 1.000000 33 12.150000
681 + 7.000000 33 77.099997
682 + 49.000000 0 0.000000
683 + 343.000000 0 0.000000
684 + 2401.000000 0 0.000000
685 + 16807.000000 0 0.000000
686 + 117649.000000 0 0.000000
687 + 823543.000000 0 0.000000
688 +5764801.000000 0 0.000000
690 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
691 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
693 +CREATE TABLE t(id INT);
694 +SET GLOBAL query_exec_time = 0.1;
695 +include/restart_slave.inc
696 +SET SESSION query_exec_time=0.1;
697 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
698 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=156;
699 +FLUSH QUERY_RESPONSE_TIME;
700 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
701 +SET SESSION query_exec_time = 0.31;
702 +INSERT INTO t VALUES(1);
703 +SET SESSION query_exec_time = 0.32;
704 +INSERT INTO t VALUES(1);
705 +SET SESSION query_exec_time = 0.33;
706 +INSERT INTO t VALUES(1);
707 +SET SESSION query_exec_time = 0.34;
708 +INSERT INTO t VALUES(1);
709 +SET SESSION query_exec_time = 0.35;
710 +INSERT INTO t VALUES(1);
711 +SET SESSION query_exec_time = 0.36;
712 +INSERT INTO t VALUES(1);
713 +SET SESSION query_exec_time = 0.37;
714 +INSERT INTO t VALUES(1);
715 +SET SESSION query_exec_time = 0.38;
716 +INSERT INTO t VALUES(1);
717 +SET SESSION query_exec_time = 0.39;
718 +INSERT INTO t VALUES(1);
719 +SET SESSION query_exec_time = 0.4;
720 +INSERT INTO t VALUES(1);
721 +SET SESSION query_exec_time = 1.1;
722 +INSERT INTO t VALUES(1);
723 +SET SESSION query_exec_time = 1.2;
724 +INSERT INTO t VALUES(1);
725 +SET SESSION query_exec_time = 1.3;
726 +INSERT INTO t VALUES(1);
727 +SET SESSION query_exec_time = 1.5;
728 +INSERT INTO t VALUES(1);
729 +SET SESSION query_exec_time = 1.4;
730 +INSERT INTO t VALUES(1);
731 +SET SESSION query_exec_time = 0.5;
732 +INSERT INTO t VALUES(1);
733 +SET SESSION query_exec_time = 2.1;
734 +INSERT INTO t VALUES(1);
735 +SET SESSION query_exec_time = 2.3;
736 +INSERT INTO t VALUES(1);
737 +SET SESSION query_exec_time = 2.5;
738 +INSERT INTO t VALUES(1);
739 +SET SESSION query_exec_time = 3.1;
740 +INSERT INTO t VALUES(1);
741 +SET SESSION query_exec_time = 4.1;
742 +INSERT INTO t VALUES(1);
743 +SET SESSION query_exec_time = 5.1;
744 +INSERT INTO t VALUES(1);
745 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
746 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
748 +query_response_time_range_base 156
749 +SHOW QUERY_RESPONSE_TIME;
751 + 0.000041 1 0.000000
752 + 0.006410 0 0.000000
753 + 1.000000 34 12.250000
754 + 156.000000 33 77.099997
755 + 24336.000000 0 0.000000
756 +3796416.000000 0 0.000000
758 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
760 + 0.000041 1 0.000000
761 + 0.006410 0 0.000000
762 + 1.000000 34 12.250000
763 + 156.000000 33 77.099997
764 + 24336.000000 0 0.000000
765 +3796416.000000 0 0.000000
767 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
768 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
770 +CREATE TABLE t(id INT);
771 +SET GLOBAL query_exec_time = 0.1;
772 +include/restart_slave.inc
773 +SET SESSION query_exec_time=0.1;
774 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
775 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1000;
776 +FLUSH QUERY_RESPONSE_TIME;
777 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
778 +SET SESSION query_exec_time = 0.31;
779 +INSERT INTO t VALUES(1);
780 +SET SESSION query_exec_time = 0.32;
781 +INSERT INTO t VALUES(1);
782 +SET SESSION query_exec_time = 0.33;
783 +INSERT INTO t VALUES(1);
784 +SET SESSION query_exec_time = 0.34;
785 +INSERT INTO t VALUES(1);
786 +SET SESSION query_exec_time = 0.35;
787 +INSERT INTO t VALUES(1);
788 +SET SESSION query_exec_time = 0.36;
789 +INSERT INTO t VALUES(1);
790 +SET SESSION query_exec_time = 0.37;
791 +INSERT INTO t VALUES(1);
792 +SET SESSION query_exec_time = 0.38;
793 +INSERT INTO t VALUES(1);
794 +SET SESSION query_exec_time = 0.39;
795 +INSERT INTO t VALUES(1);
796 +SET SESSION query_exec_time = 0.4;
797 +INSERT INTO t VALUES(1);
798 +SET SESSION query_exec_time = 1.1;
799 +INSERT INTO t VALUES(1);
800 +SET SESSION query_exec_time = 1.2;
801 +INSERT INTO t VALUES(1);
802 +SET SESSION query_exec_time = 1.3;
803 +INSERT INTO t VALUES(1);
804 +SET SESSION query_exec_time = 1.5;
805 +INSERT INTO t VALUES(1);
806 +SET SESSION query_exec_time = 1.4;
807 +INSERT INTO t VALUES(1);
808 +SET SESSION query_exec_time = 0.5;
809 +INSERT INTO t VALUES(1);
810 +SET SESSION query_exec_time = 2.1;
811 +INSERT INTO t VALUES(1);
812 +SET SESSION query_exec_time = 2.3;
813 +INSERT INTO t VALUES(1);
814 +SET SESSION query_exec_time = 2.5;
815 +INSERT INTO t VALUES(1);
816 +SET SESSION query_exec_time = 3.1;
817 +INSERT INTO t VALUES(1);
818 +SET SESSION query_exec_time = 4.1;
819 +INSERT INTO t VALUES(1);
820 +SET SESSION query_exec_time = 5.1;
821 +INSERT INTO t VALUES(1);
822 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
823 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
825 +query_response_time_range_base 1000
826 +SHOW QUERY_RESPONSE_TIME;
828 + 0.000001 1 0.000000
829 + 0.001000 0 0.000000
830 + 1.000000 34 12.250000
831 + 1000.000000 33 77.099997
832 +1000000.000000 0 0.000000
834 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
836 + 0.000001 1 0.000000
837 + 0.001000 0 0.000000
838 + 1.000000 34 12.250000
839 + 1000.000000 33 77.099997
840 +1000000.000000 0 0.000000
842 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
843 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
845 +CREATE TABLE t(id INT);
846 +SET GLOBAL query_exec_time = 0.1;
847 +include/restart_slave.inc
848 +SET SESSION query_exec_time=0.1;
849 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
850 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1001;
852 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1001'
853 +FLUSH QUERY_RESPONSE_TIME;
854 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
855 +SET SESSION query_exec_time = 0.31;
856 +INSERT INTO t VALUES(1);
857 +SET SESSION query_exec_time = 0.32;
858 +INSERT INTO t VALUES(1);
859 +SET SESSION query_exec_time = 0.33;
860 +INSERT INTO t VALUES(1);
861 +SET SESSION query_exec_time = 0.34;
862 +INSERT INTO t VALUES(1);
863 +SET SESSION query_exec_time = 0.35;
864 +INSERT INTO t VALUES(1);
865 +SET SESSION query_exec_time = 0.36;
866 +INSERT INTO t VALUES(1);
867 +SET SESSION query_exec_time = 0.37;
868 +INSERT INTO t VALUES(1);
869 +SET SESSION query_exec_time = 0.38;
870 +INSERT INTO t VALUES(1);
871 +SET SESSION query_exec_time = 0.39;
872 +INSERT INTO t VALUES(1);
873 +SET SESSION query_exec_time = 0.4;
874 +INSERT INTO t VALUES(1);
875 +SET SESSION query_exec_time = 1.1;
876 +INSERT INTO t VALUES(1);
877 +SET SESSION query_exec_time = 1.2;
878 +INSERT INTO t VALUES(1);
879 +SET SESSION query_exec_time = 1.3;
880 +INSERT INTO t VALUES(1);
881 +SET SESSION query_exec_time = 1.5;
882 +INSERT INTO t VALUES(1);
883 +SET SESSION query_exec_time = 1.4;
884 +INSERT INTO t VALUES(1);
885 +SET SESSION query_exec_time = 0.5;
886 +INSERT INTO t VALUES(1);
887 +SET SESSION query_exec_time = 2.1;
888 +INSERT INTO t VALUES(1);
889 +SET SESSION query_exec_time = 2.3;
890 +INSERT INTO t VALUES(1);
891 +SET SESSION query_exec_time = 2.5;
892 +INSERT INTO t VALUES(1);
893 +SET SESSION query_exec_time = 3.1;
894 +INSERT INTO t VALUES(1);
895 +SET SESSION query_exec_time = 4.1;
896 +INSERT INTO t VALUES(1);
897 +SET SESSION query_exec_time = 5.1;
898 +INSERT INTO t VALUES(1);
899 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
900 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
902 +query_response_time_range_base 1000
903 +SHOW QUERY_RESPONSE_TIME;
905 + 0.000001 1 0.000000
906 + 0.001000 0 0.000000
907 + 1.000000 34 12.250000
908 + 1000.000000 33 77.099997
909 +1000000.000000 0 0.000000
911 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
913 + 0.000001 1 0.000000
914 + 0.001000 0 0.000000
915 + 1.000000 34 12.250000
916 + 1000.000000 33 77.099997
917 +1000000.000000 0 0.000000
919 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
920 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
923 +SET GLOBAL query_exec_time=default;
924 +SET GLOBAL query_exec_time=default;
926 +++ b/mysql-test/r/percona_query_response_time.result
928 +SET SESSION query_exec_time=0.1;
929 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
930 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1;
932 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1'
933 +FLUSH QUERY_RESPONSE_TIME;
934 +SHOW QUERY_RESPONSE_TIME;
936 + 0.000001 0 0.000000
937 + 0.000003 0 0.000000
938 + 0.000007 0 0.000000
939 + 0.000015 0 0.000000
940 + 0.000030 0 0.000000
941 + 0.000061 0 0.000000
942 + 0.000122 0 0.000000
943 + 0.000244 0 0.000000
944 + 0.000488 0 0.000000
945 + 0.000976 0 0.000000
946 + 0.001953 0 0.000000
947 + 0.003906 0 0.000000
948 + 0.007812 0 0.000000
949 + 0.015625 0 0.000000
950 + 0.031250 0 0.000000
951 + 0.062500 0 0.000000
952 + 0.125000 0 0.000000
953 + 0.250000 0 0.000000
954 + 0.500000 0 0.000000
955 + 1.000000 0 0.000000
956 + 2.000000 0 0.000000
957 + 4.000000 0 0.000000
958 + 8.000000 0 0.000000
959 + 16.000000 0 0.000000
960 + 32.000000 0 0.000000
961 + 64.000000 0 0.000000
962 + 128.000000 0 0.000000
963 + 256.000000 0 0.000000
964 + 512.000000 0 0.000000
965 + 1024.000000 0 0.000000
966 + 2048.000000 0 0.000000
967 + 4096.000000 0 0.000000
968 + 8192.000000 0 0.000000
969 + 16384.000000 0 0.000000
970 + 32768.000000 0 0.000000
971 + 65536.000000 0 0.000000
972 + 131072.000000 0 0.000000
973 + 262144.000000 0 0.000000
974 + 524288.000000 0 0.000000
975 +1048576.000000 0 0.000000
976 +2097152.000000 0 0.000000
977 +4194304.000000 0 0.000000
978 +8388608.000000 0 0.000000
980 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
982 + 0.000001 0 0.000000
983 + 0.000003 0 0.000000
984 + 0.000007 0 0.000000
985 + 0.000015 0 0.000000
986 + 0.000030 0 0.000000
987 + 0.000061 0 0.000000
988 + 0.000122 0 0.000000
989 + 0.000244 0 0.000000
990 + 0.000488 0 0.000000
991 + 0.000976 0 0.000000
992 + 0.001953 0 0.000000
993 + 0.003906 0 0.000000
994 + 0.007812 0 0.000000
995 + 0.015625 0 0.000000
996 + 0.031250 0 0.000000
997 + 0.062500 0 0.000000
998 + 0.125000 0 0.000000
999 + 0.250000 0 0.000000
1000 + 0.500000 0 0.000000
1001 + 1.000000 0 0.000000
1002 + 2.000000 0 0.000000
1003 + 4.000000 0 0.000000
1004 + 8.000000 0 0.000000
1005 + 16.000000 0 0.000000
1006 + 32.000000 0 0.000000
1007 + 64.000000 0 0.000000
1008 + 128.000000 0 0.000000
1009 + 256.000000 0 0.000000
1010 + 512.000000 0 0.000000
1011 + 1024.000000 0 0.000000
1012 + 2048.000000 0 0.000000
1013 + 4096.000000 0 0.000000
1014 + 8192.000000 0 0.000000
1015 + 16384.000000 0 0.000000
1016 + 32768.000000 0 0.000000
1017 + 65536.000000 0 0.000000
1018 + 131072.000000 0 0.000000
1019 + 262144.000000 0 0.000000
1020 + 524288.000000 0 0.000000
1021 +1048576.000000 0 0.000000
1022 +2097152.000000 0 0.000000
1023 +4194304.000000 0 0.000000
1024 +8388608.000000 0 0.000000
1025 +TOO LONG 0 TOO LONG
1026 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1027 +SET SESSION query_exec_time=0.31;
1031 +SET SESSION query_exec_time=0.32;
1035 +SET SESSION query_exec_time=0.33;
1039 +SET SESSION query_exec_time=0.34;
1043 +SET SESSION query_exec_time=0.35;
1047 +SET SESSION query_exec_time=0.36;
1051 +SET SESSION query_exec_time=0.37;
1055 +SET SESSION query_exec_time=0.38;
1059 +SET SESSION query_exec_time=0.39;
1063 +SET SESSION query_exec_time=0.4;
1067 +SET SESSION query_exec_time=1.1;
1071 +SET SESSION query_exec_time=1.2;
1075 +SET SESSION query_exec_time=1.3;
1079 +SET SESSION query_exec_time=1.5;
1083 +SET SESSION query_exec_time=1.4;
1087 +SET SESSION query_exec_time=0.5;
1091 +SET SESSION query_exec_time=2.1;
1095 +SET SESSION query_exec_time=2.3;
1099 +SET SESSION query_exec_time=2.5;
1103 +SET SESSION query_exec_time=3.1;
1107 +SET SESSION query_exec_time=4.1;
1111 +SET SESSION query_exec_time=5.1;
1115 +SET SESSION query_exec_time=0.1;
1116 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1117 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
1118 +Variable_name Value
1119 +query_response_time_range_base 2
1120 +SHOW QUERY_RESPONSE_TIME;
1122 + 0.000001 24 0.000000
1123 + 0.000003 0 0.000000
1124 + 0.000007 0 0.000000
1125 + 0.000015 0 0.000000
1126 + 0.000030 0 0.000000
1127 + 0.000061 0 0.000000
1128 + 0.000122 0 0.000000
1129 + 0.000244 0 0.000000
1130 + 0.000488 0 0.000000
1131 + 0.000976 0 0.000000
1132 + 0.001953 0 0.000000
1133 + 0.003906 0 0.000000
1134 + 0.007812 0 0.000000
1135 + 0.015625 0 0.000000
1136 + 0.031250 0 0.000000
1137 + 0.062500 0 0.000000
1138 + 0.125000 0 0.000000
1139 + 0.250000 0 0.000000
1140 + 0.500000 10 3.550000
1141 + 1.000000 1 0.500000
1142 + 2.000000 5 6.500000
1143 + 4.000000 4 10.000000
1144 + 8.000000 2 9.199999
1145 + 16.000000 0 0.000000
1146 + 32.000000 0 0.000000
1147 + 64.000000 0 0.000000
1148 + 128.000000 0 0.000000
1149 + 256.000000 0 0.000000
1150 + 512.000000 0 0.000000
1151 + 1024.000000 0 0.000000
1152 + 2048.000000 0 0.000000
1153 + 4096.000000 0 0.000000
1154 + 8192.000000 0 0.000000
1155 + 16384.000000 0 0.000000
1156 + 32768.000000 0 0.000000
1157 + 65536.000000 0 0.000000
1158 + 131072.000000 0 0.000000
1159 + 262144.000000 0 0.000000
1160 + 524288.000000 0 0.000000
1161 +1048576.000000 0 0.000000
1162 +2097152.000000 0 0.000000
1163 +4194304.000000 0 0.000000
1164 +8388608.000000 0 0.000000
1165 +TOO LONG 0 TOO LONG
1166 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1168 + 0.000001 24 0.000000
1169 + 0.000003 0 0.000000
1170 + 0.000007 0 0.000000
1171 + 0.000015 0 0.000000
1172 + 0.000030 0 0.000000
1173 + 0.000061 0 0.000000
1174 + 0.000122 0 0.000000
1175 + 0.000244 0 0.000000
1176 + 0.000488 0 0.000000
1177 + 0.000976 0 0.000000
1178 + 0.001953 0 0.000000
1179 + 0.003906 0 0.000000
1180 + 0.007812 0 0.000000
1181 + 0.015625 0 0.000000
1182 + 0.031250 0 0.000000
1183 + 0.062500 0 0.000000
1184 + 0.125000 0 0.000000
1185 + 0.250000 0 0.000000
1186 + 0.500000 10 3.550000
1187 + 1.000000 1 0.500000
1188 + 2.000000 5 6.500000
1189 + 4.000000 4 10.000000
1190 + 8.000000 2 9.199999
1191 + 16.000000 0 0.000000
1192 + 32.000000 0 0.000000
1193 + 64.000000 0 0.000000
1194 + 128.000000 0 0.000000
1195 + 256.000000 0 0.000000
1196 + 512.000000 0 0.000000
1197 + 1024.000000 0 0.000000
1198 + 2048.000000 0 0.000000
1199 + 4096.000000 0 0.000000
1200 + 8192.000000 0 0.000000
1201 + 16384.000000 0 0.000000
1202 + 32768.000000 0 0.000000
1203 + 65536.000000 0 0.000000
1204 + 131072.000000 0 0.000000
1205 + 262144.000000 0 0.000000
1206 + 524288.000000 0 0.000000
1207 +1048576.000000 0 0.000000
1208 +2097152.000000 0 0.000000
1209 +4194304.000000 0 0.000000
1210 +8388608.000000 0 0.000000
1211 +TOO LONG 0 TOO LONG
1212 +SET SESSION query_exec_time=default;
1213 +SET SESSION query_exec_time=0.1;
1214 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1215 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=2;
1216 +FLUSH QUERY_RESPONSE_TIME;
1217 +SHOW QUERY_RESPONSE_TIME;
1219 + 0.000001 0 0.000000
1220 + 0.000003 0 0.000000
1221 + 0.000007 0 0.000000
1222 + 0.000015 0 0.000000
1223 + 0.000030 0 0.000000
1224 + 0.000061 0 0.000000
1225 + 0.000122 0 0.000000
1226 + 0.000244 0 0.000000
1227 + 0.000488 0 0.000000
1228 + 0.000976 0 0.000000
1229 + 0.001953 0 0.000000
1230 + 0.003906 0 0.000000
1231 + 0.007812 0 0.000000
1232 + 0.015625 0 0.000000
1233 + 0.031250 0 0.000000
1234 + 0.062500 0 0.000000
1235 + 0.125000 0 0.000000
1236 + 0.250000 0 0.000000
1237 + 0.500000 0 0.000000
1238 + 1.000000 0 0.000000
1239 + 2.000000 0 0.000000
1240 + 4.000000 0 0.000000
1241 + 8.000000 0 0.000000
1242 + 16.000000 0 0.000000
1243 + 32.000000 0 0.000000
1244 + 64.000000 0 0.000000
1245 + 128.000000 0 0.000000
1246 + 256.000000 0 0.000000
1247 + 512.000000 0 0.000000
1248 + 1024.000000 0 0.000000
1249 + 2048.000000 0 0.000000
1250 + 4096.000000 0 0.000000
1251 + 8192.000000 0 0.000000
1252 + 16384.000000 0 0.000000
1253 + 32768.000000 0 0.000000
1254 + 65536.000000 0 0.000000
1255 + 131072.000000 0 0.000000
1256 + 262144.000000 0 0.000000
1257 + 524288.000000 0 0.000000
1258 +1048576.000000 0 0.000000
1259 +2097152.000000 0 0.000000
1260 +4194304.000000 0 0.000000
1261 +8388608.000000 0 0.000000
1262 +TOO LONG 0 TOO LONG
1263 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1265 + 0.000001 0 0.000000
1266 + 0.000003 0 0.000000
1267 + 0.000007 0 0.000000
1268 + 0.000015 0 0.000000
1269 + 0.000030 0 0.000000
1270 + 0.000061 0 0.000000
1271 + 0.000122 0 0.000000
1272 + 0.000244 0 0.000000
1273 + 0.000488 0 0.000000
1274 + 0.000976 0 0.000000
1275 + 0.001953 0 0.000000
1276 + 0.003906 0 0.000000
1277 + 0.007812 0 0.000000
1278 + 0.015625 0 0.000000
1279 + 0.031250 0 0.000000
1280 + 0.062500 0 0.000000
1281 + 0.125000 0 0.000000
1282 + 0.250000 0 0.000000
1283 + 0.500000 0 0.000000
1284 + 1.000000 0 0.000000
1285 + 2.000000 0 0.000000
1286 + 4.000000 0 0.000000
1287 + 8.000000 0 0.000000
1288 + 16.000000 0 0.000000
1289 + 32.000000 0 0.000000
1290 + 64.000000 0 0.000000
1291 + 128.000000 0 0.000000
1292 + 256.000000 0 0.000000
1293 + 512.000000 0 0.000000
1294 + 1024.000000 0 0.000000
1295 + 2048.000000 0 0.000000
1296 + 4096.000000 0 0.000000
1297 + 8192.000000 0 0.000000
1298 + 16384.000000 0 0.000000
1299 + 32768.000000 0 0.000000
1300 + 65536.000000 0 0.000000
1301 + 131072.000000 0 0.000000
1302 + 262144.000000 0 0.000000
1303 + 524288.000000 0 0.000000
1304 +1048576.000000 0 0.000000
1305 +2097152.000000 0 0.000000
1306 +4194304.000000 0 0.000000
1307 +8388608.000000 0 0.000000
1308 +TOO LONG 0 TOO LONG
1309 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1310 +SET SESSION query_exec_time=0.31;
1314 +SET SESSION query_exec_time=0.32;
1318 +SET SESSION query_exec_time=0.33;
1322 +SET SESSION query_exec_time=0.34;
1326 +SET SESSION query_exec_time=0.35;
1330 +SET SESSION query_exec_time=0.36;
1334 +SET SESSION query_exec_time=0.37;
1338 +SET SESSION query_exec_time=0.38;
1342 +SET SESSION query_exec_time=0.39;
1346 +SET SESSION query_exec_time=0.4;
1350 +SET SESSION query_exec_time=1.1;
1354 +SET SESSION query_exec_time=1.2;
1358 +SET SESSION query_exec_time=1.3;
1362 +SET SESSION query_exec_time=1.5;
1366 +SET SESSION query_exec_time=1.4;
1370 +SET SESSION query_exec_time=0.5;
1374 +SET SESSION query_exec_time=2.1;
1378 +SET SESSION query_exec_time=2.3;
1382 +SET SESSION query_exec_time=2.5;
1386 +SET SESSION query_exec_time=3.1;
1390 +SET SESSION query_exec_time=4.1;
1394 +SET SESSION query_exec_time=5.1;
1398 +SET SESSION query_exec_time=0.1;
1399 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1400 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
1401 +Variable_name Value
1402 +query_response_time_range_base 2
1403 +SHOW QUERY_RESPONSE_TIME;
1405 + 0.000001 24 0.000000
1406 + 0.000003 0 0.000000
1407 + 0.000007 0 0.000000
1408 + 0.000015 0 0.000000
1409 + 0.000030 0 0.000000
1410 + 0.000061 0 0.000000
1411 + 0.000122 0 0.000000
1412 + 0.000244 0 0.000000
1413 + 0.000488 0 0.000000
1414 + 0.000976 0 0.000000
1415 + 0.001953 0 0.000000
1416 + 0.003906 0 0.000000
1417 + 0.007812 0 0.000000
1418 + 0.015625 0 0.000000
1419 + 0.031250 0 0.000000
1420 + 0.062500 0 0.000000
1421 + 0.125000 0 0.000000
1422 + 0.250000 0 0.000000
1423 + 0.500000 10 3.550000
1424 + 1.000000 1 0.500000
1425 + 2.000000 5 6.500000
1426 + 4.000000 4 10.000000
1427 + 8.000000 2 9.199999
1428 + 16.000000 0 0.000000
1429 + 32.000000 0 0.000000
1430 + 64.000000 0 0.000000
1431 + 128.000000 0 0.000000
1432 + 256.000000 0 0.000000
1433 + 512.000000 0 0.000000
1434 + 1024.000000 0 0.000000
1435 + 2048.000000 0 0.000000
1436 + 4096.000000 0 0.000000
1437 + 8192.000000 0 0.000000
1438 + 16384.000000 0 0.000000
1439 + 32768.000000 0 0.000000
1440 + 65536.000000 0 0.000000
1441 + 131072.000000 0 0.000000
1442 + 262144.000000 0 0.000000
1443 + 524288.000000 0 0.000000
1444 +1048576.000000 0 0.000000
1445 +2097152.000000 0 0.000000
1446 +4194304.000000 0 0.000000
1447 +8388608.000000 0 0.000000
1448 +TOO LONG 0 TOO LONG
1449 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1451 + 0.000001 24 0.000000
1452 + 0.000003 0 0.000000
1453 + 0.000007 0 0.000000
1454 + 0.000015 0 0.000000
1455 + 0.000030 0 0.000000
1456 + 0.000061 0 0.000000
1457 + 0.000122 0 0.000000
1458 + 0.000244 0 0.000000
1459 + 0.000488 0 0.000000
1460 + 0.000976 0 0.000000
1461 + 0.001953 0 0.000000
1462 + 0.003906 0 0.000000
1463 + 0.007812 0 0.000000
1464 + 0.015625 0 0.000000
1465 + 0.031250 0 0.000000
1466 + 0.062500 0 0.000000
1467 + 0.125000 0 0.000000
1468 + 0.250000 0 0.000000
1469 + 0.500000 10 3.550000
1470 + 1.000000 1 0.500000
1471 + 2.000000 5 6.500000
1472 + 4.000000 4 10.000000
1473 + 8.000000 2 9.199999
1474 + 16.000000 0 0.000000
1475 + 32.000000 0 0.000000
1476 + 64.000000 0 0.000000
1477 + 128.000000 0 0.000000
1478 + 256.000000 0 0.000000
1479 + 512.000000 0 0.000000
1480 + 1024.000000 0 0.000000
1481 + 2048.000000 0 0.000000
1482 + 4096.000000 0 0.000000
1483 + 8192.000000 0 0.000000
1484 + 16384.000000 0 0.000000
1485 + 32768.000000 0 0.000000
1486 + 65536.000000 0 0.000000
1487 + 131072.000000 0 0.000000
1488 + 262144.000000 0 0.000000
1489 + 524288.000000 0 0.000000
1490 +1048576.000000 0 0.000000
1491 +2097152.000000 0 0.000000
1492 +4194304.000000 0 0.000000
1493 +8388608.000000 0 0.000000
1494 +TOO LONG 0 TOO LONG
1495 +SET SESSION query_exec_time=default;
1496 +SET SESSION query_exec_time=0.1;
1497 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1498 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=10;
1499 +FLUSH QUERY_RESPONSE_TIME;
1500 +SHOW QUERY_RESPONSE_TIME;
1502 + 0.000001 0 0.000000
1503 + 0.000010 0 0.000000
1504 + 0.000100 0 0.000000
1505 + 0.001000 0 0.000000
1506 + 0.010000 0 0.000000
1507 + 0.100000 0 0.000000
1508 + 1.000000 0 0.000000
1509 + 10.000000 0 0.000000
1510 + 100.000000 0 0.000000
1511 + 1000.000000 0 0.000000
1512 + 10000.000000 0 0.000000
1513 + 100000.000000 0 0.000000
1514 +1000000.000000 0 0.000000
1515 +TOO LONG 0 TOO LONG
1516 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1518 + 0.000001 0 0.000000
1519 + 0.000010 0 0.000000
1520 + 0.000100 0 0.000000
1521 + 0.001000 0 0.000000
1522 + 0.010000 0 0.000000
1523 + 0.100000 0 0.000000
1524 + 1.000000 0 0.000000
1525 + 10.000000 0 0.000000
1526 + 100.000000 0 0.000000
1527 + 1000.000000 0 0.000000
1528 + 10000.000000 0 0.000000
1529 + 100000.000000 0 0.000000
1530 +1000000.000000 0 0.000000
1531 +TOO LONG 0 TOO LONG
1532 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1533 +SET SESSION query_exec_time=0.31;
1537 +SET SESSION query_exec_time=0.32;
1541 +SET SESSION query_exec_time=0.33;
1545 +SET SESSION query_exec_time=0.34;
1549 +SET SESSION query_exec_time=0.35;
1553 +SET SESSION query_exec_time=0.36;
1557 +SET SESSION query_exec_time=0.37;
1561 +SET SESSION query_exec_time=0.38;
1565 +SET SESSION query_exec_time=0.39;
1569 +SET SESSION query_exec_time=0.4;
1573 +SET SESSION query_exec_time=1.1;
1577 +SET SESSION query_exec_time=1.2;
1581 +SET SESSION query_exec_time=1.3;
1585 +SET SESSION query_exec_time=1.5;
1589 +SET SESSION query_exec_time=1.4;
1593 +SET SESSION query_exec_time=0.5;
1597 +SET SESSION query_exec_time=2.1;
1601 +SET SESSION query_exec_time=2.3;
1605 +SET SESSION query_exec_time=2.5;
1609 +SET SESSION query_exec_time=3.1;
1613 +SET SESSION query_exec_time=4.1;
1617 +SET SESSION query_exec_time=5.1;
1621 +SET SESSION query_exec_time=0.1;
1622 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1623 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
1624 +Variable_name Value
1625 +query_response_time_range_base 10
1626 +SHOW QUERY_RESPONSE_TIME;
1628 + 0.000001 24 0.000000
1629 + 0.000010 0 0.000000
1630 + 0.000100 0 0.000000
1631 + 0.001000 0 0.000000
1632 + 0.010000 0 0.000000
1633 + 0.100000 0 0.000000
1634 + 1.000000 11 4.050000
1635 + 10.000000 11 25.699999
1636 + 100.000000 0 0.000000
1637 + 1000.000000 0 0.000000
1638 + 10000.000000 0 0.000000
1639 + 100000.000000 0 0.000000
1640 +1000000.000000 0 0.000000
1641 +TOO LONG 0 TOO LONG
1642 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1644 + 0.000001 24 0.000000
1645 + 0.000010 0 0.000000
1646 + 0.000100 0 0.000000
1647 + 0.001000 0 0.000000
1648 + 0.010000 0 0.000000
1649 + 0.100000 0 0.000000
1650 + 1.000000 11 4.050000
1651 + 10.000000 11 25.699999
1652 + 100.000000 0 0.000000
1653 + 1000.000000 0 0.000000
1654 + 10000.000000 0 0.000000
1655 + 100000.000000 0 0.000000
1656 +1000000.000000 0 0.000000
1657 +TOO LONG 0 TOO LONG
1658 +SET SESSION query_exec_time=default;
1659 +SET SESSION query_exec_time=0.1;
1660 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1661 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=7;
1662 +FLUSH QUERY_RESPONSE_TIME;
1663 +SHOW QUERY_RESPONSE_TIME;
1665 + 0.000001 0 0.000000
1666 + 0.000008 0 0.000000
1667 + 0.000059 0 0.000000
1668 + 0.000416 0 0.000000
1669 + 0.002915 0 0.000000
1670 + 0.020408 0 0.000000
1671 + 0.142857 0 0.000000
1672 + 1.000000 0 0.000000
1673 + 7.000000 0 0.000000
1674 + 49.000000 0 0.000000
1675 + 343.000000 0 0.000000
1676 + 2401.000000 0 0.000000
1677 + 16807.000000 0 0.000000
1678 + 117649.000000 0 0.000000
1679 + 823543.000000 0 0.000000
1680 +5764801.000000 0 0.000000
1681 +TOO LONG 0 TOO LONG
1682 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1684 + 0.000001 0 0.000000
1685 + 0.000008 0 0.000000
1686 + 0.000059 0 0.000000
1687 + 0.000416 0 0.000000
1688 + 0.002915 0 0.000000
1689 + 0.020408 0 0.000000
1690 + 0.142857 0 0.000000
1691 + 1.000000 0 0.000000
1692 + 7.000000 0 0.000000
1693 + 49.000000 0 0.000000
1694 + 343.000000 0 0.000000
1695 + 2401.000000 0 0.000000
1696 + 16807.000000 0 0.000000
1697 + 117649.000000 0 0.000000
1698 + 823543.000000 0 0.000000
1699 +5764801.000000 0 0.000000
1700 +TOO LONG 0 TOO LONG
1701 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1702 +SET SESSION query_exec_time=0.31;
1706 +SET SESSION query_exec_time=0.32;
1710 +SET SESSION query_exec_time=0.33;
1714 +SET SESSION query_exec_time=0.34;
1718 +SET SESSION query_exec_time=0.35;
1722 +SET SESSION query_exec_time=0.36;
1726 +SET SESSION query_exec_time=0.37;
1730 +SET SESSION query_exec_time=0.38;
1734 +SET SESSION query_exec_time=0.39;
1738 +SET SESSION query_exec_time=0.4;
1742 +SET SESSION query_exec_time=1.1;
1746 +SET SESSION query_exec_time=1.2;
1750 +SET SESSION query_exec_time=1.3;
1754 +SET SESSION query_exec_time=1.5;
1758 +SET SESSION query_exec_time=1.4;
1762 +SET SESSION query_exec_time=0.5;
1766 +SET SESSION query_exec_time=2.1;
1770 +SET SESSION query_exec_time=2.3;
1774 +SET SESSION query_exec_time=2.5;
1778 +SET SESSION query_exec_time=3.1;
1782 +SET SESSION query_exec_time=4.1;
1786 +SET SESSION query_exec_time=5.1;
1790 +SET SESSION query_exec_time=0.1;
1791 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1792 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
1793 +Variable_name Value
1794 +query_response_time_range_base 7
1795 +SHOW QUERY_RESPONSE_TIME;
1797 + 0.000001 24 0.000000
1798 + 0.000008 0 0.000000
1799 + 0.000059 0 0.000000
1800 + 0.000416 0 0.000000
1801 + 0.002915 0 0.000000
1802 + 0.020408 0 0.000000
1803 + 0.142857 0 0.000000
1804 + 1.000000 11 4.050000
1805 + 7.000000 11 25.699999
1806 + 49.000000 0 0.000000
1807 + 343.000000 0 0.000000
1808 + 2401.000000 0 0.000000
1809 + 16807.000000 0 0.000000
1810 + 117649.000000 0 0.000000
1811 + 823543.000000 0 0.000000
1812 +5764801.000000 0 0.000000
1813 +TOO LONG 0 TOO LONG
1814 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1816 + 0.000001 24 0.000000
1817 + 0.000008 0 0.000000
1818 + 0.000059 0 0.000000
1819 + 0.000416 0 0.000000
1820 + 0.002915 0 0.000000
1821 + 0.020408 0 0.000000
1822 + 0.142857 0 0.000000
1823 + 1.000000 11 4.050000
1824 + 7.000000 11 25.699999
1825 + 49.000000 0 0.000000
1826 + 343.000000 0 0.000000
1827 + 2401.000000 0 0.000000
1828 + 16807.000000 0 0.000000
1829 + 117649.000000 0 0.000000
1830 + 823543.000000 0 0.000000
1831 +5764801.000000 0 0.000000
1832 +TOO LONG 0 TOO LONG
1833 +SET SESSION query_exec_time=default;
1834 +SET SESSION query_exec_time=0.1;
1835 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1836 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=156;
1837 +FLUSH QUERY_RESPONSE_TIME;
1838 +SHOW QUERY_RESPONSE_TIME;
1840 + 0.000041 0 0.000000
1841 + 0.006410 0 0.000000
1842 + 1.000000 0 0.000000
1843 + 156.000000 0 0.000000
1844 + 24336.000000 0 0.000000
1845 +3796416.000000 0 0.000000
1846 +TOO LONG 0 TOO LONG
1847 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1849 + 0.000041 0 0.000000
1850 + 0.006410 0 0.000000
1851 + 1.000000 0 0.000000
1852 + 156.000000 0 0.000000
1853 + 24336.000000 0 0.000000
1854 +3796416.000000 0 0.000000
1855 +TOO LONG 0 TOO LONG
1856 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1857 +SET SESSION query_exec_time=0.31;
1861 +SET SESSION query_exec_time=0.32;
1865 +SET SESSION query_exec_time=0.33;
1869 +SET SESSION query_exec_time=0.34;
1873 +SET SESSION query_exec_time=0.35;
1877 +SET SESSION query_exec_time=0.36;
1881 +SET SESSION query_exec_time=0.37;
1885 +SET SESSION query_exec_time=0.38;
1889 +SET SESSION query_exec_time=0.39;
1893 +SET SESSION query_exec_time=0.4;
1897 +SET SESSION query_exec_time=1.1;
1901 +SET SESSION query_exec_time=1.2;
1905 +SET SESSION query_exec_time=1.3;
1909 +SET SESSION query_exec_time=1.5;
1913 +SET SESSION query_exec_time=1.4;
1917 +SET SESSION query_exec_time=0.5;
1921 +SET SESSION query_exec_time=2.1;
1925 +SET SESSION query_exec_time=2.3;
1929 +SET SESSION query_exec_time=2.5;
1933 +SET SESSION query_exec_time=3.1;
1937 +SET SESSION query_exec_time=4.1;
1941 +SET SESSION query_exec_time=5.1;
1945 +SET SESSION query_exec_time=0.1;
1946 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1947 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
1948 +Variable_name Value
1949 +query_response_time_range_base 156
1950 +SHOW QUERY_RESPONSE_TIME;
1952 + 0.000041 24 0.000000
1953 + 0.006410 0 0.000000
1954 + 1.000000 11 4.050000
1955 + 156.000000 11 25.699999
1956 + 24336.000000 0 0.000000
1957 +3796416.000000 0 0.000000
1958 +TOO LONG 0 TOO LONG
1959 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1961 + 0.000041 24 0.000000
1962 + 0.006410 0 0.000000
1963 + 1.000000 11 4.050000
1964 + 156.000000 11 25.699999
1965 + 24336.000000 0 0.000000
1966 +3796416.000000 0 0.000000
1967 +TOO LONG 0 TOO LONG
1968 +SET SESSION query_exec_time=default;
1969 +SET SESSION query_exec_time=0.1;
1970 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
1971 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1000;
1972 +FLUSH QUERY_RESPONSE_TIME;
1973 +SHOW QUERY_RESPONSE_TIME;
1975 + 0.000001 0 0.000000
1976 + 0.001000 0 0.000000
1977 + 1.000000 0 0.000000
1978 + 1000.000000 0 0.000000
1979 +1000000.000000 0 0.000000
1980 +TOO LONG 0 TOO LONG
1981 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
1983 + 0.000001 0 0.000000
1984 + 0.001000 0 0.000000
1985 + 1.000000 0 0.000000
1986 + 1000.000000 0 0.000000
1987 +1000000.000000 0 0.000000
1988 +TOO LONG 0 TOO LONG
1989 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
1990 +SET SESSION query_exec_time=0.31;
1994 +SET SESSION query_exec_time=0.32;
1998 +SET SESSION query_exec_time=0.33;
2002 +SET SESSION query_exec_time=0.34;
2006 +SET SESSION query_exec_time=0.35;
2010 +SET SESSION query_exec_time=0.36;
2014 +SET SESSION query_exec_time=0.37;
2018 +SET SESSION query_exec_time=0.38;
2022 +SET SESSION query_exec_time=0.39;
2026 +SET SESSION query_exec_time=0.4;
2030 +SET SESSION query_exec_time=1.1;
2034 +SET SESSION query_exec_time=1.2;
2038 +SET SESSION query_exec_time=1.3;
2042 +SET SESSION query_exec_time=1.5;
2046 +SET SESSION query_exec_time=1.4;
2050 +SET SESSION query_exec_time=0.5;
2054 +SET SESSION query_exec_time=2.1;
2058 +SET SESSION query_exec_time=2.3;
2062 +SET SESSION query_exec_time=2.5;
2066 +SET SESSION query_exec_time=3.1;
2070 +SET SESSION query_exec_time=4.1;
2074 +SET SESSION query_exec_time=5.1;
2078 +SET SESSION query_exec_time=0.1;
2079 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2080 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2081 +Variable_name Value
2082 +query_response_time_range_base 1000
2083 +SHOW QUERY_RESPONSE_TIME;
2085 + 0.000001 24 0.000000
2086 + 0.001000 0 0.000000
2087 + 1.000000 11 4.050000
2088 + 1000.000000 11 25.699999
2089 +1000000.000000 0 0.000000
2090 +TOO LONG 0 TOO LONG
2091 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2093 + 0.000001 24 0.000000
2094 + 0.001000 0 0.000000
2095 + 1.000000 11 4.050000
2096 + 1000.000000 11 25.699999
2097 +1000000.000000 0 0.000000
2098 +TOO LONG 0 TOO LONG
2099 +SET SESSION query_exec_time=default;
2100 +SET SESSION query_exec_time=0.1;
2101 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2102 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1001;
2104 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1001'
2105 +FLUSH QUERY_RESPONSE_TIME;
2106 +SHOW QUERY_RESPONSE_TIME;
2108 + 0.000001 0 0.000000
2109 + 0.001000 0 0.000000
2110 + 1.000000 0 0.000000
2111 + 1000.000000 0 0.000000
2112 +1000000.000000 0 0.000000
2113 +TOO LONG 0 TOO LONG
2114 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2116 + 0.000001 0 0.000000
2117 + 0.001000 0 0.000000
2118 + 1.000000 0 0.000000
2119 + 1000.000000 0 0.000000
2120 +1000000.000000 0 0.000000
2121 +TOO LONG 0 TOO LONG
2122 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2123 +SET SESSION query_exec_time=0.31;
2127 +SET SESSION query_exec_time=0.32;
2131 +SET SESSION query_exec_time=0.33;
2135 +SET SESSION query_exec_time=0.34;
2139 +SET SESSION query_exec_time=0.35;
2143 +SET SESSION query_exec_time=0.36;
2147 +SET SESSION query_exec_time=0.37;
2151 +SET SESSION query_exec_time=0.38;
2155 +SET SESSION query_exec_time=0.39;
2159 +SET SESSION query_exec_time=0.4;
2163 +SET SESSION query_exec_time=1.1;
2167 +SET SESSION query_exec_time=1.2;
2171 +SET SESSION query_exec_time=1.3;
2175 +SET SESSION query_exec_time=1.5;
2179 +SET SESSION query_exec_time=1.4;
2183 +SET SESSION query_exec_time=0.5;
2187 +SET SESSION query_exec_time=2.1;
2191 +SET SESSION query_exec_time=2.3;
2195 +SET SESSION query_exec_time=2.5;
2199 +SET SESSION query_exec_time=3.1;
2203 +SET SESSION query_exec_time=4.1;
2207 +SET SESSION query_exec_time=5.1;
2211 +SET SESSION query_exec_time=0.1;
2212 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2213 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2214 +Variable_name Value
2215 +query_response_time_range_base 1000
2216 +SHOW QUERY_RESPONSE_TIME;
2218 + 0.000001 24 0.000000
2219 + 0.001000 0 0.000000
2220 + 1.000000 11 4.050000
2221 + 1000.000000 11 25.699999
2222 +1000000.000000 0 0.000000
2223 +TOO LONG 0 TOO LONG
2224 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2226 + 0.000001 24 0.000000
2227 + 0.001000 0 0.000000
2228 + 1.000000 11 4.050000
2229 + 1000.000000 11 25.699999
2230 +1000000.000000 0 0.000000
2231 +TOO LONG 0 TOO LONG
2232 +SET SESSION query_exec_time=default;
2233 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
2234 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
2236 +++ b/mysql-test/r/percona_query_response_time-stored.result
2238 +CREATE TABLE t(a INT);
2239 +CREATE PROCEDURE test_f(t DECIMAL(3,2))
2241 +SET SESSION query_exec_time=t;
2242 +INSERT INTO t VALUES(1);
2243 +SET SESSION query_exec_time=0.1;
2246 +SET SESSION query_exec_time=0.1;
2247 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2248 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1;
2250 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1'
2251 +FLUSH QUERY_RESPONSE_TIME;
2252 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2275 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2276 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2277 +Variable_name Value
2278 +query_response_time_range_base 2
2279 +SHOW QUERY_RESPONSE_TIME;
2281 + 0.000001 45 0.000000
2282 + 0.000003 0 0.000000
2283 + 0.000007 0 0.000000
2284 + 0.000015 0 0.000000
2285 + 0.000030 0 0.000000
2286 + 0.000061 0 0.000000
2287 + 0.000122 0 0.000000
2288 + 0.000244 0 0.000000
2289 + 0.000488 0 0.000000
2290 + 0.000976 0 0.000000
2291 + 0.001953 0 0.000000
2292 + 0.003906 0 0.000000
2293 + 0.007812 0 0.000000
2294 + 0.015625 0 0.000000
2295 + 0.031250 0 0.000000
2296 + 0.062500 0 0.000000
2297 + 0.125000 44 4.400000
2298 + 0.250000 0 0.000000
2299 + 0.500000 10 3.550000
2300 + 1.000000 1 0.500000
2301 + 2.000000 5 6.500000
2302 + 4.000000 4 10.000000
2303 + 8.000000 2 9.199999
2304 + 16.000000 0 0.000000
2305 + 32.000000 0 0.000000
2306 + 64.000000 0 0.000000
2307 + 128.000000 0 0.000000
2308 + 256.000000 0 0.000000
2309 + 512.000000 0 0.000000
2310 + 1024.000000 0 0.000000
2311 + 2048.000000 0 0.000000
2312 + 4096.000000 0 0.000000
2313 + 8192.000000 0 0.000000
2314 + 16384.000000 0 0.000000
2315 + 32768.000000 0 0.000000
2316 + 65536.000000 0 0.000000
2317 + 131072.000000 0 0.000000
2318 + 262144.000000 0 0.000000
2319 + 524288.000000 0 0.000000
2320 +1048576.000000 0 0.000000
2321 +2097152.000000 0 0.000000
2322 +4194304.000000 0 0.000000
2323 +8388608.000000 0 0.000000
2324 +TOO LONG 0 TOO LONG
2325 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2327 + 0.000001 45 0.000000
2328 + 0.000003 0 0.000000
2329 + 0.000007 0 0.000000
2330 + 0.000015 0 0.000000
2331 + 0.000030 0 0.000000
2332 + 0.000061 0 0.000000
2333 + 0.000122 0 0.000000
2334 + 0.000244 0 0.000000
2335 + 0.000488 0 0.000000
2336 + 0.000976 0 0.000000
2337 + 0.001953 0 0.000000
2338 + 0.003906 0 0.000000
2339 + 0.007812 0 0.000000
2340 + 0.015625 0 0.000000
2341 + 0.031250 0 0.000000
2342 + 0.062500 0 0.000000
2343 + 0.125000 44 4.400000
2344 + 0.250000 0 0.000000
2345 + 0.500000 10 3.550000
2346 + 1.000000 1 0.500000
2347 + 2.000000 5 6.500000
2348 + 4.000000 4 10.000000
2349 + 8.000000 2 9.199999
2350 + 16.000000 0 0.000000
2351 + 32.000000 0 0.000000
2352 + 64.000000 0 0.000000
2353 + 128.000000 0 0.000000
2354 + 256.000000 0 0.000000
2355 + 512.000000 0 0.000000
2356 + 1024.000000 0 0.000000
2357 + 2048.000000 0 0.000000
2358 + 4096.000000 0 0.000000
2359 + 8192.000000 0 0.000000
2360 + 16384.000000 0 0.000000
2361 + 32768.000000 0 0.000000
2362 + 65536.000000 0 0.000000
2363 + 131072.000000 0 0.000000
2364 + 262144.000000 0 0.000000
2365 + 524288.000000 0 0.000000
2366 +1048576.000000 0 0.000000
2367 +2097152.000000 0 0.000000
2368 +4194304.000000 0 0.000000
2369 +8388608.000000 0 0.000000
2370 +TOO LONG 0 TOO LONG
2371 +SET SESSION query_exec_time=default;
2372 +SET SESSION query_exec_time=0.1;
2373 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2374 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=2;
2375 +FLUSH QUERY_RESPONSE_TIME;
2376 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2399 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2400 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2401 +Variable_name Value
2402 +query_response_time_range_base 2
2403 +SHOW QUERY_RESPONSE_TIME;
2405 + 0.000001 45 0.000000
2406 + 0.000003 0 0.000000
2407 + 0.000007 0 0.000000
2408 + 0.000015 0 0.000000
2409 + 0.000030 0 0.000000
2410 + 0.000061 0 0.000000
2411 + 0.000122 0 0.000000
2412 + 0.000244 0 0.000000
2413 + 0.000488 0 0.000000
2414 + 0.000976 0 0.000000
2415 + 0.001953 0 0.000000
2416 + 0.003906 0 0.000000
2417 + 0.007812 0 0.000000
2418 + 0.015625 0 0.000000
2419 + 0.031250 0 0.000000
2420 + 0.062500 0 0.000000
2421 + 0.125000 44 4.400000
2422 + 0.250000 0 0.000000
2423 + 0.500000 10 3.550000
2424 + 1.000000 1 0.500000
2425 + 2.000000 5 6.500000
2426 + 4.000000 4 10.000000
2427 + 8.000000 2 9.199999
2428 + 16.000000 0 0.000000
2429 + 32.000000 0 0.000000
2430 + 64.000000 0 0.000000
2431 + 128.000000 0 0.000000
2432 + 256.000000 0 0.000000
2433 + 512.000000 0 0.000000
2434 + 1024.000000 0 0.000000
2435 + 2048.000000 0 0.000000
2436 + 4096.000000 0 0.000000
2437 + 8192.000000 0 0.000000
2438 + 16384.000000 0 0.000000
2439 + 32768.000000 0 0.000000
2440 + 65536.000000 0 0.000000
2441 + 131072.000000 0 0.000000
2442 + 262144.000000 0 0.000000
2443 + 524288.000000 0 0.000000
2444 +1048576.000000 0 0.000000
2445 +2097152.000000 0 0.000000
2446 +4194304.000000 0 0.000000
2447 +8388608.000000 0 0.000000
2448 +TOO LONG 0 TOO LONG
2449 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2451 + 0.000001 45 0.000000
2452 + 0.000003 0 0.000000
2453 + 0.000007 0 0.000000
2454 + 0.000015 0 0.000000
2455 + 0.000030 0 0.000000
2456 + 0.000061 0 0.000000
2457 + 0.000122 0 0.000000
2458 + 0.000244 0 0.000000
2459 + 0.000488 0 0.000000
2460 + 0.000976 0 0.000000
2461 + 0.001953 0 0.000000
2462 + 0.003906 0 0.000000
2463 + 0.007812 0 0.000000
2464 + 0.015625 0 0.000000
2465 + 0.031250 0 0.000000
2466 + 0.062500 0 0.000000
2467 + 0.125000 44 4.400000
2468 + 0.250000 0 0.000000
2469 + 0.500000 10 3.550000
2470 + 1.000000 1 0.500000
2471 + 2.000000 5 6.500000
2472 + 4.000000 4 10.000000
2473 + 8.000000 2 9.199999
2474 + 16.000000 0 0.000000
2475 + 32.000000 0 0.000000
2476 + 64.000000 0 0.000000
2477 + 128.000000 0 0.000000
2478 + 256.000000 0 0.000000
2479 + 512.000000 0 0.000000
2480 + 1024.000000 0 0.000000
2481 + 2048.000000 0 0.000000
2482 + 4096.000000 0 0.000000
2483 + 8192.000000 0 0.000000
2484 + 16384.000000 0 0.000000
2485 + 32768.000000 0 0.000000
2486 + 65536.000000 0 0.000000
2487 + 131072.000000 0 0.000000
2488 + 262144.000000 0 0.000000
2489 + 524288.000000 0 0.000000
2490 +1048576.000000 0 0.000000
2491 +2097152.000000 0 0.000000
2492 +4194304.000000 0 0.000000
2493 +8388608.000000 0 0.000000
2494 +TOO LONG 0 TOO LONG
2495 +SET SESSION query_exec_time=default;
2496 +SET SESSION query_exec_time=0.1;
2497 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2498 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=10;
2499 +FLUSH QUERY_RESPONSE_TIME;
2500 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2523 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2524 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2525 +Variable_name Value
2526 +query_response_time_range_base 10
2527 +SHOW QUERY_RESPONSE_TIME;
2529 + 0.000001 45 0.000000
2530 + 0.000010 0 0.000000
2531 + 0.000100 0 0.000000
2532 + 0.001000 0 0.000000
2533 + 0.010000 0 0.000000
2534 + 0.100000 0 0.000000
2535 + 1.000000 55 8.450000
2536 + 10.000000 11 25.699999
2537 + 100.000000 0 0.000000
2538 + 1000.000000 0 0.000000
2539 + 10000.000000 0 0.000000
2540 + 100000.000000 0 0.000000
2541 +1000000.000000 0 0.000000
2542 +TOO LONG 0 TOO LONG
2543 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2545 + 0.000001 45 0.000000
2546 + 0.000010 0 0.000000
2547 + 0.000100 0 0.000000
2548 + 0.001000 0 0.000000
2549 + 0.010000 0 0.000000
2550 + 0.100000 0 0.000000
2551 + 1.000000 55 8.450000
2552 + 10.000000 11 25.699999
2553 + 100.000000 0 0.000000
2554 + 1000.000000 0 0.000000
2555 + 10000.000000 0 0.000000
2556 + 100000.000000 0 0.000000
2557 +1000000.000000 0 0.000000
2558 +TOO LONG 0 TOO LONG
2559 +SET SESSION query_exec_time=default;
2560 +SET SESSION query_exec_time=0.1;
2561 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2562 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=7;
2563 +FLUSH QUERY_RESPONSE_TIME;
2564 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2587 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2588 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2589 +Variable_name Value
2590 +query_response_time_range_base 7
2591 +SHOW QUERY_RESPONSE_TIME;
2593 + 0.000001 45 0.000000
2594 + 0.000008 0 0.000000
2595 + 0.000059 0 0.000000
2596 + 0.000416 0 0.000000
2597 + 0.002915 0 0.000000
2598 + 0.020408 0 0.000000
2599 + 0.142857 44 4.400000
2600 + 1.000000 11 4.050000
2601 + 7.000000 11 25.699999
2602 + 49.000000 0 0.000000
2603 + 343.000000 0 0.000000
2604 + 2401.000000 0 0.000000
2605 + 16807.000000 0 0.000000
2606 + 117649.000000 0 0.000000
2607 + 823543.000000 0 0.000000
2608 +5764801.000000 0 0.000000
2609 +TOO LONG 0 TOO LONG
2610 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2612 + 0.000001 45 0.000000
2613 + 0.000008 0 0.000000
2614 + 0.000059 0 0.000000
2615 + 0.000416 0 0.000000
2616 + 0.002915 0 0.000000
2617 + 0.020408 0 0.000000
2618 + 0.142857 44 4.400000
2619 + 1.000000 11 4.050000
2620 + 7.000000 11 25.699999
2621 + 49.000000 0 0.000000
2622 + 343.000000 0 0.000000
2623 + 2401.000000 0 0.000000
2624 + 16807.000000 0 0.000000
2625 + 117649.000000 0 0.000000
2626 + 823543.000000 0 0.000000
2627 +5764801.000000 0 0.000000
2628 +TOO LONG 0 TOO LONG
2629 +SET SESSION query_exec_time=default;
2630 +SET SESSION query_exec_time=0.1;
2631 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2632 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=156;
2633 +FLUSH QUERY_RESPONSE_TIME;
2634 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2657 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2658 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2659 +Variable_name Value
2660 +query_response_time_range_base 156
2661 +SHOW QUERY_RESPONSE_TIME;
2663 + 0.000041 45 0.000000
2664 + 0.006410 0 0.000000
2665 + 1.000000 55 8.450000
2666 + 156.000000 11 25.699999
2667 + 24336.000000 0 0.000000
2668 +3796416.000000 0 0.000000
2669 +TOO LONG 0 TOO LONG
2670 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2672 + 0.000041 45 0.000000
2673 + 0.006410 0 0.000000
2674 + 1.000000 55 8.450000
2675 + 156.000000 11 25.699999
2676 + 24336.000000 0 0.000000
2677 +3796416.000000 0 0.000000
2678 +TOO LONG 0 TOO LONG
2679 +SET SESSION query_exec_time=default;
2680 +SET SESSION query_exec_time=0.1;
2681 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2682 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1000;
2683 +FLUSH QUERY_RESPONSE_TIME;
2684 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2707 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2708 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2709 +Variable_name Value
2710 +query_response_time_range_base 1000
2711 +SHOW QUERY_RESPONSE_TIME;
2713 + 0.000001 45 0.000000
2714 + 0.001000 0 0.000000
2715 + 1.000000 55 8.450000
2716 + 1000.000000 11 25.699999
2717 +1000000.000000 0 0.000000
2718 +TOO LONG 0 TOO LONG
2719 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2721 + 0.000001 45 0.000000
2722 + 0.001000 0 0.000000
2723 + 1.000000 55 8.450000
2724 + 1000.000000 11 25.699999
2725 +1000000.000000 0 0.000000
2726 +TOO LONG 0 TOO LONG
2727 +SET SESSION query_exec_time=default;
2728 +SET SESSION query_exec_time=0.1;
2729 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2730 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=1001;
2732 +Warning 1292 Truncated incorrect query_response_time_range_base value: '1001'
2733 +FLUSH QUERY_RESPONSE_TIME;
2734 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=1;
2757 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=0;
2758 +SHOW GLOBAL VARIABLES where Variable_name like 'QUERY_RESPONSE_TIME_RANGE_BASE';
2759 +Variable_name Value
2760 +query_response_time_range_base 1000
2761 +SHOW QUERY_RESPONSE_TIME;
2763 + 0.000001 45 0.000000
2764 + 0.001000 0 0.000000
2765 + 1.000000 55 8.450000
2766 + 1000.000000 11 25.699999
2767 +1000000.000000 0 0.000000
2768 +TOO LONG 0 TOO LONG
2769 +SELECT * FROM INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
2771 + 0.000001 45 0.000000
2772 + 0.001000 0 0.000000
2773 + 1.000000 55 8.450000
2774 + 1000.000000 11 25.699999
2775 +1000000.000000 0 0.000000
2776 +TOO LONG 0 TOO LONG
2777 +SET SESSION query_exec_time=default;
2778 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
2779 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
2780 +DROP PROCEDURE test_f;
2783 +++ b/mysql-test/t/percona_query_response_time-replication.test
2785 +SET GLOBAL query_exec_time=0.1;
2787 +--source include/have_response_time_distribution.inc
2788 +--source include/have_debug.inc
2789 +--source include/have_binlog_format_statement.inc
2790 +--source include/master-slave.inc
2793 +--source include/query_response_time-replication.inc
2795 +--source include/query_response_time-replication.inc
2797 +--source include/query_response_time-replication.inc
2799 +--source include/query_response_time-replication.inc
2801 +--source include/query_response_time-replication.inc
2803 +--source include/query_response_time-replication.inc
2805 +--source include/query_response_time-replication.inc
2807 +--source include/rpl_end.inc
2809 +SET GLOBAL query_exec_time=default;
2812 +SET GLOBAL query_exec_time=default;
2814 +++ b/mysql-test/t/percona_query_response_time-stored.test
2816 +--source include/have_response_time_distribution.inc
2817 +--source include/have_debug.inc
2819 +CREATE TABLE t(a INT);
2822 +CREATE PROCEDURE test_f(t DECIMAL(3,2))
2824 + SET SESSION query_exec_time=t;
2825 + INSERT INTO t VALUES(1);
2826 + SET SESSION query_exec_time=0.1;
2832 +--source include/query_response_time-stored.inc
2834 +--source include/query_response_time-stored.inc
2836 +--source include/query_response_time-stored.inc
2838 +--source include/query_response_time-stored.inc
2840 +--source include/query_response_time-stored.inc
2842 +--source include/query_response_time-stored.inc
2844 +--source include/query_response_time-stored.inc
2846 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
2847 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
2849 +DROP PROCEDURE test_f;
2853 +++ b/mysql-test/t/percona_query_response_time.test
2855 +--source include/have_response_time_distribution.inc
2856 +--source include/have_debug.inc
2859 +--source include/query_response_time.inc
2861 +--source include/query_response_time.inc
2863 +--source include/query_response_time.inc
2865 +--source include/query_response_time.inc
2867 +--source include/query_response_time.inc
2869 +--source include/query_response_time.inc
2871 +--source include/query_response_time.inc
2873 +SET GLOBAL QUERY_RESPONSE_TIME_RANGE_BASE=default;
2874 +SET GLOBAL QUERY_RESPONSE_TIME_STATS=default;
2876 +++ b/patch_info/response-time-distribution.info
2878 +File=response-time-distribution.patch
2879 +Name=Response time distribution
2881 +Author=Percona <info@percona.com>
2885 +2010-07-02 first version avaliable
2886 +2010-09-15 add column 'total'
2887 --- a/sql/CMakeLists.txt
2888 +++ b/sql/CMakeLists.txt
2890 message.h mf_iocache.cc my_decimal.cc ../sql-common/my_time.c
2891 mysqld.cc net_serv.cc keycaches.cc
2892 ../sql-common/client_plugin.c
2893 - opt_range.cc opt_range.h opt_sum.cc
2894 + opt_range.cc opt_range.h query_response_time.h opt_sum.cc
2895 ../sql-common/pack.c parse_file.cc password.c procedure.cc
2896 protocol.cc records.cc repl_failsafe.cc rpl_filter.cc set_var.cc
2897 slave.cc sp.cc sp_cache.cc sp_head.cc sp_pcontext.cc
2899 sql_cache.cc sql_class.cc sql_client.cc sql_crypt.cc sql_crypt.h
2900 sql_cursor.cc sql_db.cc sql_delete.cc sql_derived.cc sql_do.cc
2901 sql_error.cc sql_handler.cc sql_help.cc sql_insert.cc sql_lex.cc
2902 - sql_list.cc sql_load.cc sql_manager.cc sql_parse.cc
2903 + sql_list.cc sql_load.cc sql_manager.cc sql_parse.cc query_response_time.cc
2904 sql_partition.cc sql_plugin.cc sql_prepare.cc sql_rename.cc
2905 debug_sync.cc debug_sync.h
2906 sql_repl.cc sql_select.cc sql_show.cc sql_state.c sql_string.cc
2911 SCH_REFERENTIAL_CONSTRAINTS,
2913 + SCH_QUERY_RESPONSE_TIME,
2915 SCH_SCHEMA_PRIVILEGES,
2920 { "PURGE", SYM(PURGE)},
2921 { "QUARTER", SYM(QUARTER_SYM)},
2922 { "QUERY", SYM(QUERY_SYM)},
2923 + { "QUERY_RESPONSE_TIME", SYM(QUERY_RESPONSE_TIME_SYM)},
2924 { "QUICK", SYM(QUICK)},
2925 { "RANGE", SYM(RANGE_SYM)},
2926 { "READ", SYM(READ_SYM)},
2930 #include "debug_sync.h"
2931 #include "sql_callback.h"
2933 +#include "query_response_time.h"
2935 #ifdef WITH_PERFSCHEMA_STORAGE_ENGINE
2936 #include "../storage/perfschema/pfs_server.h"
2937 #endif /* WITH_PERFSCHEMA_STORAGE_ENGINE */
2939 MY_LOCALE *my_default_lc_messages;
2940 MY_LOCALE *my_default_lc_time_names;
2942 -SHOW_COMP_OPTION have_ssl, have_symlink, have_dlopen, have_query_cache;
2943 +SHOW_COMP_OPTION have_ssl, have_symlink, have_dlopen, have_query_cache, have_response_time_distribution;
2944 SHOW_COMP_OPTION have_geometry, have_rtree_keys;
2945 SHOW_COMP_OPTION have_crypt, have_compress;
2946 SHOW_COMP_OPTION have_profiling;
2947 @@ -917,6 +919,10 @@
2948 my_bool opt_enable_shared_memory;
2949 HANDLE smem_event_connect_request= 0;
2951 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
2952 +ulong opt_query_response_time_range_base = QRT_DEFAULT_BASE;
2953 +my_bool opt_query_response_time_stats= 0;
2954 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
2956 my_bool opt_use_ssl = 0;
2957 char *opt_ssl_ca= NULL, *opt_ssl_capath= NULL, *opt_ssl_cert= NULL,
2958 @@ -1488,6 +1494,9 @@
2959 my_free(opt_bin_logname);
2960 bitmap_free(&temp_pool);
2961 free_max_user_conn();
2962 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
2963 + query_response_time_free();
2964 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
2965 #ifdef HAVE_REPLICATION
2968 @@ -3860,6 +3869,9 @@
2969 if (!DEFAULT_ERRMSGS[0][0])
2972 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
2973 + query_response_time_init();
2974 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
2975 /* We have to initialize the storage engines before CSV logging */
2978 @@ -6773,6 +6785,11 @@
2980 have_query_cache=SHOW_OPTION_NO;
2982 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
2983 + have_response_time_distribution= SHOW_OPTION_YES;
2984 +#else // HAVE_RESPONSE_TIME_DISTRIBUTION
2985 + have_response_time_distribution= SHOW_OPTION_NO;
2986 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
2988 have_geometry=SHOW_OPTION_YES;
2993 extern bool opt_disable_networking, opt_skip_show_db;
2994 extern bool opt_skip_name_resolve;
2995 extern bool opt_ignore_builtin_innodb;
2996 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
2997 +extern ulong opt_query_response_time_range_base;
2998 +extern my_bool opt_query_response_time_stats;
2999 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3000 extern my_bool opt_character_set_client_handshake;
3001 extern bool volatile abort_loop;
3002 extern bool in_bootstrap;
3004 +++ b/sql/query_response_time.cc
3006 +#include "mysql_version.h"
3007 +#include "my_global.h"
3008 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3009 +#include "mysql_com.h"
3010 +#include "rpl_tblmap.h"
3013 +#include "sql_show.h"
3014 +#include "query_response_time.h"
3016 +#define TIME_STRING_POSITIVE_POWER_LENGTH QRT_TIME_STRING_POSITIVE_POWER_LENGTH
3017 +#define TIME_STRING_NEGATIVE_POWER_LENGTH 6
3018 +#define TOTAL_STRING_POSITIVE_POWER_LENGTH QRT_TOTAL_STRING_POSITIVE_POWER_LENGTH
3019 +#define TOTAL_STRING_NEGATIVE_POWER_LENGTH 6
3020 +#define MINIMUM_BASE 2
3021 +#define MAXIMUM_BASE QRT_MAXIMUM_BASE
3022 +#define POSITIVE_POWER_FILLER QRT_POSITIVE_POWER_FILLER
3023 +#define NEGATIVE_POWER_FILLER QRT_NEGATIVE_POWER_FILLER
3024 +#define TIME_OVERFLOW QRT_TIME_OVERFLOW
3025 +#define DEFAULT_BASE QRT_DEFAULT_BASE
3027 +#define do_xstr(s) do_str(s)
3028 +#define do_str(s) #s
3029 +#define do_format(filler,width) "%" filler width "lld"
3031 + Format strings for snprintf. Generate from:
3032 + POSITIVE_POWER_FILLER and TIME_STRING_POSITIVE_POWER_LENGTH
3033 + NEFATIVE_POWER_FILLER and TIME_STRING_NEGATIVE_POWER_LENGTH
3035 +#define TIME_STRING_POSITIVE_POWER_FORMAT do_format(POSITIVE_POWER_FILLER,do_xstr(TIME_STRING_POSITIVE_POWER_LENGTH))
3036 +#define TIME_STRING_NEGATIVE_POWER_FORMAT do_format(NEGATIVE_POWER_FILLER,do_xstr(TIME_STRING_NEGATIVE_POWER_LENGTH))
3037 +#define TIME_STRING_FORMAT TIME_STRING_POSITIVE_POWER_FORMAT "." TIME_STRING_NEGATIVE_POWER_FORMAT
3039 +#define TOTAL_STRING_POSITIVE_POWER_FORMAT do_format(POSITIVE_POWER_FILLER,do_xstr(TOTAL_STRING_POSITIVE_POWER_LENGTH))
3040 +#define TOTAL_STRING_NEGATIVE_POWER_FORMAT do_format(NEGATIVE_POWER_FILLER,do_xstr(TOTAL_STRING_NEGATIVE_POWER_LENGTH))
3041 +#define TOTAL_STRING_FORMAT TOTAL_STRING_POSITIVE_POWER_FORMAT "." TOTAL_STRING_NEGATIVE_POWER_FORMAT
3043 +#define TIME_STRING_LENGTH QRT_TIME_STRING_LENGTH
3044 +#define TIME_STRING_BUFFER_LENGTH (TIME_STRING_LENGTH + 1 /* '\0' */)
3046 +#define TOTAL_STRING_LENGTH QRT_TOTAL_STRING_LENGTH
3047 +#define TOTAL_STRING_BUFFER_LENGTH (TOTAL_STRING_LENGTH + 1 /* '\0' */)
3050 + Calculate length of "log linear"
3052 + (MINIMUM_BASE ^ result) <= (10 ^ STRING_POWER_LENGTH) < (MINIMUM_BASE ^ (result + 1))
3055 + (MINIMUM_BASE ^ result) <= (10 ^ STRING_POWER_LENGTH)
3057 + (MINIMUM_BASE ^ (result + 1)) > (10 ^ STRING_POWER_LENGTH)
3060 + result <= LOG(MINIMUM_BASE, 10 ^ STRING_POWER_LENGTH)= STRING_POWER_LENGTH * LOG(MINIMUM_BASE,10)
3061 + result + 1 > LOG(MINIMUM_BASE, 10 ^ STRING_POWER_LENGTH)= STRING_POWER_LENGTH * LOG(MINIMUM_BASE,10)
3063 + 4) STRING_POWER_LENGTH * LOG(MINIMUM_BASE,10) - 1 < result <= STRING_POWER_LENGTH * LOG(MINIMUM_BASE,10)
3065 + MINIMUM_BASE= 2 always, LOG(MINIMUM_BASE,10)= 3.3219280948873626, result= (int)3.3219280948873626 * STRING_POWER_LENGTH
3067 + Last counter always use for time overflow
3069 +#define POSITIVE_POWER_COUNT ((int)(3.32192809 * TIME_STRING_POSITIVE_POWER_LENGTH))
3070 +#define NEGATIVE_POWER_COUNT ((int)(3.32192809 * TIME_STRING_NEGATIVE_POWER_LENGTH))
3071 +#define OVERALL_POWER_COUNT (NEGATIVE_POWER_COUNT + 1 + POSITIVE_POWER_COUNT)
3073 +#define MILLION ((unsigned long)1000 * 1000)
3075 +namespace query_response_time
3081 + utility() : m_base(0)
3083 + m_max_dec_value= MILLION;
3084 + for(int i= 0; TIME_STRING_POSITIVE_POWER_LENGTH > i; ++i)
3085 + m_max_dec_value *= 10;
3086 + setup(DEFAULT_BASE);
3089 + uint base() const { return m_base; }
3090 + uint negative_count() const { return m_negative_count; }
3091 + uint positive_count() const { return m_positive_count; }
3092 + uint bound_count() const { return m_bound_count; }
3093 + ulonglong max_dec_value() const { return m_max_dec_value; }
3094 + ulonglong bound(uint index) const { return m_bound[ index ]; }
3096 + void setup(uint base)
3098 + if(base != m_base)
3102 + const ulonglong million= 1000 * 1000;
3103 + ulonglong value= million;
3104 + m_negative_count= 0;
3107 + m_negative_count += 1;
3110 + m_negative_count -= 1;
3113 + m_positive_count= 0;
3114 + while(value < m_max_dec_value)
3116 + m_positive_count += 1;
3119 + m_bound_count= m_negative_count + m_positive_count;
3122 + for(uint i= 0; i < m_negative_count; ++i)
3125 + m_bound[m_negative_count - i - 1]= value;
3128 + for(uint i= 0; i < m_positive_count; ++i)
3130 + m_bound[m_negative_count + i]= value;
3137 + uint m_negative_count;
3138 + uint m_positive_count;
3139 + uint m_bound_count;
3140 + ulonglong m_max_dec_value; /* for TIME_STRING_POSITIVE_POWER_LENGTH=7 is 10000000 */
3141 + ulonglong m_bound[OVERALL_POWER_COUNT];
3145 +void print_time(char* buffer, std::size_t buffer_size, const char* format,
3148 + ulonglong second= (value / MILLION);
3149 + ulonglong microsecond= (value % MILLION);
3150 + my_snprintf(buffer, buffer_size, format, second, microsecond);
3153 +class time_collector
3156 + time_collector(utility& u) : m_utility(&u)
3158 + my_atomic_rwlock_init(&time_collector_lock);
3162 + my_atomic_rwlock_destroy(&time_collector_lock);
3164 + uint32 count(uint index) const
3166 + my_atomic_rwlock_rdlock(&time_collector_lock);
3167 + uint32 result= my_atomic_load32((int32*)&m_count[index]);
3168 + my_atomic_rwlock_rdunlock(&time_collector_lock);
3171 + uint64 total(uint index) const
3173 + my_atomic_rwlock_rdlock(&time_collector_lock);
3174 + uint64 result= my_atomic_load64((int64*)&m_total[index]);
3175 + my_atomic_rwlock_rdunlock(&time_collector_lock);
3181 + my_atomic_rwlock_wrlock(&time_collector_lock);
3182 + memset((void*)&m_count,0,sizeof(m_count));
3183 + memset((void*)&m_total,0,sizeof(m_total));
3184 + my_atomic_rwlock_wrunlock(&time_collector_lock);
3186 + void collect(uint64 time)
3189 + for(int count= m_utility->bound_count(); count > i; ++i)
3191 + if(m_utility->bound(i) > time)
3193 + my_atomic_rwlock_wrlock(&time_collector_lock);
3194 + my_atomic_add32((int32*)(&m_count[i]), 1);
3195 + my_atomic_add64((int64*)(&m_total[i]), time);
3196 + my_atomic_rwlock_wrunlock(&time_collector_lock);
3202 + utility* m_utility;
3203 + /* The lock for atomic operations on m_count and m_total. Only actually
3204 + used on architectures that do not have atomic implementation of atomic
3206 + my_atomic_rwlock_t time_collector_lock;
3207 + uint32 m_count[OVERALL_POWER_COUNT + 1];
3208 + uint64 m_total[OVERALL_POWER_COUNT + 1];
3214 + collector() : m_time(m_utility)
3216 + m_utility.setup(DEFAULT_BASE);
3222 + m_utility.setup(opt_query_response_time_range_base);
3225 + int fill(THD* thd, TABLE_LIST *tables, COND *cond)
3227 + DBUG_ENTER("fill_schema_query_response_time");
3228 + TABLE *table= static_cast<TABLE*>(tables->table);
3229 + Field **fields= table->field;
3230 + for(uint i= 0, count= bound_count() + 1 /* with overflow */; count > i; ++i)
3232 + char time[TIME_STRING_BUFFER_LENGTH];
3233 + char total[TOTAL_STRING_BUFFER_LENGTH];
3234 + if(i == bound_count())
3236 + assert(sizeof(TIME_OVERFLOW) <= TIME_STRING_BUFFER_LENGTH);
3237 + assert(sizeof(TIME_OVERFLOW) <= TOTAL_STRING_BUFFER_LENGTH);
3238 + memcpy(time,TIME_OVERFLOW,sizeof(TIME_OVERFLOW));
3239 + memcpy(total,TIME_OVERFLOW,sizeof(TIME_OVERFLOW));
3243 + print_time(time, sizeof(time), TIME_STRING_FORMAT, this->bound(i));
3244 + print_time(total, sizeof(total), TOTAL_STRING_FORMAT, this->total(i));
3246 + fields[0]->store(time,strlen(time),system_charset_info);
3247 + fields[1]->store(this->count(i));
3248 + fields[2]->store(total,strlen(total),system_charset_info);
3249 + if (schema_table_store_record(thd, table))
3256 + void collect(ulonglong time)
3258 + m_time.collect(time);
3260 + uint bound_count() const
3262 + return m_utility.bound_count();
3264 + ulonglong bound(uint index)
3266 + return m_utility.bound(index);
3268 + ulonglong count(uint index)
3270 + return m_time.count(index);
3272 + ulonglong total(uint index)
3274 + return m_time.total(index);
3277 + utility m_utility;
3278 + time_collector m_time;
3281 +static collector g_collector;
3283 +} // namespace query_response_time
3285 +void query_response_time_init()
3289 +void query_response_time_free()
3291 + query_response_time::g_collector.flush();
3294 +void query_response_time_flush()
3296 + query_response_time::g_collector.flush();
3298 +void query_response_time_collect(ulonglong query_time)
3300 + query_response_time::g_collector.collect(query_time);
3303 +int query_response_time_fill(THD* thd, TABLE_LIST *tables, COND *cond)
3305 + return query_response_time::g_collector.fill(thd,tables,cond);
3307 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3309 +++ b/sql/query_response_time.h
3311 +#ifndef QUERY_RESPONSE_TIME_H
3312 +#define QUERY_RESPONSE_TIME_H
3315 + Settings for query response time
3319 + Maximum string length for (10 ^ (-1 * QRT_STRING_NEGATIVE_POWER_LENGTH)) in text representation.
3320 + Example: for 6 is 0.000001
3323 + Maximum string length for (10 ^ (QRT_STRING_POSITIVE_POWER_LENGTH + 1) - 1) in text representation.
3324 + Example: for 7 is 9999999.0
3326 +#define QRT_TIME_STRING_POSITIVE_POWER_LENGTH 7
3327 +#define QRT_TOTAL_STRING_POSITIVE_POWER_LENGTH 7
3330 + Minimum base for log - ALWAYS 2
3331 + Maximum base for log:
3333 +#define QRT_MAXIMUM_BASE 1000
3336 + Filler for whole number (positive power)
3338 + QRT_POSITIVE_POWER_FILLER ' '
3339 + QRT_POSITIVE_POWER_LENGTH 7
3340 + and number 7234 result is:
3343 +#define QRT_POSITIVE_POWER_FILLER ""
3345 + Filler for fractional number. Similiary to whole number
3347 +#define QRT_NEGATIVE_POWER_FILLER "0"
3350 + Message if time too big for statistic collecting (very long query)
3352 +#define QRT_TIME_OVERFLOW "TOO LONG"
3354 +#define QRT_DEFAULT_BASE 10
3356 +#define QRT_TIME_STRING_LENGTH \
3357 + max( (QRT_TIME_STRING_POSITIVE_POWER_LENGTH + 1 /* '.' */ + 6 /*QRT_TIME_STRING_NEGATIVE_POWER_LENGTH*/), \
3358 + (sizeof(QRT_TIME_OVERFLOW) - 1) )
3360 +#define QRT_TOTAL_STRING_LENGTH \
3361 + max( (QRT_TOTAL_STRING_POSITIVE_POWER_LENGTH + 1 /* '.' */ + 6 /*QRT_TOTAL_STRING_NEGATIVE_POWER_LENGTH*/), \
3362 + (sizeof(QRT_TIME_OVERFLOW) - 1) )
3364 +extern ST_SCHEMA_TABLE query_response_time_table;
3366 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3367 +extern void query_response_time_init ();
3368 +extern void query_response_time_free ();
3369 +extern void query_response_time_flush ();
3370 +extern void query_response_time_collect(ulonglong query_time);
3371 +extern int query_response_time_fill (THD* thd, TABLE_LIST *tables, COND *cond);
3372 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3374 +#endif // QUERY_RESPONSE_TIME_H
3379 extern SHOW_COMP_OPTION have_ssl, have_symlink, have_dlopen;
3380 extern SHOW_COMP_OPTION have_query_cache;
3381 +extern SHOW_COMP_OPTION have_response_time_distribution;
3382 extern SHOW_COMP_OPTION have_geometry, have_rtree_keys;
3383 extern SHOW_COMP_OPTION have_crypt;
3384 extern SHOW_COMP_OPTION have_compress;
3385 --- a/sql/sql_parse.cc
3386 +++ b/sql/sql_parse.cc
3388 #include "sp_cache.h"
3390 #include "sql_trigger.h"
3391 +#include "query_response_time.h"
3392 #include "transaction.h"
3393 #include "sql_audit.h"
3394 #include "sql_prepare.h"
3395 @@ -1518,6 +1519,12 @@
3397 ulonglong end_utime_of_query= thd->current_utime();
3398 ulonglong query_exec_time= get_query_exec_time(thd, end_utime_of_query);
3399 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3400 + if (opt_query_response_time_stats)
3402 + query_response_time_collect(query_exec_time);
3407 Low long_query_time value most likely means user is debugging stuff and even
3408 @@ -1682,6 +1689,7 @@
3411 case SCH_COLLATIONS:
3412 + case SCH_QUERY_RESPONSE_TIME:
3413 case SCH_COLLATION_CHARACTER_SET_APPLICABILITY:
3414 case SCH_USER_PRIVILEGES:
3415 case SCH_SCHEMA_PRIVILEGES:
3416 --- a/sql/sql_reload.cc
3417 +++ b/sql/sql_reload.cc
3419 #include "hostname.h" // hostname_cache_refresh
3420 #include "sql_repl.h" // reset_master, reset_slave
3421 #include "debug_sync.h"
3423 +#include "query_response_time.h"
3426 Reload/resets privileges and the different caches.
3427 @@ -322,6 +322,12 @@
3429 if (options & REFRESH_USER_RESOURCES)
3430 reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */
3431 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3432 + if (options & REFRESH_QUERY_RESPONSE_TIME)
3434 + query_response_time_flush();
3436 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3437 if (*write_to_binlog != -1)
3438 *write_to_binlog= tmp_write_to_binlog;
3440 --- a/sql/sql_show.cc
3441 +++ b/sql/sql_show.cc
3443 #include "event_data_objects.h"
3446 +#include "query_response_time.h"
3447 #include "lock.h" // MYSQL_OPEN_IGNORE_FLUSH
3448 #include "debug_sync.h"
3449 #include "datadict.h" // dd_frm_type()
3450 @@ -7888,6 +7889,14 @@
3454 +ST_FIELD_INFO query_response_time_fields_info[] =
3456 + {"time", QRT_TIME_STRING_LENGTH, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE },
3457 + {"count", MY_INT32_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONG, 0, MY_I_S_UNSIGNED, "", SKIP_OPEN_TABLE },
3458 + {"total", QRT_TIME_STRING_LENGTH, MYSQL_TYPE_STRING, 0, 0, "", SKIP_OPEN_TABLE },
3459 + {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE }
3462 ST_SCHEMA_TABLE schema_tables[]=
3464 {"CHARACTER_SETS", charsets_fields_info, create_schema_table,
3465 @@ -7941,6 +7950,13 @@
3466 1, 9, 0, OPTIMIZE_I_S_TABLE|OPEN_TABLE_ONLY},
3467 {"ROUTINES", proc_fields_info, create_schema_table,
3468 fill_schema_proc, make_proc_old_format, 0, -1, -1, 0, 0},
3469 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3470 + {"QUERY_RESPONSE_TIME", query_response_time_fields_info, create_schema_table,
3471 + query_response_time_fill, make_old_format, 0, -1, -1, 0, 0},
3473 + {"QUERY_RESPONSE_TIME", query_response_time_fields_info, create_schema_table,
3474 + 0, make_old_format, 0, -1, -1, 0, 0},
3475 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3476 {"SCHEMATA", schema_fields_info, create_schema_table,
3477 fill_schema_schemata, make_schemata_old_format, 0, 1, -1, 0, 0},
3478 {"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
3479 --- a/sql/sql_yacc.yy
3480 +++ b/sql/sql_yacc.yy
3481 @@ -1194,6 +1194,7 @@
3485 +%token QUERY_RESPONSE_TIME_SYM
3487 %token RANGE_SYM /* SQL-2003-R */
3488 %token READS_SYM /* SQL-2003-R */
3489 @@ -11105,6 +11106,15 @@
3491 Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
3493 + | QUERY_RESPONSE_TIME_SYM wild_and_where
3495 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3497 + lex->sql_command= SQLCOM_SELECT;
3498 + if (prepare_schema_table(YYTHD, lex, 0, SCH_QUERY_RESPONSE_TIME))
3500 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3502 | CREATE PROCEDURE_SYM sp_name
3505 @@ -11344,6 +11354,12 @@
3506 Lex->type|= REFRESH_SLAVE;
3507 Lex->reset_slave_info.all= false;
3509 + | QUERY_RESPONSE_TIME_SYM
3511 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3512 + Lex->type|= REFRESH_QUERY_RESPONSE_TIME;
3513 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3516 { Lex->type|= REFRESH_MASTER; }
3518 @@ -12651,6 +12667,7 @@
3522 + | QUERY_RESPONSE_TIME_SYM {}
3526 --- a/sql/sys_vars.cc
3527 +++ b/sql/sys_vars.cc
3530 TYPELIB bool_typelib={ array_elements(bool_values)-1, "", bool_values, 0 };
3532 +#include "query_response_time.h"
3534 This forward declaration is needed because including sql_base.h
3535 causes further includes. [TODO] Eliminate this forward declaration
3536 @@ -1939,6 +1940,26 @@
3538 #endif /* HAVE_QUERY_CACHE */
3541 +static Sys_var_have Sys_have_response_time_distribution(
3542 + "have_response_time_distribution", "have_response_time_distribution",
3543 + READ_ONLY GLOBAL_VAR(have_response_time_distribution), NO_CMD_LINE);
3545 +#ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
3546 +static Sys_var_mybool Sys_query_response_time_stats(
3547 + "query_response_time_stats", "Enable or disable query response time statisics collecting",
3548 + GLOBAL_VAR(opt_query_response_time_stats), CMD_LINE(OPT_ARG),
3551 +static Sys_var_ulong Sys_query_response_time_range_base(
3552 + "query_response_time_range_base",
3553 + "Select base of log for query_response_time ranges. WARNING: variable change affect only after flush",
3554 + GLOBAL_VAR(opt_query_response_time_range_base),
3555 + CMD_LINE(REQUIRED_ARG), VALID_RANGE(2, QRT_MAXIMUM_BASE),
3556 + DEFAULT(QRT_DEFAULT_BASE),
3558 +#endif // HAVE_RESPONSE_TIME_DISTRIBUTION
3560 static Sys_var_mybool Sys_secure_auth(
3562 "Disallow authentication for accounts that have old (pre-4.1) "
3564 +++ b/mysql-test/r/have_response_time_distribution.require
3566 +Variable_name Value
3567 +have_response_time_distribution YES
3568 --- a/include/atomic/x86-gcc.h
3569 +++ b/include/atomic/x86-gcc.h
3570 @@ -108,27 +108,23 @@
3574 - On some platforms (e.g. Mac OS X and Solaris) the ebx register
3575 - is held as a pointer to the global offset table. Thus we're not
3576 - allowed to use the b-register on those platforms when compiling
3577 - PIC code, to avoid this we push ebx and pop ebx. The new value
3578 - is copied directly from memory to avoid problems with a implicit
3579 - manipulation of the stack pointer by the push.
3581 cmpxchg8b works on both 32-bit platforms and 64-bit platforms but
3582 the code here is only used on 32-bit platforms, on 64-bit
3583 platforms the much simpler make_atomic_cas_body32 will work
3586 -#define make_atomic_cas_body64 \
3587 - asm volatile ("push %%ebx;" \
3588 - "movl (%%ecx), %%ebx;" \
3589 - "movl 4(%%ecx), %%ecx;" \
3590 - LOCK_prefix "; cmpxchg8b %0;" \
3591 - "setz %2; pop %%ebx" \
3592 - : "=m" (*a), "+A" (*cmp), "=c" (ret) \
3593 - : "c" (&set), "m" (*a) \
3594 - : "memory", "esp")
3595 +#define make_atomic_cas_body64 \
3596 + asm volatile ("movl %%edi, -4(%%esp);" \
3597 + "leal %0, %%edi;" \
3598 + "xchgl %%ebx, %%esi;" \
3599 + LOCK_prefix "; cmpxchg8b (%%edi);" \
3600 + "movl %%esi, %%ebx;" \
3601 + "movl -4(%%esp), %%edi;" \
3603 + : "+m" (*a), "=q" (ret), "+A" (*cmp) \
3604 + : "S" ((int32)(set & 0xFFFFFFFF)), \
3605 + "c" ((int32)(set >> 32)) \
3606 + : "memory", "flags")
3610 --- a/mysql-test/r/mysqld--help-notwin.result
3611 +++ b/mysql-test/r/mysqld--help-notwin.result
3612 @@ -505,6 +505,12 @@
3613 Invalidate queries in query cache on LOCK for write
3614 --query-prealloc-size=#
3615 Persistent buffer for query parsing and execution
3616 + --query-response-time-range-base=#
3617 + Select base of log for query_response_time ranges.
3618 + WARNING: variable change affect only after flush
3619 + --query-response-time-stats
3620 + Enable or disable query response time statisics
3622 --range-alloc-block-size=#
3623 Allocation block size for storing ranges during
3627 query-cache-wlock-invalidate FALSE
3628 query-prealloc-size 8192
3629 +query-response-time-range-base 10
3630 +query-response-time-stats FALSE
3631 range-alloc-block-size 4096
3632 read-buffer-size 131072