ClickStack utilise le standard OpenTelemetry pour collecter les données de télémétrie (logs et
traces). Les traces sont générées automatiquement grâce à l’instrumentation automatique, l’instrumentation
manuelle n’est donc pas nécessaire pour bénéficier du tracing.
Ce guide couvre :
Installez le paquet d’instrumentation OpenTelemetry de ClickStack
Utilisez la commande suivante pour installer le paquet OpenTelemetry de ClickStack.
Installez les bibliothèques d’instrumentation automatique OpenTelemetry pour les paquets utilisés par votre application Python. Nous vous recommandons d’utiliser l’outil
opentelemetry-bootstrap, fourni avec le SDK OpenTelemetry pour Python, pour analyser les paquets de votre application et générer la liste des bibliothèques disponibles.
Ensuite, vous devrez configurer les variables d’environnement suivantes dans votre shell afin d’acheminer la télémétrie vers ClickStack via le collector OpenTelemetry :
Managed ClickStack
ClickStack Open Source
La variable d’environnement OTEL_SERVICE_NAME sert à identifier votre service dans l’application HyperDX ; vous pouvez lui donner le nom de votre choix.
Lancer l’application avec l’agent Python OpenTelemetry
Vous pouvez maintenant lancer l’application avec l’agent Python OpenTelemetry (opentelemetry-instrument).
Si vous utilisez Gunicorn, uWSGI ou uvicorn
Dans ce cas, l’agent OpenTelemetry Python nécessite quelques modifications supplémentaires pour fonctionner.
Pour configurer OpenTelemetry pour des serveurs d’applications utilisant le mode de serveur web pre-fork, veillez à appeler la méthode configure_opentelemetry dans le hook post-fork.
OpenTelemetry ne fonctionne actuellement pas avec uvicorn lorsqu’il est exécuté avec le flag --reload
ou avec plusieurs workers (--workers). Nous recommandons de désactiver ces flags pendant les tests ou d’utiliser Gunicorn.
En activant les fonctionnalités de capture réseau, les développeurs peuvent déboguer efficacement les en-têtes des requêtes HTTP et le contenu du corps. Pour cela, il suffit de définir le flag HYPERDX_ENABLE_ADVANCED_NETWORK_CAPTURE sur 1.
Les logs n’apparaissent pas à cause du niveau de log
Par défaut, le handler de logging OpenTelemetry utilise le niveau logging.NOTSET, qui
correspond au niveau WARNING. Vous pouvez spécifier le niveau de logging lors de la création d’un
logger :
Exportation vers la console
Le SDK Python OpenTelemetry affiche généralement les erreurs dans la console
lorsqu’elles se produisent. Cependant, si vous ne rencontrez aucune erreur mais
constatez que vos données n’apparaissent pas dans HyperDX comme prévu, vous
pouvez activer le mode de débogage.
Lorsque le mode de débogage est activé, toutes les données de télémétrie sont affichées dans la console,
ce qui vous permet de vérifier si votre application est correctement instrumentée avec les
données attendues.
Pour en savoir plus sur l’instrumentation Python d’OpenTelemetry, consultez :
https://opentelemetry.io/docs/instrumentation/python/manual/ Dernière modification le 25 juin 2026