Усунення проблем з автоматичним інструментуванням в 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
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!