MySQL 8.4 Release Notes
29.4.3 事件预过滤
预过滤是由性能架构完成的,它具有全局作用,适用于所有用户。预过滤可以应用于事件处理的生产者或消费者阶段:
-
要在生产者阶段配置预过滤,可以使用以下几张表格:
-
setup_instruments
表示哪些仪器可用。一个在这个表格中被禁用的仪器无论其他生产相关的设置表中的内容如何,都不会产生任何事件。一个在这个表格中被启用的仪器允许产生事件,但必须遵守其他表格的内容。 -
setup_objects
控制性能架构是否监控特定的表和存储程序对象。 -
threads
表示是否为每个服务器线程启用监控。 -
setup_actors
决定对新前台线程的初始监控状态。
-
-
要在消费者阶段配置预过滤,请修改
setup_consumers
表。这个表决定事件将被发送到哪里。setup_consumers
同时隐式地影响事件的生产。如果一个给定的事件没有被发送到任何目的地(即它从未被消费过),那么性能架构就不会产生这个事件。
对这些表格进行修改会立即影响监控,除了 setup_actors
表的修改,只对在修改之后创建的前台线程生效,不影响现有线程。
当您更改监控配置时,性能架构不会清空历史表。已经收集的事件将保持在当前事件和历史表中,直到被新的事件取代。如果禁用仪器,您可能需要等待一段时间才能看到它们被新的感兴趣的事件取代。或者,您可以使用 TRUNCATE TABLE
来清空历史表。
在进行仪器更改后,您可能想要清空总结表。通常,效果是将总结列重置为0或 NULL
,而不是删除行。这使您可以清除收集的值并重新启动聚合。这可能会有用,例如,在运行时配置更改之后。对总结表部分的特殊行为有特别说明。
以下各节描述了如何使用特定表来控制性能架构的预过滤。