Observability
Tourbillon automatically creates observability spans and logs for each execution, and it's operations, using the OpenTelemetry format.
To publish the data to your observability platform you will need to provide the endpoint URL via the namespace create/update API.
- create namespace
- update namespace
tourbillon-admin create-namespace \
--admin-address 0.0.0.0:2424 \
--admin-api-key <admin-api-key> \
--input-json '{
"namespace_id": "default",
"namespace": {
"project": {
"fetch_interval": "120s",
"url": "https://<GITHUB_PAT>@github.com/my-org/durable-executions.git"
},
"telemetry": {
"enable_otlp_log_forwarding": true,
"enable_otlp_metric_forwarding": true,
"enable_otlp_trace_forwarding": true,
"otlp_log_collector_endpoint": "alloy:4317",
"otlp_metric_collector_endpoint": "alloy:4317",
"otlp_trace_collector_endpoint": "alloy:4317"
}
}}'
tourbillon-admin update-namespace \
--admin-address 0.0.0.0:2424 \
--admin-api-key <admin-api-key> \
--input-json '{
"update_mask": "telemetry.otlpLogCollectorEndpoint,telemetry.otlpMetricCollectorEndpoint,telemetry.otlpTraceCollectorEndpoint,telemetry.enableOtlpLogForwarding,telemetry.enableOtlpMetricForwarding,telemetry.enableOtlpTraceForwarding",
"namespace": {
"name": "namespaces/default",
"telemetry": {
"enable_otlp_log_forwarding": true,
"enable_otlp_metric_forwarding": true,
"enable_otlp_trace_forwarding": true,
"otlp_log_collector_endpoint": "alloy:4317",
"otlp_metric_collector_endpoint": "alloy:4317",
"otlp_trace_collector_endpoint": "alloy:4317"
}
}}'