的setup_consumers
表中列出了可用的使用者类型以及启用的使用者类型:
SELECT * FROM performance_schema.setup_consumers;+----------------------------------+---------+ | 启用名字| | +----------------------------------+---------+ | events_stages_current没有| | | events_stages_history没有| | | events_stages_history_long没有| | | events_statements_current |是| | events_statements_history |是| | events_statements_history_long没有| | | events_transactions_current |是| | events_transactions_history |是| | events_transactions_history_long没有| | | events_waits_current没有| | | events_waits_history | ||events_waits_history_long|没有||global_instrumentation| YES | | thread_instrumentation | YES | | statements_digest | YES | +----------------------------------+---------+
修改setup_consumers
表,以影响使用者阶段的预过滤并确定将事件发送到的目的地。要启用或禁用使用者,请设置其启用
价值是的
或没有
.
修改setup_consumers
表立即影响监控。
如果禁用某个使用者,服务器就不会花时间维护该使用者的目的地。例如,如果您不关心历史事件信息,请禁用历史消费者:
更新performance_schema。setup_consumersSET ENABLED = 'NO' WHERE NAME LIKE '%history%';
中的使用者设置setup_consumers
表格从高到低形成一个层次结构。适用于以下原则:
除非性能模式检查使用者并启用使用者,否则与使用者关联的目的地不会接收任何事件。
只有当使用者所依赖的所有使用者(如果有的话)都启用时,才会检查使用者。
如果一个使用者没有被选中,或者被选中但被禁用,那么依赖它的其他使用者就不会被选中。
依赖型消费者可能有自己的依赖型消费者。
如果一个事件不被发送到任何目的地,性能模式就不会产生它。
下面的列表描述了可用的消费者值。有关几种代表性消费者配置及其对仪器的影响的讨论,请参见第27.4.8节“消费者配置示例”.
global_instrumentation
是最高级别的消费者。如果global_instrumentation
是没有
,它禁用全局检测。所有其他设置都是较低的级别,不进行检查;他们打算做什么并不重要。没有维护全局或每个线程的信息,也没有在当前事件或事件历史表中收集单个事件。如果global_instrumentation
是是的
,性能模式维护全局状态的信息,并检查thread_instrumentation
消费者。thread_instrumentation
仅当global_instrumentation
是是的
.否则,如果thread_instrumentation
是没有
,它将禁用特定于线程的插装,并忽略所有较低级别的设置。每个线程不维护任何信息,在当前事件或事件历史表中也不收集任何事件。如果thread_instrumentation
是是的
, Performance Schema维护特定于线程的信息并进行检查events_
消费者。xxx
_current
这些消费者同时需要global_instrumentation
而且thread_instrumentation
是是的
或者它们没有被检查。如果勾选,它们的作用如下:
events_waits_current
,如果没有
控件中各个等待事件的收集events_waits_current
表格如果是的
,它启用等待事件收集,并且性能模式检查events_waits_history
而且events_waits_history_long
消费者。events_waits_history
不勾选event_waits_current
是没有
.否则,一个events_waits_history
的价值没有
或是的
控件中等待事件的集合events_waits_history
表格events_waits_history_long
不勾选event_waits_current
是没有
.否则,一个events_waits_history_long
的价值没有
或是的
控件中等待事件的集合events_waits_history_long
表格
这些消费者同时需要global_instrumentation
而且thread_instrumentation
是是的
或者它们没有被检查。如果勾选,它们的作用如下:
events_stages_current
,如果没有
控件中各个阶段事件的集合events_stages_current
表格如果是的
,它启用阶段事件收集,性能架构检查events_stages_history
而且events_stages_history_long
消费者。events_stages_history
不勾选event_stages_current
是没有
.否则,一个events_stages_history
的价值没有
或是的
控件中的阶段事件的集合events_stages_history
表格events_stages_history_long
不勾选event_stages_current
是没有
.否则,一个events_stages_history_long
的价值没有
或是的
控件中的阶段事件的集合events_stages_history_long
表格
这些消费者同时需要global_instrumentation
而且thread_instrumentation
是是的
或者它们没有被检查。如果勾选,它们的作用如下:
events_statements_current
,如果没有
控件中单个语句事件的集合events_statements_current
表格如果是的
,它启用语句事件收集,性能模式检查events_statements_history
而且events_statements_history_long
消费者。events_statements_history
不勾选events_statements_current
是没有
.否则,一个events_statements_history
的价值没有
或是的
控件中的语句事件集合events_statements_history
表格events_statements_history_long
不勾选events_statements_current
是没有
.否则,一个events_statements_history_long
的价值没有
或是的
控件中的语句事件集合events_statements_history_long
表格
这些消费者同时需要global_instrumentation
而且thread_instrumentation
是是的
或者它们没有被检查。如果勾选,它们的作用如下:
events_transactions_current
,如果没有
控件中各个事务事件的集合events_transactions_current
表格如果是的
,它启用事务事件收集,并且性能架构检查events_transactions_history
而且events_transactions_history_long
消费者。events_transactions_history
不勾选events_transactions_current
是没有
.否则,一个events_transactions_history
的价值没有
或是的
控件中的事务事件集合禁用或启用events_transactions_history
表格events_transactions_history_long
不勾选events_transactions_current
是没有
.否则,一个events_transactions_history_long
的价值没有
或是的
控件中的事务事件集合禁用或启用events_transactions_history_long
表格
的statements_digest
消费者的需要global_instrumentation
是是的
或者它没有被检查。不依赖于语句事件消费者,因此可以在每个摘要中获得统计信息,而不必在events_statements_current
,这在管理费用方面是有利的。相反,你可以得到详细的陈述events_statements_current
没有消化(消化
而且DIGEST_TEXT
列是零
在这种情况下)。
有关语句摘要的更多信息,请参见第27.10节“性能模式语句摘要和抽样”.