Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Limitations

  • The exporters and the Cloud Logging API sink run on Tokio and need a Tokio runtime when they are created. Other runtimes are not supported.
  • Shutting down a tracer provider or an OTLP logger provider blocks the calling thread, and on a current-thread runtime never returns or waits out its timeout. Shut them down on a multi-threaded runtime, or from a thread outside it. GcpCloudLoggingHandle::shutdown is async and has no such limit.
  • The Cloud Logging API and OTLP sinks queue entries and send them in the background. Entries still queued when the process ends are lost, which includes a panic that unwinds out of main, see Panic hook.
  • The Cloud Logging API sink drops entries when its queue is full.
  • The Cloud Logging API and OTLP sinks skip events from the transport crates they export through, see Sinks.
  • The OTLP exporters send only to https endpoints.
  • The signal-specific OTEL_EXPORTER_OTLP_TRACES_TIMEOUT and OTEL_EXPORTER_OTLP_LOGS_TIMEOUT are not honoured, see OTLP exporter.
  • A provider builder passed to create_provider_from_builder without a resource gets only gcp.project_id and the builder’s resource.
  • There is no metrics API: metrics use opentelemetry-otlp with GcpAuthInterceptor.
  • A &dyn Error event field keeps its source() chain; error = %err and error = ?err keep only the text.
  • An error event has a backtrace only when RUST_BACKTRACE or RUST_LIB_BACKTRACE is set.
  • The logging layer wrapped in Option, Box<dyn Layer> or a per-layer filter, under a scoped subscriber, is correlated with the span entered on the thread, not with an event’s explicit parent:.