OpenTelemetry
Erato provides support for OpenTelemetry for comprehensive system observability.
Features
- Distributed Tracing: Captures detailed traces of requests, actor interactions, and background tasks.
- Standard Compliance: Fully compatible with the OpenTelemetry standard.
- Flexible Exporters: Supports both HTTP and gRPC protocols for sending traces to collectors.
- Custom Groups: Allows fine-grained control over logging verbosity for specific subsystems (e.g., Langfuse integration).
Configuration
Basic Setup
To enable OpenTelemetry tracing, configure the [integrations.otel] section in your erato.toml:
erato.toml
[integrations.otel]
enabled = true
endpoint = "http://localhost:4318" # or your collector endpoint
service_name = "erato-backend" # optional
protocol = "http" # "http" or "grpc"Configuration Options
For detailed configuration options and examples, see the Configuration Reference documentation.
Tracing Groups
Erato uses a custom grouping mechanism to allow enabling detailed logs for specific subsystems without enabling debug logs for the entire application or manually specifying multiple module paths.
To enable a group, add it to your RUST_LOG environment variable or configuration:
# Enable info logs generally, but debug logs for Langfuse integration
RUST_LOG="info,erato_system::langfuse=debug"Currently supported groups:
erato_system::langfuse
Last updated on