文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  依儀器預先過濾

29.4.4 依儀器預先過濾

setup_instruments 資料表列出可用的儀器

mysql> SELECT NAME, ENABLED, TIMED
       FROM performance_schema.setup_instruments;
+---------------------------------------------------+---------+-------+
| NAME                                              | ENABLED | TIMED |
+---------------------------------------------------+---------+-------+
...
| stage/sql/end                                     | NO      | NO    |
| stage/sql/executing                               | NO      | NO    |
| stage/sql/init                                    | NO      | NO    |
| stage/sql/insert                                  | NO      | NO    |
...
| statement/sql/load                                | YES     | YES   |
| statement/sql/grant                               | YES     | YES   |
| statement/sql/check                               | YES     | YES   |
| statement/sql/flush                               | YES     | YES   |
...
| wait/synch/mutex/sql/LOCK_global_read_lock        | YES     | YES   |
| wait/synch/mutex/sql/LOCK_global_system_variables | YES     | YES   |
| wait/synch/mutex/sql/LOCK_lock_db                 | YES     | YES   |
| wait/synch/mutex/sql/LOCK_manager                 | YES     | YES   |
...
| wait/synch/rwlock/sql/LOCK_grant                  | YES     | YES   |
| wait/synch/rwlock/sql/LOGGER::LOCK_logger         | YES     | YES   |
| wait/synch/rwlock/sql/LOCK_sys_init_connect       | YES     | YES   |
| wait/synch/rwlock/sql/LOCK_sys_init_slave         | YES     | YES   |
...
| wait/io/file/sql/binlog                           | YES     | YES   |
| wait/io/file/sql/binlog_index                     | YES     | YES   |
| wait/io/file/sql/casetest                         | YES     | YES   |
| wait/io/file/sql/dbopt                            | YES     | YES   |
...

若要控制是否啟用儀器,請將其 ENABLED 欄設定為 YESNO。若要設定是否為已啟用的儀器收集計時資訊,請將其 TIMED 值設定為 YESNO。如第 29.4.1 節「效能綱要事件計時」所述,設定 TIMED 欄會影響效能綱要資料表的內容。

對大多數setup_instruments 列的修改會立即影響監控。對於某些儀器,修改僅在伺服器啟動時有效;在執行階段變更它們不會有任何影響。這主要影響伺服器中的互斥鎖、條件和讀寫鎖,但可能還有其他儀器也是如此。

setup_instruments 資料表提供對事件產生最基本形式的控制。若要根據受監控的物件或執行緒類型進一步精細化事件產生,可以使用其他資料表,如第 29.4.3 節「事件預先過濾」中所述。

下列範例示範對 setup_instruments 資料表可能進行的操作。這些變更與其他預先過濾作業一樣,會影響所有使用者。其中一些查詢使用 LIKE 運算子和模式比對儀器名稱。如需指定模式以選取儀器的其他資訊,請參閱第 29.4.9 節「為過濾作業命名儀器或消費者」

  • 停用所有儀器

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO';

    現在不會收集任何事件。

  • 停用所有檔案儀器,將它們加入目前的已停用儀器集合中

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO'
    WHERE NAME LIKE 'wait/io/file/%';
  • 僅停用檔案儀器,啟用所有其他儀器

    UPDATE performance_schema.setup_instruments
    SET ENABLED = IF(NAME LIKE 'wait/io/file/%', 'NO', 'YES');
  • 啟用除了 mysys 程式庫中的儀器之外的所有儀器

    UPDATE performance_schema.setup_instruments
    SET ENABLED = CASE WHEN NAME LIKE '%/mysys/%' THEN 'YES' ELSE 'NO' END;
  • 停用特定儀器

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO'
    WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
  • 若要切換儀器的狀態,請「翻轉」其 ENABLED

    UPDATE performance_schema.setup_instruments
    SET ENABLED = IF(ENABLED = 'YES', 'NO', 'YES')
    WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
  • 停用所有事件的計時

    UPDATE performance_schema.setup_instruments
    SET TIMED = 'NO';