Prerequisites
- Databricks workspace with Model Serving, or a local/notebook environment with
mlflow>=3.11 - A HoneyHive project API key from Settings > Project > API Keys
Provider host and OTLP traces URL
HoneyHive routes OTLP ingestion through your deployment’s API host. Replace<provider-host> with the hostname shown in your HoneyHive dashboard or API settings:
Required environment variables
Set these on the agent process before any MLflow tracing starts:MLFLOW_ENABLE_OTEL_GENAI_SEMCONV requires MLflow 3.11+. Dual export uses MLFLOW_TRACE_ENABLE_OTLP_DUAL_EXPORT (MLflow 3.4+). Databricks’ OpenTelemetry export page currently shows MLFLOW_ENABLE_DUAL_EXPORT, which MLflow does not read - use the name above.
If both OTEL_EXPORTER_OTLP_TRACES_PROTOCOL and OTEL_EXPORTER_OTLP_PROTOCOL are set, the traces-specific variable wins. Unset any leftover OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc so http/protobuf takes effect.
Configure a Model Serving agent
Pass the variables throughenvironment_vars on agents.deploy():
{{secrets/scope/key}} instead of pasting the API key into a notebook.
For agents already deployed, add the same variables under Serving > endpoint > Edit > Environment variables, then redeploy or restart the endpoint.
Notebook or local smoke test
mlflow.openai.autolog() creates the model span that carries inputs, outputs, and tokens under GenAI semconv:
set_inputs / set_outputs on a plain mlflow.start_span wrapper do not appear in HoneyHive.
Dual export still needs an MLflow tracking URI for the Databricks MLflow half (for example mlflow.set_tracking_uri("databricks") in a notebook, or the workspace default on Model Serving).
mlflow[databricks] when you also want traces in the workspace MLflow UI.
What HoneyHive receives
With GenAI semconv enabled, HoneyHive shows model inputs, outputs, token usage, and parent/child relationships for instrumented agent spans. Typical shape:Parent/child hierarchy is preserved via OTel parent span IDs, but spans from one agent invocation may currently appear across more than one HoneyHive session row. Filter by
service.name and source=otlp in Traces to see the full run.Verify traces in HoneyHive
- Invoke the agent (or run the smoke test above).
- Open Traces for the project tied to your API key.
- Look for events with
sourceset tootlpand metadata such astelemetry.sdk.name=mlflowand yourOTEL_SERVICE_NAME. - Open a model span and confirm inputs, outputs, and token counts appear.
- Confirm the endpoint ends with
/opentelemetry/v1/tracesand uses your HoneyHive API host. - Confirm
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf, and thatOTEL_EXPORTER_OTLP_TRACES_PROTOCOLis unset or alsohttp/protobuf. - Confirm
Authorization=Bearer <HH_API_KEY>matches the target project. - Confirm
MLFLOW_ENABLE_OTEL_GENAI_SEMCONV=trueis set before the first span. - Confirm
MLFLOW_ENABLE_OTLP_EXPORTERis not set tofalse. - Confirm the serving endpoint can reach HoneyHive over outbound HTTPS.
Export modes
Related
OpenTelemetry concepts
How HoneyHive stores OTLP traces and GenAI span attributes
Tracing introduction
Sessions, event types, and trace hierarchy in HoneyHive
Enrich your traces
Add metadata, user properties, and feedback to traces
Custom spans
Add HoneyHive spans around business logic in your application

