Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The unified trace table follows the OpenTelemetry span data model. Each row is one span. The table is clustered by time.
| Column | Description | Type |
|---|---|---|
record_id |
Unique identifier for this table row. | STRING |
time |
Timestamp when the span was recorded. | TIMESTAMP |
date |
UTC date when the span was recorded. Useful for partition pruning. | DATE |
service_name |
Name of the Unity AI Gateway service (endpoint name). | STRING |
service_id |
Identifier for the service named in service_name. |
STRING |
trace_id |
Identifier shared by all spans in a single request tree. Filter on this to reconstruct a full trace. | STRING |
span_id |
Unique identifier for this span. | STRING |
trace_state |
OpenTelemetry tracestate header value, if present. |
STRING |
parent_span_id |
span_id of the parent span. NULL for root spans (one per request). |
STRING |
flags |
OpenTelemetry trace flags bitmask. | INT |
name |
Human-readable span name, for example my-endpoint-mlflow/v1/chat/completions. |
STRING |
kind |
Span kind: SPAN_KIND_SERVER (root, one per request) or SPAN_KIND_CLIENT (downstream call). |
STRING |
start_time_unix_nano |
Span start time in nanoseconds since Unix epoch. | BIGINT |
end_time_unix_nano |
Span end time in nanoseconds since Unix epoch. | BIGINT |
attributes |
Span attributes as a VARIANT object. Key names contain dots; use backtick syntax to access them: attributes:\enduser.id``. See Key attributes below. |
VARIANT |
dropped_attributes_count |
Number of attributes dropped due to limits. | INT |
events |
Array of timed events within the span. The primary event type is policy_evaluated, which records per-policy evaluation detail. See Policy evaluation events. |
ARRAY<STRUCT> |
dropped_events_count |
Number of events dropped due to limits. | INT |
links |
Array of links to other spans or traces. | ARRAY<STRUCT> |
dropped_links_count |
Number of links dropped due to limits. | INT |
status |
Span status with code (STATUS_CODE_OK or STATUS_CODE_ERROR) and optional message. |
STRUCT |
resource |
Resource attributes describing the instrumented entity, for example service.name and SDK metadata. |
STRUCT |
resource_schema_url |
Schema URL for the resource semantic conventions. | STRING |
instrumentation_scope |
Name and version of the instrumentation library that produced the span. | STRUCT |
span_schema_url |
Schema URL for the span semantic conventions. | STRING |
The table also carries columns needed for its physical optimization, notably clustering, that are not useful for queries. These columns are named with an _ prefix. Treat them as implementation details that may change in future versions.
Key attributes
The attributes column is a VARIANT. Access fields using backtick syntax for keys that contain dots: attributes:\gen_ai.request.model``. The keys present depend on whether the span is a model service (LLM) call or an MCP service call.
Model service (LLM) spans:
| Attribute | Description |
|---|---|
databricks.api_type |
Inbound API type, for example openai/v1/responses. |
enduser.id |
User or service principal that made the request. |
databricks.requester_type |
Requester type, for example USER. |
databricks.request_id |
Azure Databricks-generated request ID. |
databricks.url |
Full request URL. |
databricks.latency_ms |
End-to-end request latency in milliseconds. |
databricks.time_to_first_byte_ms |
Time to first byte in milliseconds. |
databricks.action |
Attempt type, for example initial_attempt or retry. |
databricks.destination_id |
Target model, for example databricks-claude-sonnet-4-6. |
databricks.outcome |
success or failure. |
gen_ai.operation.name |
Operation, for example chat. |
gen_ai.request.model |
Requested model. |
gen_ai.provider.name |
Provider, for example databricks. |
gen_ai.usage.input_tokens |
Input tokens consumed. |
gen_ai.usage.output_tokens |
Output tokens generated. |
http.response.status_code |
HTTP status code. |
error.type |
Error type on failures, for example invalid_request. |
mlflow.chat.tokenUsage |
Detailed token usage as a JSON string. |
mlflow.spanInputs |
Serialized request payload. |
mlflow.spanOutputs |
Serialized response payload (empty on failure). |
MCP service spans:
| Attribute | Description |
|---|---|
mcp.method.name |
MCP method, for example tools/list or tools/call. |
gen_ai.operation.name |
Operation, for example execute_tool for tools/call. |
gen_ai.tool.name |
Name of the tool being invoked, for example atlassianUserInfo. |
gen_ai.tool.call.arguments |
Extracted tool arguments, as a JSON string. |
gen_ai.tool.call.result |
Extracted tool result, as a JSON string. |
databricks.requester_type |
Requester type, for example USER. |
databricks.request_id |
Azure Databricks-generated request ID. |
databricks.tool.connection_type |
MCP connection type, for example EXTERNAL_MCP. |
tool_source |
Backing connection or managed MCP server name, for example main.default.gh-conn (external) or code_interpreter (managed). The MCP service name is in the service_name column. |
tool_type |
Tool type, for example external_connection. |
workspace_id |
Workspace ID. |
enduser.id |
User or service principal that made the request. |
http.response.status_code |
HTTP status from the MCP call. |
rpc.response.status_code |
JSON-RPC status code, for example -32003. The primary MCP failure signal. |
error.type |
Failure classification, for example policy_deny, upstream_error, or internal_error. |
mlflow.spanType |
Span type. TOOL for MCP spans. Useful for WHERE filtering. |
mlflow.spanInputs |
Serialized JSON-RPC request. |
mlflow.spanOutputs |
Serialized MCP/JSON-RPC response. |
Policy enforcement attributes (model service and MCP service spans):
When a policy blocks a request, the server span (the root span) sets the following scalar attributes. Because they are set only when a policy short-circuits the request, they also serve as a quick filter for "did any policy block this request?"
| Attribute | Description |
|---|---|
databricks.policy.name |
The policy that blocked the request. The Unity Catalog function FQN for a custom policy, or the attachment label for a built-in policy. <unknown> if the policy is unnamed. |
databricks.policy.action |
Enforced action, either DENY or ASK. |
Policy evaluation events
The events column holds an array of policy_evaluated events, one per evaluated (policy, phase) pair. This is where per-policy detail lives, beyond the scalar databricks.policy.* attributes on the server span. Each event carries the following keys:
| Key | Description |
|---|---|
policy.name |
Name of the evaluated policy. |
policy.type |
Policy type, either CUSTOM or BUILTIN. |
policy.handler |
Handler for the policy. Built-in policies only. |
policy.options |
Handler options. Built-in policies only. |
policy.action |
Evaluated action, one of ALLOW, DENY, or ASK. |
policy.phase |
Evaluation phase, either on_call or on_result. Custom policies only. |
When a policy runs in dry-run (monitor or shadow) mode with dry_run=true, the enforced action is downgraded to ALLOW so the request proceeds, and the would-be verdict is recorded on the same event:
| Key | Description |
|---|---|
policy.dry_run_action |
The action that would have been enforced, for example DENY. Its presence signals the policy ran in dry-run mode. |
policy.dry_run_reason |
Reason for the would-be action. |
policy.dry_run_transformed_message |
The payload a would-be transform or mask policy would have written. |