Spec-Zone .ru
спецификации, руководства, описания, API
|
The query execution probe is triggered when the actual execution of the query starts, after the parsing and checking the query cache but before any privilege checks or optimization. By comparing the difference between the start and done probes you can monitor the time actually spent servicing the query (instead of just handling the parsing and other elements of the query).
query-exec-start(query, connectionid, database, user, host, exec_type)query-exec-done(status)
The information provided in the arguments for query-start
and
query-exec-start
are almost identical and designed so that you can choose
to monitor either the entire query process (using query-start
) or only the
execution (using query-exec-start
) while exposing the core information
about the user, client, and query being executed.
query-exec-start
: Triggered when the execution of a
individual query is started. The arguments are:
query
: The full text of the submitted
query.
connectionid
: The connection ID of the
client that submitted the query. The connection ID equals the connection ID returned when
the client first connects and the Id
value in the output from
SHOW PROCESSLIST
.
database
: The database name on which the
query is being executed.
user
: The username used to connect to the
server.
host
: The hostname of the client.
exec_type
: The type of execution. Execution
types are determined based on the contents of the query and where it was submitted. The
values for each type are shown in the following table.
Value | Description |
---|---|
0 | Executed query from sql_parse, top-level query. |
1 | Executed prepared statement |
2 | Executed cursor statement |
3 | Executed query in stored procedure |
query-exec-done
: Triggered when the execution of the
query has completed. The probe includes a single argument, status
, which
returns 0 when the query is successfully executed and 1 if there was an error.