What “OpenTelemetry-Native” Means for You
Using OTel as the foundation gives you several practical guarantees:- No vendor lock-in. Your traces are standard OTel spans. If you ever switch backends, your instrumentation stays the same.
- Works alongside existing OTel setups. If you already run an OTel collector for infrastructure metrics or application traces, Veritrix plugs in without any conflicts.
- Framework-agnostic. Any agent framework that emits OTel spans — or that you manually instrument with the OTel SDK — works with Veritrix automatically.
- Portable data model. Spans, attributes, and events follow the OTel semantic conventions, making it easy to query and correlate traces in any compatible backend.
Prerequisites
- Python 3.9 or higher
- An active Veritrix account and API key
- Veritrix installed
Installation & Setup
1
Install Veritrix
opentelemetry-sdk separately unless you want to manage the OTel SDK version explicitly.2
Initialize Veritrix tracing
Call
trace.init() once at application startup. By default, Veritrix exports spans to the Veritrix backend using OTLP over gRPC.3
(Optional) Configure a custom OTel exporter
To send traces to your own OTel collector or a third-party backend, pass a custom exporter when calling You can also provide multiple exporters to send traces to both Veritrix and your own backend simultaneously:
trace.init(). Veritrix accepts any SpanExporter from the OTel SDK.Creating Manual Spans
For code paths that Veritrix does not instrument automatically — custom business logic, non-standard frameworks, or third-party SDKs — you can create spans manually using the standard OTel SDK. These spans appear in the Veritrix dashboard as part of the same trace.Adding Custom Attributes and Events
You can enrich any span with custom attributes or record point-in-time events using the standard OTel API. These attributes and events are indexed and searchable in the Veritrix dashboard.Using Veritrix with Unsupported Frameworks
If you use an agent framework that is not listed in the Veritrix integrations, you can still get full observability as long as the framework emits OTel spans — or you instrument it manually. Calltrace.init() to set up the Veritrix exporter, then use the OTel SDK to wrap any framework-specific calls.
Veritrix uses the OTLP protocol for span export by default. If your existing collector speaks a different protocol (Zipkin, Jaeger Thrift, etc.), install the relevant OTel exporter package and pass it to
trace.init() as shown above.Connecting Veritrix to a Local OTel Collector
If you run a local OpenTelemetry Collector for development or testing, point Veritrix at it by setting theOTEL_EXPORTER_OTLP_ENDPOINT environment variable before starting your application: