# Go compile-time інструментування

> Інструментуйте Go застосунки під час збірки, без змін коду.

---

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

---

Compile-time інструментування для Go автоматично інструментує ваш застосунок під час збірки, збираючи телеметрію з багатьох популярних бібліотек та фреймворків без будь-яких змін у вашому вихідному коді. Воно працює шляхом вбудовування в процес збірки Go та впровадження інструментування під час компіляції вашого застосунку, тому отриманий бінарний файл містить код інструментування без необхідності використання агента під час виконання.

> [!NOTE]
>
> Цей проєкт є стабільним і готовим до виробничого використання, починаючи з v1.0.0. Щоб стежити за розробкою або долучитися, відвідайте [opentelemetry-go-compile-instrumentation репозиторій](https://github.com/open-telemetry/opentelemetry-go-compile-instrumentation).

## Як це працює {#how-it-works}

Інструмент `otelc` обгортає звичайний виклик `go build`. Під час збірки він:

1. Перехоплює компіляцію кожного пакета, використовуючи механізм `-toolexec` інструментарію Go.
2. Зіставляє пакети та функції з набором правил інструментування, які описують, де мають бути гачки телеметрії.
3. Впроваджує легкі точки вбудовування у зіставлені функції та повʼязує їх з кодом інструментування OpenTelemetry.

Оскільки інструментування вбудовується в бінарний файл під час компіляції, воно також покриває сторонні залежності, які ви не контролюєте, і не додає жодних кроків приєднання або запуску під час виконання.

## Коли використовувати {#when-to-use-it}

Compile-time інструментування є одним із кількох [zero-code](/docs/concepts/instrumentation/zero-code/) варіантів для Go: воно доповнює [Auto SDK](/docs/zero-code/go/autosdk/), тоді як eBPF-базоване інструментування доступне через [OBI](/docs/zero-code/obi/). Compile-time інструментування добре підходить, коли ви можете змінити конвеєр збірки, але не вихідний код, коли ви хочете інструментувати сторонні бібліотеки або коли ви не можете запускати привілейований агент поряд із вашим застосунком.

---

Section pages:

- [Початок роботи](/uk/docs/zero-code/go/compile-time/getting-started/): Отримуйте телеметрію з Go застосунку без написання коду інструментування.
- [Підтримувані бібліотеки](/uk/docs/zero-code/go/compile-time/supported-libraries/): Бібліотеки та фреймворки, що інструментуються з коробки.
- [Конфігурація](/uk/docs/zero-code/go/compile-time/configuration/): Налаштування інструменту otelc та телеметрії, що продукується інструментованими застосунками.
- [Усунення несправностей](/uk/docs/zero-code/go/compile-time/troubleshooting/): Діагностика проблем із Go compile-time інструментуванням.
