<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A2%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_OpenTelemetry_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%B0</id>
	<title>Трассировки OpenTelemetry с помощью ЕдиногоАгента - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A2%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_OpenTelemetry_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A2%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_OpenTelemetry_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%B0&amp;action=history"/>
	<updated>2026-04-13T15:37:08Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A2%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_OpenTelemetry_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%B0&amp;diff=5788&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «Модули кода Ключ-АСТРОМ ЕдиныйАгент для '''Java, .NET, PHP, Python, Node.js''' и '''Go''' автоматически собир...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A2%D1%80%D0%B0%D1%81%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8_OpenTelemetry_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D0%B0&amp;diff=5788&amp;oldid=prev"/>
		<updated>2025-09-26T17:55:52Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Модули кода Ключ-АСТРОМ ЕдиныйАгент для &amp;#039;&amp;#039;&amp;#039;Java, .NET, PHP, Python, Node.js&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Go&amp;#039;&amp;#039;&amp;#039; автоматически собир...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Модули кода Ключ-АСТРОМ ЕдиныйАгент для '''Java, .NET, PHP, Python, Node.js''' и '''Go''' автоматически собирают данные о интервалах '''OpenTelemetry''' и интегрируют их в сквозные распределенные трассировки.&lt;br /&gt;
&lt;br /&gt;
Модуль кода ЕдиногоАгента позволяет вам:&lt;br /&gt;
&lt;br /&gt;
* Получать представление о сторонних библиотеках или фреймворках, которые изначально не поддерживаются ЕдинымАгентом, но поставляются с предварительным инструментарием '''OpenTelemetry'''.&lt;br /&gt;
* Расширять данные мониторинга с помощью дополнений, специфичных для проекта (например, специализированного инструментария, который добавляет бизнес-данные или собирает диагностические точки, специфичные для разработчика).&lt;br /&gt;
* Объединять независимые, несвязанные транзакции, чтобы расширить сквозные трассировки (например, добавляя нейтральные по отношению к поставщику пользовательские инструменты для получения сквозных сведений о транзакциях, специфичных для бизнес-процесса или домена).&lt;br /&gt;
&lt;br /&gt;
Качество диапазонов '''OpenTelemetry''', захватываемых ЕдинымАгентом, зависит от качества инструментария, предоставляемого сторонней библиотекой.&lt;br /&gt;
&lt;br /&gt;
== Требования ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-java/ OpenTelemetry]﻿&lt;br /&gt;
|1,0 - 1,3&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; ,1,4 - 1,54&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[https://opentracing.io/guides/java/ OpenTracing]﻿&lt;br /&gt;
|0,33,0,32,0,31&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Поддерживается в '''AWS Lambda'''.&lt;br /&gt;
&lt;br /&gt;
=== Go ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-go/ OpenTelemetry]﻿&lt;br /&gt;
|1,0 - 1,7,1.8 - 1.11.0,1.11.1 - 1.27,1.28 - 1.38&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Node.js ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.npmjs.com/package/@opentelemetry/api OpenTelemetry]﻿&lt;br /&gt;
|1&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Поддерживается в AWS Lambda.&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-php OpenTelemetry]﻿&lt;br /&gt;
|1.0.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== .NET and .NET Core ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-dotnet OpenTelemetry]﻿&lt;br /&gt;
|1.0.1+,1.1+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== .NET Framework ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-dotnet OpenTelemetry]﻿&lt;br /&gt;
|1.0.1+,1.1+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Структура мониторинга&lt;br /&gt;
!Версии&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/open-telemetry/opentelemetry-python OpenTelemetry]﻿&lt;br /&gt;
|1.1+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Включение интеграции OpenTelemetry в кодовом модуле ЕдиногоАгента ==&lt;br /&gt;
ЕдиныйАгента автоматически подключается к трассировкам, полученным с помощью пользовательского или предварительного инструментария '''OpenTelemetry''', и отправляет данные телеметрии на платформу Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
За исключением '''Java''' (где эта функция включена по умолчанию), автоматическое получение трассировок '''OpenTelemetry''' в настоящее время является дополнительной функцией и должно быть специально включено пользователем, чтобы ЕдиныйАгент мог получать трассировки со следующих платформ:&lt;br /&gt;
&lt;br /&gt;
* Go&lt;br /&gt;
* .NET&lt;br /&gt;
* Node.js&lt;br /&gt;
* PHP&lt;br /&gt;
* Python&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry Java ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry Java'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента'''.&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (Java)'''.&lt;br /&gt;
&lt;br /&gt;
Существующие трассировщики заменяются и больше не будут работать после включения '''OpenTelemetry Java'''.&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry Go ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry Go'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента.'''&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (Go)'''.&lt;br /&gt;
&lt;br /&gt;
Для ЕдиногоАгента версии 1.217 и более ранних версий датчик '''OpenTelemetry Go''' распространяет контекст Ключ-АСТРОМ между процессами только в том случае, если включена опция '''Send W3C Trace Context HTTP-заголовков'''.&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента'''.&lt;br /&gt;
# Включите опцию '''Отправлять заголовки HTTP контекста трассировки W3C'''.&lt;br /&gt;
&lt;br /&gt;
Существующие трассировки не подвержены влиянию поддержки '''ЕдиногоАгента''' '''OpenTelemetry for Go'''.&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry Node.js ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry Node.js'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента.'''&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (Node.js)'''.&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry PHP ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry PHP'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента.'''&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (PHP).'''&lt;br /&gt;
&lt;br /&gt;
Существующие трассировки не подвержены влиянию поддержки '''ЕдиногоАгента OpenTelemetry для PHP'''.&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry .NET ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry .NET'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента.'''&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (.NET)'''.&lt;br /&gt;
&lt;br /&gt;
Существующие трассировки не подвержены влиянию поддержки '''ЕдиногоАгента''' '''OpenTelemetry для .NET'''.&lt;br /&gt;
&lt;br /&gt;
=== OpenTelemetry Python ===&lt;br /&gt;
Чтобы включить '''OpenTelemetry Python'''&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Настройки &amp;gt; Предпочтения &amp;gt; Функции ЕдиногоАгента.'''&lt;br /&gt;
# Найдите и включите '''OpenTelemetry (Python)'''.&lt;br /&gt;
&lt;br /&gt;
Существующие трассировки не подвержены влиянию поддержки '''ЕдиногоАгента''' '''OpenTelemetry для Python'''.&lt;br /&gt;
&lt;br /&gt;
== Различия между захватом ЕдиногоАгента и экспортом OTLP ==&lt;br /&gt;
Оба подхода, автоматический захват данных с помощью ЕдиногоАгента и экспорт через OTLP, преследуют примерно одну и ту же цель — отправку трассировок и их диапазонов в Ключ-АСТРОМ, но между ними есть небольшие различия. Они в первую очередь касаются следующих областей:&lt;br /&gt;
&lt;br /&gt;
* Как интервалы фиксируются и передаются в Ключ-АСТРОМ.&lt;br /&gt;
* Что считается периодом входа и как он обрабатывается.&lt;br /&gt;
* Иерархия промежутков.&lt;br /&gt;
* Обработка любых возможных присутствующих атрибутов.&lt;br /&gt;
&lt;br /&gt;
=== Точка внедрения ===&lt;br /&gt;
Одно из основных различий между приемом данных через ЕдиныйАгент и экспортом через '''OTLP''' заключается в точке приема данных. При экспорте через '''OTLP''' экспортер отправляет информацию о диапазоне в бэкенд только после завершения диапазона.&lt;br /&gt;
&lt;br /&gt;
ЕдиныйАгент, с другой стороны, получает информацию о диапазоне в момент его создания и анализа ЕдинымАгентом. Поскольку этот объект диапазона может содержать только предварительную информацию, ЕдиныйАгент будет постоянно обновлять бэкенд о любых изменениях диапазона, происходящих на протяжении всего процесса трассировки.&lt;br /&gt;
&lt;br /&gt;
=== Точки входа ===&lt;br /&gt;
Ещё одно отличие заключается в обработке интервалов точек входа (первый интервал трассировки). Во избежание возможных конфликтов с существующими трассировками '''PurePath''', ЕдиныйАгент по умолчанию принимает только интервалы с [https://opentelemetry.io/docs/concepts/signals/traces/#span-kind типом интервала]﻿ &amp;lt;code&amp;gt;Server&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;Consumer&amp;lt;/code&amp;gt;. Обычно это не является проблемой, поскольку библиотеки инструментирования обычно настраивают соответствующий тип интервала, однако это следует учитывать, если ваше приложение полностью использует ручное инструментирование.&lt;br /&gt;
&lt;br /&gt;
Это поведение можно настроить с помощью '''правила точки входа'''. Для этого в Ключ-АСТРОМ перейдите в раздел '''Настройки &amp;gt; Мониторинг сервисов &amp;gt; Точки входа в Span''' и создайте новое правило с соответствующим действием и записью сопоставления.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Image4054.png|граница]]&lt;br /&gt;
&lt;br /&gt;
=== Иерархия охвата ===&lt;br /&gt;
В зависимости от настроек вы также можете столкнуться с «обогащением плоских интервалов». Это происходит, когда интервалы отображаются в Ключ-АСТРОМ в виде плоского списка, а не древовидной иерархии. Хотя это, как правило, является поведением по умолчанию при использовании ЕдининымАгентом трассировок '''OpenTelemetry''', иерархия может по-прежнему отражать фактические отношения интервалов, определенные инструментированием, в зависимости от задействованных модулей кода ЕдиногоАгента и их поддержки инструментируемых технологий.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Объединение диапазонов&lt;br /&gt;
&lt;br /&gt;
При объединении диапазонов '''OpenTelemetry''' с трассировками датчиков ЕдиногоАгента убедитесь, что диапазоны '''OpenTelemetry''' являются конечными диапазонами, а не промежуточными диапазонами ЕдиногоАгента.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Сбор атрибутов ===&lt;br /&gt;
Поскольку ЕдиныйАгент принимает интервалы сразу после их создания, не все атрибуты могут присутствовать при первоначальном приеме. Любые атрибуты, добавленные позднее, выделяются в Ключ-АСТРОМ примечанием &amp;lt;code&amp;gt;initial value not set&amp;lt;/code&amp;gt; и не могут быть использованы для правил захвата интервалов, поскольку они ещё не были доступны на момент оценки правил.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Image4055.png|граница]]&lt;br /&gt;
&lt;br /&gt;
=== Распространение контекста ===&lt;br /&gt;
При автоматическом приеме трассировок '''OpenTelemetry''' с помощью сенсора ЕдиногоАгента существует разница между распространением контекста трассировок '''OpenTelemetry''' и трассировок ЕдиногоАгента.&lt;br /&gt;
&lt;br /&gt;
Хотя ваше приложение может уже корректно обрабатывать распространение трассировок '''OpenTelemetry''', важно также объединить их с трассировкой ЕдиногоАгента. Этого можно добиться с помощью '''правила распространения контекста'''. Чтобы настроить это, в Ключ-АСТРОМ перейдите в раздел '''Настройки &amp;gt; Мониторинг сервисов &amp;gt; Распространение контекста Span''' и создайте правило распространения контекста &amp;lt;code&amp;gt;Propagate&amp;lt;/code&amp;gt; с действием и записью сопоставления для рассматриваемого диапазона (например, на основе имени диапазона или библиотеки инструментирования).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Image4057.png|граница]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Постарайтесь избегать объединения трассировок для технологий, уже изначально охватываемых датчиками ЕдиногоАгента. Объединение таких областей '''OpenTelemetry''' в трассировку ЕдиногоАгента может привести к неопределённым состояниям.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Экспорт в сторонние бэкэнды с использованием ЕдиногоАгента ==&lt;br /&gt;
Хотя трассировки '''OpenTelemetry''' всегда экспортируются в другие бэкенды в исходном виде, при запуске новой трассировки '''OpenTelemetry''' приложением, управляемым ЕдинымАгентом, происходит небольшая корректировка данных. Это относится только к новым трассировкам, а не к трассировкам, продолжающимся через распространение контекста.&lt;br /&gt;
&lt;br /&gt;
В этом случае ЕдиныйАгент мог уже создать новый объект трассировки при инициализации '''OpenTelemetry'''. Если эти две трассировки (с разными идентификаторами) не согласованы, данные телеметрии могут дублироваться или фрагментироваться. Чтобы избежать этого и при этом обеспечить согласованность трассировок Ключ-АСТРОМ '''PurePath''', ЕдиныйАгент использует следующий подход:&lt;br /&gt;
&lt;br /&gt;
* Идентификатор трассировки '''OpenTelemetry''' имеет приоритет при экспорте третьим лицам.&lt;br /&gt;
* На сервере Ключ-АСТРОМ вместо этого назначается идентификатор трассировки '''PurePath'''.&lt;br /&gt;
&lt;br /&gt;
Чтобы обеспечить корреляцию между этими двумя идентификаторами, Ключ-АСТРОМ создает дополнительные [https://opentelemetry.io/docs/specs/otel/overview/#links-between-spans ссылки﻿ для каждого диапазона], ссылаясь на трассировку '''OpenTelemetry'''.&lt;br /&gt;
&lt;br /&gt;
Переопределение идентификатора применяется только к вновь запущенным трассировкам (не к распространению контекста) и к пакетам '''SDK OpenTelemetry''' для '''Go, Java, JavaScript, PHP и Python''', '''&amp;lt;u&amp;gt;но не к .NET.&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Ограничения ==&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;u&amp;gt;В версиях до 1.259&amp;lt;/u&amp;gt;&amp;lt;/code&amp;gt; ЕдиныйАгент заменяет установленные глобальные компоненты '''OpenTelemetry SDK''' &amp;lt;code&amp;gt;TracerProvider&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Propagator&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;ContextManager&amp;lt;/code&amp;gt;. Поэтому при включении '''OpenTelemetry Java''' трассировки больше не отображаются этим '''SDK''' и не экспортируются в бэкенды, такие как '''Jaeger'''.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;u&amp;gt;ЕдиныйАгент версии 1.259+&amp;lt;/u&amp;gt;&amp;lt;/code&amp;gt; Чтобы избежать дубликатов, ЕдиныйАгент будет игнорировать интервалы из некоторых библиотек автоматического инструментирования.&lt;br /&gt;
* Если для одной и той же технологии используются как датчики ЕдиногоАгента, так и датчики '''OpenTelemetry''', могут возникнуть дополнительные накладные расходы.&lt;br /&gt;
&lt;br /&gt;
=== Go ===&lt;br /&gt;
&lt;br /&gt;
* ЕдиныйАгент может инструментировать только реализацию '''Tracer''' стандартного '''OpenTelemetry SDK'''.&lt;br /&gt;
* При наличии датчиков ЕдиногоАгента и '''OpenTelemetry''' для одной и той же технологии могут возникнуть следующие ограничения:&lt;br /&gt;
** Дублирующиеся узлы в распределенных трассировках&lt;br /&gt;
** Дополнительные накладные расходы&lt;br /&gt;
&lt;br /&gt;
=== Node.js ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;u&amp;gt;В версиях до 1.261&amp;lt;/u&amp;gt;&amp;lt;/code&amp;gt; ЕдиныйАгент заменяет установленные глобальные компоненты '''OpenTelemetry SDK''' &amp;lt;code&amp;gt;TracerProvider&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Propagator&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;ContextManager&amp;lt;/code&amp;gt;. Поэтому при включении '''OpenTelemetry Node.js''' трассировки больше не отображаются этим '''SDK''' и не экспортируются в бэкенды, такие как '''Jaeger'''.&lt;br /&gt;
* Когда ЕдиныйАгент и '''OpenTelemetry''' используют один и тот же модуль (например, '''HTTP''' или '''GRPC'''), вы можете столкнуться со следующими ограничениями:&lt;br /&gt;
** Дублирующиеся узлы в распределенных трассировках&lt;br /&gt;
** Разъединенные распределенные трассы&lt;br /&gt;
** Дополнительные накладные расходы&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;u&amp;gt;ЕдиныйАГент версии 1.313+&amp;lt;/u&amp;gt;&amp;lt;/code&amp;gt; Чтобы избежать дубликатов, ЕдиныйАгент будет игнорировать интервалы из некоторых библиотек автоматического инструментирования .&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
* При наличии датчиков ЕдиногоАгента и '''OpenTelemetry''' для одной и той же технологии могут возникнуть следующие ограничения:&lt;br /&gt;
** Дублирующиеся узлы в распределенных трассировках&lt;br /&gt;
** Разъединенные распределенные трассировки&lt;br /&gt;
** Дополнительные накладные расходы&lt;br /&gt;
&lt;br /&gt;
=== Все языки ===&lt;br /&gt;
&lt;br /&gt;
* ЕдиныйАгент захватывает атрибуты ресурсов '''OpenTelemetry''' только в том случае, если они предоставлены через переменные среды &amp;lt;code&amp;gt;OTEL_SERVICE_NAME&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;OTEL_RESOURCE_ATTRIBUTES&amp;lt;/code&amp;gt;. При использовании '''API''' сбора трассировки '''OpenTelemetry''' это ограничение не применяется.&lt;br /&gt;
* На основе атрибутов ресурсов '''OpenTelemetry''' невозможно создать атрибуты запроса (обычно используемые для поиска и фильтрации трассировок).&lt;br /&gt;
* ЕдиныйАгент обрезает значения атрибутов, превышающие &amp;lt;u&amp;gt;4096 символов&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Предотвращение дублирования span в Java ==&lt;br /&gt;
&amp;lt;code&amp;gt;ЕдиныйАгент версии 1.259+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы избежать возможных дубликатов диапазонов для областей, охватываемых '''OpenTelemetry''' и ЕдинымАгентом, ЕдиныйАгент пропускает диапазоны из следующих библиотек '''Java''' с автоматическим инструментированием, если ЕдиныйАгент настроен на инструментирование вашего приложения '''Java''' и прием диапазонов '''OpenTelemetry'''.&lt;br /&gt;
&lt;br /&gt;
Такие интервалы пропускаются только ЕдиныйАгент. Экспорт в третьи стороны (например, в другие бэкенды или Collector) остаётся без изменений.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|io.opentelemetry.akka-http-10.0&lt;br /&gt;
|io.opentelemetry.apache-dbcp-2.0&lt;br /&gt;
|io.opentelemetry.apache-httpasyncclient-4.1&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.apache-httpclient-2.0&lt;br /&gt;
|io.opentelemetry.apache-httpclient-4.0&lt;br /&gt;
|io.opentelemetry.apache-httpclient-4.3&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.apache-httpclient-5.0&lt;br /&gt;
|io.opentelemetry.async-http-client-1.9&lt;br /&gt;
|io.opentelemetry.async-http-client-2.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.c3p0-0.9&lt;br /&gt;
|io.opentelemetry.cassandra-3.0&lt;br /&gt;
|io.opentelemetry.cassandra-4.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.cassandra-4.4&lt;br /&gt;
|io.opentelemetry.cxf-jaxrs-3.2&lt;br /&gt;
|io.opentelemetry.google-http-client-1.19&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.grpc-1.6&lt;br /&gt;
|io.opentelemetry.http-url-connection&lt;br /&gt;
|io.opentelemetry.java-http-client&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-1.0&lt;br /&gt;
|io.opentelemetry.jaxrs-1.0-common&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-аннотации&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-common&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-cxf-3.2&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-jersey-2.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-resteasy-3.0&lt;br /&gt;
|io.opentelemetry.jaxrs-2.0-resteasy-3.1&lt;br /&gt;
|io.opentelemetry.jaxrs-3.0-аннотации&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-3.0-jersey-3.0&lt;br /&gt;
|io.opentelemetry.jaxrs-3.0-resteasy-6.0&lt;br /&gt;
|io.opentelemetry.jaxrs-annotations-2.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-annotations-3.0&lt;br /&gt;
|io.opentelemetry.jaxrs-client-1.1&lt;br /&gt;
|io.opentelemetry.jaxrs-client-2.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxrs-client-2.0-resteasy-3.0&lt;br /&gt;
|io.opentelemetry.jaxws-2.0&lt;br /&gt;
|io.opentelemetry.jaxws-2.0-axis2-1.6&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxws-2.0-cxf-3.0&lt;br /&gt;
|io.opentelemetry.jaxws-2.0-metro-2.2&lt;br /&gt;
|io.opentelemetry.jaxws-cxf-3.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jaxws-common&lt;br /&gt;
|io.opentelemetry.jaxws-jws-api-1.1&lt;br /&gt;
|io.opentelemetry.jdbc&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jedis-1.4&lt;br /&gt;
|io.opentelemetry.jedis-3.0&lt;br /&gt;
|io.opentelemetry.jedis-4.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jersey-2.0&lt;br /&gt;
|io.opentelemetry.jetty-11.0&lt;br /&gt;
|io.opentelemetry.jetty-8.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jetty-httpclient-9.2&lt;br /&gt;
|io.opentelemetry.jms-1.1&lt;br /&gt;
|io.opentelemetry.jms-3.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.jsp-2.3&lt;br /&gt;
|io.opentelemetry.kafka-clients&lt;br /&gt;
|io.opentelemetry.kafka-clients-0.11&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.kafka-clients-2.6&lt;br /&gt;
|io.opentelemetry.kafka-streams-0.11&lt;br /&gt;
|io.opentelemetry.lettuce-5.1&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.liberty&lt;br /&gt;
|io.opentelemetry.liberty-20.0&lt;br /&gt;
|io.opentelemetry.mongo-3.1&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.netty-3.8&lt;br /&gt;
|io.opentelemetry.netty-4.0&lt;br /&gt;
|io.opentelemetry.netty-4.1&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.okhttp-2.2&lt;br /&gt;
|io.opentelemetry.okhttp-3.0&lt;br /&gt;
|io.opentelemetry.orcale-ucp-11.2 ( sic!﻿ )&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.rabbitmq-2.7&lt;br /&gt;
|io.opentelemetry.reactor-kafka-1.0&lt;br /&gt;
|io.opentelemetry.reactor-netty-1.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.resteasy-3.0&lt;br /&gt;
|io.opentelemetry.resteasy-3.1&lt;br /&gt;
|io.opentelemetry.resteasy-6.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.rmi&lt;br /&gt;
|io.opentelemetry.servlet-2.2&lt;br /&gt;
|io.opentelemetry.servlet-3.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.servlet-5.0&lt;br /&gt;
|io.opentelemetry.servlet-javax-common&lt;br /&gt;
|io.opentelemetry.spring-jms-2.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.spring-jms-6.0&lt;br /&gt;
|io.opentelemetry.spring-kafka-2.7&lt;br /&gt;
|io.opentelemetry.spring-rabbit-1.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.spring-rmi-4.0&lt;br /&gt;
|io.opentelemetry.spring-webflux-5.0&lt;br /&gt;
|io.opentelemetry.spring-webflux-5.3&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.spring-ws-2.0&lt;br /&gt;
|io.opentelemetry.tomcat-10.0&lt;br /&gt;
|io.opentelemetry.tomcat-7.0&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.tomcat-jdbc&lt;br /&gt;
|io.opentelemetry.undertow-1.4&lt;br /&gt;
|io.opentelemetry.vibur-dbcp-11.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Предотвращение дублирования span в PHP ==&lt;br /&gt;
&amp;lt;code&amp;gt;ЕдиныйАгент версии 1.313+&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы избежать возможных дубликатов диапазонов для областей, охватываемых '''OpenTelemetry''' и ЕдинымАгентом, ЕдиныйАгент пропускает диапазоны из следующих автоматических библиотек '''PHP-инструментации''', если ЕдиныйАгент настроен на инструментирование вашего '''PHP-приложения''' и прием диапазонов '''OpenTelemetry'''.&lt;br /&gt;
&lt;br /&gt;
Такие интервалы пропускаются только ЕдинымАгентом. Экспорт в третьи стороны (например, в другие бэкенды или Collector) остаётся без изменений.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|io.opentelemetry.contrib.php.curl&lt;br /&gt;
|io.opentelemetry.contrib.php.laravel&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.contrib.php.mongodb&lt;br /&gt;
|io.opentelemetry.contrib.php.mysqli&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.contrib.php.pdo&lt;br /&gt;
|io.opentelemetry.contrib.php.slim&lt;br /&gt;
|-&lt;br /&gt;
|io.opentelemetry.contrib.php.symfony&lt;br /&gt;
|io.opentelemetry.contrib.php.wordpress&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>