文档主页
MySQL Connector/ODBC 开发者指南
相关文档 下载本手册
PDF(US Letter) - 1.7Mb
PDF (A4) - 1.7Mb


MySQL Connector/ODBC 开发者指南  /  配置 Connector/ODBC  /  OpenTelemetry 追踪支持

5.8 OpenTelemetry 追踪支持

对于使用 OpenTelemetry (OTel) 插桩的 Linux 系统上的应用程序,连接器会将查询和连接跨度添加到应用程序代码生成的跟踪中,并将当前 OpenTelemetry 上下文转发到服务器。OpenTelemetry 追踪是在 Connector/ODBC 8.1.0 版本中引入的。

注意

OTel 上下文转发仅适用于 MySQL 企业版,这是一个商业产品。要详细了解商业产品,请参阅 https://www.mysqlserver.cn/products/

启用和禁用追踪

默认情况下,连接器仅在以下情况下转发上下文:已插桩的应用程序安装了所需的 OpenTelemetry SDK 库,并将跟踪导出器配置为将跟踪数据发送到某个目标。如果应用程序代码不使用插桩,则旧版连接器也不使用它。

Connector/ODBC 支持连接属性选项 OPENTELEMETRY,该选项具有以下值

  • PREFERRED:默认值。如果可以使用所需的 OpenTelemetry 插桩,则在连接中使用插桩。否则,允许连接在没有任何 OpenTelemetry 插桩的情况下运行。

  • DISABLED:连接器不会创建 OpenTelemetry 跨度或将 OpenTelemetry 上下文转发到服务器。

    设置为布尔值 false 的行为与 DISABLED 相同。

当您构建链接到 Connector/ODBC 并使用 OTel 插桩的代码时,连接器生成的额外跨度将出现在代码生成的跟踪中。连接器生成的跨度将发送到用户代码配置的相同目标(跟踪导出器),用户代码生成的其它跨度也将发送到该目标。无法将连接器生成的跨度发送到任何其他目标。

此实现不同于通过 MySQL 客户端库(或相关的 telemetry_client 客户端插件)提供的实现。

限制

仅当使用 -rdynamic 编译器选项构建应用程序时,ODBC 驱动程序中的 OTel 插桩才起作用,以便在用户代码中定义的符号在外部可见。否则,OTel 上下文不会转发到服务器(因为驱动程序无法获取当前的 OTel 上下文),并且 ODBC 驱动程序生成的跨度将不会发送到应用程序中指定的目标(它们将被丢弃)。