Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 37.2Mb
PDF (A4) - 37.2Mb
PDF (RPM) - 36.6Mb
HTML Download (TGZ) - 10.1Mb
HTML Download (Zip) - 10.2Mb
HTML Download (RPM) - 8.8Mb
Man Pages (TGZ) - 206.0Kb
Man Pages (Zip) - 313.0Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

25.4.4.2 The diagnostics() Procedure

Creates a report of the current server status for diagnostic purposes.

This procedure requires the SUPER privilege because it manipulates the session sql_log_bin system variable to disable binary logging during its execution.

This procedure was added in MySQL 5.7.9. For MySQL 5.6, it requires MySQL 5.6.10 or higher. For MySQL 5.7, it requires MySQL 5.7.9 or higher.

Data collected for diagnostics() includes this information:

  • Information from the metrics view (see Section 25.4.3.21, “The metrics View”)

  • Information from other relevant sys schema views, such as the one that detemines queries in the 95th percentile

  • Information from the ndbinfo schema, if the MySQL server is part of NDB Cluster

  • Replication status (both master and slave)

Some of the sys schema views are calculated as initial (optional), overall, and delta values:

  • The initial view is the content of the view at the start of the diagnostics() procedure. This output is the same as the start values used for the delta view. The initial view is included if the diagnostics.include_raw configuration option is ON.

  • The overall view is the content of the view at the end of the diagnostics() procedure. This output is the same as the end values used for the delta view. The overall view is always included.

  • The delta view is the difference from the beginning to the end of procedure execution. The minimum and maximum values are the minimum and maximum values from the end view, respectively. They do not necessarily reflect the minimum and maximum values in the monitored period. Except for the metrics view, the delta is calculated only between the first and last outputs.

Parameters
  • in_max_runtime INT UNSIGNED: The maximum data collection time in seconds. Use NULL to collect data for the default of 60 seconds. Otherwise, use a value greater than 0.

  • in_interval INT UNSIGNED: The sleep time between data collections in seconds. Use NULL to sleep for the default of 30 seconds. Otherwise, use a value greater than 0.

  • in_auto_config ENUM('current', 'medium', 'full'): The Performance Schema configuration to use. Permitted values are:

    • current: Use the current instrument and consumer settings.

    • medium: Enable some instruments and consumers.

    • full: Enable all instruments and consumers.

    Note

    The more instruments and consumers enabled, the more impact on MySQL server performance. Be careful with the medium setting and especially the full setting, which has a large performance impact.

    Use of the medium or full setting requires the SUPER privilege.

    If a setting other than current is chosen, the current settings are restored at the end of the procedure.

Configuration Options

diagnostics() operation can be modified using the following configuration options or their corresponding user-defined variables (see Section 25.4.2.1, “The sys_config Table”):

  • debug, @sys.debug

    If this option is ON, produce debugging output. The default is OFF.

  • diagnostics.allow_i_s_tables, @sys.diagnostics.allow_i_s_tables

    If this option is ON, the diagnostics() procedure is permitted to perform table scans on the INFORMATION_SCHEMA.TABLES table. This can be expensive if there are many tables. The default is OFF.

  • diagnostics.include_raw, @sys.diagnostics.include_raw

    If this option is ON, the diagnostics() procedure output includes the raw output from querying the metrics view. The default is OFF.

  • statement_truncate_len, @sys.statement_truncate_len

    The maximum length of statements returned by the format_statement() function. Longer statements are truncated to this length. The default is 64.

Example

Create a diagnostics report that starts an iteration every 30 seconds and runs for at most 120 seconds using the current Performance Schema settings:

mysql> CALL diagnostics(120, 30, 'current');

To capture the output from the diagnostics() procedure in a file as it runs, use the mysql client tee filename and notee commands (see Section 5.5.1.2, “mysql Commands”):

mysql> tee diag.out;
mysql> CALL diagnostics(120, 30, 'current');
mysql> notee;

User Comments
Sign Up Login You must be logged in to post a comment.