mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
Don't start profiling too soon. Begin timing when the packet is
read. Do not store profiling information when there is no query text. We don't wish to capture non-COM_QUERY packets. sql/sql_parse.cc: Start profiling immediately after a command packet is read from the network. sql/sql_profile.cc: Do not store items for which there is no query, i.e., protocol API calls (non-COM_QUERY) and such.
This commit is contained in:
parent
74da84cdb3
commit
ac180f8272
2 changed files with 7 additions and 4 deletions
|
@ -668,9 +668,6 @@ bool do_command(THD *thd)
|
|||
enum enum_server_command command;
|
||||
DBUG_ENTER("do_command");
|
||||
|
||||
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
|
||||
thd->profiling.start_new_query();
|
||||
#endif
|
||||
/*
|
||||
indicator of uninitialized lex => normal flow of errors handling
|
||||
(see my_message_sql)
|
||||
|
@ -688,7 +685,12 @@ bool do_command(THD *thd)
|
|||
thd->clear_error(); // Clear error message
|
||||
|
||||
net_new_transaction(net);
|
||||
if ((packet_length=my_net_read(net)) == packet_error)
|
||||
|
||||
packet_length= my_net_read(net);
|
||||
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
|
||||
thd->profiling.start_new_query();
|
||||
#endif
|
||||
if (packet_length == packet_error)
|
||||
{
|
||||
DBUG_PRINT("info",("Got error %d reading command from socket %s",
|
||||
net->error,
|
||||
|
|
|
@ -378,6 +378,7 @@ void PROFILING::finish_current_query()
|
|||
|
||||
if ((enabled) && /* ON at start? */
|
||||
((thd->options & OPTION_PROFILING) != 0) && /* and ON at end? */
|
||||
(current->query_source != NULL) &&
|
||||
(! current->entries.is_empty()))
|
||||
{
|
||||
current->profiling_query_id= next_profile_id(); /* assign an id */
|
||||
|
|
Loading…
Add table
Reference in a new issue