Усунення проблем з автоматичним інструментуванням в Python

Проблеми з установкою

Проблеми встановлення пакунків Python

Встановлення пакунків Python вимагає наявності gcc та gcc-c++, які можливо потрібно встановити, якщо ви використовуєте спрощену версію Linux, таку як CentOS.

yum -y install python3-devel yum -y install gcc-c++
apt install -y python3-dev apt install -y build-essential
apk add python3-dev apk add build-base

Bootstrap з використанням uv

При використанні менеджера пакунків uv, ви можете поставати перед труднощами при виконанні opentelemetry-bootstrap -a install.

Замість цього ви можете згенерувати вимоги OpenTelemetry динамічно і встановити їх за допомогою їх за допомогою uv.

Спочатку встановіть відповідні пакунки (або додайте їх до файлу проєкту та виконайте uv sync):

uv pip install opentelemetry-distro opentelemetry-exporter-otlp

Тепер ви можете встановити автоматичне інструментування:

uv run opentelemetry-bootstrap -a requirements | uv pip install --requirement -

Нарешті, використовуйте uv run для запуску вашого застосунку (дивіться Налаштування агента):

uv run opentelemetry-instrument python myapp.py

Зверніть увагу, що вам потрібно перевстановлювати автоматичне інструментування кожного разу, коли ви виконуєте uv sync або оновлюєте наявні пакунки. Тому рекомендується зробити встановлення частиною вашого процесу збірки.

Проблеми інструментування

Режим налагодження Flask з перезавантажувачем ламає інструментування

Режим налагодження можна увімкнути в застосунку Flask ось так:

if __name__ == "__main__": app.run(port=8082, debug=True)

Режим налагодження може зламати інструментування, оскільки він вмикає перезавантажувач. Щоб запустити інструментування під час увімкненого режиму налагодження, встановіть параметр use_reloader в False:

if __name__ == "__main__": app.run(port=8082, debug=True, use_reloader=False)

Проблеми з підключенням

Підключення gRPC

Щоб відстежити проблеми підключення Python gRPC, встановіть наступні змінні середовища налагодження gRPC:

export GRPC_VERBOSITY=debug export GRPC_TRACE=http,call_error,connectivity_state opentelemetry-instrument python YOUR_APP.py

Востаннє змінено June 21, 2025: [uk] sync with upstream (2d6f8511)