ConceptsObservability

Observability

Gestalt ships with structured logging, health endpoints, readiness checks, and optional OpenTelemetry export.

Health Endpoints

PathMeaning
/healthProcess liveness. Returns 200 when the server is up.
/readyStartup readiness. Returns 503 until providers and the datastore are ready.

Default Telemetry

If you omit the telemetry block, Gestalt uses:

telemetry:
  provider: stdout

That gives you structured logs without external collectors.

OTLP Export

Use telemetry.provider: otlp to export traces, metrics, and logs.

telemetry:
  provider: otlp
  config:
    endpoint: otel-collector:4317
    protocol: grpc
    service_name: gestaltd
    traces:
      sampling_ratio: 1.0
    metrics:
      interval: 60s
    logs:
      level: info

Supported OTLP config includes:

  • endpoint
  • protocol
  • service_name
  • insecure
  • headers
  • resource_attributes
  • trace sampling
  • metric export interval
  • log level

What Gets Logged

Gestalt logs:

  • config loading and startup
  • provider readiness
  • auth and connection flow failures
  • invocation failures
  • datastore warnings

When OTLP is enabled, the server routes structured logs through the OpenTelemetry log bridge.