Architecture#
The architecture diagram below illustrates the complete data flow from Kit App logs to your observability platform:
Kit 109 (and later) includes native OpenTelemetry support through a Carbonite kernel plugin and a support library that are automatically loaded at the Kit kernel startup:
omni.observability.core— Library that handles all OpenTelemetry SDK configuration, initialization, and shutdown for logging, metrics, and traces. This library supports all Omniverse platforms (Linux x86_64, Linux aarch64, Windows x86_64), manages the OTel SDK lifecycle, and provides support for OTLP communication over HTTP and gRPC.omni.observability-otel.plugin— A Carbonite plugin that integrates the Carbonite logging system with OpenTelemetry. It registers a log listener withcarb::logging::ILoggingthat receivesCARB_LOG_*()andOMNI_LOG_*()messages, applies additional severity and channel-based filtering (via/observability/logs/emitLevel/and/observability/logs/channels/), transforms matching messages into OTel log signals, and forwards them to the configured exporter.
These plugins are loaded as part of the Kit kernel at startup (located in /app/kit/kernel/plugins/). No explicit extension dependency or .kit file modification is required.
The links below provide an overview and comprehensive documentation for enabling Kit Apps (Kit 109 and later) to export logs and traces for troubleshooting and debugging.