5.8 Поддержка трассировки OpenTelemetry
Для приложений на системах Linux, использующих инструменты OpenTelemetry (OTel), соединитель добавляет запросы и соединения в трассировку, генерируемую кодом приложения, и передаёт текущий контекст OpenTelemetry серверу. Трассировка OpenTelemetry была добавлена в релизе Connector/ODBC 8.1.0.
Передача контекста OTel работает только с MySQL Enterprise Edition, коммерческим продуктом. Чтобы узнать больше о коммерческих продуктах, см. https://www.mysql.com/products/.
Включение и отключение трассировки
По умолчанию соединитель передаёт контекст только тогда, когда приложение, использующее инструменты, устанавливает необходимые библиотеки OpenTelemetry SDK и настраивает экспортер трассировки для отправки данных трассировки в определённый пункт назначения. Если код приложения не использует инструменты, то и соединитель не использует их.
Connector/ODBC поддерживает параметр свойства соединения, OPENTELEMETRY, который имеет следующие значения:
PREFERRED: Значение по умолчанию. Использовать инструменты в соединении, если доступны необходимые инструменты OpenTelemetry. В противном случае разрешить соединение работать без инструментов OpenTelemetry.-
DISABLED: Соединитель не создаёт узлы OpenTelemetry или не передаёт контекст OpenTelemetry на сервер.Установка в логическое значение
falseимеет тот же эффект, что иDISABLED.
Когда вы создаёте код, который связывается с Connector/ODBC и использует инструменты OTel, дополнительные узлы, созданные соединителем, отображаются в трассировках, созданных вашим кодом. Узлы, созданные соединителем, отправляются в тот же пункт назначения (экспортер трассировки), куда отправляются и другие узлы, созданные кодом пользователя, как это настроено кодом пользователя. Нет возможности отправить узлы, созданные соединителем, в другой пункт назначения.
Эта реализация отличается от реализации, предоставляемой через библиотеку клиента MySQL (или связанный плагин клиентской стороны telemetry_client).
Ограничения
Инструменты OTel в драйвере ODBC функционируют только в том случае, если приложение построено с параметром компилятора -rdynamic, чтобы символы, определённые в пользовательском коде, были внешне видимыми. Без этого контекст OTel не передаётся серверу (поскольку у драйвера нет способа получить текущий контекст OTel), и узлы, созданные драйвером ODBC, не будут отправлены в указанный в приложении пункт назначения (они будут отброшены).
© 2025 Oracle
Licensed under the GPLv2 License.