Skip to content

Advanced I: Observability (Tracing & Monitoring)

LennyPegauOfficial edited this page Nov 30, 2025 · 1 revision

4. 🌐 Advanced I: Observability (Tracing & Monitoring)

Features für die Analyse in verteilten Systemen und die Integration in Observability-Stacks.

🌐 1. Distributed Tracing mit Correlation IDs

Zweck: Verknüpft alle Logs eines Requests über Threads und Module hinweg.

  • Logs.set_correlation_id(id): Setzt die Trace ID für den aktuellen Thread/Prozess.
# Context Manager zur Gruppierung logischer Blöcke
with Logs.context("Datenbank-Ablauf"):
    Logs.set_correlation_id("req-987-xyz-654") 
    Logs.processing(Category.DATABASE, "Starte Query...")

⏱️ 2. Performance Tracking

Misst die Ausführungszeit von Code-Blöcken.

# Context Manager (bevorzugt)
with Logs.measure(Category.DATABASE, "user_fetch_query"):
    user_data = db.query_user(user_id)
# Log: [SUCCESS] [DATABASE] user_fetch_query abgeschlossen. Dauer: 0.045s

📊 3. Prometheus Metrics Export

Exportiert interne Zähler (Fehler pro Kategorie, Gesamt-Logs) im Prometheus-Textformat.

# Wird vom /metrics Endpoint aufgerufen:
metrics_output = Logs.export_metrics_prometheus()

# Ausgabe-Fragment:
# simplecoloredlogs_error_total{category="API"} 12

Clone this wiki locally