Exemple Logfire qui se connecte à SigNoz au lieu de Logfire
Le script suivant est un script de test pour utiliser la bibliothèque Logfire afin d’envoyer des traces à une instance SigNoz au lieu du backend propre à Logfire. Il montre comment configurer les variables d’environnement pour l’exportateur OpenTelemetry Protocol (OTLP) afin de pointer vers un point de terminaison SigNoz, et comment créer des spans imbriqués pour tracer différentes parties d’une fonction hypothétique de traitement de commande.
Pour la configuration SigNoz, voir Signoz standalone docker-compose with Traefik config.
logfire_signoz_example.py
#!/usr/bin/env python3
import os
import logfire
# Configurer les variables d'environnement
os.environ['OTEL_EXPORTER_OTLP_ENDPOINT'] = 'https://http.signoz.mydomain.com/'
# Configurer Logfire
logfire.configure(
send_to_logfire=False,
)
# Fonction d'exemple avec des spans imbriqués
def process_order(order_id: str, user_id: str):
with logfire.span('validate_order'):
# Simuler la validation
print(f"Validation de la commande {order_id} pour l'utilisateur {user_id}")
with logfire.span('process_payment'):
# Simuler le traitement du paiement
print(f"Traitement du paiement pour la commande {order_id}")
with logfire.span('call_payment_gateway'):
# Exemple de span imbriqué
print("Appel de l'API de la passerelle de paiement")
with logfire.span('fulfill_order'):
# Simuler le traitement de la commande
print(f"Traitement de la commande {order_id}")
# Exécution principale
if __name__ == '__main__':
with logfire.span('main'):
process_order('12345', 'user-67890')Voici à quoi cela ressemble dans SigNoz :

Check out similar posts by category:
Python, Monitoring
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow