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!