Observability
Gestalt ships with structured logging, health endpoints, readiness checks, and optional OpenTelemetry export.
Health Endpoints
| Path | Meaning |
|---|---|
/health | Process liveness. Returns 200 when the server is up. |
/ready | Startup readiness. Returns 503 until providers and the datastore are ready. |
Default Telemetry
If you omit the telemetry block, Gestalt uses:
telemetry:
provider: stdoutThat 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: infoSupported OTLP config includes:
endpointprotocolservice_nameinsecureheadersresource_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.