Dépannage des problèmes d'instrumentation automatique de Python
Problèmes d’installation
Échec de l’installation du paquet Python
Les installations de paquets Python nécessitent gcc
et gcc-c++
, que vous devrez peut-être installer si vous utilisez une version allégée de Linux, telle que 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 avec uv
L’exécution de opentelemetry-bootstrap -a install
lors de l’utilisation du gestionnaire de paquets uv peut entraîner des configurations de dépendances erronées ou inattendues.
Au lieu de cela, vous pouvez générer dynamiquement les exigences OpenTelemetry et les installer en utilisant uv
.
Tout d’abord, installez les paquets appropriés (ou ajoutez-les à votre fichier de projet et exécutez uv sync
) :
uv pip install opentelemetry-distro opentelemetry-exporter-otlp
Maintenant, vous pouvez installer l’auto-instrumentation :
uv run opentelemetry-bootstrap -a requirements | uv pip install --requirement -
Enfin, utilisez uv run
pour démarrer votre application (voir Configuration de l’agent) :
uv run opentelemetry-instrument python myapp.py
Veuillez noter que vous devez réinstaller l’auto-instrumentation chaque fois que vous exécutez uv sync
ou mettez à jour des paquets existants. Il est donc recommandé de faire de l’installation une partie de votre pipeline de construction.
Problèmes d’instrumentation
Le mode de débogage de Flask avec le rechargeur casse l’instrumentation
Le mode de débogage peut être activé dans l’application Flask comme ceci :
if __name__ == "__main__": app.run(port=8082, debug=True)
Le mode de débogage peut empêcher l’instrumentation de se produire car il active un rechargeur. Pour exécuter l’instrumentation lorsque le mode de débogage est activé, définissez l’option use_reloader
sur False
:
if __name__ == "__main__": app.run(port=8082, debug=True, use_reloader=False)
Problèmes de connectivité
Connectivité gRPC
Pour déboguer les problèmes de connectivité gRPC de Python, définissez les variables d’environnement de débogage gRPC suivantes :
export GRPC_VERBOSITY=debug export GRPC_TRACE=http,call_error,connectivity_state opentelemetry-instrument python VOTRE_APP.py
Feedback
Cette page est-elle utile?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!