Referencja do schematu zunifikowanej tabeli śladów

Zunifikowana tabela śledzenia opiera się na modelu danych rozpiętych OpenTelemetry. Każdy rząd ma jedno przęsło. Tabela jest skupiona przez time.

Column Description Typ
record_id Unikalny identyfikator dla tego wiersza tabeli. STRING
time Znacznik czasu rejestracji rozpięcia. TIMESTAMP
date UTC data rejestracji rozpiętości. Przydatne do przycinania podziałów. DATE
service_name Nazwa usługi Unity Gateway (nazwa punktu końcowego). STRING
service_id Identyfikator usługi nazwanej w .service_name STRING
trace_id Identyfikator współdzielony przez wszystkie rozłączone w jednym drzewie żądań. Filtruj to, aby odtworzyć pełny ślad. STRING
span_id Unikalny identyfikator dla tego okresu. STRING
trace_state Wartość nagłówka OpenTelemetry tracestate , jeśli jest obecna. STRING
parent_span_id span_id przęści rodzicielskiej. NULL dla rozpięć korzeniowych (jeden na każde żądanie). STRING
flags OpenTelemetry flaguje bitmask. INT
name Na przykład my-endpoint-mlflow/v1/chat/completionsczytelna nazwa rozpętu . STRING
kind Rodzaj SPAN_KIND_SERVER span: (root, jeden na żądanie) lub SPAN_KIND_CLIENT (call). STRING
start_time_unix_nano Czas rozpoczęcia w nanosekundach od czasów Uniksa. BIGINT
end_time_unix_nano Koniec czasu trwa w nanosekundach od czasów Uniksa. BIGINT
attributes Atrybuty Span jako obiekt VARIANT. Nazwy kluczy zawierają kropki; użyj składni backtick, aby uzyskać do nich attributes:\dostęp: enduser.id''. Zobacz kluczowe cechy poniżej. VARIANT
dropped_attributes_count Liczba atrybutów utraconych z powodu limitów. INT
events Różnorodne wydarzenia na czas w tym czasie. Głównym typem policy_evaluatedzdarzenia jest , które rejestruje szczegóły oceny dla każdej polisy. Zobacz wydarzenia dotyczące oceny polityki. STRUKTURA TABLICY<>
dropped_events_count Liczba konkurencji została usunięta z powodu ograniczeń. INT
links Tablica powiązań z innymi przęsłami lub śladami. STRUKTURA TABLICY<>
dropped_links_count Liczba linków zrezygnowanych z powodu ograniczeń. INT
status Status span z code (STATUS_CODE_OK lub STATUS_CODE_ERROR) i opcjonalnie message. STRUCT
resource Atrybuty zasobów opisujące instrumentowaną jednostkę, na przykład service.name metadane SDK. STRUCT
resource_schema_url URL schematu dla konwencji semantycznych zasobów. STRING
instrumentation_scope Nazwa i wersja biblioteki instrumentacyjnej, która stworzyła ten rozpięty. STRUCT
span_schema_url URL schematu dla konwencji semantycznych rozpętlów. STRING

Tabela zawiera także kolumny potrzebne do optymalizacji fizycznej, zwłaszcza klasteryzację, które nie są przydatne do zapytań. Kolumny te są nazywane _ przedrostkiem. Traktuj je jako szczegóły implementacyjne, które mogą się zmienić w przyszłych wersjach.

Atrybuty klucza

Kolumna attributes jest VARIANT. Uzyskaj dostęp do pól za pomocą składni backtick dla kluczy zawierających kropki: attributes:\gen_ai.request.model''. Obecne klucze zależą od tego, czy zakres jest wywołaniem modelu usługi (LLM), czy wywołaniem usługi MCP.

Usługa modelowa (LLM) obejmuje:

Atrybut Description
databricks.api_type Typ API wejściowego, na przykład openai/v1/responses.
enduser.id Użytkownik lub podmiot usługowy, który złożył żądanie.
databricks.requester_type Typ żądania, na przykład USER.
databricks.request_id Azure Databricks-generated request ID.
databricks.url Pełny adres URL zapytania.
databricks.latency_ms Opóźnienie żądań end-to-end w milisekundach.
databricks.time_to_first_byte_ms Czas do pierwszego bajtu w milisekundach.
databricks.action Typ próby, na przykład initial_attempt lub retry.
databricks.destination_id Model docelowy, na przykład databricks-claude-sonnet-4-6.
databricks.outcome success lub failure.
gen_ai.operation.name Operacja, na przykład chat.
gen_ai.request.model Zamówiony model.
gen_ai.provider.name Na przykład databricksdostawca.
gen_ai.usage.input_tokens Zużyte tokeny wejściowe.
gen_ai.usage.output_tokens Generowane tokeny wyjściowe.
http.response.status_code Kod stanu HTTP.
error.type Typ błędu przy awariach, na przykład invalid_request.
mlflow.chat.tokenUsage Szczegółowe użycie tokenów jako ciągu JSON.
mlflow.spanInputs Serializowany ładunek żądań.
mlflow.spanOutputs Ładunek odpowiedzi serializowanej (pusty w przypadku awarii).

