Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d71d4119
Commit
d71d4119
authored
May 04, 2015
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
5.6.24
parent
05c002d0
Changes
128
Show whitespace changes
Inline
Side-by-side
Showing
128 changed files
with
731 additions
and
1663 deletions
+731
-1663
include/mysql/psi/mysql_statement.h
include/mysql/psi/mysql_statement.h
+9
-17
include/mysql/psi/psi.h
include/mysql/psi/psi.h
+16
-41
include/mysql/psi/psi_abi_v0.h.pp
include/mysql/psi/psi_abi_v0.h.pp
+1
-1
include/mysql/psi/psi_abi_v1.h.pp
include/mysql/psi/psi_abi_v1.h.pp
+5
-19
include/mysql/psi/psi_abi_v2.h.pp
include/mysql/psi/psi_abi_v2.h.pp
+1
-1
mysql-test/suite/perfschema/include/sizing_auto.inc
mysql-test/suite/perfschema/include/sizing_auto.inc
+10
-2
mysql-test/suite/perfschema/include/socket_event.inc
mysql-test/suite/perfschema/include/socket_event.inc
+1
-1
mysql-test/suite/perfschema/include/start_server_common.inc
mysql-test/suite/perfschema/include/start_server_common.inc
+3
-1
mysql-test/suite/perfschema/include/table_aggregate_load.inc
mysql-test/suite/perfschema/include/table_aggregate_load.inc
+3
-1
mysql-test/suite/perfschema/r/digest_null_literal.result
mysql-test/suite/perfschema/r/digest_null_literal.result
+27
-0
mysql-test/suite/perfschema/r/ortho_iter.result
mysql-test/suite/perfschema/r/ortho_iter.result
+3
-27
mysql-test/suite/perfschema/r/privilege_table_io.result
mysql-test/suite/perfschema/r/privilege_table_io.result
+3
-2
mysql-test/suite/perfschema/r/sizing_default.result
mysql-test/suite/perfschema/r/sizing_default.result
+3
-159
mysql-test/suite/perfschema/r/sizing_high.result
mysql-test/suite/perfschema/r/sizing_high.result
+3
-159
mysql-test/suite/perfschema/r/sizing_low.result
mysql-test/suite/perfschema/r/sizing_low.result
+3
-159
mysql-test/suite/perfschema/r/sizing_med.result
mysql-test/suite/perfschema/r/sizing_med.result
+3
-159
mysql-test/suite/perfschema/r/sizing_off.result
mysql-test/suite/perfschema/r/sizing_off.result
+3
-2
mysql-test/suite/perfschema/r/start_server_disable_idle.result
...-test/suite/perfschema/r/start_server_disable_idle.result
+3
-2
mysql-test/suite/perfschema/r/start_server_disable_stages.result
...est/suite/perfschema/r/start_server_disable_stages.result
+3
-2
mysql-test/suite/perfschema/r/start_server_disable_statements.result
...suite/perfschema/r/start_server_disable_statements.result
+3
-2
mysql-test/suite/perfschema/r/start_server_disable_waits.result
...test/suite/perfschema/r/start_server_disable_waits.result
+3
-2
mysql-test/suite/perfschema/r/start_server_innodb.result
mysql-test/suite/perfschema/r/start_server_innodb.result
+3
-2
mysql-test/suite/perfschema/r/start_server_low_digest.result
mysql-test/suite/perfschema/r/start_server_low_digest.result
+12
-0
mysql-test/suite/perfschema/r/start_server_no_account.result
mysql-test/suite/perfschema/r/start_server_no_account.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_cond_class.result
...test/suite/perfschema/r/start_server_no_cond_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
...-test/suite/perfschema/r/start_server_no_cond_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_file_class.result
...test/suite/perfschema/r/start_server_no_file_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_file_inst.result
...-test/suite/perfschema/r/start_server_no_file_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_host.result
mysql-test/suite/perfschema/r/start_server_no_host.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
...est/suite/perfschema/r/start_server_no_mutex_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
...test/suite/perfschema/r/start_server_no_mutex_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
...st/suite/perfschema/r/start_server_no_rwlock_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
...est/suite/perfschema/r/start_server_no_rwlock_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
...st/suite/perfschema/r/start_server_no_setup_actors.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
...t/suite/perfschema/r/start_server_no_setup_objects.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_socket_class.result
...st/suite/perfschema/r/start_server_no_socket_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
...est/suite/perfschema/r/start_server_no_socket_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_stage_class.result
...est/suite/perfschema/r/start_server_no_stage_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_stages_history.result
.../suite/perfschema/r/start_server_no_stages_history.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
...e/perfschema/r/start_server_no_stages_history_long.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_statement_class.result
...suite/perfschema/r/start_server_no_statement_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_statements_history.result
...te/perfschema/r/start_server_no_statements_history.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
...rfschema/r/start_server_no_statements_history_long.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
...-test/suite/perfschema/r/start_server_no_table_hdl.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_table_inst.result
...test/suite/perfschema/r/start_server_no_table_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_thread_class.result
...st/suite/perfschema/r/start_server_no_thread_class.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
...est/suite/perfschema/r/start_server_no_thread_inst.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_user.result
mysql-test/suite/perfschema/r/start_server_no_user.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_waits_history.result
...t/suite/perfschema/r/start_server_no_waits_history.result
+3
-2
mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
...te/perfschema/r/start_server_no_waits_history_long.result
+3
-2
mysql-test/suite/perfschema/r/start_server_nothing.result
mysql-test/suite/perfschema/r/start_server_nothing.result
+3
-2
mysql-test/suite/perfschema/r/start_server_off.result
mysql-test/suite/perfschema/r/start_server_off.result
+3
-2
mysql-test/suite/perfschema/r/start_server_on.result
mysql-test/suite/perfschema/r/start_server_on.result
+3
-2
mysql-test/suite/perfschema/r/statement_digest.result
mysql-test/suite/perfschema/r/statement_digest.result
+2
-3
mysql-test/suite/perfschema/r/statement_digest_consumers.result
...test/suite/perfschema/r/statement_digest_consumers.result
+2
-3
mysql-test/suite/perfschema/r/statement_digest_long_query.result
...est/suite/perfschema/r/statement_digest_long_query.result
+1
-1
mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result
...st/suite/perfschema/r/table_aggregate_global_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result
...st/suite/perfschema/r/table_aggregate_global_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result
...st/suite/perfschema/r/table_aggregate_global_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result
...st/suite/perfschema/r/table_aggregate_global_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
...test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
...test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
...test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
...test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_off.result
mysql-test/suite/perfschema/r/table_aggregate_off.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result
...st/suite/perfschema/r/table_aggregate_thread_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result
...st/suite/perfschema/r/table_aggregate_thread_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result
...st/suite/perfschema/r/table_aggregate_thread_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result
...st/suite/perfschema/r/table_aggregate_thread_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result
...suite/perfschema/r/table_io_aggregate_global_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result
...suite/perfschema/r/table_io_aggregate_global_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result
...suite/perfschema/r/table_io_aggregate_global_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result
...suite/perfschema/r/table_io_aggregate_global_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
...t/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
...t/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
...t/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
...t/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
...suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
...suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
...suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
...suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result
...ite/perfschema/r/table_lock_aggregate_global_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
...ite/perfschema/r/table_lock_aggregate_global_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
...ite/perfschema/r/table_lock_aggregate_global_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
...ite/perfschema/r/table_lock_aggregate_global_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
...suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
...suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
...suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
...suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
...ite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
...ite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
...ite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
+3
-2
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
...ite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
+3
-2
mysql-test/suite/perfschema/t/digest_null_literal.test
mysql-test/suite/perfschema/t/digest_null_literal.test
+32
-0
mysql-test/suite/perfschema/t/ortho_iter.test
mysql-test/suite/perfschema/t/ortho_iter.test
+3
-2
mysql-test/suite/perfschema/t/privilege_table_io.test
mysql-test/suite/perfschema/t/privilege_table_io.test
+3
-1
mysql-test/suite/perfschema/t/sizing_off.test
mysql-test/suite/perfschema/t/sizing_off.test
+3
-1
mysql-test/suite/perfschema/t/start_server_low_digest-master.opt
...est/suite/perfschema/t/start_server_low_digest-master.opt
+1
-0
mysql-test/suite/perfschema/t/start_server_low_digest.test
mysql-test/suite/perfschema/t/start_server_low_digest.test
+21
-0
storage/perfschema/CMakeLists.txt
storage/perfschema/CMakeLists.txt
+1
-19
storage/perfschema/pfs.cc
storage/perfschema/pfs.cc
+61
-22
storage/perfschema/pfs_account.cc
storage/perfschema/pfs_account.cc
+2
-4
storage/perfschema/pfs_column_types.h
storage/perfschema/pfs_column_types.h
+1
-1
storage/perfschema/pfs_digest.cc
storage/perfschema/pfs_digest.cc
+43
-483
storage/perfschema/pfs_digest.h
storage/perfschema/pfs_digest.h
+6
-142
storage/perfschema/pfs_engine_table.cc
storage/perfschema/pfs_engine_table.cc
+54
-2
storage/perfschema/pfs_events_statements.cc
storage/perfschema/pfs_events_statements.cc
+35
-3
storage/perfschema/pfs_events_statements.h
storage/perfschema/pfs_events_statements.h
+7
-3
storage/perfschema/pfs_host.cc
storage/perfschema/pfs_host.cc
+2
-4
storage/perfschema/pfs_instr.cc
storage/perfschema/pfs_instr.cc
+51
-1
storage/perfschema/pfs_instr.h
storage/perfschema/pfs_instr.h
+3
-1
storage/perfschema/pfs_server.cc
storage/perfschema/pfs_server.cc
+1
-1
storage/perfschema/pfs_server.h
storage/perfschema/pfs_server.h
+3
-1
storage/perfschema/pfs_user.cc
storage/perfschema/pfs_user.cc
+2
-4
storage/perfschema/table_events_statements.cc
storage/perfschema/table_events_statements.cc
+20
-26
storage/perfschema/table_events_statements.h
storage/perfschema/table_events_statements.h
+4
-3
storage/perfschema/table_helper.cc
storage/perfschema/table_helper.cc
+11
-11
storage/perfschema/table_helper.h
storage/perfschema/table_helper.h
+2
-4
storage/perfschema/unittest/CMakeLists.txt
storage/perfschema/unittest/CMakeLists.txt
+6
-2
storage/perfschema/unittest/pfs-t.cc
storage/perfschema/unittest/pfs-t.cc
+4
-2
storage/perfschema/unittest/pfs_account-oom-t.cc
storage/perfschema/unittest/pfs_account-oom-t.cc
+1
-2
storage/perfschema/unittest/pfs_host-oom-t.cc
storage/perfschema/unittest/pfs_host-oom-t.cc
+1
-2
storage/perfschema/unittest/pfs_instr-oom-t.cc
storage/perfschema/unittest/pfs_instr-oom-t.cc
+1
-2
storage/perfschema/unittest/pfs_instr-t.cc
storage/perfschema/unittest/pfs_instr-t.cc
+4
-3
storage/perfschema/unittest/pfs_instr_class-oom-t.cc
storage/perfschema/unittest/pfs_instr_class-oom-t.cc
+1
-2
storage/perfschema/unittest/pfs_instr_class-t.cc
storage/perfschema/unittest/pfs_instr_class-t.cc
+1
-3
storage/perfschema/unittest/pfs_server_stubs.cc
storage/perfschema/unittest/pfs_server_stubs.cc
+9
-2
storage/perfschema/unittest/pfs_user-oom-t.cc
storage/perfschema/unittest/pfs_user-oom-t.cc
+1
-2
No files found.
include/mysql/psi/mysql_statement.h
View file @
d71d4119
/* Copyright (c) 2010, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -41,7 +41,6 @@
do {} while (0)
#endif
#ifdef HAVE_PSI_STATEMENT_INTERFACE
#ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE
#define MYSQL_DIGEST_START(LOCKER) \
inline_mysql_digest_start(LOCKER)
...
...
@@ -49,17 +48,13 @@
#define MYSQL_DIGEST_START(LOCKER) \
NULL
#endif
#else
#define MYSQL_DIGEST_START(LOCKER) \
NULL
#endif
#ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE
#define MYSQL_
ADD_TOKEN(LOCKER, T, Y
) \
inline_mysql_
add_token(LOCKER, T, Y
)
#define MYSQL_
DIGEST_END(LOCKER, DIGEST
) \
inline_mysql_
digest_end(LOCKER, DIGEST
)
#else
#define MYSQL_
ADD_TOKEN(LOCKER, T, Y
) \
NULL
#define MYSQL_
DIGEST_END(LOCKER, DIGEST
) \
do {} while (0)
#endif
#ifdef HAVE_PSI_STATEMENT_INTERFACE
...
...
@@ -132,20 +127,17 @@ inline_mysql_digest_start(PSI_statement_locker *locker)
PSI_digest_locker
*
digest_locker
=
NULL
;
if
(
likely
(
locker
!=
NULL
))
digest_locker
=
PSI_
STATEMEN
T_CALL
(
digest_start
)(
locker
);
digest_locker
=
PSI_
DIGES
T_CALL
(
digest_start
)(
locker
);
return
digest_locker
;
}
#endif
#ifdef HAVE_PSI_STATEMENT_DIGEST_INTERFACE
static
inline
struct
PSI_digest_locker
*
inline_mysql_add_token
(
PSI_digest_locker
*
locker
,
uint
token
,
void
*
yylval
)
static
inline
void
inline_mysql_digest_end
(
PSI_digest_locker
*
locker
,
const
sql_digest_storage
*
digest
)
{
if
(
likely
(
locker
!=
NULL
))
locker
=
PSI_STATEMENT_CALL
(
digest_add_token
)(
locker
,
token
,
(
OPAQUE_LEX_YYSTYPE
*
)
yylval
);
return
locker
;
PSI_DIGEST_CALL
(
digest_end
)(
locker
,
digest
);
}
#endif
...
...
include/mysql/psi/psi.h
View file @
d71d4119
/* Copyright (c) 2008, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -43,18 +43,8 @@
C_MODE_START
struct
TABLE_SHARE
;
/*
There are 3 known bison parsers in the server:
- (1) the SQL parser itself, sql/sql_yacc.yy
- (2) storage/innobase/fts/fts0pars.y
- (3) storage/innobase/pars/pars0grm.y
What is instrumented here are the tokens from the SQL query text (1),
to make digests.
Now, to avoid name pollution and conflicts with different YYSTYPE definitions,
an opaque structure is used here.
The real type to use when invoking the digest api is LEX_YYSTYPE.
*/
struct
OPAQUE_LEX_YYSTYPE
;
struct
sql_digest_storage
;
/**
@file mysql/psi/psi.h
...
...
@@ -952,29 +942,6 @@ struct PSI_table_locker_state_v1
uint
m_index
;
};
#define PSI_MAX_DIGEST_STORAGE_SIZE 1024
/**
Structure to store token count/array for a statement
on which digest is to be calculated.
*/
struct
PSI_digest_storage
{
my_bool
m_full
;
int
m_byte_count
;
/** Character set number. */
uint
m_charset_number
;
unsigned
char
m_token_array
[
PSI_MAX_DIGEST_STORAGE_SIZE
];
};
typedef
struct
PSI_digest_storage
PSI_digest_storage
;
struct
PSI_digest_locker_state
{
int
m_last_id_index
;
PSI_digest_storage
m_digest_storage
;
};
typedef
struct
PSI_digest_locker_state
PSI_digest_locker_state
;
/* Duplicate of NAME_LEN, to avoid dependency on mysql_com.h */
#define PSI_SCHEMA_NAME_LEN (64 * 3)
...
...
@@ -1037,7 +1004,7 @@ struct PSI_statement_locker_state_v1
/** Metric, number of sort scans. */
ulong
m_sort_scan
;
/** Statement digest. */
PSI_digest_locker_state
m_digest_state
;
const
struct
sql_digest_storage
*
m_digest
;
/** Current schema name. */
char
m_schema_name
[
PSI_SCHEMA_NAME_LEN
];
/** Length in bytes of @c m_schema_name. */
...
...
@@ -1902,11 +1869,15 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket,
*/
typedef
void
(
*
set_socket_thread_owner_v1_t
)(
struct
PSI_socket
*
socket
);
/**
Get a digest locker for the current statement.
@param locker a statement locker for the running thread
*/
typedef
struct
PSI_digest_locker
*
(
*
digest_start_v1_t
)
(
struct
PSI_statement_locker
*
locker
);
typedef
struct
PSI_digest_locker
*
(
*
digest_add_token
_v1_t
)
(
struct
PSI_digest_locker
*
locker
,
uint
token
,
struct
OPAQUE_LEX_YYSTYPE
*
yylval
);
typedef
void
(
*
digest_end
_v1_t
)
(
struct
PSI_digest_locker
*
locker
,
const
struct
sql_digest_storage
*
digest
);
/**
Stores an array of connection attributes
...
...
@@ -2118,8 +2089,8 @@ struct PSI_v1
set_socket_thread_owner_v1_t
set_socket_thread_owner
;
/** @sa digest_start_v1_t. */
digest_start_v1_t
digest_start
;
/** @sa digest_
add_token
_v1_t. */
digest_
add_token_v1_t
digest_add_token
;
/** @sa digest_
end
_v1_t. */
digest_
end_v1_t
digest_end
;
/** @sa set_thread_connect_attrs_v1_t. */
set_thread_connect_attrs_v1_t
set_thread_connect_attrs
;
};
...
...
@@ -2414,6 +2385,10 @@ extern MYSQL_PLUGIN_IMPORT PSI *PSI_server;
#define PSI_STATEMENT_CALL(M) PSI_DYNAMIC_CALL(M)
#endif
#ifndef PSI_DIGEST_CALL
#define PSI_DIGEST_CALL(M) PSI_DYNAMIC_CALL(M)
#endif
#ifndef PSI_TABLE_CALL
#define PSI_TABLE_CALL(M) PSI_DYNAMIC_CALL(M)
#endif
...
...
include/mysql/psi/psi_abi_v0.h.pp
View file @
d71d4119
#include "mysql/psi/psi.h"
C_MODE_START
struct
TABLE_SHARE
;
struct
OPAQUE_LEX_YYSTYPE
;
struct
sql_digest_storage
;
struct
PSI_mutex
;
typedef
struct
PSI_mutex
PSI_mutex
;
struct
PSI_rwlock
;
...
...
include/mysql/psi/psi_abi_v1.h.pp
View file @
d71d4119
#include "mysql/psi/psi.h"
C_MODE_START
struct
TABLE_SHARE
;
struct
OPAQUE_LEX_YYSTYPE
;
struct
sql_digest_storage
;
struct
PSI_mutex
;
typedef
struct
PSI_mutex
PSI_mutex
;
struct
PSI_rwlock
;
...
...
@@ -241,20 +241,6 @@ struct PSI_table_locker_state_v1
void
*
m_wait
;
uint
m_index
;
};
struct
PSI_digest_storage
{
my_bool
m_full
;
int
m_byte_count
;
uint
m_charset_number
;
unsigned
char
m_token_array
[
1024
];
};
typedef
struct
PSI_digest_storage
PSI_digest_storage
;
struct
PSI_digest_locker_state
{
int
m_last_id_index
;
PSI_digest_storage
m_digest_storage
;
};
typedef
struct
PSI_digest_locker_state
PSI_digest_locker_state
;
struct
PSI_statement_locker_state_v1
{
my_bool
m_discarded
;
...
...
@@ -280,7 +266,7 @@ struct PSI_statement_locker_state_v1
ulong
m_sort_range
;
ulong
m_sort_rows
;
ulong
m_sort_scan
;
PSI_digest_locker_state
m_digest_state
;
const
struct
sql_digest_storage
*
m_digest
;
char
m_schema_name
[(
64
*
3
)];
uint
m_schema_name_length
;
};
...
...
@@ -508,8 +494,8 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket,
typedef
void
(
*
set_socket_thread_owner_v1_t
)(
struct
PSI_socket
*
socket
);
typedef
struct
PSI_digest_locker
*
(
*
digest_start_v1_t
)
(
struct
PSI_statement_locker
*
locker
);
typedef
struct
PSI_digest_locker
*
(
*
digest_add_token
_v1_t
)
(
struct
PSI_digest_locker
*
locker
,
uint
token
,
struct
OPAQUE_LEX_YYSTYPE
*
yylval
);
typedef
void
(
*
digest_end
_v1_t
)
(
struct
PSI_digest_locker
*
locker
,
const
struct
sql_digest_storage
*
digest
);
typedef
int
(
*
set_thread_connect_attrs_v1_t
)(
const
char
*
buffer
,
uint
length
,
const
void
*
from_cs
);
struct
PSI_v1
...
...
@@ -610,7 +596,7 @@ struct PSI_v1
set_socket_info_v1_t
set_socket_info
;
set_socket_thread_owner_v1_t
set_socket_thread_owner
;
digest_start_v1_t
digest_start
;
digest_
add_token_v1_t
digest_add_token
;
digest_
end_v1_t
digest_end
;
set_thread_connect_attrs_v1_t
set_thread_connect_attrs
;
};
typedef
struct
PSI_v1
PSI
;
...
...
include/mysql/psi/psi_abi_v2.h.pp
View file @
d71d4119
#include "mysql/psi/psi.h"
C_MODE_START
struct
TABLE_SHARE
;
struct
OPAQUE_LEX_YYSTYPE
;
struct
sql_digest_storage
;
struct
PSI_mutex
;
typedef
struct
PSI_mutex
PSI_mutex
;
struct
PSI_rwlock
;
...
...
mysql-test/suite/perfschema/include/sizing_auto.inc
View file @
d71d4119
...
...
@@ -4,13 +4,21 @@ show variables like "table_open_cache";
show
variables
like
"max_connections"
;
# open_files_limit depends on OS configuration (ulimit -n)
#show variables like "open_files_limit";
show
variables
like
"%performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
show
status
like
"%performance_schema%"
;
# Each test script should provide a different test.cnf file,
# with different settings.
# This output will show the sizes computed automatically.
# Note that this output is very dependent on the platform.
# The output of SHOW ENGINE PERFORMANCE_SCHEMA STATUS
# is very dependent on the platform,
# so it is not printed here to ensure stability of the .results files.
# To troubleshoot the performance schema memory consumption at different
# configuration settings, comment the following line.
# Debug only:
show
engine
performance_schema
status
;
#
show engine performance_schema status;
mysql-test/suite/perfschema/include/socket_event.inc
View file @
d71d4119
...
...
@@ -126,7 +126,7 @@ if($is_connect)
# Connect is visible.
# We hope that sleep 1 is long enough so that PERFORMANCE_SCHEMA
# can remove this row before we collect the after action state.
let
$wait_timeou
=
5
;
let
$wait_timeou
t
=
5
;
let
$wait_condition
=
SELECT
COUNT
(
*
)
=
0
$part
;
...
...
mysql-test/suite/perfschema/include/start_server_common.inc
View file @
d71d4119
...
...
@@ -68,7 +68,9 @@ select * from performance_schema.users;
--
enable_result_log
# This has a stable output, printing the result:
show
variables
like
"performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
# This has an unrepeatable output, it does depends too much on
# - the platform hardware (sizeof structures, padding)
...
...
mysql-test/suite/perfschema/include/table_aggregate_load.inc
View file @
d71d4119
...
...
@@ -29,7 +29,9 @@ truncate performance_schema.events_waits_summary_global_by_event_name;
truncate
performance_schema
.
events_waits_history_long
;
# Check the configuration is ok
show
variables
like
"performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
show
status
like
"performance_schema%"
;
echo
"================== Step 1 =================="
;
...
...
mysql-test/suite/perfschema/r/digest_null_literal.result
0 → 100644
View file @
d71d4119
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
NULL
NULL
NULL
NULL
NULL NULL
NULL NULL
NULL NULL NULL 1 2 3 NULL NULL
NULL NULL NULL 1 2 3 NULL NULL
1 IS NULL
0
2 IS NOT NULL
1
1 IS NULL 2 IS NULL 3 IS NOT NULL 4 IS NOT NULL
0 0 1 1
SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST_TEXT COUNT_STAR
test TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
test SELECT ? 1
test SELECT ? FROM DUAL 1
test SELECT ?, ... 2
test SELECT ? IS NULL 1
test SELECT ? IS NOT NULL 1
test SELECT ? IS NULL , ? IS NULL , ? IS NOT NULL , ? IS NOT NULL 1
test CREATE TABLE foo ( a INTEGER DEFAULT ? , b INTEGER NOT NULL DEFAULT ? , c INTEGER NOT NULL ) 1
test DROP TABLE foo 1
mysql-test/suite/perfschema/r/ortho_iter.result
View file @
d71d4119
...
...
@@ -92,7 +92,9 @@ close pfs_cursor;
signal sqlstate '01000' set message_text='Done', mysql_errno=12000;
end
$
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -116,7 +118,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
@@ -125,31 +126,6 @@ performance_schema_session_connect_attrs_size 2048
performance_schema_setup_actors_size 100
performance_schema_setup_objects_size 100
performance_schema_users_size 100
show status like "performance_schema%";
Variable_name Value
Performance_schema_accounts_lost 0
Performance_schema_cond_classes_lost 0
Performance_schema_cond_instances_lost 0
Performance_schema_digest_lost 0
Performance_schema_file_classes_lost 0
Performance_schema_file_handles_lost 0
Performance_schema_file_instances_lost 0
Performance_schema_hosts_lost 0
Performance_schema_locker_lost 0
Performance_schema_mutex_classes_lost 0
Performance_schema_mutex_instances_lost 0
Performance_schema_rwlock_classes_lost 0
Performance_schema_rwlock_instances_lost 0
Performance_schema_session_connect_attrs_lost 0
Performance_schema_socket_classes_lost 0
Performance_schema_socket_instances_lost 0
Performance_schema_stage_classes_lost 0
Performance_schema_statement_classes_lost 0
Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
call check_instrument("wait/synch/mutex/");
instr_name is_wait is_stage is_statement
wait/synch/mutex/ 1 0 0
...
...
mysql-test/suite/perfschema/r/privilege_table_io.result
View file @
d71d4119
...
...
@@ -22,7 +22,9 @@ flush privileges;
insert into test.marker set a = 1;
insert into test.marker set a = 1;
insert into test.marker set a = 1;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -46,7 +48,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/sizing_default.result
View file @
d71d4119
...
...
@@ -7,7 +7,9 @@ table_open_cache 2000
show variables like "max_connections";
Variable_name Value
max_connections 151
show variables like "%performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -31,7 +33,6 @@ performance_schema_max_rwlock_instances 9102
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 322
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 4000
performance_schema_max_table_instances 12500
performance_schema_max_thread_classes 50
...
...
@@ -65,160 +66,3 @@ Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
show engine performance_schema status;
Type Name Status
performance_schema events_waits_current.row_size 184
performance_schema events_waits_current.row_count 2412
performance_schema events_waits_history.row_size 184
performance_schema events_waits_history.row_count 4020
performance_schema events_waits_history.memory 739680
performance_schema events_waits_history_long.row_size 184
performance_schema events_waits_history_long.row_count 10000
performance_schema events_waits_history_long.memory 1840000
performance_schema (pfs_mutex_class).row_size 256
performance_schema (pfs_mutex_class).row_count 200
performance_schema (pfs_mutex_class).memory 51200
performance_schema (pfs_rwlock_class).row_size 320
performance_schema (pfs_rwlock_class).row_count 40
performance_schema (pfs_rwlock_class).memory 12800
performance_schema (pfs_cond_class).row_size 256
performance_schema (pfs_cond_class).row_count 80
performance_schema (pfs_cond_class).memory 20480
performance_schema (pfs_thread_class).row_size 192
performance_schema (pfs_thread_class).row_count 50
performance_schema (pfs_thread_class).memory 9600
performance_schema (pfs_file_class).row_size 320
performance_schema (pfs_file_class).row_count 50
performance_schema (pfs_file_class).memory 16000
performance_schema mutex_instances.row_size 128
performance_schema mutex_instances.row_count 15906
performance_schema mutex_instances.memory 2035968
performance_schema rwlock_instances.row_size 192
performance_schema rwlock_instances.row_count 9102
performance_schema rwlock_instances.memory 1747584
performance_schema cond_instances.row_size 128
performance_schema cond_instances.row_count 3504
performance_schema cond_instances.memory 448512
performance_schema threads.row_size 2816
performance_schema threads.row_count 402
performance_schema threads.memory 1132032
performance_schema file_instances.row_size 704
performance_schema file_instances.row_count 7693
performance_schema file_instances.memory 5415872
performance_schema (pfs_file_handle).row_size 8
performance_schema (pfs_file_handle).row_count 32768
performance_schema (pfs_file_handle).memory 262144
performance_schema events_waits_summary_by_thread_by_event_name.row_size 32
performance_schema events_waits_summary_by_thread_by_event_name.row_count 153966
performance_schema events_waits_summary_by_thread_by_event_name.memory 4926912
performance_schema (pfs_table_share).row_size 22208
performance_schema (pfs_table_share).row_count 12500
performance_schema (pfs_table_share).memory 277600000
performance_schema (pfs_table).row_size 9280
performance_schema (pfs_table).row_count 4000
performance_schema (pfs_table).memory 37120000
performance_schema setup_actors.row_size 256
performance_schema setup_actors.row_count 100
performance_schema setup_actors.memory 25600
performance_schema setup_objects.row_size 448
performance_schema setup_objects.row_count 100
performance_schema setup_objects.memory 44800
performance_schema (pfs_account).row_size 256
performance_schema (pfs_account).row_count 100
performance_schema (pfs_account).memory 25600
performance_schema events_waits_summary_by_account_by_event_name.row_size 32
performance_schema events_waits_summary_by_account_by_event_name.row_count 38300
performance_schema events_waits_summary_by_account_by_event_name.memory 1225600
performance_schema events_waits_summary_by_user_by_event_name.row_size 32
performance_schema events_waits_summary_by_user_by_event_name.row_count 38300
performance_schema events_waits_summary_by_user_by_event_name.memory 1225600
performance_schema events_waits_summary_by_host_by_event_name.row_size 32
performance_schema events_waits_summary_by_host_by_event_name.row_count 38300
performance_schema events_waits_summary_by_host_by_event_name.memory 1225600
performance_schema (pfs_user).row_size 128
performance_schema (pfs_user).row_count 100
performance_schema (pfs_user).memory 12800
performance_schema (pfs_host).row_size 128
performance_schema (pfs_host).row_count 100
performance_schema (pfs_host).memory 12800
performance_schema (pfs_stage_class).row_size 256
performance_schema (pfs_stage_class).row_count 150
performance_schema (pfs_stage_class).memory 38400
performance_schema events_stages_history.row_size 88
performance_schema events_stages_history.row_count 4020
performance_schema events_stages_history.memory 353760
performance_schema events_stages_history_long.row_size 88
performance_schema events_stages_history_long.row_count 10000
performance_schema events_stages_history_long.memory 880000
performance_schema events_stages_summary_by_thread_by_event_name.row_size 32
performance_schema events_stages_summary_by_thread_by_event_name.row_count 60300
performance_schema events_stages_summary_by_thread_by_event_name.memory 1929600
performance_schema events_stages_summary_global_by_event_name.row_size 32
performance_schema events_stages_summary_global_by_event_name.row_count 150
performance_schema events_stages_summary_global_by_event_name.memory 4800
performance_schema events_stages_summary_by_account_by_event_name.row_size 32
performance_schema events_stages_summary_by_account_by_event_name.row_count 15000
performance_schema events_stages_summary_by_account_by_event_name.memory 480000
performance_schema events_stages_summary_by_user_by_event_name.row_size 32
performance_schema events_stages_summary_by_user_by_event_name.row_count 15000
performance_schema events_stages_summary_by_user_by_event_name.memory 480000
performance_schema events_stages_summary_by_host_by_event_name.row_size 32
performance_schema events_stages_summary_by_host_by_event_name.row_count 15000
performance_schema events_stages_summary_by_host_by_event_name.memory 480000
performance_schema (pfs_statement_class).row_size 192
performance_schema (pfs_statement_class).row_count 168
performance_schema (pfs_statement_class).memory 32256
performance_schema events_statements_history.row_size 3024
performance_schema events_statements_history.row_count 4020
performance_schema events_statements_history.memory 12156480
performance_schema events_statements_history_long.row_size 3024
performance_schema events_statements_history_long.row_count 10000
performance_schema events_statements_history_long.memory 30240000
performance_schema events_statements_summary_by_thread_by_event_name.row_size 184
performance_schema events_statements_summary_by_thread_by_event_name.row_count 67536
performance_schema events_statements_summary_by_thread_by_event_name.memory 12426624
performance_schema events_statements_summary_global_by_event_name.row_size 184
performance_schema events_statements_summary_global_by_event_name.row_count 168
performance_schema events_statements_summary_global_by_event_name.memory 30912
performance_schema events_statements_summary_by_account_by_event_name.row_size 184
performance_schema events_statements_summary_by_account_by_event_name.row_count 16800
performance_schema events_statements_summary_by_account_by_event_name.memory 3091200
performance_schema events_statements_summary_by_user_by_event_name.row_size 184
performance_schema events_statements_summary_by_user_by_event_name.row_count 16800
performance_schema events_statements_summary_by_user_by_event_name.memory 3091200
performance_schema events_statements_summary_by_host_by_event_name.row_size 184
performance_schema events_statements_summary_by_host_by_event_name.row_count 16800
performance_schema events_statements_summary_by_host_by_event_name.memory 3091200
performance_schema events_statements_current.row_size 3024
performance_schema events_statements_current.row_count 402
performance_schema events_statements_current.memory 1215648
performance_schema (pfs_socket_class).row_size 320
performance_schema (pfs_socket_class).row_count 10
performance_schema (pfs_socket_class).memory 3200
performance_schema socket_instances.row_size 320
performance_schema socket_instances.row_count 322
performance_schema socket_instances.memory 103040
performance_schema events_statements_summary_by_digest.row_size 1472
performance_schema events_statements_summary_by_digest.row_count 10000
performance_schema events_statements_summary_by_digest.memory 14720000
performance_schema session_connect_attrs.row_size 402
performance_schema session_connect_attrs.row_count 512
performance_schema session_connect_attrs.memory 205824
performance_schema (account_hash).count 2
performance_schema (account_hash).size 100
performance_schema (digest_hash).count 0
performance_schema (digest_hash).size 10000
performance_schema (filename_hash).count 0
performance_schema (filename_hash).size 7693
performance_schema (host_hash).count 2
performance_schema (host_hash).size 100
performance_schema (setup_actor_hash).count 1
performance_schema (setup_actor_hash).size 100
performance_schema (setup_object_hash).count 4
performance_schema (setup_object_hash).size 100
performance_schema (table_share_hash).count 80
performance_schema (table_share_hash).size 12500
performance_schema (user_hash).count 2
performance_schema (user_hash).size 100
performance_schema host_cache.size 336
performance_schema performance_schema.memory 422231328
mysql-test/suite/perfschema/r/sizing_high.result
View file @
d71d4119
...
...
@@ -7,7 +7,9 @@ table_open_cache 400
show variables like "max_connections";
Variable_name Value
max_connections 200
show variables like "%performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -31,7 +33,6 @@ performance_schema_max_rwlock_instances 30800
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 420
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 800
performance_schema_max_table_instances 12500
performance_schema_max_thread_classes 50
...
...
@@ -65,160 +66,3 @@ Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
show engine performance_schema status;
Type Name Status
performance_schema events_waits_current.row_size 184
performance_schema events_waits_current.row_count 3000
performance_schema events_waits_history.row_size 184
performance_schema events_waits_history.row_count 5000
performance_schema events_waits_history.memory 920000
performance_schema events_waits_history_long.row_size 184
performance_schema events_waits_history_long.row_count 10000
performance_schema events_waits_history_long.memory 1840000
performance_schema (pfs_mutex_class).row_size 256
performance_schema (pfs_mutex_class).row_count 200
performance_schema (pfs_mutex_class).memory 51200
performance_schema (pfs_rwlock_class).row_size 320
performance_schema (pfs_rwlock_class).row_count 40
performance_schema (pfs_rwlock_class).memory 12800
performance_schema (pfs_cond_class).row_size 256
performance_schema (pfs_cond_class).row_count 80
performance_schema (pfs_cond_class).memory 20480
performance_schema (pfs_thread_class).row_size 192
performance_schema (pfs_thread_class).row_count 50
performance_schema (pfs_thread_class).memory 9600
performance_schema (pfs_file_class).row_size 320
performance_schema (pfs_file_class).row_count 50
performance_schema (pfs_file_class).memory 16000
performance_schema mutex_instances.row_size 128
performance_schema mutex_instances.row_count 52200
performance_schema mutex_instances.memory 6681600
performance_schema rwlock_instances.row_size 192
performance_schema rwlock_instances.row_count 30800
performance_schema rwlock_instances.memory 5913600
performance_schema cond_instances.row_size 128
performance_schema cond_instances.row_count 10900
performance_schema cond_instances.memory 1395200
performance_schema threads.row_size 2816
performance_schema threads.row_count 500
performance_schema threads.memory 1408000
performance_schema file_instances.row_size 704
performance_schema file_instances.row_count 23385
performance_schema file_instances.memory 16463040
performance_schema (pfs_file_handle).row_size 8
performance_schema (pfs_file_handle).row_count 32768
performance_schema (pfs_file_handle).memory 262144
performance_schema events_waits_summary_by_thread_by_event_name.row_size 32
performance_schema events_waits_summary_by_thread_by_event_name.row_count 191500
performance_schema events_waits_summary_by_thread_by_event_name.memory 6128000
performance_schema (pfs_table_share).row_size 22208
performance_schema (pfs_table_share).row_count 12500
performance_schema (pfs_table_share).memory 277600000
performance_schema (pfs_table).row_size 9280
performance_schema (pfs_table).row_count 800
performance_schema (pfs_table).memory 7424000
performance_schema setup_actors.row_size 256
performance_schema setup_actors.row_count 100
performance_schema setup_actors.memory 25600
performance_schema setup_objects.row_size 448
performance_schema setup_objects.row_count 100
performance_schema setup_objects.memory 44800
performance_schema (pfs_account).row_size 256
performance_schema (pfs_account).row_count 100
performance_schema (pfs_account).memory 25600
performance_schema events_waits_summary_by_account_by_event_name.row_size 32
performance_schema events_waits_summary_by_account_by_event_name.row_count 38300
performance_schema events_waits_summary_by_account_by_event_name.memory 1225600
performance_schema events_waits_summary_by_user_by_event_name.row_size 32
performance_schema events_waits_summary_by_user_by_event_name.row_count 38300
performance_schema events_waits_summary_by_user_by_event_name.memory 1225600
performance_schema events_waits_summary_by_host_by_event_name.row_size 32
performance_schema events_waits_summary_by_host_by_event_name.row_count 38300
performance_schema events_waits_summary_by_host_by_event_name.memory 1225600
performance_schema (pfs_user).row_size 128
performance_schema (pfs_user).row_count 100
performance_schema (pfs_user).memory 12800
performance_schema (pfs_host).row_size 128
performance_schema (pfs_host).row_count 100
performance_schema (pfs_host).memory 12800
performance_schema (pfs_stage_class).row_size 256
performance_schema (pfs_stage_class).row_count 150
performance_schema (pfs_stage_class).memory 38400
performance_schema events_stages_history.row_size 88
performance_schema events_stages_history.row_count 5000
performance_schema events_stages_history.memory 440000
performance_schema events_stages_history_long.row_size 88
performance_schema events_stages_history_long.row_count 10000
performance_schema events_stages_history_long.memory 880000
performance_schema events_stages_summary_by_thread_by_event_name.row_size 32
performance_schema events_stages_summary_by_thread_by_event_name.row_count 75000
performance_schema events_stages_summary_by_thread_by_event_name.memory 2400000
performance_schema events_stages_summary_global_by_event_name.row_size 32
performance_schema events_stages_summary_global_by_event_name.row_count 150
performance_schema events_stages_summary_global_by_event_name.memory 4800
performance_schema events_stages_summary_by_account_by_event_name.row_size 32
performance_schema events_stages_summary_by_account_by_event_name.row_count 15000
performance_schema events_stages_summary_by_account_by_event_name.memory 480000
performance_schema events_stages_summary_by_user_by_event_name.row_size 32
performance_schema events_stages_summary_by_user_by_event_name.row_count 15000
performance_schema events_stages_summary_by_user_by_event_name.memory 480000
performance_schema events_stages_summary_by_host_by_event_name.row_size 32
performance_schema events_stages_summary_by_host_by_event_name.row_count 15000
performance_schema events_stages_summary_by_host_by_event_name.memory 480000
performance_schema (pfs_statement_class).row_size 192
performance_schema (pfs_statement_class).row_count 168
performance_schema (pfs_statement_class).memory 32256
performance_schema events_statements_history.row_size 3024
performance_schema events_statements_history.row_count 5000
performance_schema events_statements_history.memory 15120000
performance_schema events_statements_history_long.row_size 3024
performance_schema events_statements_history_long.row_count 10000
performance_schema events_statements_history_long.memory 30240000
performance_schema events_statements_summary_by_thread_by_event_name.row_size 184
performance_schema events_statements_summary_by_thread_by_event_name.row_count 84000
performance_schema events_statements_summary_by_thread_by_event_name.memory 15456000
performance_schema events_statements_summary_global_by_event_name.row_size 184
performance_schema events_statements_summary_global_by_event_name.row_count 168
performance_schema events_statements_summary_global_by_event_name.memory 30912
performance_schema events_statements_summary_by_account_by_event_name.row_size 184
performance_schema events_statements_summary_by_account_by_event_name.row_count 16800
performance_schema events_statements_summary_by_account_by_event_name.memory 3091200
performance_schema events_statements_summary_by_user_by_event_name.row_size 184
performance_schema events_statements_summary_by_user_by_event_name.row_count 16800
performance_schema events_statements_summary_by_user_by_event_name.memory 3091200
performance_schema events_statements_summary_by_host_by_event_name.row_size 184
performance_schema events_statements_summary_by_host_by_event_name.row_count 16800
performance_schema events_statements_summary_by_host_by_event_name.memory 3091200
performance_schema events_statements_current.row_size 3024
performance_schema events_statements_current.row_count 500
performance_schema events_statements_current.memory 1512000
performance_schema (pfs_socket_class).row_size 320
performance_schema (pfs_socket_class).row_count 10
performance_schema (pfs_socket_class).memory 3200
performance_schema socket_instances.row_size 320
performance_schema socket_instances.row_count 420
performance_schema socket_instances.memory 134400
performance_schema events_statements_summary_by_digest.row_size 1472
performance_schema events_statements_summary_by_digest.row_count 10000
performance_schema events_statements_summary_by_digest.memory 14720000
performance_schema session_connect_attrs.row_size 500
performance_schema session_connect_attrs.row_count 512
performance_schema session_connect_attrs.memory 256000
performance_schema (account_hash).count 2
performance_schema (account_hash).size 100
performance_schema (digest_hash).count 0
performance_schema (digest_hash).size 10000
performance_schema (filename_hash).count 0
performance_schema (filename_hash).size 23385
performance_schema (host_hash).count 2
performance_schema (host_hash).size 100
performance_schema (setup_actor_hash).count 1
performance_schema (setup_actor_hash).size 100
performance_schema (setup_object_hash).count 4
performance_schema (setup_object_hash).size 100
performance_schema (table_share_hash).count 80
performance_schema (table_share_hash).size 12500
performance_schema (user_hash).count 2
performance_schema (user_hash).size 100
performance_schema host_cache.size 336
performance_schema performance_schema.memory 421925632
mysql-test/suite/perfschema/r/sizing_low.result
View file @
d71d4119
...
...
@@ -7,7 +7,9 @@ table_open_cache 100
show variables like "max_connections";
Variable_name Value
max_connections 50
show variables like "%performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 10
...
...
@@ -31,7 +33,6 @@ performance_schema_max_rwlock_instances 1612
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 67
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 112
performance_schema_max_table_instances 445
performance_schema_max_thread_classes 50
...
...
@@ -65,160 +66,3 @@ Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
show engine performance_schema status;
Type Name Status
performance_schema events_waits_current.row_size 184
performance_schema events_waits_current.row_count 672
performance_schema events_waits_history.row_size 184
performance_schema events_waits_history.row_count 560
performance_schema events_waits_history.memory 103040
performance_schema events_waits_history_long.row_size 184
performance_schema events_waits_history_long.row_count 100
performance_schema events_waits_history_long.memory 18400
performance_schema (pfs_mutex_class).row_size 256
performance_schema (pfs_mutex_class).row_count 200
performance_schema (pfs_mutex_class).memory 51200
performance_schema (pfs_rwlock_class).row_size 320
performance_schema (pfs_rwlock_class).row_count 40
performance_schema (pfs_rwlock_class).memory 12800
performance_schema (pfs_cond_class).row_size 256
performance_schema (pfs_cond_class).row_count 80
performance_schema (pfs_cond_class).memory 20480
performance_schema (pfs_thread_class).row_size 192
performance_schema (pfs_thread_class).row_count 50
performance_schema (pfs_thread_class).memory 9600
performance_schema (pfs_file_class).row_size 320
performance_schema (pfs_file_class).row_count 50
performance_schema (pfs_file_class).memory 16000
performance_schema mutex_instances.row_size 128
performance_schema mutex_instances.row_count 2945
performance_schema mutex_instances.memory 376960
performance_schema rwlock_instances.row_size 192
performance_schema rwlock_instances.row_count 1612
performance_schema rwlock_instances.memory 309504
performance_schema cond_instances.row_size 128
performance_schema cond_instances.row_count 612
performance_schema cond_instances.memory 78336
performance_schema threads.row_size 2816
performance_schema threads.row_count 112
performance_schema threads.memory 315392
performance_schema file_instances.row_size 704
performance_schema file_instances.row_count 1556
performance_schema file_instances.memory 1095424
performance_schema (pfs_file_handle).row_size 8
performance_schema (pfs_file_handle).row_count 32768
performance_schema (pfs_file_handle).memory 262144
performance_schema events_waits_summary_by_thread_by_event_name.row_size 32
performance_schema events_waits_summary_by_thread_by_event_name.row_count 42896
performance_schema events_waits_summary_by_thread_by_event_name.memory 1372672
performance_schema (pfs_table_share).row_size 22208
performance_schema (pfs_table_share).row_count 445
performance_schema (pfs_table_share).memory 9882560
performance_schema (pfs_table).row_size 9280
performance_schema (pfs_table).row_count 112
performance_schema (pfs_table).memory 1039360
performance_schema setup_actors.row_size 256
performance_schema setup_actors.row_count 100
performance_schema setup_actors.memory 25600
performance_schema setup_objects.row_size 448
performance_schema setup_objects.row_count 100
performance_schema setup_objects.memory 44800
performance_schema (pfs_account).row_size 256
performance_schema (pfs_account).row_count 10
performance_schema (pfs_account).memory 2560
performance_schema events_waits_summary_by_account_by_event_name.row_size 32
performance_schema events_waits_summary_by_account_by_event_name.row_count 3830
performance_schema events_waits_summary_by_account_by_event_name.memory 122560
performance_schema events_waits_summary_by_user_by_event_name.row_size 32
performance_schema events_waits_summary_by_user_by_event_name.row_count 1915
performance_schema events_waits_summary_by_user_by_event_name.memory 61280
performance_schema events_waits_summary_by_host_by_event_name.row_size 32
performance_schema events_waits_summary_by_host_by_event_name.row_count 7660
performance_schema events_waits_summary_by_host_by_event_name.memory 245120
performance_schema (pfs_user).row_size 128
performance_schema (pfs_user).row_count 5
performance_schema (pfs_user).memory 640
performance_schema (pfs_host).row_size 128
performance_schema (pfs_host).row_count 20
performance_schema (pfs_host).memory 2560
performance_schema (pfs_stage_class).row_size 256
performance_schema (pfs_stage_class).row_count 150
performance_schema (pfs_stage_class).memory 38400
performance_schema events_stages_history.row_size 88
performance_schema events_stages_history.row_count 560
performance_schema events_stages_history.memory 49280
performance_schema events_stages_history_long.row_size 88
performance_schema events_stages_history_long.row_count 100
performance_schema events_stages_history_long.memory 8800
performance_schema events_stages_summary_by_thread_by_event_name.row_size 32
performance_schema events_stages_summary_by_thread_by_event_name.row_count 16800
performance_schema events_stages_summary_by_thread_by_event_name.memory 537600
performance_schema events_stages_summary_global_by_event_name.row_size 32
performance_schema events_stages_summary_global_by_event_name.row_count 150
performance_schema events_stages_summary_global_by_event_name.memory 4800
performance_schema events_stages_summary_by_account_by_event_name.row_size 32
performance_schema events_stages_summary_by_account_by_event_name.row_count 1500
performance_schema events_stages_summary_by_account_by_event_name.memory 48000
performance_schema events_stages_summary_by_user_by_event_name.row_size 32
performance_schema events_stages_summary_by_user_by_event_name.row_count 750
performance_schema events_stages_summary_by_user_by_event_name.memory 24000
performance_schema events_stages_summary_by_host_by_event_name.row_size 32
performance_schema events_stages_summary_by_host_by_event_name.row_count 3000
performance_schema events_stages_summary_by_host_by_event_name.memory 96000
performance_schema (pfs_statement_class).row_size 192
performance_schema (pfs_statement_class).row_count 168
performance_schema (pfs_statement_class).memory 32256
performance_schema events_statements_history.row_size 3024
performance_schema events_statements_history.row_count 560
performance_schema events_statements_history.memory 1693440
performance_schema events_statements_history_long.row_size 3024
performance_schema events_statements_history_long.row_count 100
performance_schema events_statements_history_long.memory 302400
performance_schema events_statements_summary_by_thread_by_event_name.row_size 184
performance_schema events_statements_summary_by_thread_by_event_name.row_count 18816
performance_schema events_statements_summary_by_thread_by_event_name.memory 3462144
performance_schema events_statements_summary_global_by_event_name.row_size 184
performance_schema events_statements_summary_global_by_event_name.row_count 168
performance_schema events_statements_summary_global_by_event_name.memory 30912
performance_schema events_statements_summary_by_account_by_event_name.row_size 184
performance_schema events_statements_summary_by_account_by_event_name.row_count 1680
performance_schema events_statements_summary_by_account_by_event_name.memory 309120
performance_schema events_statements_summary_by_user_by_event_name.row_size 184
performance_schema events_statements_summary_by_user_by_event_name.row_count 840
performance_schema events_statements_summary_by_user_by_event_name.memory 154560
performance_schema events_statements_summary_by_host_by_event_name.row_size 184
performance_schema events_statements_summary_by_host_by_event_name.row_count 3360
performance_schema events_statements_summary_by_host_by_event_name.memory 618240
performance_schema events_statements_current.row_size 3024
performance_schema events_statements_current.row_count 112
performance_schema events_statements_current.memory 338688
performance_schema (pfs_socket_class).row_size 320
performance_schema (pfs_socket_class).row_count 10
performance_schema (pfs_socket_class).memory 3200
performance_schema socket_instances.row_size 320
performance_schema socket_instances.row_count 67
performance_schema socket_instances.memory 21440
performance_schema events_statements_summary_by_digest.row_size 1472
performance_schema events_statements_summary_by_digest.row_count 1000
performance_schema events_statements_summary_by_digest.memory 1472000
performance_schema session_connect_attrs.row_size 112
performance_schema session_connect_attrs.row_count 512
performance_schema session_connect_attrs.memory 57344
performance_schema (account_hash).count 2
performance_schema (account_hash).size 10
performance_schema (digest_hash).count 0
performance_schema (digest_hash).size 1000
performance_schema (filename_hash).count 0
performance_schema (filename_hash).size 1556
performance_schema (host_hash).count 2
performance_schema (host_hash).size 20
performance_schema (setup_actor_hash).count 1
performance_schema (setup_actor_hash).size 100
performance_schema (setup_object_hash).count 4
performance_schema (setup_object_hash).size 100
performance_schema (table_share_hash).count 80
performance_schema (table_share_hash).size 445
performance_schema (user_hash).count 2
performance_schema (user_hash).size 5
performance_schema host_cache.size 336
performance_schema performance_schema.memory 24771616
mysql-test/suite/perfschema/r/sizing_med.result
View file @
d71d4119
...
...
@@ -7,7 +7,9 @@ table_open_cache 401
show variables like "max_connections";
Variable_name Value
max_connections 152
show variables like "%performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -31,7 +33,6 @@ performance_schema_max_rwlock_instances 2222
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 232
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 573
performance_schema_max_table_instances 556
performance_schema_max_thread_classes 50
...
...
@@ -65,160 +66,3 @@ Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
Performance_schema_users_lost 0
show engine performance_schema status;
Type Name Status
performance_schema events_waits_current.row_size 184
performance_schema events_waits_current.row_count 1734
performance_schema events_waits_history.row_size 184
performance_schema events_waits_history.row_count 2890
performance_schema events_waits_history.memory 531760
performance_schema events_waits_history_long.row_size 184
performance_schema events_waits_history_long.row_count 1000
performance_schema events_waits_history_long.memory 184000
performance_schema (pfs_mutex_class).row_size 256
performance_schema (pfs_mutex_class).row_count 200
performance_schema (pfs_mutex_class).memory 51200
performance_schema (pfs_rwlock_class).row_size 320
performance_schema (pfs_rwlock_class).row_count 40
performance_schema (pfs_rwlock_class).memory 12800
performance_schema (pfs_cond_class).row_size 256
performance_schema (pfs_cond_class).row_count 80
performance_schema (pfs_cond_class).memory 20480
performance_schema (pfs_thread_class).row_size 192
performance_schema (pfs_thread_class).row_count 50
performance_schema (pfs_thread_class).memory 9600
performance_schema (pfs_file_class).row_size 320
performance_schema (pfs_file_class).row_count 50
performance_schema (pfs_file_class).memory 16000
performance_schema mutex_instances.row_size 128
performance_schema mutex_instances.row_count 4230
performance_schema mutex_instances.memory 541440
performance_schema rwlock_instances.row_size 192
performance_schema rwlock_instances.row_count 2222
performance_schema rwlock_instances.memory 426624
performance_schema cond_instances.row_size 128
performance_schema cond_instances.row_count 1079
performance_schema cond_instances.memory 138112
performance_schema threads.row_size 2816
performance_schema threads.row_count 289
performance_schema threads.memory 813824
performance_schema file_instances.row_size 704
performance_schema file_instances.row_count 1754
performance_schema file_instances.memory 1234816
performance_schema (pfs_file_handle).row_size 8
performance_schema (pfs_file_handle).row_count 32768
performance_schema (pfs_file_handle).memory 262144
performance_schema events_waits_summary_by_thread_by_event_name.row_size 32
performance_schema events_waits_summary_by_thread_by_event_name.row_count 110687
performance_schema events_waits_summary_by_thread_by_event_name.memory 3541984
performance_schema (pfs_table_share).row_size 22208
performance_schema (pfs_table_share).row_count 556
performance_schema (pfs_table_share).memory 12347648
performance_schema (pfs_table).row_size 9280
performance_schema (pfs_table).row_count 573
performance_schema (pfs_table).memory 5317440
performance_schema setup_actors.row_size 256
performance_schema setup_actors.row_count 100
performance_schema setup_actors.memory 25600
performance_schema setup_objects.row_size 448
performance_schema setup_objects.row_count 100
performance_schema setup_objects.memory 44800
performance_schema (pfs_account).row_size 256
performance_schema (pfs_account).row_count 100
performance_schema (pfs_account).memory 25600
performance_schema events_waits_summary_by_account_by_event_name.row_size 32
performance_schema events_waits_summary_by_account_by_event_name.row_count 38300
performance_schema events_waits_summary_by_account_by_event_name.memory 1225600
performance_schema events_waits_summary_by_user_by_event_name.row_size 32
performance_schema events_waits_summary_by_user_by_event_name.row_count 38300
performance_schema events_waits_summary_by_user_by_event_name.memory 1225600
performance_schema events_waits_summary_by_host_by_event_name.row_size 32
performance_schema events_waits_summary_by_host_by_event_name.row_count 38300
performance_schema events_waits_summary_by_host_by_event_name.memory 1225600
performance_schema (pfs_user).row_size 128
performance_schema (pfs_user).row_count 100
performance_schema (pfs_user).memory 12800
performance_schema (pfs_host).row_size 128
performance_schema (pfs_host).row_count 100
performance_schema (pfs_host).memory 12800
performance_schema (pfs_stage_class).row_size 256
performance_schema (pfs_stage_class).row_count 150
performance_schema (pfs_stage_class).memory 38400
performance_schema events_stages_history.row_size 88
performance_schema events_stages_history.row_count 2890
performance_schema events_stages_history.memory 254320
performance_schema events_stages_history_long.row_size 88
performance_schema events_stages_history_long.row_count 1000
performance_schema events_stages_history_long.memory 88000
performance_schema events_stages_summary_by_thread_by_event_name.row_size 32
performance_schema events_stages_summary_by_thread_by_event_name.row_count 43350
performance_schema events_stages_summary_by_thread_by_event_name.memory 1387200
performance_schema events_stages_summary_global_by_event_name.row_size 32
performance_schema events_stages_summary_global_by_event_name.row_count 150
performance_schema events_stages_summary_global_by_event_name.memory 4800
performance_schema events_stages_summary_by_account_by_event_name.row_size 32
performance_schema events_stages_summary_by_account_by_event_name.row_count 15000
performance_schema events_stages_summary_by_account_by_event_name.memory 480000
performance_schema events_stages_summary_by_user_by_event_name.row_size 32
performance_schema events_stages_summary_by_user_by_event_name.row_count 15000
performance_schema events_stages_summary_by_user_by_event_name.memory 480000
performance_schema events_stages_summary_by_host_by_event_name.row_size 32
performance_schema events_stages_summary_by_host_by_event_name.row_count 15000
performance_schema events_stages_summary_by_host_by_event_name.memory 480000
performance_schema (pfs_statement_class).row_size 192
performance_schema (pfs_statement_class).row_count 168
performance_schema (pfs_statement_class).memory 32256
performance_schema events_statements_history.row_size 3024
performance_schema events_statements_history.row_count 2890
performance_schema events_statements_history.memory 8739360
performance_schema events_statements_history_long.row_size 3024
performance_schema events_statements_history_long.row_count 1000
performance_schema events_statements_history_long.memory 3024000
performance_schema events_statements_summary_by_thread_by_event_name.row_size 184
performance_schema events_statements_summary_by_thread_by_event_name.row_count 48552
performance_schema events_statements_summary_by_thread_by_event_name.memory 8933568
performance_schema events_statements_summary_global_by_event_name.row_size 184
performance_schema events_statements_summary_global_by_event_name.row_count 168
performance_schema events_statements_summary_global_by_event_name.memory 30912
performance_schema events_statements_summary_by_account_by_event_name.row_size 184
performance_schema events_statements_summary_by_account_by_event_name.row_count 16800
performance_schema events_statements_summary_by_account_by_event_name.memory 3091200
performance_schema events_statements_summary_by_user_by_event_name.row_size 184
performance_schema events_statements_summary_by_user_by_event_name.row_count 16800
performance_schema events_statements_summary_by_user_by_event_name.memory 3091200
performance_schema events_statements_summary_by_host_by_event_name.row_size 184
performance_schema events_statements_summary_by_host_by_event_name.row_count 16800
performance_schema events_statements_summary_by_host_by_event_name.memory 3091200
performance_schema events_statements_current.row_size 3024
performance_schema events_statements_current.row_count 289
performance_schema events_statements_current.memory 873936
performance_schema (pfs_socket_class).row_size 320
performance_schema (pfs_socket_class).row_count 10
performance_schema (pfs_socket_class).memory 3200
performance_schema socket_instances.row_size 320
performance_schema socket_instances.row_count 232
performance_schema socket_instances.memory 74240
performance_schema events_statements_summary_by_digest.row_size 1472
performance_schema events_statements_summary_by_digest.row_count 5000
performance_schema events_statements_summary_by_digest.memory 7360000
performance_schema session_connect_attrs.row_size 289
performance_schema session_connect_attrs.row_count 512
performance_schema session_connect_attrs.memory 147968
performance_schema (account_hash).count 2
performance_schema (account_hash).size 100
performance_schema (digest_hash).count 0
performance_schema (digest_hash).size 5000
performance_schema (filename_hash).count 0
performance_schema (filename_hash).size 1754
performance_schema (host_hash).count 2
performance_schema (host_hash).size 100
performance_schema (setup_actor_hash).count 1
performance_schema (setup_actor_hash).size 100
performance_schema (setup_object_hash).count 4
performance_schema (setup_object_hash).size 100
performance_schema (table_share_hash).count 80
performance_schema (table_share_hash).size 556
performance_schema (user_hash).count 2
performance_schema (user_hash).size 100
performance_schema host_cache.size 336
performance_schema performance_schema.memory 70954032
mysql-test/suite/perfschema/r/sizing_off.result
View file @
d71d4119
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema OFF
performance_schema_accounts_size -1
...
...
@@ -22,7 +24,6 @@ performance_schema_max_rwlock_instances -1
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances -1
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles -1
performance_schema_max_table_instances -1
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_disable_idle.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_disable_stages.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_disable_statements.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_disable_waits.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_innodb.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_low_digest.result
0 → 100644
View file @
d71d4119
USE performance_schema;
truncate table events_statements_history_long;
SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
74
####################################
# QUERYING PS STATEMENT DIGEST
####################################
SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long;
event_name digest digest_text sql_text
statement/sql/truncate 23e0e19c4baa66c6be30e70f75e52178 TRUNCATE TABLE truncate table events_statements_history_long
statement/sql/select 6695eca04b8387c092d89fa88d767328 SELECT ? + ? + SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
mysql-test/suite/perfschema/r/start_server_no_account.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 0
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_cond_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_file_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_file_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_host.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 0
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_socket_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 0
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 0
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_stage_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 0
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_stages_history.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_statement_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 0
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_statements_history.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 0
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_table_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 0
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_thread_class.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 0
...
...
mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_user.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_waits_history.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_nothing.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 0
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 0
performance_schema_max_socket_classes 0
performance_schema_max_socket_instances 0
performance_schema_max_stage_classes 0
performance_schema_max_statement_classes 0
performance_schema_max_table_handles 0
performance_schema_max_table_instances 0
performance_schema_max_thread_classes 0
...
...
mysql-test/suite/perfschema/r/start_server_off.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema OFF
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/start_server_on.result
View file @
d71d4119
...
...
@@ -69,7 +69,9 @@ select * from performance_schema.table_io_waits_summary_by_table;
select * from performance_schema.table_lock_waits_summary_by_table;
select * from performance_schema.threads;
select * from performance_schema.users;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -93,7 +95,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/statement_digest.result
View file @
d71d4119
...
...
@@ -118,7 +118,7 @@ statements_digest 835083efbaa5d8c29d01d558abb8216b SELECT ? FROM `t1` 1 0 0 0
statements_digest 6ff375c6f4b283de91711a78bd91b953 SELECT ?, ... FROM t1 2 0 0 0
statements_digest 4879fbad051c94ff76e6ad29effa4903 SELECT ? FROM t2 1 0 0 0
statements_digest b1ea4bca7c91ebd647b6b81e80a2ef94 SELECT ?, ... FROM t2 2 0 0 0
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?)
1 1
0 0
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?)
2 2
0 0
statements_digest ff2d8aa1fd516f5e25b0faf7b1c80b04 INSERT INTO t2 VALUES (?) 1 1 0 0
statements_digest 430116339c3a5bf0a1aa9a96e9cfd354 INSERT INTO t3 VALUES (...) 4 4 0 0
statements_digest 01467137a1045e85119538ea248d52dd INSERT INTO t4 VALUES (...) 1 1 0 0
...
...
@@ -126,7 +126,6 @@ statements_digest b201a20a2a534d2789750270b7f90fab INSERT INTO t5 VALUES (...)
statements_digest b1a5f24770580f243ad6704590165d90 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
statements_digest bbbf619ec8ca4ec4a4da28a71eb12a2f INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
statements_digest de7bdb298875f4ef826383e3fce53ef9 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
statements_digest f79cdc2ddca01e9ea89782b3548b01e3 INSERT INTO t1 VALUES ( NULL ) 1 1 0 0
statements_digest cd4a3e419e2eaed79f66a705ff002910 INSERT INTO t6 VALUES (...) 5 5 0 0
statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3 0 0 0
statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1 0 0 0
...
...
@@ -146,7 +145,7 @@ statements_digest efc046c5d04acb8afa61326f759ad380 DROP PROCEDURE p1 1 0 0 0
statements_digest 8eaf9e776b79f24f2b8fae8efb92d8a4 CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1 0 0 0
statements_digest b364c71d8c904eb9e95df4d0ca258c00 SELECT func (...) 2 0 0 0
statements_digest 88e7ac9784e4561d12fadccde6ea704a DROP FUNCTION func 1 0 0 0
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @
? := ? 1 0 0 0
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1 0 0 0
statements_digest 074e38814943a6dce874784d21fea89d INSERT INTO t12 VALUES (?) 2 2 0 0
statements_digest 2b5b02ba54b27638d5d8dbe917ff432d DROP TRIGGER trg 1 0 0 0
####################################
...
...
mysql-test/suite/perfschema/r/statement_digest_consumers.result
View file @
d71d4119
...
...
@@ -131,7 +131,7 @@ statements_digest 835083efbaa5d8c29d01d558abb8216b SELECT ? FROM `t1` 1
statements_digest 6ff375c6f4b283de91711a78bd91b953 SELECT ?, ... FROM t1 2
statements_digest 4879fbad051c94ff76e6ad29effa4903 SELECT ? FROM t2 1
statements_digest b1ea4bca7c91ebd647b6b81e80a2ef94 SELECT ?, ... FROM t2 2
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?)
1
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?)
2
statements_digest ff2d8aa1fd516f5e25b0faf7b1c80b04 INSERT INTO t2 VALUES (?) 1
statements_digest 430116339c3a5bf0a1aa9a96e9cfd354 INSERT INTO t3 VALUES (...) 4
statements_digest 01467137a1045e85119538ea248d52dd INSERT INTO t4 VALUES (...) 1
...
...
@@ -139,7 +139,6 @@ statements_digest b201a20a2a534d2789750270b7f90fab INSERT INTO t5 VALUES (...)
statements_digest b1a5f24770580f243ad6704590165d90 INSERT INTO t1 VALUES (?) /* , ... */ 2
statements_digest bbbf619ec8ca4ec4a4da28a71eb12a2f INSERT INTO t3 VALUES (...) /* , ... */ 1
statements_digest de7bdb298875f4ef826383e3fce53ef9 INSERT INTO t5 VALUES (...) /* , ... */ 1
statements_digest f79cdc2ddca01e9ea89782b3548b01e3 INSERT INTO t1 VALUES ( NULL ) 1
statements_digest cd4a3e419e2eaed79f66a705ff002910 INSERT INTO t6 VALUES (...) 5
statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3
statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1
...
...
@@ -159,7 +158,7 @@ statements_digest efc046c5d04acb8afa61326f759ad380 DROP PROCEDURE p1 1
statements_digest 8eaf9e776b79f24f2b8fae8efb92d8a4 CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1
statements_digest b364c71d8c904eb9e95df4d0ca258c00 SELECT func (...) 2
statements_digest 88e7ac9784e4561d12fadccde6ea704a DROP FUNCTION func 1
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @
? := ? 1
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1
statements_digest 074e38814943a6dce874784d21fea89d INSERT INTO t12 VALUES (?) 2
statements_digest 2b5b02ba54b27638d5d8dbe917ff432d DROP TRIGGER trg 1
SELECT digest, digest_text FROM performance_schema.events_statements_current;
...
...
mysql-test/suite/perfschema/r/statement_digest_long_query.result
View file @
d71d4119
...
...
@@ -9,4 +9,4 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
SELECT schema_name, digest, digest_text, count_star FROM events_statements_summary_by_digest;
schema_name digest digest_text count_star
performance_schema e8d937c7ecf79e105de0f9e364fa5edb TRUNCATE TABLE events_statements_summary_by_digest 1
performance_schema 5d9a2f95653d8ca9d9cea3eefff7e361 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? +
...
1
performance_schema 5d9a2f95653d8ca9d9cea3eefff7e361 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? +
? + ? + ?
1
mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
View file @
d71d4119
...
...
@@ -37,7 +37,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -61,7 +63,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
View file @
d71d4119
...
...
@@ -36,7 +36,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -60,7 +62,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
View file @
d71d4119
...
...
@@ -37,7 +37,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -61,7 +63,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
View file @
d71d4119
...
...
@@ -36,7 +36,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -60,7 +62,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_off.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
View file @
d71d4119
...
...
@@ -39,7 +39,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -63,7 +65,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
View file @
d71d4119
...
...
@@ -38,7 +38,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -62,7 +64,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
View file @
d71d4119
...
...
@@ -41,7 +41,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -65,7 +67,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
View file @
d71d4119
...
...
@@ -40,7 +40,9 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name;
truncate performance_schema.events_waits_summary_by_host_by_event_name;
truncate performance_schema.events_waits_summary_global_by_event_name;
truncate performance_schema.events_waits_history_long;
show variables like "performance_schema%";
show variables where
`Variable_name` != "performance_schema_max_statement_classes" and
`Variable_name` like "performance_schema%";
Variable_name Value
performance_schema ON
performance_schema_accounts_size 100
...
...
@@ -64,7 +66,6 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 168
performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50
...
...
mysql-test/suite/perfschema/t/digest_null_literal.test
0 → 100644
View file @
d71d4119
# ----------------------------------------------------
# Tests for the performance schema statement Digests.
# ----------------------------------------------------
# Test case to show behavior of statements digest when
# parsing a NULL literal
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_perfschema
.
inc
--
source
../
include
/
no_protocol
.
inc
TRUNCATE
TABLE
performance_schema
.
events_statements_summary_by_digest
;
--
disable_query_log
select
NULL
;
select
NULL
FROM
DUAL
;
select
NULL
,
NULL
;
select
NULL
,
NULL
,
NULL
,
1
,
2
,
3
,
NULL
,
NULL
;
select
1
IS
NULL
;
select
2
IS
NOT
NULL
;
select
1
IS
NULL
,
2
IS
NULL
,
3
IS
NOT
NULL
,
4
IS
NOT
NULL
;
create
table
foo
(
a
int
DEFAULT
NULL
,
b
int
NOT
NULL
DEFAULT
1
,
c
int
NOT
NULL
);
drop
table
foo
;
--
enable_query_log
SELECT
SCHEMA_NAME
,
DIGEST_TEXT
,
COUNT_STAR
FROM
performance_schema
.
events_statements_summary_by_digest
;
mysql-test/suite/perfschema/t/ortho_iter.test
View file @
d71d4119
...
...
@@ -122,8 +122,9 @@ $
delimiter
;
$
# Check the configuration is ok
show
variables
like
"performance_schema%"
;
show
status
like
"performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
call
check_instrument
(
"wait/synch/mutex/"
);
call
check_instrument
(
"wait/synch/rwlock/"
);
...
...
mysql-test/suite/perfschema/t/privilege_table_io.test
View file @
d71d4119
...
...
@@ -36,7 +36,9 @@ insert into test.marker set a = 1;
# This will not, the ACL cache is already loaded
insert
into
test
.
marker
set
a
=
1
;
insert
into
test
.
marker
set
a
=
1
;
show
variables
like
"performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
show
status
like
"performance_schema%"
;
# Stop recording events + pull results
let
$schema_to_dump
=
"test"
,
"mysql"
;
...
...
mysql-test/suite/perfschema/t/sizing_off.test
View file @
d71d4119
...
...
@@ -2,5 +2,7 @@
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_perfschema
.
inc
show
variables
like
"performance_schema%"
;
show
variables
where
`Variable_name`
!=
"performance_schema_max_statement_classes"
and
`Variable_name`
like
"performance_schema%"
;
show
status
like
"performance_schema%"
;
mysql-test/suite/perfschema/t/start_server_low_digest-master.opt
0 → 100644
View file @
d71d4119
--max_digest_length=10
mysql-test/suite/perfschema/t/start_server_low_digest.test
0 → 100644
View file @
d71d4119
# -----------------------------------------------------------------------
# Tests for the performance schema statement Digests.
# -----------------------------------------------------------------------
--
source
include
/
not_embedded
.
inc
--
source
include
/
have_perfschema
.
inc
--
source
../
include
/
no_protocol
.
inc
USE
performance_schema
;
truncate
table
events_statements_history_long
;
# -----------------------------------------------------------------------
# Test to show how the digest behaves with low value of
# - performance_schema_max_digest_length
# -----------------------------------------------------------------------
SELECT
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
+
1
;
--
echo
####################################
--
echo
# QUERYING PS STATEMENT DIGEST
--
echo
####################################
SELECT
event_name
,
digest
,
digest_text
,
sql_text
FROM
events_statements_history_long
;
storage/perfschema/CMakeLists.txt
View file @
d71d4119
# Copyright (c) 2009, 201
1
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 201
5
, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
...
...
@@ -21,29 +21,11 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}
ADD_DEFINITIONS
(
-DMYSQL_SERVER
)
# Gen_pfs_lex_token
ADD_EXECUTABLE
(
gen_pfs_lex_token gen_pfs_lex_token.cc
)
# gen_pfs_lex_token itself depends on ${CMAKE_CURRENT_BINARY_DIR}/sql/sql_yacc.h
ADD_DEPENDENCIES
(
gen_pfs_lex_token GenServerSource
)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/pfs_lex_token.h
COMMAND gen_pfs_lex_token > pfs_lex_token.h
DEPENDS gen_pfs_lex_token
)
SET
(
PFS_GEN_SOURCES
${
CMAKE_CURRENT_BINARY_DIR
}
/pfs_lex_token.h
)
SET_SOURCE_FILES_PROPERTIES
(
${
PFS_GEN_SOURCES
}
PROPERTIES GENERATED 1
)
#
# Maintainer: keep this list sorted, to avoid merge collisions.
# Tip: ls -1 *.h, ls -1 *.cc
#
SET
(
PERFSCHEMA_SOURCES
${
PFS_GEN_SOURCES
}
ha_perfschema.h
cursor_by_account.h
cursor_by_host.h
...
...
storage/perfschema/pfs.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
4
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -4455,7 +4455,7 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state,
pfs
->
m_sort_scan
=
0
;
pfs
->
m_no_index_used
=
0
;
pfs
->
m_no_good_index_used
=
0
;
digest_reset
(
&
pfs
->
m_digest_storage
);
pfs
->
m_digest_storage
.
reset
(
);
/* New stages will have this statement as parent */
PFS_events_stages
*
child_stage
=
&
pfs_thread
->
m_stage_current
;
...
...
@@ -4484,11 +4484,7 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state,
if
(
flag_statements_digest
)
{
const
CHARSET_INFO
*
cs
=
static_cast
<
const
CHARSET_INFO
*>
(
charset
);
flags
|=
STATE_FLAG_DIGEST
;
state
->
m_digest_state
.
m_last_id_index
=
0
;
digest_reset
(
&
state
->
m_digest_state
.
m_digest_storage
);
state
->
m_digest_state
.
m_digest_storage
.
m_charset_number
=
cs
->
number
;
}
state
->
m_discarded
=
false
;
...
...
@@ -4512,6 +4508,8 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state,
state
->
m_no_index_used
=
0
;
state
->
m_no_good_index_used
=
0
;
state
->
m_digest
=
NULL
;
state
->
m_schema_name_length
=
0
;
return
reinterpret_cast
<
PSI_statement_locker
*>
(
state
);
...
...
@@ -4785,7 +4783,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
/*
Capture statement stats by digest.
*/
PSI
_digest_storage
*
digest_storage
=
NULL
;
const
sql
_digest_storage
*
digest_storage
=
NULL
;
PFS_statement_stat
*
digest_stat
=
NULL
;
if
(
flags
&
STATE_FLAG_THREAD
)
...
...
@@ -4798,12 +4796,16 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
if
(
flags
&
STATE_FLAG_DIGEST
)
{
digest_storage
=
&
state
->
m_digest_state
.
m_digest_storage
;
digest_storage
=
state
->
m_digest
;
if
(
digest_storage
!=
NULL
)
{
/* Populate PFS_statements_digest_stat with computed digest information.*/
digest_stat
=
find_or_create_digest
(
thread
,
digest_storage
,
state
->
m_schema_name
,
state
->
m_schema_name_length
);
}
}
if
(
flags
&
STATE_FLAG_EVENT
)
{
...
...
@@ -4839,7 +4841,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
pfs
->
m_timer_end
=
timer_end
;
pfs
->
m_end_event_id
=
thread
->
m_event_id
;
if
(
flags
&
STATE_FLAG_DIGEST
)
if
(
digest_storage
!=
NULL
)
{
/*
The following columns in events_statement_current:
...
...
@@ -4847,7 +4849,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
- DIGEST_TEXT
are computed from the digest storage.
*/
digest_copy
(
&
pfs
->
m_digest_storage
,
digest_storage
);
pfs
->
m_digest_storage
.
copy
(
digest_storage
);
}
if
(
flag_events_statements_history
)
...
...
@@ -4870,13 +4872,17 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da)
if
(
thread
!=
NULL
)
{
/* Set digest stat. */
digest_storage
=
&
state
->
m_digest_state
.
m_digest_storage
;
digest_storage
=
state
->
m_digest
;
if
(
digest_storage
!=
NULL
)
{
/* Populate statements_digest_stat with computed digest information. */
digest_stat
=
find_or_create_digest
(
thread
,
digest_storage
,
state
->
m_schema_name
,
state
->
m_schema_name_length
);
}
}
}
event_name_array
=
global_instr_class_statements_array
;
/* Aggregate to EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME */
...
...
@@ -5106,6 +5112,39 @@ static void set_socket_thread_owner_v1(PSI_socket *socket)
pfs_socket
->
m_thread_owner
=
my_pthread_getspecific_ptr
(
PFS_thread
*
,
THR_PFS
);
}
struct
PSI_digest_locker
*
pfs_digest_start_v1
(
PSI_statement_locker
*
locker
)
{
PSI_statement_locker_state
*
statement_state
;
statement_state
=
reinterpret_cast
<
PSI_statement_locker_state
*>
(
locker
);
DBUG_ASSERT
(
statement_state
!=
NULL
);
if
(
statement_state
->
m_discarded
)
return
NULL
;
if
(
statement_state
->
m_flags
&
STATE_FLAG_DIGEST
)
{
return
reinterpret_cast
<
PSI_digest_locker
*>
(
locker
);
}
return
NULL
;
}
void
pfs_digest_end_v1
(
PSI_digest_locker
*
locker
,
const
sql_digest_storage
*
digest
)
{
PSI_statement_locker_state
*
statement_state
;
statement_state
=
reinterpret_cast
<
PSI_statement_locker_state
*>
(
locker
);
DBUG_ASSERT
(
statement_state
!=
NULL
);
DBUG_ASSERT
(
digest
!=
NULL
);
if
(
statement_state
->
m_discarded
)
return
;
if
(
statement_state
->
m_flags
&
STATE_FLAG_DIGEST
)
{
statement_state
->
m_digest
=
digest
;
}
}
/**
Implementation of the thread attribute connection interface
...
...
@@ -5243,7 +5282,7 @@ PSI_v1 PFS_v1=
set_socket_info_v1
,
set_socket_thread_owner_v1
,
pfs_digest_start_v1
,
pfs_digest_
add_token
_v1
,
pfs_digest_
end
_v1
,
set_thread_connect_attrs_v1
,
};
...
...
storage/perfschema/pfs_account.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -527,9 +527,7 @@ void purge_account(PFS_thread *thread, PFS_account *account,
account
->
m_key
.
m_key_length
));
if
(
entry
&&
(
entry
!=
MY_ERRPTR
))
{
PFS_account
*
pfs
;
pfs
=
*
entry
;
DBUG_ASSERT
(
pfs
==
account
);
DBUG_ASSERT
(
*
entry
==
account
);
if
(
account
->
get_refcount
()
==
0
)
{
lf_hash_delete
(
&
account_hash
,
pins
,
...
...
storage/perfschema/pfs_column_types.h
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
storage/perfschema/pfs_digest.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
4
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -28,54 +28,32 @@
#include "pfs_digest.h"
#include "pfs_global.h"
#include "table_helper.h"
#include "my_md5.h"
#include "sql_lex.h"
#include "sql_get_diagnostics.h"
#include "sql_string.h"
#include <string.h>
/* Generated code */
#include "../sql/sql_yacc.h"
#include "../storage/perfschema/pfs_lex_token.h"
/* Name pollution from sql/sql_lex.h */
#ifdef LEX_YYSTYPE
#undef LEX_YYSTYPE
#endif
#define LEX_YYSTYPE YYSTYPE
/**
Token array :
Token array is an array of bytes to store tokens recieved during parsing.
Following is the way token array is formed.
...<non-id-token><non-id-token><id-token><id_len><id_text>...
For Ex:
SELECT * FROM T1;
<SELECT_TOKEN><*><FROM_TOKEN><ID_TOKEN><2><T1>
*/
ulong
digest_max
=
0
;
ulong
digest_lost
=
0
;
/** EVENTS_STATEMENTS_HISTORY_LONG circular buffer. */
PFS_statements_digest_stat
*
statements_digest_stat_array
=
NULL
;
static
unsigned
char
*
statements_digest_token_array
=
NULL
;
/** Consumer flag for table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST. */
bool
flag_statements_digest
=
true
;
/**
Current index in Stat array where new record is to be inserted.
index 0 is reserved for "all else" case when entire array is full.
*/
volatile
uint32
digest_index
=
1
;
volatile
uint32
digest_index
;
bool
digest_full
=
false
;
LF_HASH
digest_hash
;
static
bool
digest_hash_inited
=
false
;
/**
Initialize table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.
@param
digest_
sizing
@param
param performance schema
sizing
*/
int
init_digest
(
const
PFS_global_param
*
param
)
{
...
...
@@ -87,19 +65,41 @@ int init_digest(const PFS_global_param *param)
*/
digest_max
=
param
->
m_digest_sizing
;
digest_lost
=
0
;
digest_index
=
1
;
digest_full
=
false
;
if
(
digest_max
==
0
)
return
0
;
statements_digest_stat_array
=
PFS_MALLOC_ARRAY
(
digest_max
,
PFS_statements_digest_stat
,
PFS_MALLOC_ARRAY
(
digest_max
,
PFS_statements_digest_stat
,
MYF
(
MY_ZEROFILL
));
if
(
unlikely
(
statements_digest_stat_array
==
NULL
))
{
cleanup_digest
();
return
1
;
}
if
(
pfs_max_digest_length
>
0
)
{
statements_digest_token_array
=
PFS_MALLOC_ARRAY
(
digest_max
*
pfs_max_digest_length
,
unsigned
char
,
MYF
(
MY_ZEROFILL
));
if
(
unlikely
(
statements_digest_token_array
==
NULL
))
{
cleanup_digest
();
return
1
;
}
}
for
(
index
=
0
;
index
<
digest_max
;
index
++
)
{
statements_digest_stat_array
[
index
].
reset_data
();
statements_digest_stat_array
[
index
].
reset_data
(
statements_digest_token_array
+
index
*
pfs_max_digest_length
,
pfs_max_digest_length
);
}
return
0
;
...
...
@@ -110,7 +110,9 @@ void cleanup_digest(void)
{
/* Free memory allocated to statements_digest_stat_array. */
pfs_free
(
statements_digest_stat_array
);
pfs_free
(
statements_digest_token_array
);
statements_digest_stat_array
=
NULL
;
statements_digest_token_array
=
NULL
;
}
C_MODE_START
...
...
@@ -170,10 +172,12 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread)
PFS_statement_stat
*
find_or_create_digest
(
PFS_thread
*
thread
,
PSI
_digest_storage
*
digest_storage
,
const
sql
_digest_storage
*
digest_storage
,
const
char
*
schema_name
,
uint
schema_name_length
)
{
DBUG_ASSERT
(
digest_storage
!=
NULL
);
if
(
statements_digest_stat_array
==
NULL
)
return
NULL
;
...
...
@@ -192,9 +196,8 @@ find_or_create_digest(PFS_thread *thread,
PFS_digest_key
hash_key
;
memset
(
&
hash_key
,
0
,
sizeof
(
hash_key
));
/* Compute MD5 Hash of the tokens received. */
compute_md5_hash
((
char
*
)
hash_key
.
m_md5
,
(
char
*
)
digest_storage
->
m_token_array
,
digest_storage
->
m_byte_count
);
compute_digest_md5
(
digest_storage
,
hash_key
.
m_md5
);
memcpy
((
void
*
)
&
digest_storage
->
m_md5
,
&
hash_key
.
m_md5
,
MD5_HASH_SIZE
);
/* Add the current schema to the key */
hash_key
.
m_schema_name_length
=
schema_name_length
;
if
(
schema_name_length
>
0
)
...
...
@@ -227,8 +230,7 @@ find_or_create_digest(PFS_thread *thread,
lf_hash_search_unpin
(
pins
);
/* Dirty read of digest_index */
if
(
digest_index
==
0
)
if
(
digest_full
)
{
/* digest_stat array is full. Add stat at index 0 and return. */
pfs
=
&
statements_digest_stat_array
[
0
];
...
...
@@ -244,7 +246,7 @@ find_or_create_digest(PFS_thread *thread,
if
(
safe_index
>=
digest_max
)
{
/* The digest array is now full. */
digest_
index
=
0
;
digest_
full
=
true
;
pfs
=
&
statements_digest_stat_array
[
0
];
if
(
pfs
->
m_first_seen
==
0
)
...
...
@@ -263,7 +265,7 @@ find_or_create_digest(PFS_thread *thread,
Copy digest storage to statement_digest_stat_array so that it could be
used later to generate digest text.
*/
digest_copy
(
&
pfs
->
m_digest_storage
,
digest_storage
);
pfs
->
m_digest_storage
.
copy
(
digest_storage
);
pfs
->
m_first_seen
=
now
;
pfs
->
m_last_seen
=
now
;
...
...
@@ -313,9 +315,9 @@ void purge_digest(PFS_thread* thread, PFS_digest_key *hash_key)
return
;
}
void
PFS_statements_digest_stat
::
reset_data
()
void
PFS_statements_digest_stat
::
reset_data
(
unsigned
char
*
token_array
,
uint
length
)
{
digest_reset
(
&
m_digest_storage
);
m_digest_storage
.
reset
(
token_array
,
length
);
m_stat
.
reset
();
m_first_seen
=
0
;
m_last_seen
=
0
;
...
...
@@ -345,7 +347,7 @@ void reset_esms_by_digest()
for
(
index
=
0
;
index
<
digest_max
;
index
++
)
{
statements_digest_stat_array
[
index
].
reset_index
(
thread
);
statements_digest_stat_array
[
index
].
reset_data
();
statements_digest_stat_array
[
index
].
reset_data
(
statements_digest_token_array
+
index
*
pfs_max_digest_length
,
pfs_max_digest_length
);
}
/*
...
...
@@ -353,448 +355,6 @@ void reset_esms_by_digest()
to be inserted in statements_digest_stat_array.
*/
digest_index
=
1
;
digest_full
=
false
;
}
/*
Iterate token array and updates digest_text.
*/
void
get_digest_text
(
char
*
digest_text
,
PSI_digest_storage
*
digest_storage
)
{
DBUG_ASSERT
(
digest_storage
!=
NULL
);
bool
truncated
=
false
;
int
byte_count
=
digest_storage
->
m_byte_count
;
char
*
digest_output
=
digest_text
;
int
bytes_needed
=
0
;
uint
tok
=
0
;
int
current_byte
=
0
;
lex_token_string
*
tok_data
;
/* -4 is to make sure extra space for '...' and a '\0' at the end. */
int
bytes_available
=
COL_DIGEST_TEXT_SIZE
-
4
;
if
(
byte_count
<=
0
||
byte_count
>
PSI_MAX_DIGEST_STORAGE_SIZE
)
{
*
digest_text
=
'\0'
;
return
;
}
/* Convert text to utf8 */
const
CHARSET_INFO
*
from_cs
=
get_charset
(
digest_storage
->
m_charset_number
,
MYF
(
0
));
const
CHARSET_INFO
*
to_cs
=
&
my_charset_utf8_bin
;
if
(
from_cs
==
NULL
)
{
/*
Can happen, as we do dirty reads on digest_storage,
which can be written to in another thread.
*/
*
digest_text
=
'\0'
;
return
;
}
/*
Max converted size is number of characters * max multibyte length of the
target charset, which is 4 for UTF8.
*/
const
uint
max_converted_size
=
PSI_MAX_DIGEST_STORAGE_SIZE
*
4
;
char
id_buffer
[
max_converted_size
];
char
*
id_string
;
int
id_length
;
bool
convert_text
=
!
my_charset_same
(
from_cs
,
to_cs
);
DBUG_ASSERT
(
byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
while
((
current_byte
<
byte_count
)
&&
(
bytes_available
>
0
)
&&
!
truncated
)
{
current_byte
=
read_token
(
digest_storage
,
current_byte
,
&
tok
);
if
(
tok
<=
0
||
tok
>=
array_elements
(
lex_token_array
))
{
*
digest_text
=
'\0'
;
return
;
}
tok_data
=
&
lex_token_array
[
tok
];
switch
(
tok
)
{
/* All identifiers are printed with their name. */
case
IDENT
:
case
IDENT_QUOTED
:
{
char
*
id_ptr
;
int
id_len
;
uint
err_cs
=
0
;
/* Get the next identifier from the storage buffer. */
current_byte
=
read_identifier
(
digest_storage
,
current_byte
,
&
id_ptr
,
&
id_len
);
if
(
convert_text
)
{
/* Verify that the converted text will fit. */
if
(
to_cs
->
mbmaxlen
*
id_len
>
max_converted_size
)
{
truncated
=
true
;
break
;
}
/* Convert identifier string into the storage character set. */
id_length
=
my_convert
(
id_buffer
,
max_converted_size
,
to_cs
,
id_ptr
,
id_len
,
from_cs
,
&
err_cs
);
id_string
=
id_buffer
;
}
else
{
id_string
=
id_ptr
;
id_length
=
id_len
;
}
if
(
id_length
==
0
||
err_cs
!=
0
)
{
truncated
=
true
;
break
;
}
/* Copy the converted identifier into the digest string. */
bytes_needed
=
id_length
+
(
tok
==
IDENT
?
1
:
3
);
if
(
bytes_needed
<=
bytes_available
)
{
if
(
tok
==
IDENT_QUOTED
)
*
digest_output
++=
'`'
;
if
(
id_length
>
0
)
{
memcpy
(
digest_output
,
id_string
,
id_length
);
digest_output
+=
id_length
;
}
if
(
tok
==
IDENT_QUOTED
)
*
digest_output
++=
'`'
;
*
digest_output
++=
' '
;
bytes_available
-=
bytes_needed
;
}
else
{
truncated
=
true
;
}
}
break
;
/* Everything else is printed as is. */
default:
/*
Make sure not to overflow digest_text buffer.
+1 is to make sure extra space for ' '.
*/
int
tok_length
=
tok_data
->
m_token_length
;
bytes_needed
=
tok_length
+
1
;
if
(
bytes_needed
<=
bytes_available
)
{
strncpy
(
digest_output
,
tok_data
->
m_token_string
,
tok_length
);
digest_output
+=
tok_length
;
*
digest_output
++=
' '
;
bytes_available
-=
bytes_needed
;
}
else
{
truncated
=
true
;
}
break
;
}
}
/* Truncate digest text in case of long queries. */
if
(
digest_storage
->
m_full
||
truncated
)
{
strcpy
(
digest_output
,
"..."
);
digest_output
+=
3
;
}
*
digest_output
=
'\0'
;
}
static
inline
uint
peek_token
(
const
PSI_digest_storage
*
digest
,
int
index
)
{
uint
token
;
DBUG_ASSERT
(
index
>=
0
);
DBUG_ASSERT
(
index
+
PFS_SIZE_OF_A_TOKEN
<=
digest
->
m_byte_count
);
DBUG_ASSERT
(
digest
->
m_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
token
=
((
digest
->
m_token_array
[
index
+
1
])
<<
8
)
|
digest
->
m_token_array
[
index
];
return
token
;
}
/**
Function to read last two tokens from token array. If an identifier
is found, do not look for token before that.
*/
static
inline
void
peek_last_two_tokens
(
const
PSI_digest_storage
*
digest_storage
,
int
last_id_index
,
uint
*
t1
,
uint
*
t2
)
{
int
byte_count
=
digest_storage
->
m_byte_count
;
int
peek_index
=
byte_count
-
PFS_SIZE_OF_A_TOKEN
;
if
(
last_id_index
<=
peek_index
)
{
/* Take last token. */
*
t1
=
peek_token
(
digest_storage
,
peek_index
);
peek_index
-=
PFS_SIZE_OF_A_TOKEN
;
if
(
last_id_index
<=
peek_index
)
{
/* Take 2nd token from last. */
*
t2
=
peek_token
(
digest_storage
,
peek_index
);
}
else
{
*
t2
=
TOK_PFS_UNUSED
;
}
}
else
{
*
t1
=
TOK_PFS_UNUSED
;
*
t2
=
TOK_PFS_UNUSED
;
}
}
struct
PSI_digest_locker
*
pfs_digest_start_v1
(
PSI_statement_locker
*
locker
)
{
PSI_statement_locker_state
*
statement_state
;
statement_state
=
reinterpret_cast
<
PSI_statement_locker_state
*>
(
locker
);
DBUG_ASSERT
(
statement_state
!=
NULL
);
if
(
statement_state
->
m_discarded
)
return
NULL
;
if
(
statement_state
->
m_flags
&
STATE_FLAG_DIGEST
)
{
PSI_digest_locker_state
*
digest_state
;
digest_state
=
&
statement_state
->
m_digest_state
;
return
reinterpret_cast
<
PSI_digest_locker
*>
(
digest_state
);
}
return
NULL
;
}
PSI_digest_locker
*
pfs_digest_add_token_v1
(
PSI_digest_locker
*
locker
,
uint
token
,
OPAQUE_LEX_YYSTYPE
*
yylval
)
{
PSI_digest_locker_state
*
state
=
NULL
;
PSI_digest_storage
*
digest_storage
=
NULL
;
state
=
reinterpret_cast
<
PSI_digest_locker_state
*>
(
locker
);
DBUG_ASSERT
(
state
!=
NULL
);
digest_storage
=
&
state
->
m_digest_storage
;
/*
Stop collecting further tokens if digest storage is full or
if END token is received.
*/
if
(
digest_storage
->
m_full
||
token
==
END_OF_INPUT
)
return
NULL
;
/*
Take last_token 2 tokens collected till now. These tokens will be used
in reduce for normalisation. Make sure not to consider ID tokens in reduce.
*/
uint
last_token
;
uint
last_token2
;
switch
(
token
)
{
case
NUM
:
case
LONG_NUM
:
case
ULONGLONG_NUM
:
case
DECIMAL_NUM
:
case
FLOAT_NUM
:
case
BIN_NUM
:
case
HEX_NUM
:
{
bool
found_unary
;
do
{
found_unary
=
false
;
peek_last_two_tokens
(
digest_storage
,
state
->
m_last_id_index
,
&
last_token
,
&
last_token2
);
if
((
last_token
==
'-'
)
||
(
last_token
==
'+'
))
{
/*
We need to differentiate:
- a <unary minus> operator
- a <unary plus> operator
from
- a <binary minus> operator
- a <binary plus> operator
to only reduce "a = -1" to "a = ?", and not change "b - 1" to "b ?"
Binary operators are found inside an expression,
while unary operators are found at the beginning of an expression, or after operators.
To achieve this, every token that is followed by an <expr> expression
in the SQL grammar is flagged.
See sql/sql_yacc.yy
See sql/gen_lex_token.cc
For example,
"(-1)" is parsed as "(", "-", NUM, ")", and lex_token_array["("].m_start_expr is true,
so reduction of the "-" NUM is done, the result is "(?)".
"(a-1)" is parsed as "(", ID, "-", NUM, ")", and lex_token_array[ID].m_start_expr is false,
so the operator is binary, no reduction is done, and the result is "(a-?)".
*/
if
(
lex_token_array
[
last_token2
].
m_start_expr
)
{
/*
REDUCE:
TOK_PFS_GENERIC_VALUE := (UNARY_PLUS | UNARY_MINUS) (NUM | LOG_NUM | ... | FLOAT_NUM)
REDUCE:
TOK_PFS_GENERIC_VALUE := (UNARY_PLUS | UNARY_MINUS) TOK_PFS_GENERIC_VALUE
*/
token
=
TOK_PFS_GENERIC_VALUE
;
digest_storage
->
m_byte_count
-=
PFS_SIZE_OF_A_TOKEN
;
found_unary
=
true
;
}
}
}
while
(
found_unary
);
}
/* fall through, for case NULL_SYM below */
case
LEX_HOSTNAME
:
case
TEXT_STRING
:
case
NCHAR_STRING
:
case
PARAM_MARKER
:
{
/*
REDUCE:
TOK_PFS_GENERIC_VALUE := BIN_NUM | DECIMAL_NUM | ... | ULONGLONG_NUM
*/
token
=
TOK_PFS_GENERIC_VALUE
;
}
/* fall through */
case
NULL_SYM
:
{
peek_last_two_tokens
(
digest_storage
,
state
->
m_last_id_index
,
&
last_token
,
&
last_token2
);
if
((
last_token2
==
TOK_PFS_GENERIC_VALUE
||
last_token2
==
TOK_PFS_GENERIC_VALUE_LIST
||
last_token2
==
NULL_SYM
)
&&
(
last_token
==
','
))
{
/*
REDUCE:
TOK_PFS_GENERIC_VALUE_LIST :=
(TOK_PFS_GENERIC_VALUE|NULL_SYM) ',' (TOK_PFS_GENERIC_VALUE|NULL_SYM)
REDUCE:
TOK_PFS_GENERIC_VALUE_LIST :=
TOK_PFS_GENERIC_VALUE_LIST ',' (TOK_PFS_GENERIC_VALUE|NULL_SYM)
*/
digest_storage
->
m_byte_count
-=
2
*
PFS_SIZE_OF_A_TOKEN
;
token
=
TOK_PFS_GENERIC_VALUE_LIST
;
}
/*
Add this token or the resulting reduce to digest storage.
*/
store_token
(
digest_storage
,
token
);
break
;
}
case
')'
:
{
peek_last_two_tokens
(
digest_storage
,
state
->
m_last_id_index
,
&
last_token
,
&
last_token2
);
if
(
last_token
==
TOK_PFS_GENERIC_VALUE
&&
last_token2
==
'('
)
{
/*
REDUCE:
TOK_PFS_ROW_SINGLE_VALUE :=
'(' TOK_PFS_GENERIC_VALUE ')'
*/
digest_storage
->
m_byte_count
-=
2
*
PFS_SIZE_OF_A_TOKEN
;
token
=
TOK_PFS_ROW_SINGLE_VALUE
;
/* Read last two tokens again */
peek_last_two_tokens
(
digest_storage
,
state
->
m_last_id_index
,
&
last_token
,
&
last_token2
);
if
((
last_token2
==
TOK_PFS_ROW_SINGLE_VALUE
||
last_token2
==
TOK_PFS_ROW_SINGLE_VALUE_LIST
)
&&
(
last_token
==
','
))
{
/*
REDUCE:
TOK_PFS_ROW_SINGLE_VALUE_LIST :=
TOK_PFS_ROW_SINGLE_VALUE ',' TOK_PFS_ROW_SINGLE_VALUE
REDUCE:
TOK_PFS_ROW_SINGLE_VALUE_LIST :=
TOK_PFS_ROW_SINGLE_VALUE_LIST ',' TOK_PFS_ROW_SINGLE_VALUE
*/
digest_storage
->
m_byte_count
-=
2
*
PFS_SIZE_OF_A_TOKEN
;
token
=
TOK_PFS_ROW_SINGLE_VALUE_LIST
;
}
}
else
if
(
last_token
==
TOK_PFS_GENERIC_VALUE_LIST
&&
last_token2
==
'('
)
{
/*
REDUCE:
TOK_PFS_ROW_MULTIPLE_VALUE :=
'(' TOK_PFS_GENERIC_VALUE_LIST ')'
*/
digest_storage
->
m_byte_count
-=
2
*
PFS_SIZE_OF_A_TOKEN
;
token
=
TOK_PFS_ROW_MULTIPLE_VALUE
;
/* Read last two tokens again */
peek_last_two_tokens
(
digest_storage
,
state
->
m_last_id_index
,
&
last_token
,
&
last_token2
);
if
((
last_token2
==
TOK_PFS_ROW_MULTIPLE_VALUE
||
last_token2
==
TOK_PFS_ROW_MULTIPLE_VALUE_LIST
)
&&
(
last_token
==
','
))
{
/*
REDUCE:
TOK_PFS_ROW_MULTIPLE_VALUE_LIST :=
TOK_PFS_ROW_MULTIPLE_VALUE ',' TOK_PFS_ROW_MULTIPLE_VALUE
REDUCE:
TOK_PFS_ROW_MULTIPLE_VALUE_LIST :=
TOK_PFS_ROW_MULTIPLE_VALUE_LIST ',' TOK_PFS_ROW_MULTIPLE_VALUE
*/
digest_storage
->
m_byte_count
-=
2
*
PFS_SIZE_OF_A_TOKEN
;
token
=
TOK_PFS_ROW_MULTIPLE_VALUE_LIST
;
}
}
/*
Add this token or the resulting reduce to digest storage.
*/
store_token
(
digest_storage
,
token
);
break
;
}
case
IDENT
:
case
IDENT_QUOTED
:
{
LEX_YYSTYPE
*
lex_token
=
(
LEX_YYSTYPE
*
)
yylval
;
char
*
yytext
=
lex_token
->
lex_str
.
str
;
int
yylen
=
lex_token
->
lex_str
.
length
;
/* Add this token and identifier string to digest storage. */
store_token_identifier
(
digest_storage
,
token
,
yylen
,
yytext
);
/* Update the index of last identifier found. */
state
->
m_last_id_index
=
digest_storage
->
m_byte_count
;
break
;
}
default:
{
/* Add this token to digest storage. */
store_token
(
digest_storage
,
token
);
break
;
}
}
return
locker
;
}
storage/perfschema/pfs_digest.h
View file @
d71d4119
/* Copyright (c) 2011, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2011, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -24,23 +24,19 @@
#include "pfs_column_types.h"
#include "lf.h"
#include "pfs_stat.h"
#define PFS_SIZE_OF_A_TOKEN 2
#include "sql_digest.h"
extern
bool
flag_statements_digest
;
extern
ulong
digest_max
;
extern
ulong
digest_lost
;
struct
PFS_thread
;
/* Fixed, per MD5 hash. */
#define PFS_MD5_SIZE 16
/**
Structure to store a MD5 hash value (digest) for a statement.
*/
struct
PFS_digest_key
{
unsigned
char
m_md5
[
PFS_MD5
_SIZE
];
unsigned
char
m_md5
[
MD5_HASH
_SIZE
];
char
m_schema_name
[
NAME_LEN
];
uint
m_schema_name_length
;
};
...
...
@@ -52,7 +48,7 @@ struct PFS_ALIGNED PFS_statements_digest_stat
PFS_digest_key
m_digest_key
;
/** Digest Storage. */
PSI
_digest_storage
m_digest_storage
;
sql
_digest_storage
m_digest_storage
;
/** Statement stat. */
PFS_statement_stat
m_stat
;
...
...
@@ -62,7 +58,7 @@ struct PFS_ALIGNED PFS_statements_digest_stat
ulonglong
m_last_seen
;
/** Reset data for this record. */
void
reset_data
();
void
reset_data
(
unsigned
char
*
token_array
,
uint
length
);
/** Reset data and remove index for this record. */
void
reset_index
(
PFS_thread
*
thread
);
};
...
...
@@ -73,147 +69,15 @@ void cleanup_digest();
int
init_digest_hash
(
void
);
void
cleanup_digest_hash
(
void
);
PFS_statement_stat
*
find_or_create_digest
(
PFS_thread
*
thread
,
PSI
_digest_storage
*
digest_storage
,
const
sql
_digest_storage
*
digest_storage
,
const
char
*
schema_name
,
uint
schema_name_length
);
void
get_digest_text
(
char
*
digest_text
,
PSI_digest_storage
*
digest_storage
);
void
reset_esms_by_digest
();
/* Exposing the data directly, for iterators. */
extern
PFS_statements_digest_stat
*
statements_digest_stat_array
;
/* Instrumentation callbacks for pfs.cc */
struct
PSI_digest_locker
*
pfs_digest_start_v1
(
PSI_statement_locker
*
locker
);
PSI_digest_locker
*
pfs_digest_add_token_v1
(
PSI_digest_locker
*
locker
,
uint
token
,
OPAQUE_LEX_YYSTYPE
*
yylval
);
static
inline
void
digest_reset
(
PSI_digest_storage
*
digest
)
{
digest
->
m_full
=
false
;
digest
->
m_byte_count
=
0
;
digest
->
m_charset_number
=
0
;
}
static
inline
void
digest_copy
(
PSI_digest_storage
*
to
,
const
PSI_digest_storage
*
from
)
{
if
(
from
->
m_byte_count
>
0
)
{
to
->
m_full
=
from
->
m_full
;
to
->
m_byte_count
=
from
->
m_byte_count
;
to
->
m_charset_number
=
from
->
m_charset_number
;
DBUG_ASSERT
(
to
->
m_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
memcpy
(
to
->
m_token_array
,
from
->
m_token_array
,
to
->
m_byte_count
);
}
else
{
DBUG_ASSERT
(
from
->
m_byte_count
==
0
);
to
->
m_full
=
false
;
to
->
m_byte_count
=
0
;
to
->
m_charset_number
=
0
;
}
}
/**
Read a single token from token array.
*/
inline
int
read_token
(
PSI_digest_storage
*
digest_storage
,
int
index
,
uint
*
tok
)
{
int
safe_byte_count
=
digest_storage
->
m_byte_count
;
if
(
index
+
PFS_SIZE_OF_A_TOKEN
<=
safe_byte_count
&&
safe_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
)
{
unsigned
char
*
src
=
&
digest_storage
->
m_token_array
[
index
];
*
tok
=
src
[
0
]
|
(
src
[
1
]
<<
8
);
return
index
+
PFS_SIZE_OF_A_TOKEN
;
}
/* The input byte stream is exhausted. */
*
tok
=
0
;
return
PSI_MAX_DIGEST_STORAGE_SIZE
+
1
;
}
/**
Store a single token in token array.
*/
inline
void
store_token
(
PSI_digest_storage
*
digest_storage
,
uint
token
)
{
DBUG_ASSERT
(
digest_storage
->
m_byte_count
>=
0
);
DBUG_ASSERT
(
digest_storage
->
m_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
if
(
digest_storage
->
m_byte_count
+
PFS_SIZE_OF_A_TOKEN
<=
PSI_MAX_DIGEST_STORAGE_SIZE
)
{
unsigned
char
*
dest
=
&
digest_storage
->
m_token_array
[
digest_storage
->
m_byte_count
];
dest
[
0
]
=
token
&
0xff
;
dest
[
1
]
=
(
token
>>
8
)
&
0xff
;
digest_storage
->
m_byte_count
+=
PFS_SIZE_OF_A_TOKEN
;
}
else
{
digest_storage
->
m_full
=
true
;
}
}
/**
Read an identifier from token array.
*/
inline
int
read_identifier
(
PSI_digest_storage
*
digest_storage
,
int
index
,
char
**
id_string
,
int
*
id_length
)
{
int
new_index
;
DBUG_ASSERT
(
index
<=
digest_storage
->
m_byte_count
);
DBUG_ASSERT
(
digest_storage
->
m_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
/*
token + length + string are written in an atomic way,
so we do always expect a length + string here
*/
unsigned
char
*
src
=
&
digest_storage
->
m_token_array
[
index
];
uint
length
=
src
[
0
]
|
(
src
[
1
]
<<
8
);
*
id_string
=
(
char
*
)
(
src
+
2
);
*
id_length
=
length
;
new_index
=
index
+
PFS_SIZE_OF_A_TOKEN
+
length
;
DBUG_ASSERT
(
new_index
<=
digest_storage
->
m_byte_count
);
return
new_index
;
}
/**
Store an identifier in token array.
*/
inline
void
store_token_identifier
(
PSI_digest_storage
*
digest_storage
,
uint
token
,
uint
id_length
,
const
char
*
id_name
)
{
DBUG_ASSERT
(
digest_storage
->
m_byte_count
>=
0
);
DBUG_ASSERT
(
digest_storage
->
m_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
);
uint
bytes_needed
=
2
*
PFS_SIZE_OF_A_TOKEN
+
id_length
;
if
(
digest_storage
->
m_byte_count
+
bytes_needed
<=
PSI_MAX_DIGEST_STORAGE_SIZE
)
{
unsigned
char
*
dest
=
&
digest_storage
->
m_token_array
[
digest_storage
->
m_byte_count
];
/* Write the token */
dest
[
0
]
=
token
&
0xff
;
dest
[
1
]
=
(
token
>>
8
)
&
0xff
;
/* Write the string length */
dest
[
2
]
=
id_length
&
0xff
;
dest
[
3
]
=
(
id_length
>>
8
)
&
0xff
;
/* Write the string data */
if
(
id_length
>
0
)
memcpy
((
char
*
)(
dest
+
4
),
id_name
,
id_length
);
digest_storage
->
m_byte_count
+=
bytes_needed
;
}
else
{
digest_storage
->
m_full
=
true
;
}
}
extern
LF_HASH
digest_hash
;
#endif
storage/perfschema/pfs_engine_table.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -1415,12 +1415,64 @@ bool pfs_show_status(handlerton *hton, THD *thd,
name
=
"host_cache.size"
;
size
=
sizeof
(
Host_entry
);
break
;
case
154
:
name
=
"(history_long_statements_digest_token_array).row_count"
;
size
=
events_statements_history_long_size
;
break
;
case
155
:
name
=
"(history_long_statements_digest_token_array).row_size"
;
size
=
pfs_max_digest_length
;
break
;
case
156
:
name
=
"(history_long_statements_digest_token_array).memory"
;
size
=
events_statements_history_long_size
*
pfs_max_digest_length
;
total_memory
+=
size
;
break
;
case
157
:
name
=
"(history_statements_digest_token_array).row_count"
;
size
=
thread_max
*
events_statements_history_per_thread
;
break
;
case
158
:
name
=
"(history_statements_digest_token_array).row_size"
;
size
=
pfs_max_digest_length
;
break
;
case
159
:
name
=
"(history_statements_digest_token_array).memory"
;
size
=
thread_max
*
events_statements_history_per_thread
*
pfs_max_digest_length
;
total_memory
+=
size
;
break
;
case
160
:
name
=
"(current_statements_digest_token_array).row_count"
;
size
=
thread_max
*
statement_stack_max
;
break
;
case
161
:
name
=
"(current_statements_digest_token_array).row_size"
;
size
=
pfs_max_digest_length
;
break
;
case
162
:
name
=
"(current_statements_digest_token_array).memory"
;
size
=
thread_max
*
statement_stack_max
*
pfs_max_digest_length
;
total_memory
+=
size
;
break
;
case
163
:
name
=
"(statements_digest_token_array).row_count"
;
size
=
digest_max
;
break
;
case
164
:
name
=
"(statements_digest_token_array).row_size"
;
size
=
pfs_max_digest_length
;
break
;
case
165
:
name
=
"(statements_digest_token_array).memory"
;
size
=
digest_max
*
pfs_max_digest_length
;
total_memory
+=
size
;
break
;
/*
This case must be last,
for aggregation in total_memory.
*/
case
1
54
:
case
1
66
:
name
=
"performance_schema.memory"
;
size
=
total_memory
;
/* This will fail if something is not advertised here */
...
...
storage/perfschema/pfs_events_statements.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -44,6 +44,7 @@ bool events_statements_history_long_full= false;
volatile
uint32
events_statements_history_long_index
=
0
;
/** EVENTS_STATEMENTS_HISTORY_LONG circular buffer. */
PFS_events_statements
*
events_statements_history_long_array
=
NULL
;
static
unsigned
char
*
h_long_stmts_digest_token_array
=
NULL
;
/**
Initialize table EVENTS_STATEMENTS_HISTORY_LONG.
...
...
@@ -51,6 +52,7 @@ PFS_events_statements *events_statements_history_long_array= NULL;
*/
int
init_events_statements_history_long
(
uint
events_statements_history_long_sizing
)
{
uint
index
;
events_statements_history_long_size
=
events_statements_history_long_sizing
;
events_statements_history_long_full
=
false
;
PFS_atomic
::
store_u32
(
&
events_statements_history_long_index
,
0
);
...
...
@@ -62,20 +64,50 @@ int init_events_statements_history_long(uint events_statements_history_long_sizi
PFS_MALLOC_ARRAY
(
events_statements_history_long_size
,
PFS_events_statements
,
MYF
(
MY_ZEROFILL
));
return
(
events_statements_history_long_array
?
0
:
1
);
if
(
events_statements_history_long_array
==
NULL
)
{
cleanup_events_statements_history_long
();
return
1
;
}
if
(
pfs_max_digest_length
>
0
)
{
h_long_stmts_digest_token_array
=
PFS_MALLOC_ARRAY
(
events_statements_history_long_size
*
pfs_max_digest_length
,
unsigned
char
,
MYF
(
MY_ZEROFILL
));
if
(
h_long_stmts_digest_token_array
==
NULL
)
{
cleanup_events_statements_history_long
();
return
1
;
}
}
for
(
index
=
0
;
index
<
events_statements_history_long_size
;
index
++
)
{
events_statements_history_long_array
[
index
].
m_digest_storage
.
reset
(
h_long_stmts_digest_token_array
+
index
*
pfs_max_digest_length
,
pfs_max_digest_length
);
}
return
0
;
}
/** Cleanup table EVENTS_STATEMENTS_HISTORY_LONG. */
void
cleanup_events_statements_history_long
(
void
)
{
pfs_free
(
events_statements_history_long_array
);
pfs_free
(
h_long_stmts_digest_token_array
);
events_statements_history_long_array
=
NULL
;
h_long_stmts_digest_token_array
=
NULL
;
}
static
inline
void
copy_events_statements
(
PFS_events_statements
*
dest
,
const
PFS_events_statements
*
source
)
{
memcpy
(
dest
,
source
,
sizeof
(
PFS_events_statements
));
/* Copy all attributes except DIGEST */
memcpy
(
dest
,
source
,
my_offsetof
(
PFS_events_statements
,
m_digest_storage
));
/* Copy DIGEST */
dest
->
m_digest_storage
.
copy
(
&
source
->
m_digest_storage
);
}
/**
...
...
storage/perfschema/pfs_events_statements.h
View file @
d71d4119
/* Copyright (c) 2010, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -88,8 +88,12 @@ struct PFS_events_statements : public PFS_events
ulonglong
m_no_index_used
;
/** Optimizer metric, number of 'no good index used'. */
ulonglong
m_no_good_index_used
;
/** Statement digest. */
PSI_digest_storage
m_digest_storage
;
/**
Statement digest.
This underlying token array storage pointer is immutable,
and always point to pre allocated memory.
*/
sql_digest_storage
m_digest_storage
;
};
void
insert_events_statements_history
(
PFS_thread
*
thread
,
PFS_events_statements
*
statement
);
...
...
storage/perfschema/pfs_host.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -353,9 +353,7 @@ void purge_host(PFS_thread *thread, PFS_host *host)
host
->
m_key
.
m_hash_key
,
host
->
m_key
.
m_key_length
));
if
(
entry
&&
(
entry
!=
MY_ERRPTR
))
{
PFS_host
*
pfs
;
pfs
=
*
entry
;
DBUG_ASSERT
(
pfs
==
host
);
DBUG_ASSERT
(
*
entry
==
host
);
if
(
host
->
get_refcount
()
==
0
)
{
lf_hash_delete
(
&
host_hash
,
pins
,
...
...
storage/perfschema/pfs_instr.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -94,6 +94,7 @@ ulong events_stages_history_per_thread;
/** Number of EVENTS_STATEMENTS_HISTORY records per thread. */
ulong
events_statements_history_per_thread
;
uint
statement_stack_max
;
uint
pfs_max_digest_length
=
0
;
/** Number of locker lost. @sa LOCKER_STACK_SIZE. */
ulong
locker_lost
=
0
;
/** Number of statement lost. @sa STATEMENT_STACK_SIZE. */
...
...
@@ -176,6 +177,8 @@ static PFS_events_waits *thread_waits_history_array= NULL;
static
PFS_events_stages
*
thread_stages_history_array
=
NULL
;
static
PFS_events_statements
*
thread_statements_history_array
=
NULL
;
static
PFS_events_statements
*
thread_statements_stack_array
=
NULL
;
static
unsigned
char
*
current_stmts_digest_token_array
=
NULL
;
static
unsigned
char
*
history_stmts_digest_token_array
=
NULL
;
static
char
*
thread_session_connect_attrs_array
=
NULL
;
/** Hash table for instrumented files. */
...
...
@@ -190,6 +193,9 @@ static bool filename_hash_inited= false;
*/
int
init_instruments
(
const
PFS_global_param
*
param
)
{
PFS_events_statements
*
pfs_stmt
;
unsigned
char
*
pfs_tokens
;
uint
thread_waits_history_sizing
;
uint
thread_stages_history_sizing
;
uint
thread_statements_history_sizing
;
...
...
@@ -215,6 +221,9 @@ int init_instruments(const PFS_global_param *param)
file_handle_max
=
param
->
m_file_handle_sizing
;
file_handle_full
=
false
;
file_handle_lost
=
0
;
pfs_max_digest_length
=
param
->
m_max_digest_length
;
table_max
=
param
->
m_table_sizing
;
table_full
=
false
;
table_lost
=
0
;
...
...
@@ -254,6 +263,9 @@ int init_instruments(const PFS_global_param *param)
*
session_connect_attrs_size_per_thread
;
session_connect_attrs_lost
=
0
;
size_t
current_digest_tokens_sizing
=
param
->
m_thread_sizing
*
pfs_max_digest_length
*
statement_stack_max
;
size_t
history_digest_tokens_sizing
=
param
->
m_thread_sizing
*
pfs_max_digest_length
*
events_statements_history_per_thread
;
mutex_array
=
NULL
;
rwlock_array
=
NULL
;
cond_array
=
NULL
;
...
...
@@ -266,6 +278,8 @@ int init_instruments(const PFS_global_param *param)
thread_stages_history_array
=
NULL
;
thread_statements_history_array
=
NULL
;
thread_statements_stack_array
=
NULL
;
current_stmts_digest_token_array
=
NULL
;
history_stmts_digest_token_array
=
NULL
;
thread_instr_class_waits_array
=
NULL
;
thread_instr_class_stages_array
=
NULL
;
thread_instr_class_statements_array
=
NULL
;
...
...
@@ -407,6 +421,22 @@ int init_instruments(const PFS_global_param *param)
return
1
;
}
if
(
current_digest_tokens_sizing
>
0
)
{
current_stmts_digest_token_array
=
(
unsigned
char
*
)
pfs_malloc
(
current_digest_tokens_sizing
,
MYF
(
MY_ZEROFILL
));
if
(
unlikely
(
current_stmts_digest_token_array
==
NULL
))
return
1
;
}
if
(
history_digest_tokens_sizing
>
0
)
{
history_stmts_digest_token_array
=
(
unsigned
char
*
)
pfs_malloc
(
history_digest_tokens_sizing
,
MYF
(
MY_ZEROFILL
));
if
(
unlikely
(
history_stmts_digest_token_array
==
NULL
))
return
1
;
}
for
(
index
=
0
;
index
<
thread_max
;
index
++
)
{
thread_array
[
index
].
m_waits_history
=
...
...
@@ -427,6 +457,22 @@ int init_instruments(const PFS_global_param *param)
&
thread_session_connect_attrs_array
[
index
*
session_connect_attrs_size_per_thread
];
}
for
(
index
=
0
;
index
<
thread_statements_stack_sizing
;
index
++
)
{
pfs_stmt
=
&
thread_statements_stack_array
[
index
];
pfs_tokens
=
&
current_stmts_digest_token_array
[
index
*
pfs_max_digest_length
];
pfs_stmt
->
m_digest_storage
.
reset
(
pfs_tokens
,
pfs_max_digest_length
);
}
for
(
index
=
0
;
index
<
thread_statements_history_sizing
;
index
++
)
{
pfs_stmt
=
&
thread_statements_history_array
[
index
];
pfs_tokens
=
&
history_stmts_digest_token_array
[
index
*
pfs_max_digest_length
];
pfs_stmt
->
m_digest_storage
.
reset
(
pfs_tokens
,
pfs_max_digest_length
);
}
if
(
stage_class_max
>
0
)
{
global_instr_class_stages_array
=
...
...
@@ -497,6 +543,10 @@ void cleanup_instruments(void)
global_instr_class_statements_array
=
NULL
;
pfs_free
(
thread_session_connect_attrs_array
);
thread_session_connect_attrs_array
=
NULL
;
pfs_free
(
current_stmts_digest_token_array
);
current_stmts_digest_token_array
=
NULL
;
pfs_free
(
history_stmts_digest_token_array
);
history_stmts_digest_token_array
=
NULL
;
}
C_MODE_START
...
...
storage/perfschema/pfs_instr.h
View file @
d71d4119
/* Copyright (c) 2008, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -298,6 +298,8 @@ struct PFS_ALIGNED PFS_socket : public PFS_instr
/** Max size of the statements stack. */
extern
uint
statement_stack_max
;
/** Max size of the digests token array. */
extern
uint
pfs_max_digest_length
;
/**
@def PFS_MAX_ALLOC_RETRY
...
...
storage/perfschema/pfs_server.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
storage/perfschema/pfs_server.h
View file @
d71d4119
/* Copyright (c) 2008, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -197,6 +197,8 @@ struct PFS_global_param
/** Maximum number of session attribute strings per thread */
long
m_session_connect_attrs_sizing
;
uint
m_max_digest_length
;
/** Sizing hints, for auto tuning. */
PFS_sizing_hints
m_hints
;
};
...
...
storage/perfschema/pfs_user.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -346,9 +346,7 @@ void purge_user(PFS_thread *thread, PFS_user *user)
user
->
m_key
.
m_hash_key
,
user
->
m_key
.
m_key_length
));
if
(
entry
&&
(
entry
!=
MY_ERRPTR
))
{
PFS_user
*
pfs
;
pfs
=
*
entry
;
DBUG_ASSERT
(
pfs
==
user
);
DBUG_ASSERT
(
*
entry
==
user
);
if
(
user
->
get_refcount
()
==
0
)
{
lf_hash_delete
(
&
user_hash
,
pins
,
...
...
storage/perfschema/table_events_statements.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -302,7 +302,7 @@ table_events_statements_common::table_events_statements_common
@param statement the statement the cursor is reading
*/
void
table_events_statements_common
::
make_row_part_1
(
PFS_events_statements
*
statement
,
PSI
_digest_storage
*
digest
)
sql
_digest_storage
*
digest
)
{
const
char
*
base
;
const
char
*
safe_source_file
;
...
...
@@ -370,43 +370,37 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat
/*
Making a copy of digest storage.
*/
digest
_copy
(
digest
,
&
statement
->
m_digest_storage
);
digest
->
copy
(
&
statement
->
m_digest_storage
);
m_row_exists
=
true
;
return
;
}
void
table_events_statements_common
::
make_row_part_2
(
PSI
_digest_storage
*
digest
)
void
table_events_statements_common
::
make_row_part_2
(
const
sql
_digest_storage
*
digest
)
{
/*
Filling up statement digest information.
*/
int
safe_byte_count
=
digest
->
m_byte_count
;
u
int
safe_byte_count
=
digest
->
m_byte_count
;
if
(
safe_byte_count
>
0
&&
safe_byte_count
<=
PSI_MAX_DIGEST_STORAGE_SIZE
)
safe_byte_count
<=
pfs_max_digest_length
)
{
PFS_digest_key
md5
;
compute_md5_hash
((
char
*
)
md5
.
m_md5
,
(
char
*
)
digest
->
m_token_array
,
safe_byte_count
);
/* Generate the DIGEST string from the MD5 digest */
MD5_HASH_TO_STRING
(
md5
.
m_md5
,
MD5_HASH_TO_STRING
(
digest
->
m_md5
,
m_row
.
m_digest
.
m_digest
);
m_row
.
m_digest
.
m_digest_length
=
MD5_HASH_TO_STRING_LENGTH
;
/* Generate the DIGEST_TEXT string from the token array */
get_digest_text
(
m_row
.
m_digest
.
m_digest_text
,
digest
);
m_row
.
m_digest
.
m_digest_text_length
=
strlen
(
m_row
.
m_digest
.
m_digest_text
);
compute_digest_text
(
digest
,
&
m_row
.
m_digest
.
m_digest_text
);
if
(
m_row
.
m_digest
.
m_digest_text
_length
==
0
)
if
(
m_row
.
m_digest
.
m_digest_text
.
length
()
==
0
)
m_row
.
m_digest
.
m_digest_length
=
0
;
}
else
{
m_row
.
m_digest
.
m_digest_length
=
0
;
m_row
.
m_digest
.
m_digest_text
_length
=
0
;
m_row
.
m_digest
.
m_digest_text
.
length
(
0
)
;
}
return
;
...
...
@@ -491,9 +485,9 @@ int table_events_statements_common::read_row_values(TABLE *table,
f
->
set_null
();
break
;
case
11
:
/* DIGEST_TEXT */
if
(
m_row
.
m_digest
.
m_digest_text
_length
>
0
)
set_field_longtext_utf8
(
f
,
m_row
.
m_digest
.
m_digest_text
,
m_row
.
m_digest
.
m_digest_text
_length
);
if
(
m_row
.
m_digest
.
m_digest_text
.
length
()
>
0
)
set_field_longtext_utf8
(
f
,
m_row
.
m_digest
.
m_digest_text
.
ptr
()
,
m_row
.
m_digest
.
m_digest_text
.
length
()
);
else
f
->
set_null
();
break
;
...
...
@@ -710,11 +704,11 @@ int table_events_statements_current::rnd_pos(const void *pos)
void
table_events_statements_current
::
make_row
(
PFS_thread
*
pfs_thread
,
PFS_events_statements
*
statement
)
{
PSI
_digest_storage
digest
;
sql
_digest_storage
digest
;
pfs_lock
lock
;
pfs_lock
stmt_lock
;
digest
_reset
(
&
digest
);
digest
.
reset
(
m_token_array
,
MAX_DIGEST_STORAGE_SIZE
);
/* Protect this reader against thread termination. */
pfs_thread
->
m_lock
.
begin_optimistic_lock
(
&
lock
);
/* Protect this reader against writing on statement information. */
...
...
@@ -838,10 +832,10 @@ int table_events_statements_history::rnd_pos(const void *pos)
void
table_events_statements_history
::
make_row
(
PFS_thread
*
pfs_thread
,
PFS_events_statements
*
statement
)
{
PSI
_digest_storage
digest
;
sql
_digest_storage
digest
;
pfs_lock
lock
;
digest
_reset
(
&
digest
);
digest
.
reset
(
m_token_array
,
MAX_DIGEST_STORAGE_SIZE
);
/* Protect this reader against thread termination. */
pfs_thread
->
m_lock
.
begin_optimistic_lock
(
&
lock
);
...
...
@@ -942,9 +936,9 @@ int table_events_statements_history_long::rnd_pos(const void *pos)
void
table_events_statements_history_long
::
make_row
(
PFS_events_statements
*
statement
)
{
PSI
_digest_storage
digest
;
sql
_digest_storage
digest
;
digest
_reset
(
&
digest
);
digest
.
reset
(
m_token_array
,
MAX_DIGEST_STORAGE_SIZE
);
table_events_statements_common
::
make_row_part_1
(
statement
,
&
digest
);
table_events_statements_common
::
make_row_part_2
(
&
digest
);
...
...
storage/perfschema/table_events_statements.h
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -175,14 +175,15 @@ class table_events_statements_common : public PFS_engine_table
{}
void
make_row_part_1
(
PFS_events_statements
*
statement
,
PSI
_digest_storage
*
digest
);
sql
_digest_storage
*
digest
);
void
make_row_part_2
(
PSI
_digest_storage
*
digest
);
void
make_row_part_2
(
const
sql
_digest_storage
*
digest
);
/** Current row. */
row_events_statements
m_row
;
/** True if the current row exists. */
bool
m_row_exists
;
unsigned
char
m_token_array
[
MAX_DIGEST_STORAGE_SIZE
];
};
/** Table PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_CURRENT. */
...
...
storage/perfschema/table_helper.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
3
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -25,6 +25,7 @@
#include "pfs_host.h"
#include "pfs_user.h"
#include "pfs_account.h"
#include "pfs_instr.h"
int
PFS_host_row
::
make_row
(
PFS_host
*
pfs
)
{
...
...
@@ -109,8 +110,8 @@ int PFS_digest_row::make_row(PFS_statements_digest_stat* pfs)
if
(
m_schema_name_length
>
0
)
memcpy
(
m_schema_name
,
pfs
->
m_digest_key
.
m_schema_name
,
m_schema_name_length
);
int
safe_byte_count
=
pfs
->
m_digest_storage
.
m_byte_count
;
if
(
safe_byte_count
>
PSI_MAX_DIGEST_STORAGE_SIZE
)
u
int
safe_byte_count
=
pfs
->
m_digest_storage
.
m_byte_count
;
if
(
safe_byte_count
>
pfs_max_digest_length
)
safe_byte_count
=
0
;
/*
...
...
@@ -124,23 +125,22 @@ int PFS_digest_row::make_row(PFS_statements_digest_stat* pfs)
Calculate digest from MD5 HASH collected to be shown as
DIGEST in this row.
*/
MD5_HASH_TO_STRING
(
pfs
->
m_digest_
key
.
m_md5
,
m_digest
);
MD5_HASH_TO_STRING
(
pfs
->
m_digest_
storage
.
m_md5
,
m_digest
);
m_digest_length
=
MD5_HASH_TO_STRING_LENGTH
;
/*
Calculate digest_text information from the token array collected
to be shown as DIGEST_TEXT column.
*/
get_digest_text
(
m_digest_text
,
&
pfs
->
m_digest_storage
);
m_digest_text_length
=
strlen
(
m_digest_text
);
compute_digest_text
(
&
pfs
->
m_digest_storage
,
&
m_digest_text
);
if
(
m_digest_text
_length
==
0
)
if
(
m_digest_text
.
length
()
==
0
)
m_digest_length
=
0
;
}
else
{
m_digest_length
=
0
;
m_digest_text
_length
=
0
;
m_digest_text
.
length
(
0
)
;
}
return
0
;
...
...
@@ -165,9 +165,9 @@ void PFS_digest_row::set_field(uint index, Field *f)
f
->
set_null
();
break
;
case
2
:
/* DIGEST_TEXT */
if
(
m_digest_text
_length
>
0
)
PFS_engine_table
::
set_field_longtext_utf8
(
f
,
m_digest_text
,
m_digest_text
_length
);
if
(
m_digest_text
.
length
()
>
0
)
PFS_engine_table
::
set_field_longtext_utf8
(
f
,
m_digest_text
.
ptr
()
,
m_digest_text
.
length
()
);
else
f
->
set_null
();
break
;
...
...
storage/perfschema/table_helper.h
View file @
d71d4119
/* Copyright (c) 2008, 201
4
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -136,9 +136,7 @@ struct PFS_digest_row
/** Length in bytes of @c m_digest. */
uint
m_digest_length
;
/** Column DIGEST_TEXT. */
char
m_digest_text
[
COL_DIGEST_TEXT_SIZE
];
/** Length in bytes of @c m_digest_text. */
uint
m_digest_text_length
;
String
m_digest_text
;
/** Build a row from a memory buffer. */
int
make_row
(
PFS_statements_digest_stat
*
);
...
...
storage/perfschema/unittest/CMakeLists.txt
View file @
d71d4119
# Copyright (c) 2009, 201
3
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 201
5
, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
...
...
@@ -23,9 +23,13 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
ADD_DEFINITIONS
(
-DMYSQL_SERVER
${
SSL_DEFINES
}
)
ADD_CONVENIENCE_LIBRARY
(
pfs_server_stubs pfs_server_stubs.cc
)
ADD_DEPENDENCIES
(
pfs_server_stubs GenError
)
MACRO
(
PFS_ADD_TEST name
)
ADD_EXECUTABLE
(
${
name
}
-t
${
name
}
-t.cc
)
TARGET_LINK_LIBRARIES
(
${
name
}
-t mytap perfschema mysys
)
TARGET_LINK_LIBRARIES
(
${
name
}
-t mytap perfschema mysys
pfs_server_stubs
)
ADD_TEST
(
${
name
}
${
name
}
-t
)
ENDMACRO
()
...
...
storage/perfschema/unittest/pfs-t.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -26,7 +26,6 @@
#include "stub_print_error.h"
#include "stub_pfs_defaults.h"
#include "stub_server_misc.h"
/* test helpers, to simulate the setup */
...
...
@@ -112,6 +111,7 @@ void test_bootstrap()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
boot
=
initialize_performance_schema
(
&
param
);
ok
(
boot
!=
NULL
,
"boot"
);
...
...
@@ -170,6 +170,7 @@ PSI * load_perfschema()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
/* test_bootstrap() covered this, assuming it just works */
boot
=
initialize_performance_schema
(
&
param
);
...
...
@@ -1514,6 +1515,7 @@ void test_event_name_index()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
param
.
m_mutex_sizing
=
0
;
param
.
m_rwlock_sizing
=
0
;
...
...
storage/perfschema/unittest/pfs_account-oom-t.cc
View file @
d71d4119
/* Copyright (c) 2011, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2011, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -22,7 +22,6 @@
#include <tap.h>
#include "stub_pfs_global.h"
#include "stub_server_misc.h"
#include <string.h>
/* memset */
...
...
storage/perfschema/unittest/pfs_host-oom-t.cc
View file @
d71d4119
/* Copyright (c) 2011, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2011, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -22,7 +22,6 @@
#include <tap.h>
#include "stub_pfs_global.h"
#include "stub_server_misc.h"
#include <string.h>
/* memset */
...
...
storage/perfschema/unittest/pfs_instr-oom-t.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -22,7 +22,6 @@
#include <tap.h>
#include "stub_pfs_global.h"
#include "stub_server_misc.h"
#include <string.h>
/* memset */
...
...
storage/perfschema/unittest/pfs_instr-t.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -23,8 +23,6 @@
#include <memory.h>
#include "stub_server_misc.h"
void
test_no_instruments
()
{
int
rc
;
...
...
@@ -62,6 +60,7 @@ void test_no_instruments()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
init_event_name_sizing
(
&
param
);
rc
=
init_instruments
(
&
param
);
...
...
@@ -121,6 +120,7 @@ void test_no_instances()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
init_event_name_sizing
(
&
param
);
rc
=
init_instruments
(
&
param
);
...
...
@@ -261,6 +261,7 @@ void test_with_instances()
param
.
m_events_statements_history_long_sizing
=
0
;
param
.
m_digest_sizing
=
0
;
param
.
m_session_connect_attrs_sizing
=
0
;
param
.
m_max_digest_length
=
0
;
init_event_name_sizing
(
&
param
);
rc
=
init_instruments
(
&
param
);
...
...
storage/perfschema/unittest/pfs_instr_class-oom-t.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -20,7 +20,6 @@
#include <tap.h>
#include "stub_pfs_global.h"
#include "stub_server_misc.h"
void
test_oom
()
{
...
...
storage/perfschema/unittest/pfs_instr_class-t.cc
View file @
d71d4119
/* Copyright (c) 2008, 201
1
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -21,8 +21,6 @@
#include <pfs_global.h>
#include <tap.h>
#include "stub_server_misc.h"
void
test_no_registration
()
{
int
rc
;
...
...
storage/perfschema/unittest/
stub_server_misc.h
→
storage/perfschema/unittest/
pfs_server_stubs.cc
View file @
d71d4119
/* Copyright (c) 2010, 201
2
, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 201
5
, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -17,12 +17,19 @@
Minimal code to be able to link a unit test.
*/
#include "my_global.h"
#include "m_ctype.h"
#include "sql_class.h"
#include "sql_show.h"
struct
sql_digest_storage
;
volatile
bool
ready_to_exit
=
false
;
uint
lower_case_table_names
=
0
;
CHARSET_INFO
*
files_charset_info
=
NULL
;
extern
"C"
void
compute_md5_hash
(
char
*
,
const
char
*
,
int
)
void
compute_digest_md5
(
const
sql_digest_storage
*
,
unsigned
char
*
)
{
}
storage/perfschema/unittest/pfs_user-oom-t.cc
View file @
d71d4119
/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2011,
2015,
Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -22,7 +22,6 @@
#include <tap.h>
#include "stub_pfs_global.h"
#include "stub_server_misc.h"
#include <string.h>
/* memset */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment