# Інструментування

> Як OpenTelemetry сприяє інструментуванню

---

LLMS index: [llms.txt](/llms.txt)

---

Для того, щоб система була [спостережуваною][observable], її необхідно **інструментувати**: тобто код компонентів системи повинен генерувати [сигнали][signals], [трейси][traces], [метрики][metrics] та [логи][logs].

Використовуючи OpenTelemetry, ви можете інструментувати свій код двома основними способами:

1. [Рішення на основі коду](code-based/) через офіційні [API та SDK для більшості мов](/docs/languages/)
2. [Рішення без коду](zero-code/)

**Рішення на основі коду** дозволяють отримати глибше розуміння та розширену телеметрію від самого вашого застосунку. Вони дозволяють використовувати API OpenTelemetry для генерації телеметрії з вашого застосунку, що є важливим доповненням до телеметрії, згенерованої рішеннями без коду.

**Рішення без коду** чудово підходять для початку роботи або коли ви не можете змінити застосунок, з якого потрібно отримати телеметрію. Вони надають розширену телеметрію з бібліотек, які ви використовуєте, та/або середовища, в якому працює ваш застосунок. Інший спосіб думати про це — вони надають інформацію про те, що відбувається _на межі_ вашого застосунку.

Ви можете використовувати обидва рішення одночасно.

## Додаткові переваги OpenTelemetry {#additional-opentelemetry-benefits}

OpenTelemetry надає більше, ніж просто рішення для телеметрії без коду та на основі коду. До складу OpenTelemetry також входять наступні речі:

- Бібліотеки можуть використовувати API OpenTelemetry як залежність, що не матиме впливу на застосунки, які використовують цю бібліотеку, якщо тільки не імпортовано SDK OpenTelemetry.
- Для кожного [сигналу][signals] у вас є кілька методів для створення, обробки та експорту.
- Завдяки [поширенню контексту](../context-propagation), вбудованому в реалізації, ви можете корелювати сигнали незалежно від того, де вони згенеровані.
- [Ресурси](../resources/) та [Області застосування інструментування](../instrumentation-scope/) дозволяють групувати сигнали за різними сутностями, такими як [хост](/docs/specs/semconv/resource/host/), [операційна система](/docs/specs/semconv/resource/os/) або [кластер K8s](/docs/specs/semconv/resource/k8s/#cluster)
- Кожна мовно-специфічна реалізація API та SDK відповідає вимогам та очікуванням [специфікації OpenTelemetry](/docs/specs/otel/).
- [Семантичні домовленості](../semantic-conventions/) надають загальну схему найменування, яка може бути використана для стандартизації в різних кодових базах та платформах.

[logs]: ../signals/logs/
[metrics]: ../signals/metrics/
[observable]: ../observability-primer/#what-is-observability
[signals]: ../signals/
[traces]: ../signals/traces/

---

Section pages:

- [Без програмування](/uk/docs/concepts/instrumentation/zero-code/): Дізнайтеся, як додати спостережуваність до застосунку без необхідності писати код
- [На основі коду](/uk/docs/concepts/instrumentation/code-based/): Дізнайтеся про основні кроки налаштування інструментування на основі коду
- [Бібліотеки](/uk/docs/concepts/instrumentation/libraries/): Дізнайтеся, як додати нативну інструментування до вашої бібліотеки.