Usługi MCP obejmują:

Atrybut Description
mcp.method.name Metoda MCP, na przykład tools/list lub tools/call.
gen_ai.operation.name Operacja, na przykład execute_tool dla tools/call.
gen_ai.tool.name Nazwa narzędzia wywoływanego na przykład atlassianUserInfo.
gen_ai.tool.call.arguments Wyodrębnione argumenty narzędzi jako ciąg JSON.
gen_ai.tool.call.result Wyodrębniony wynik narzędzia, jako ciąg JSON.
databricks.requester_type Typ żądania, na przykład USER.
databricks.request_id Azure Databricks-generated request ID.
databricks.tool.connection_type Typ połączenia MCP, na przykład EXTERNAL_MCP.
tool_source Połączenie backing lub nazwa zarządzanego serwera MCP, na przykład main.default.gh-conn (zewnętrzna) lub code_interpreter (zarządzana). Nazwa usługi MCP znajduje się w kolumnie service_name .
tool_type Typ narzędzia, na przykład external_connection.
workspace_id Identyfikator obszaru roboczego.
enduser.id Użytkownik lub podmiot usługowy, który złożył żądanie.
http.response.status_code Status HTTP z połączenia MCP.
rpc.response.status_code JSON-RPC kod statusu, na przykład -32003. Główny sygnał awarii MCP.
error.type Klasyfikacja awarii, na przykład policy_deny, upstream_error, lub internal_error.
mlflow.spanType Typ rozpęty. TOOL dla rozpięć MCP. Przydatne do WHERE filtrowania.
mlflow.spanInputs Serializowane JSON-RPC prośby.
mlflow.spanOutputs Odpowiedź na serializowane MCP/JSON-RPC.

Atrybuty egzekwowania polityki (zakres usług modelowych i MCP):

Gdy polityka blokuje żądanie, serwer span (root span) ustala następujące atrybuty skalarne. Ponieważ są one ustawiane tylko wtedy, gdy polityka przerywa żądanie, służą także jako szybki filtr dla pytania "czy jakaś polityka zablokowała to żądanie?"

Atrybut Description
databricks.policy.name Polityka, która zablokowała prośbę. Funkcja Unity Catalog FQN dla niestandardowej polityki lub etykieta załącznika dla wbudowanej polityki. <unknown> jeśli polisa nie jest nazwana.
databricks.policy.action Wymuszone działanie, albo DENY .ASK

Wydarzenia ewaluacyjne polityki

Kolumna events zawiera szereg policy_evaluated zdarzeń, po jednym na każdą ocenioną parę (polityka, faza). To tutaj znajduje się szczegół podziału na politykę, poza atrybutami skalarnymi databricks.policy.* na obszarze serwera. Każde wydarzenie zawiera następujące klucze:

Klawisz Description
policy.name Nazwa ocenianej polisy.
policy.type Typ polityki, albo CUSTOM , albo BUILTIN.
policy.handler Opiekun polisy. Tylko wbudowane polisy.
policy.options Opcje opiekuna. Tylko wbudowane polisy.
policy.action Ocenione działanie , jedno z , ALLOWDENYlub ASK.
policy.phase Faza ewaluacji, albo on_call , albo on_result. Tylko polityki niestandardowe.

Gdy polityka działa w trybie testowym (monitor lub shadow) z dry_run=true, wymuszona akcja jest obniżana do takiej ALLOW , aby żądanie było kontynuowane, a ewentualny werdykt rejestrowany jest przy tym samym zdarzeniu:

Klawisz Description
policy.dry_run_action Działanie, które byłoby egzekwowane, na przykład DENY. Jego obecność sygnalizuje, że polityka była prowadzona w trybie próbnym.
policy.dry_run_reason Powód do podjęcia decyzji.
policy.dry_run_transformed_message Ładunek, który mogłaby być napisana przez potencjalną politykę transformacji lub maski.