首页 > 数据库 > > 5.7 使用Dtrace 跟踪 mysqld
参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/dba-dtrace-server.html
MySQL 5.7中不支持对DTrace的支持,并在MySQL 8.0中删除。
MySQL服务器中的DTrace探测器旨在提供有关MySQL内查询执行情况的信息以及在该过程中正在使用的系统的不同区域。 探测器的组织和触发意味着可以使用一个级别的探测器(query-start和query-done)来监视整个查询的执行,但是通过监视其他探测器可以获得关于查询执行的更多详细信息 就所使用的锁,排序方法,甚至逐行和存储引擎级执行信息而言。
DTrace探针的组织方式使您可以从整个查询过程开始,从客户端的连接点到查询执行,行级操作并再次返回。 在典型的客户端连接/执行/断开序列期间,您可以将探测器视为在特定序列中被触发,如下图所示。
--完整的trace 信息

全局信息在各级DTrace探针的参数中提供。 全局信息,即连接ID和用户/主机以及查询字符串的相关位置在关键级别( (connection-start,command-start, query-start, 和query-exec-start)中提供。 随着您深入探查,假定您只对单个执行感兴趣(行级别探针仅提供有关数据库和表名称的信息),或者您将行级别探针与名义上的父级 探测器提供有关特定查询的信息。
MySQL在这些平台上支持DTrace探针:
在这些平台上应该是自动的 启用探针。 要在构建过程中明确启用或禁用探针,请使用CMake的-DENABLE_DTRACE = 1或-DENABLE_DTRACE = 0选项。
如果非Solaris平台包含DTrace支持,则在该平台上构建mysqld将包含DTrace支持。
有关DTrace和编写DTrace脚本的更多信息,请阅读 DTrace User Guide.
有关DTrace的介绍,请参阅MySQL开发人员专区文章 Getting started with DTracing MySQL.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3147248/ ,如需转载,请注明出处,否则将追究法律责任。