Observability
EntityFlow stellt Tracing, Fehlerberichterstattung, strukturierte Logs und einen Audit-Trail bereit — allesamt über Umgebungsvariablen gesteuert und standardmäßig deaktiviert, ohne jeglichen Overhead, bis du sie einschaltest.
Tracing
EntityFlow erzeugt OpenTelemetry-Traces, wenn EF_OTEL_ENABLED=true (standardmäßig deaktiviert — im deaktivierten Zustand entsteht kein Overhead). Richte es mit EF_OTEL_EXPORTER_OTLP_ENDPOINT auf deinen Collector aus und benenne den Dienst mit EF_OTEL_SERVICE_NAME (Standard ef-server).
Die Spans umfassen:
- HTTP-Anfragen (tRPC und REST),
- Datenbankabfragen,
- Projektions-, Codegen- und Validierungs-Jobs.
Fehler
Setze EF_SENTRY_DSN, um die Sentry-Fehlerberichterstattung zu aktivieren. Ist der DSN nicht gesetzt, ist Sentry vollständig wirkungslos.
Logs
Die Logs liegen als strukturiertes JSON über pino vor. Steuere die Ausführlichkeit mit EF_LOG_LEVEL:
| Stufe | |
|---|---|
fatal error warn info debug trace silent | info ist der Standardwert. |
Audit
Ein Audit-Log im Append-only-Modus zeichnet Ereignisse im Lebenszyklus von Konten sowie Aktionen von Administratoren auf. Dies ist eine Enterprise-Funktion (siehe Lizenzierung) und wird auf der Seite Audit-Protokoll von EntityFlow Hub angezeigt.
Beispiel
Aktiviere Tracing und Fehlerberichterstattung gemeinsam:
export EF_OTEL_ENABLED=true
export EF_OTEL_EXPORTER_OTLP_ENDPOINT="http://otel-collector:4318"
export EF_OTEL_SERVICE_NAME="ef-server"
export EF_SENTRY_DSN="https://examplePublicKey@o0.ingest.sentry.io/0"
export EF_LOG_LEVEL="info"
Die vollständige Liste der Observability-Variablen findest du in der Konfigurationsreferenz.