Exemplo Logfire que se conecta ao SigNoz em vez de Logfire
O script a seguir é um script de teste para usar a biblioteca Logfire para enviar traces para uma instância SigNoz em vez do backend próprio do Logfire. Ele demonstra como configurar variáveis de ambiente para o exportador OpenTelemetry Protocol (OTLP) apontar para um endpoint SigNoz, e como criar spans aninhados para rastrear diferentes partes de uma função hipotética de processamento de pedidos.
Para a configuração do SigNoz, veja SigNoz standalone docker-compose com configuração Traefik.
logfire_signoz_example.py
#!/usr/bin/env python3
import os
import logfire
# Configurar variáveis de ambiente
os.environ['OTEL_EXPORTER_OTLP_ENDPOINT'] = 'https://http.signoz.mydomain.com/'
# Configurar Logfire
logfire.configure(
send_to_logfire=False,
)
# Função de exemplo com spans aninhados
def process_order(order_id: str, user_id: str):
with logfire.span('validate_order'):
# Simular validação
print(f"Validating order {order_id} for user {user_id}")
with logfire.span('process_payment'):
# Simular processamento de pagamento
print(f"Processing payment for order {order_id}")
with logfire.span('call_payment_gateway'):
# Exemplo de span aninhado
print("Calling payment gateway API")
with logfire.span('fulfill_order'):
# Simular fulfillment do pedido
print(f"Fulfilling order {order_id}")
# Execução principal
if __name__ == '__main__':
with logfire.span('main'):
process_order('12345', 'user-67890')É assim que aparece no 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