bryel ships your model calls, tool calls, tokens, and cost to bryel as
OpenInference traces. One call configures OpenTelemetry; then any
OpenInference instrumentor flows
through — bryel adds no mapping, it’s just the exporter.
Instrument your stack
Add the OpenInference instrumentor for your library:…or let bryel wire up every instrumentor you have installed:
Full example
Grouping and feedback
Stampsession.id, user.id, and a bryel.interaction.id you mint onto your
spans to group turns into a conversation and join
feedback.
bryel sends OTLP/HTTP protobuf and needs no client-side mapping — the ingest
normalizes both the OpenInference (
llm.*) and OpenTelemetry GenAI
(gen_ai.*) conventions.API
bryel.init(api_key=None, *, service_name=None, endpoint=None, headers=None, set_global=True, instrument=False)
Configures the exporter and returns the OpenTelemetry TracerProvider.
Project API key (
bk_…). Falls back to $BRYEL_KEY.OpenTelemetry
service.name.OTLP/HTTP URL. Override via
$BRYEL_INGEST_URL for self-hosting.Extra headers, merged after auth.
Register as the global OpenTelemetry provider.
Also auto-instrument installed OpenInference libraries.