Кратко / Главное
Налог на инструментирование: Почему ваш код раздут
Разработчики сталкиваются с серьезным «налогом на инструментирование» при стремлении к всеобъемлющей наблюдаемости в современных распределенных системах. Традиционный подход требует «трудного пути» с самого первого дня, подразумевая ручную настройку кода в каждом приложении. Эти значительные усилия разработчиков отвлекают критически важные ресурсы от разработки функций, обременяя команды повторяющейся, шаблонной интеграцией телеметрии по всему портфолио сервисов. Это дорогостоящее и трудоемкое занятие.
SDK на уровне приложений, хотя и необходимы для получения подробных сведений, создают значительные накладные расходы на производительность и ресурсы. Интеграция библиотек, таких как OpenTelemetry SDK, означает добавление новых зависимостей, что усложняет контроль версий и управление зависимостями в бесчисленных микросервисах. Каждый экземпляр SDK потребляет драгоценные циклы ЦП и память, обычно составляя заметные 1-5% использования ЦП, что напрямую влияет на производительность приложения и увеличивает эксплуатационные расходы.
Эта парадигма ручного инструментирования неизбежно создает критические слепые зоны наблюдаемости. Устаревшие приложения, часто стабильные, но не поддерживаемые, часто сопротивляются изменениям кода, оставляя их внутреннее поведение непрозрачным. Важные сторонние библиотеки, повсеместно используемые в современных стеках, редко предоставляют внутренние точки инструментирования, фактически превращая их в черные ящики. Эти неучтенные области, усугубляемые необнаруженными «неизвестными неизвестными», препятствуют всесторонней видимости и делают системы уязвимыми для невидимых проблем.
Представьте масштаб этой проблемы: организация, управляющая сотнями сервисов. Идея ручного инструментирования «каждого приложения, которое у вас есть» быстро становится непрактичной. Как отмечает спикер в недавнем видео Better Stack: «Зачем идти по трудному пути с самого первого дня и настраивать код в каждом приложении, которое у вас есть?» Такой масштаб делает единообразную, глубокую наблюдаемость труднодостижимой целью, оставляя критические пробелы, которые могут скрывать регрессии производительности, уязвимости безопасности или тонкие операционные сбои.
Более того, постоянная необходимость обновлять и поддерживать эти встроенные SDK добавляет непрерывное, возрастающее бремя. По мере развития приложений и изменения бизнес-требований, инструментирование должно соответствовать им, постоянно пополняя список задач по обслуживанию. Этот цикл увековечивает налог на инструментирование, удерживая команды разработчиков в реактивном режиме, постоянно догоняющих, а не внедряющих инновации. Это истощение ресурсов, которое многие организации просто не могут себе позволить, что препятствует их способности эффективно отслеживать и управлять сложными средами.
Секретное оружие ядра: Встречайте eBPF
Встречайте eBPF, Extended Berkeley Packet Filter, революционную технологию, глубоко встроенную в ядро Linux. Этот мощный фреймворк позволяет разработчикам запускать изолированные программы непосредственно внутри ядра, предоставляя безопасный и эффективный способ наблюдения и взаимодействия с операционной системой на фундаментальном уровне. Он действует как универсальный источник данных, собирая критически важные сведения без изменения кода приложения.
Программы eBPF прикрепляются к огромному множеству событий ядра, от обработки сетевых пакетов и доступа к файловой системе до выполнения процессов и критически важных системных вызовов. Эти хуки обеспечивают беспрецедентную видимость каждого взаимодействия, происходящего в системе. В отличие от традиционных методов, eBPF собирает эти детальные данные, не требуя изменения или перекомпиляции ни одной строки кода приложения.
Представьте себе неинвазивный MRI для всей вашей вычислительной инфраструктуры. eBPF предоставляет именно такую возможность, позволяя вам видеть каждое взаимодействие, каждый пакет и каждый системный вызов без необходимости хирургического вмешательства или интрузивной инструментации. Он предлагает полную диагностическую картину здоровья и производительности вашей системы в реальном времени.
Этот инновационный подход полностью обходит «налог на инструментацию», устраняя раздутый код и значительные усилия разработчиков, ранее требовавшиеся для ручной инструментации. Вместо корректировки кода в каждом приложении, eBPF обеспечивает широкую, не требующую больших усилий видимость по всему парку сервисов. Это очень дешевый эксперимент, очень быстрый в реализации.
Организации могут быстро развернуть eBPF, мгновенно получая глубокую наблюдаемость в 95 из 100 своих сервисов, как многие обнаруживают. Этот базовый уровень сбора данных затем позволяет использовать целевую, гранулированную инструментацию OpenTelemetry SDK только там, где это действительно необходимо, оптимизируя как покрытие, так и накладные расходы. Смотрите полный эпизод CodeRed на Apple Podcasts: https://podcasts.apple.com/gb/podcast/40-breaking-the-observability-model-pricing-ai-sre/id1754360359?i=1000756128255.
OpenTelemetry: Лингва франка телеметрии
OpenTelemetry становится окончательным вендоронезависимым отраслевым стандартом для данных телеметрии. Он унифицирует сбор и экспорт важнейших сигналов наблюдаемости, включая трассировки, метрики и логи, освобождая разработчиков от проприетарных решений и привязки к поставщику. Этот стандартизированный подход упрощает конвейеры данных и снижает «налог на инструментацию», предоставляя согласованную основу для всех сервисов в различных средах.
Его мощные SDK позволяют разработчикам захватывать глубокий, специфичный для приложения контекст непосредственно в своем коде, что является возможностью, которую eBPF не может полностью воспроизвести на уровне приложения. Эта гранулированная инструментация выходит за рамки базовых системных метрик, позволяя командам помечать пользовательские бизнес-транзакции, отслеживать определенные идентификаторы пользователей или обогащать спаны индивидуальными метаданными. Такие индивидуальные данные незаменимы для отладки сложной логики приложений и понимания пользовательского опыта.
OpenTelemetry действительно превосходит в распределенной трассировке и распространении контекста. Он тщательно отслеживает один запрос, когда он проходит через несколько микросервисов, беспрепятственно распространяя контекст трассировки через границы сервисов. Эта сквозная видимость имеет первостепенное значение для диагностики проблем с задержкой, определения областей сбоев или понимания узких мест производительности в обширных, взаимосвязанных архитектурах, что делает его краеугольным камнем современной наблюдаемости микросервисов.
Синергия между деталями на уровне приложения OpenTelemetry и данными на уровне ядра eBPF создает мощную модель наблюдаемости. В то время как eBPF обеспечивает широкое покрытие с низкими накладными расходами для «95 из 100 наших сервисов», OTel SDK предлагают хирургическую точность, необходимую для критических путей, позволяя командам «использовать более гранулированную инструментацию OpenTelemetry SDK» для оставшихся пяти, как отметил один из докладчиков. Для дальнейшего изучения этого комбинированного подхода обратитесь к OpenTelemetry eBPF Instrumentation.
Не соперничество, а мощное партнерство
Распространенное заблуждение противопоставляет eBPF и OpenTelemetry как конкурирующие решения для наблюдаемости. В действительности они образуют мощное, симбиотическое партнерство, каждое из которых превосходит там, где у другого есть ограничения. Вместо соперничества представьте себе дополнительную стратегию, которая обеспечивает беспрецедентную видимость системы.
Представьте eBPF как основу, обеспечивающую фундамент наблюдаемости. Он предлагает универсальную, низкоуровневую видимость ядра Linux и его взаимодействий, автоматически фиксируя системные вызовы, сетевые события и выполнение процессов, не требуя никаких изменений в коде. Эта присущая ему широта и возможность автоматического обнаружения делают его бесценным для понимания «неизвестных неизвестных» по всей инфраструктуре.
Напротив, OpenTelemetry SDKs обеспечивают потолок глубокой, специфичной для приложений детализации. Эти SDKs напрямую инструментируют код, позволяя разработчикам встраивать богатый бизнес-контекст в трассировки, метрики и логи. Это обеспечивает точное отслеживание пользовательских запросов, запросов к базам данных и внутренних вызовов функций, предоставляя информацию, напрямую связанную с логикой и производительностью приложения.
eBPF превосходен для широкой наблюдаемости без кода, автоматически обнаруживая сервисы и собирая базовую телеметрию для 95% рабочих нагрузок, как это рекомендуют эксперты. Он предлагает «дешевый эксперимент» для быстрой, широкомасштабной видимости с минимальными накладными расходами, обычно менее 1% использования CPU. Этот подход предоставляет системный контекст для сетевых потоков, файлового I/O и использования CPU без вмешательства разработчика.
Для оставшихся 5% сервисов или тех, которые требуют детального бизнес-контекста, OpenTelemetry SDKs становятся незаменимыми. Они позволяют разработчикам инструментировать критические пути, определять пользовательские метрики и распространять контекст трассировки по микросервисам. Эти глубокие данные на уровне приложения помогают диагностировать конкретные узкие места производительности в сложных бизнес-транзакциях.
Истинная мощь проявляется, когда вы сопоставляете эти два потока данных. Низкоуровневые события ядра, захваченные eBPF, такие как чрезмерный дисковый I/O или задержка сети, могут быть напрямую связаны с конкретными диапазонами приложения, сгенерированными OpenTelemetry. Этот унифицированный взгляд связывает проблемы производительности инфраструктуры с их влиянием на высокоуровневое поведение приложения, предоставляя полную диагностическую картину, которую ни одна технология не может достичь в одиночку. Этот гибридный подход предлагает полную видимость от ядра до уровня приложения.
Правило 95/5 для умной наблюдаемости
Забудьте о подходе «все или ничего» к наблюдаемости. Прагматичная гибридная стратегия, часто называемая правилом 95/5, становится наиболее эффективным путем вперед. Эта философия выступает за «дешевый эксперимент» для достижения максимальной ценности с минимальными усилиями, фундаментально меняя подход организаций к телеметрии.
Инструментация на основе eBPF становится вашей рабочей лошадкой, автоматически охватывая 95% сервисов по всей вашей инфраструктуре. Это обеспечивает мгновенные карты сервисов, критически важные RED metrics (Rate, Errors, Duration) и исчерпывающие графы зависимостей, не затрагивая ни единой строки кода приложения. Это невероятно быстрый и низкозатратный метод для получения широкой видимости по обширным участкам вашей инфраструктуры.
Зарезервируйте ручную инструментацию OpenTelemetry SDK для оставшихся 5% вашей архитектуры. Это ваши критически важные приложения: основная бизнес-логика, платежные шлюзы или узкоспециализированные сервисы, где глубокая, настраиваемая трассировка является обязательной. OpenTelemetry SDKs предоставляют детальные, на уровне приложения данные, необходимые для отладки сложных транзакций в этих жизненно важных компонентах.
Такое интеллектуальное распределение усилий значительно снижает «налог на инструментацию», который преследует традиционные, 100% ручные подходы. Организации избегают значительных усилий разработчиков, необходимых для инструментирования каждого сервиса с первого дня. Вместо этого они получают надежную наблюдаемость почти по всей своей инфраструктуре за долю времени и стоимости.
Решение для трассировки на основе eBPF и OpenTelemetry от Better Stack является примером этой стратегии, инструментируя целые кластеры без изменений кода. Их коллектор использует OpenTelemetry для сбора логов, метрик и трассировок, предоставляя такие функции, как карты сервисов и сетевые потоки, сразу после установки. Это быстрое развертывание позволяет командам оперативно выявлять узкие места и понимать поведение системы в подавляющем большинстве их сервисов, превращая то, что раньше занимало месяцы, в дни.
Для критически важных 5% инвестиции в OpenTelemetry SDKs точно целенаправленны. Разработчики получают возможность создавать пользовательские спаны, прикреплять богатые атрибуты и трассировать конкретные бизнес-процессы с хирургической точностью, гарантируя, что ни одна деталь не будет упущена в наиболее чувствительных областях. Это сфокусированное применение ручных усилий максимизирует эффект там, где это наиболее важно.
Мощное партнерство между eBPF на уровне ядра и OpenTelemetry SDKs на уровне приложений обеспечивает всестороннюю видимость, от самых глубоких системных вызовов до самых сложных пользовательских транзакций. Оно оптимизирует как охват, так и глубину, предоставляя целостное представление, которое ранее было недостижимо без огромных накладных расходов. Правило 95/5 — это не просто рекомендация; это стратегический императив для современной наблюдаемости.
Наконец, способ найти «неизвестные неизвестные»
eBPF фундаментально меняет парадигму обнаружения неизвестных неизвестных в сложных системах. Его уникальное положение непосредственно внутри Linux kernel предоставляет беспрецедентную видимость каждого системного вызова, сетевого взаимодействия и выполнения процесса, независимо от инструментации на уровне приложения. Эта глубокая интроспекция с низкими накладными расходами выявляет проблемы, о существовании которых команды даже не подозревали, предлагая проактивную защиту от скрытых проблем и неожиданных узких мест производительности, которые традиционный мониторинг упускает из виду.
Рассмотрим наглядные примеры мощи eBPF. Он может немедленно выявить несанкционированные сетевые вызовы, исходящие от, казалось бы, безобидного сервиса, что указывает на потенциальный компромисс или неправильную конфигурацию, обходящую правила брандмауэра. Неожиданные шаблоны дискового ввода-вывода от конкретного процесса, не учтенные в логах приложений или стандартных метриках, могут указывать на неэффективное кэширование, повреждение данных или даже на вредоносные процессы, потребляющие чрезмерные ресурсы. Кроме того, eBPF без труда обнаруживает тонкие ошибки конфигурации TLS или сбои рукопожатия, предотвращая критические уязвимости безопасности и обеспечивая безопасную связь до того, как они повлияют на пользователей или приведут к сбоям. Эта kernel-level observability обеспечивает фундаментальный уровень истины, фиксируя ранее невидимые детали.
Современные парадигмы разработки усугубляют проблему выявления этих скрытых проблем. Взрывное распространение microservices создает обширную, взаимосвязанную сеть, где ручная трассировка каждого взаимодействия становится непрактичной и ресурсоемкой. Быстрое внедрение AI-generated code еще больше усложняет ситуацию, вводя потенциальные слепые зоны и непредсказуемое поведение, которые часто упускает традиционная, явная инструментация приложений. Эти высокодинамичные, сложные среды требуют более всеобъемлющего, менее интрузивного решения для мониторинга, способного улавливать аномалии на самом низком уровне.
eBPF напрямую решает эту растущую сложность, предлагая комплексное, беcкодовое решение для сбора критически важной системной телеметрии. Его способность выполнять перехват системных вызовов и анализировать сетевой трафик на скорости канала заполняет пробелы в наблюдаемости, оставленные традиционными методами, гарантируя, что ни одно критическое событие не останется незамеченным. Этот подход, нативный для ядра, обеспечивает универсальную базовую линию, дополняя детализацию на уровне приложений, предлагаемую OpenTelemetry. Для тех, кто интересуется развивающейся интеграцией, проект OpenTelemetry продолжает развивать эту синергию; читайте о последних разработках в OpenTelemetry eBPF Instrumentation Marks the First Release. Это мощное партнерство предоставляет беспрецедентные аналитические данные, трансформируя подход организаций к здоровью и безопасности систем по всей их инфраструктуре.
Экосистема готова: OBI и беcкодовые инструменты
Экосистема eBPF быстро созрела, избавившись от ранних сложностей и решив важнейшие проблемы переносимости. Такие проекты, как libbpf и инициатива CO-RE (Compile Once, Run Everywhere), сыграли важную роль в этой эволюции, обеспечивая надежную работу программ eBPF в различных версиях ядра Linux без перекомпиляции. Эта стабильность является основополагающей для широкого распространения.
Растущая стабильность напрямую способствует появлению амбициозных новых проектов. Проект OpenTelemetry eBPF Instrumentation (OBI) недавно выпустил свою публичную альфа-версию, что стало важной вехой. OBI стремится стандартизировать то, как eBPF собирает телеметрию на уровне протоколов, такую как HTTP и взаимодействия с базами данных, непосредственно из ядра. Это обеспечивает независимый от поставщиков, беcкодовый метод генерации богатых телеметрических данных, которые легко интегрируются с существующими рабочими процессами OpenTelemetry.
OBI представляет собой критически важный шаг к по-настоящему универсальной наблюдаемости, абстрагируясь от сложностей программирования на уровне ядра. Он позволяет командам разработчиков использовать глубокие аналитические возможности eBPF без необходимости в специализированных знаниях ядра, упрощая путь к всесторонней видимости системы. Эта стандартизация обеспечивает совместимость и снижает нагрузку на разработчиков.
Индустрия быстро приняла этот мощный гибридный подход. Коммерческие и открытые решения теперь объединяют eBPF и OpenTelemetry в удобные платформы для наблюдаемости. Такие компании, как Better Stack, Splunk и Grafana Labs, предлагают передовые инструменты, которые автоматизируют развертывание eBPF и коррелируют его данные на уровне ядра с трассировками, метриками и логами OpenTelemetry на уровне приложений.
Эти решения выполняют обещание «беcкодовой» наблюдаемости для значительной части сервисов. Они обеспечивают немедленную, широкую видимость поведения инфраструктуры, сети и приложений без ручных изменений кода. Это позволяет командам быстро выявлять узкие места в производительности и обнаруживать те неуловимые «неизвестные неизвестные», о которых говорилось ранее.
Прагматичное правило 95/5 становится легко достижимым с помощью этих интегрированных платформ. Команды могут развернуть широкую инструментацию на основе eBPF для большинства своих сервисов, оставляя более гранулированную инструментацию OpenTelemetry SDK для критических 5%, которые требуют глубоких, высокоспецифичных аналитических данных о приложениях. Это балансирует всестороннее покрытие с целевой детализацией, оптимизируя как усилия, так и результат.
Сравнение: Производительность и накладные расходы
Понимание влияния инструментов наблюдаемости на производительность имеет решающее значение для любой производственной среды. Как eBPF, так и OpenTelemetry SDKs предлагают мощные возможности телеметрии, но они по-разному подходят к накладным расходам, что определяет их оптимальные сценарии использования. Сравнение их потребления ресурсов выявляет четкую стратегию для максимизации ценности при минимизации воздействия.
eBPF работает непосредственно внутри ядра Linux, выполняя изолированные программы с замечательной эффективностью. Это выполнение на уровне ядра минимизирует переключение контекста и копирование данных из пользовательского пространства, что приводит к постоянно минимальным и стабильным накладным расходам на производительность. Его конструкция гарантирует, что даже комплексный системный мониторинг приводит к незначительному потреблению ресурсов, часто измеряемому долями процента использования ЦП.
OpenTelemetry SDKs, напротив, вводят более переменные накладные расходы. Эти агенты уровня приложения напрямую инструментируют код, собирая подробные трассировки, метрики и логи из самого процесса приложения. Разработчики обычно наблюдают накладные расходы на ЦП в размере 1-5%, но эта цифра может значительно возрасти в зависимости от объема инструментирования, сложности обрабатываемых данных и выбранных частот дискретизации. Детальные инсайты обходятся пропорционально их глубине.
Это фундаментальное различие подчеркивает мощь гибридной стратегии наблюдаемости. Команды могут использовать eBPF для широкого охвата с низким воздействием на подавляющее большинство сервисов, собирая необходимую телеметрию на системном уровне и выявляя «неизвестные неизвестные» с минимальными усилиями. Для критических 5-10% сервисов, требующих глубоких, специфичных для приложений инсайтов — возможно, тех, которые были определены как узкие места производительности или высокоценные транзакции — более высокие накладные расходы OpenTelemetry SDKs становятся оправданным компромиссом.
В конечном итоге, этот прагматичный подход оптимизирует распределение ресурсов. Он развертывает метод с наименьшими накладными расходами для широкого охвата видимости, принимая более высокие накладные расходы только там, где детальная информация, предоставляемая OpenTelemetry SDKs, абсолютно необходима для отладки или настройки производительности. Такое разумное разделение труда обеспечивает всестороннюю наблюдаемость, не обременяя без необходимости каждое приложение в стеке.
Ваш Первый «Дешевый Эксперимент»: План
Разблокируйте всестороннюю наблюдаемость с помощью прагматичного подхода с низкими затратами. Этот план описывает «дешевый эксперимент», использующий объединенную мощь eBPF и OpenTelemetry, разработанный для быстрой реализации ценности. Это стратегия, которая перекликается с практическим советом «Попробуйте» и быстро увидите результаты на «95 из 100 наших сервисов», как обсуждалось в видео Better Stack «eBPF with OpenTelemetry», доступном на Apple Podcasts через id1754360359.
Сначала разверните коллектор на основе eBPF в одном пространстве имен Kubernetes в непроизводственной среде. Этот первоначальный шаг не требует изменений кода в ваших приложениях, минимизируя трения и время настройки. Выбирайте из растущей экосистемы вендорских решений или надежных проектов с открытым исходным кодом.
В течение нескольких минут проанализируйте автоматически сгенерированную карту сервисов и метрики RED (Rate, Errors, Duration) для этого пространства имен. Это обеспечивает немедленное, высокоуровневое базовое понимание взаимодействий сервисов, зависимостей и общего состояния, выявляя потенциальные узкие места, для которых вы не проводили инструментирование.
Затем определите один критически важный сервис в том же пространстве имен. Добавьте целевое инструментирование OpenTelemetry SDK для трассировки одной ключевой бизнес-транзакции. Это целенаправленное усилие обеспечивает глубокий, специфичный для приложения контекст для важного рабочего процесса без необходимости инструментирования каждой строки кода.
Наконец, сопоставьте данные из обоих источников в вашей существующей платформе observability. Убедитесь, как широкие, на уровне ядра, данные eBPF бесшовно интегрируются с детализированными, специфичными для приложений трассировками OpenTelemetry, представляя полную, многомерную картину поведения вашей системы. Для получения более подробной информации об этой синергии изучите OpenTelemetry and eBPF: Everything You Need to Know - Groundcover.
Будущее гибридно: Прекратите инструментировать всё
Будущее observability — это не игра с нулевой суммой по замене одного инструмента другим; оно требует интеллектуального, стратегического сочетания. Традиционный «трудный путь» ручной инструментации кода для каждого микросервиса создает избыточность и значительные усилия разработчиков. Гибридный подход, бесшовно интегрирующий повсеместную видимость на уровне ядра eBPF с точными данными на уровне приложений OpenTelemetry, определяет эту новую эру.
Это мощное партнерство предлагает наиболее всеобъемлющий, эффективный и масштабируемый путь для современных распределенных систем. eBPF обеспечивает беспрецедентный сбор данных без кода, захватывая системные вызовы, сетевые потоки и выполнение процессов с почти нулевыми накладными расходами, даже выявляя проблемы, о которых команды не знали. Для оставшихся критических 5% сервисов OpenTelemetry SDKs предоставляют детализированные возможности глубокой трассировки, обеспечивая целевые, высокоточные данные там, где это наиболее важно. Это прагматичное правило 95/5 минимизирует затраты на инструментацию, максимизируя при этом ценность observability.
Экосистема eBPF, усиленная такими инициативами, как CO-RE (Compile Once, Run Everywhere) и проектами, такими как libbpf, значительно созрела, решив важнейшие проблемы переносимости. Эта зрелость в сочетании с минимальным влиянием eBPF на производительность по сравнению с переменными накладными расходами OpenTelemetry SDKs делает гибридную модель технически надежной. Это «дешевый эксперимент», который обеспечивает быстрые, действенные инсайты для огромных парков систем, доказывая свою эффективность «на 95 из 100 наших сервисов».
Руководители инженерных отделов должны кардинально изменить свое мышление. Прекратите инструментировать всё тяжелыми SDK по умолчанию. Вместо этого, наблюдайте за всем интеллектуально. Примите эту прагматичную, гибридную стратегию для достижения максимальной ценности с минимальными усилиями, освобождая циклы разработчиков от повторяющейся инструментации. Создавайте отказоустойчивые системы, используя секретное оружие ядра и lingua franca индустрии для беспрецедентной видимости.
Часто задаваемые вопросы
В чем основное преимущество использования eBPF для observability?
Он обеспечивает глубокую видимость системы без изменения или повторного развертывания кода приложения, снижая операционные накладные расходы и собирая данные со всех сервисов, включая устаревшие или сторонние.
Являются ли eBPF и OpenTelemetry конкурентами?
Нет, они дополняют друг друга. eBPF предлагает широкую видимость на уровне ядра («пол»), в то время как OpenTelemetry SDKs предоставляют глубокий, специфичный для приложений контекст и трассировку бизнес-логики («потолок»).
Что такое гибридная стратегия инструментации?
Она предполагает использование eBPF для широкого охвата большинства сервисов с минимальными усилиями и выборочное применение OpenTelemetry SDKs только для критически важных или сложных сервисов, которые требуют детализированной, настраиваемой трассировки.
Оказывает ли eBPF значительное влияние на производительность?
Нет, eBPF работает в изолированной среде внутри ядра Linux и разработан для высокой эффективности. Его накладные расходы на производительность минимальны по сравнению с агентами на уровне приложений или обширной инструментацией SDK.