Tabellreferens för telemetri

Important

Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.

Den här sidan dokumenterar tabellerna som Lakebase skriver till ditt Unity Catalog-schema när du har konfigurerat observerbarhet för ett projekt. Insights och Genie läser samma data, och eftersom de hamnar i din egen Unity-katalog kan du fråga dem direkt med valfritt Azure Databricks verktyg.

Note

Det här är en betafunktion. Tabell- och kolumnnamn kan ändras före allmän tillgänglighet.

Vad som fångas

Lakebase fångar upp de signaler som en erfaren DBA skulle leta efter och landar i en handfull tabeller som du kan fråga direkt när de har exporterats:

Vad som fångas Var den landar
Aktiva sessioner och väntehändelser active_session_history, wait_event_counters
Frågeplaner och körningsstatistik per fråga plan_history, pg_stat_statements_counters
Schemaändringar: vad som har ändrats, när och av vem ddl_history
Databasstatistik: storlek, rader som lästs och ändrats samt antal sessioner database_counters, database_gauges
Beräkningsresursanvändning: CPU, minne, cacheminne, anslutningar compute_counters, compute_gauges
Råa Postgres-loggmeddelanden, inklusive det bakomliggande felet vid ett misslyckande postgres_logs

Insights och Genie läser dessa data för att förankra sina svar i vad som faktiskt hände i din databas, och samma tabeller driver de färdiga observabilitetsdashboards. Resten av denna sida dokumenterar varje kolumn i varje tabell.

Kolumner som är gemensamma för varje tabell

Varje tabell nedan innehåller dessa kolumner som identifierar var en rad kommer ifrån:

Column Typ Description
project_id STRING Lakebase-projektet som raden kom från.
branch_id STRING Grenen som raden kom från.
endpoint_id STRING Beräkningsslutpunkten som raden kom från.
compute_id STRING Den specifika beräkningsinstansen. Detta ändras när en beräkning skalar till noll och återupptas.
ts TIMESTAMP När raden spelades in.
compute_mode STRING Beräkningsläget vid den tidpunkten, till exempel skrivskyddad eller skrivskyddad.

Tabeller med namn som slutar i _counters innehåller också en previous_ts kolumn som markerar början på intervallet som en rads värden ackumuleras över. Det här är kumulativa värden för det intervallet, inte punkt-i-tid-avläsningar. Tabeller som slutar i _gauges är punkt-i-tid-avläsningar i stället och har inga previous_ts.

Tabellerna nedan visar bara kolumner utöver dessa vanliga.

Sessionsaktivitet

En ögonblicksbild av varje aktiv serverdel som samplas kontinuerligt. Det här är samma mönster som AWS Performance Insights eller Oracles active session history (ASH): om en session gör något, inklusive väntar, visas den här.

active_session_history

Column Typ Description
sample_seq LONG Det här exemplets ordningstal i batchen.
pid LONG Serverdelens process-ID.
datid LONG Databasens objekt-ID.
userid LONG Den anslutande rollens objekt-ID.
queryid LONG Identifierar frågan som körs. Matchar queryid i pg_stat_statements_counters.
wait_event_info LONG Intern kodning av väntehändelsen.
wait_event_type STRING Väntehändelsens kategori, till exempel Timeout eller Lock.
wait_event STRING Den specifika väntehändelsen, till exempel PgSleep.
backend_state LONG Serverdelens tillstånd, till exempel aktiv eller inaktiv.
backend_type LONG Typ av serverdelsprocess.
xact_age_ms LONG Hur länge den aktuella transaktionen har varit öppen.
query_age_ms LONG Hur länge den aktuella frågan har körts.
blocking_pid LONG PID för en session som blockerar den här, om någon.
leader_pid LONG PID för den parallella frågeledaren om den här serverdelen är en parallell arbetare.
flags LONG Interna statusflaggor.
plan_fingerprint LONG Länkar till en specifik planform i plan_history.
appname_hash LONG En hash för det anslutande programmets namn.

Vänta händelser

Aggregerade antal väntehändelser och tid som komplement till vyn per exempel i active_session_history.

wait_event_counters

Column Typ Description
wait_event_id LONG Intern kodning av väntehändelsen.
wait_class_name STRING Väntehändelsens kategori.
wait_event_name STRING Den specifika väntehändelsen.
wait_event_count LONG Hur många gånger den här väntehändelsen inträffade i intervallet.
wait_event_time Dubbel Total tid i den här väntehändelsen under intervallet.

Frågeplaner

En post per körning med frågeplaner, inklusive den fullständiga planen och Neon-specifik lagringsstatistik. Det här är den mest detaljerade tabellen, och vanligtvis där en undersökning med långsamma frågor hamnar.

plan_history

Column Typ Description
row_position LONG Ordningstalet för den här raden i dess batch.
analyze_enabled Boolean Om planen innehåller faktisk körningsstatistik (EXPLAIN ANALYZE), inte bara uppskattningar.
buffers_enabled Boolean Om planen innehåller buffertanvändningsstatistik.
query_hash STRING Hash som identifierar frågetexten.
queryid LONG Identifierar frågan. Matchar queryid i pg_stat_statements_counters och active_session_history.
duration_ms Dubbel Hur lång tid det tog att köra frågan.
total_cost Dubbel Planerarens uppskattade kostnad för frågan.
plan_rows LONG Planerarens uppskattade radantal.
actual_rows LONG Det faktiska radantalet returnerades.
plan_fingerprint LONG Identifierar den här specifika planformen. Matchar plan_fingerprint i active_session_history.
lock_wait_time_ms Dubbel Tid som spenderas på att vänta på lås.
planning_time_ms Dubbel Tid som ägnas åt att planera frågan, separat från körning.
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Delad buffertcacheaktivitet för den här körningen.
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Lokal buffertaktivitet för temporära tabeller.
temp_blks_read / temp_blks_written LONG Tillfällig filaktivitet, till exempel från en stor sortering eller hash.
neon_getpage_count LONG Antal sidbegäranden som skickats till sidservern.
neon_file_cache_hits LONG Antal sidor som hanteras från den lokala filcachen i stället för sidservern.
neon_getpage_wait_us LONG Tid som ägnas åt att vänta på sidbegäranden för sidservrar i mikrosekunder.
backend_pid LONG Serverdelsprocessens ID som körde den här frågan.
lock_wait_count LONG Antal gånger som den här körningen väntade på ett lås.
userid / dbid LONG Anslutningsrollens och databasens objekt-ID:er.
query_text STRING Frågetexten.
plan_json STRING Den fullständiga frågeplanen, som JSON.
usename / datname STRING Anslutningsrollens och databasens namn.
application_name / client_addr STRING Det anslutande programmets namn och klientadress.
wait_events STRING Väntehändelser som observerats under den här körningen.
parameters STRING Eventuella bindningsparametrar som används i frågan.
blocking_pids STRING PID:er för sessioner som blockerade den här körningen, om några.
neon_branch_id / neon_endpoint_id / neon_timeline_id STRING Interna Neon-identifierare för grenen, slutpunkten och tidslinjen.
cpu_user_time_ms / cpu_sys_time_ms Dubbel CPU-tid som förbrukas av den här körningen, uppdelad i användar- och systemtid.
voluntary_csw / involuntary_csw LONG Kontextväxlar under den här körningen.
trace_id / span_id / trace_flags / service_name STRING/STRING/LONG/STRING OpenTelemetry-stil spårningsidentifierare, om frågan var en del av en spårad begäran.
timeline_id LONG Intern tidslinjeidentifierare.
truncated Boolean Om den här radens data (till exempel en stor plan) trunkerades innan de skrevs.

Frågestatistik

Aggregerad statistik per fråga som kommer från standardtillägget pg_stat_statements .

pg_stat_statements_counters

Column Typ Description
userid / dbid LONG Anslutningsrollens och databasens objekt-ID:er.
queryid LONG Identifierar frågan. Matchar queryid i plan_history och active_session_history.
toplevel Boolean Om den här raden är för en top-level-instruktion, till skillnad från en kapslad i en PL/pgSQL-funktion eller procedur. Se PL/pgSQL-begränsningen.
query STRING Frågetexten.
calls LONG Antal gånger som den här frågan kördes i intervallet.
plans LONG Antal gånger som den här frågan planerades i intervallet.
rows LONG Totalt antal rader som returneras eller påverkas.
total_exec_time / total_plan_time Dubbel Total tid som ägnas åt att köra och planera den här frågan i intervallet.
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Delad buffertcacheaktivitet.
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Lokal buffertaktivitet för temporära tabeller.
temp_blks_read / temp_blks_written LONG Tillfällig filaktivitet.
wal_bytes / wal_fpi / wal_records LONG Loggvolym för framåtskrivning som genereras av den här frågan.
jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time Mixed JIT-kompileringsstatistik (just-in-time) om JIT användes för den här frågan.

Schemaändringar

Schemaändringar: vad som har ändrats, när och av vem. Det här är vad Genie läser för att spåra en incident tillbaka till en schemaändring, oavsett om det är från en distribution eller en manuell redigering.

ddl_history

Column Typ Description
row_position LONG Ordningstalet för den här raden i dess batch.
command_tag STRING Typ av DDL-kommando, till exempel ALTER TABLE.
object_type / object_name STRING Typ och namn på objektet som ändrades.
schema_name STRING Postgres-schemat som objektet tillhör.
query_text STRING Den fullständiga DDL-instruktionen.
duration_ms Dubbel Hur lång tid det tog att köra DDL-instruktionen.
userid / usename LONG/STRING Den anslutande rollens objekt-ID och namn.
application_name STRING Namnet på det anslutande programmet.
backend_pid LONG Serverdelsprocessens ID som körde -instruktionen.
dbid LONG Databasens objekt-ID.
search_path STRING Sessionens sökväg vid den tidpunkten.
ddl_json STRING En strukturerad, tolkad representation av DDL-instruktionen.

Note

DDL-avbildningen har en verklig lucka: en ändring som görs runt en beräkning som återupptas från skala till noll kan missas. Om en schemaändring inte visas här trots att du vet att det har hänt är det den troligaste orsaken. Se Begränsningar.

Postgres-loggar

Raw Postgres-loggmeddelanden, inklusive det specifika felet bakom ett fel.

postgres_logs

Column Typ Description
sample_seq LONG Ordningstalet för den här raden i dess batch.
elevel LONG Intern kodning på loggnivå.
severity STRING Loggens allvarlighetsgrad, till exempel ERROR eller LOG.
sqlstate STRING Postgres SQLSTATE-felkoden, till exempel 42703 för en odefinierad kolumn.
backend_pid / leader_backend_pid LONG Serverdelsprocessens ID och dess parallella frågeledares PID om tillämpligt.
userid / usename LONG/STRING Den anslutande rollens objekt-ID och namn.
datid / datname LONG/STRING Databasens objekt-ID och namn.
application_name / client_addr STRING Det anslutande programmets namn och klientadress.
schema_name / table_name / column_name / constraint_name / datatype_name STRING Schemat, tabellen, kolumnen, villkoret eller datatypen som refereras till av felet, när Postgres har en.
funcname STRING Funktionen som felet inträffade i, om tillämpligt.
filename / lineno STRÄNG/LONG Postgres-källfilen och rad felet kommer från.
message STRING Loggmeddelandetexten.
detail / hint / context STRING Ytterligare information, en föreslagen korrigering och felets kontext, när Postgres har dem.
internalquery STRING En internt genererad fråga som är relaterad till felet, om tillämpligt.
statement STRING Instruktionen som utlöste den här loggposten.
truncated_mask LONG Anger vilka fält, om några, trunkerades innan de skrevs.

Note

De strukturerade schema_namefälten , table_nameoch column_name fylls inte i för varje feltyp. Ett vanligt parsningsfel för "kolumnen finns inte" (SQLSTATE 42703lämnar dem till exempel tomma trots message att kolumnen namnges direkt. Förlita dig inte på att fälten fylls i. Kontrollera message först.

Beräkna mätvärden

Resursanvändning på beräkningsnivå: CPU, minne, disk och nätverks-I/O och den lokala filcachen (LFC), Lakebase-cachen på beräkningssidan framför sidservern.

compute_counters

Column Typ Description
backpressure_throttling_seconds Dubbel Tid då lagringsskiktet spenderade på att begränsa skrivningar i det här intervallet. Ett värde som inte är noll innebär att skrivvolymen överskred den lagring som kan absorberas.
host_busiest_cpu_seconds / host_cpu_seconds Dubbel Cpu-tid förbrukas, för den mest trafikerade kärnan och totalt.
host_disk_read_bytes / host_disk_written_bytes Dubbel Disk-I/O-volym.
host_network_receive_bytes / host_network_transmit_bytes Dubbel Nätverks-I/O-volym.
lfc_evictions / lfc_hits / lfc_misses / lfc_writes LONG Lokal filcacheaktivitet för det här intervallet.
replica_lfc_redo_evictions LONG Borttagning av lokal filcache som orsakas av replikfördreplikering, om den här beräkningen är en läsreplik.

compute_gauges

Column Typ Description
current_lsn LONG Den aktuella loggpositionen för framåtskrivning.
replica_wal_replay_lsn / replica_wal_receive_lsn LONG WAL spelar upp och tar emot positioner, om den här beräkningen är en läsreplik.
max_connections LONG Den konfigurerade anslutningsgränsen.
lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m LONG Uppskattad arbetsuppsättningsstorlek under de senaste 5, 15 och 60 minuterna.
lfc_size_limit / lfc_allocated / lfc_used LONG Lokal filcachekapacitet och aktuell användning.
total_size_limit / total_size LONG Total lagringskapacitet och aktuell användning.
replication_lag_bytes / replication_lag_time_ms LONG/DOUBLE Replikeringsfördröjning om den här beräkningen är en läsreplik.
host_logical_cpus / host_memory_total_bytes Dubbel Beräkningens etablerade CPU och minne.

Databasmått

Aktivitet per databas: ändrade rader, transaktioner, sessioner och vakuumhälsa. Det är här tabellens uppsvällda och autovacuumsignaler lever.

database_counters

Column Typ Description
datid / datname LONG/STRING Databasens objekt-ID och namn.
active_time_ms / idle_in_transaction_time_ms / session_time_ms Dubbel Tid som ägnas åt aktiv, inaktiv i en öppen transaktion och ansluten överlag.
deadlocks LONG Antal identifierade dödlägen.
rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated LONG Aktivitet på radnivå för intervallet.
sessions_abandoned / sessions_established / sessions_fatal / sessions_killed LONG Antal sessionslivscykler.
shared_blks_hit / shared_blks_read LONG Delad buffertcacheaktivitet.
xact_commit / xact_rollback LONG Bekräftade och återställda transaktioner.

database_gauges

Column Typ Description
datid / datname LONG/STRING Databasens objekt-ID och namn.
numbackends LONG Aktuellt antal anslutningar till den här databasen.
size LONG Databasens storlek på disken.
oldest_frozen_xid_age / oldest_mxid_age LONG Transaktions-ID och multixact-ID-ålder för den äldsta avfrysta raden. Stigande värden är den tidigaste signalen av vakuum som faller efter, långt innan uppblåsthet blir synlig i tabellstorlek.

Limitations

Varning

Om du skapar roller för att ansluta program kan ett lösenord som skrivs in i en CREATE ROLE ... PASSWORD '...' SQL-instruktion hamna i fråge- eller instruktionshistorik. Skapa rollen via UI, SDK, API eller CLI istället, som genererar lösenordet på serversidan så att du aldrig skriver det som klartext. Gränssnittet visar det genererade lösenordet en gång. SDK, API och CLI returnerar inte det, så skaffa ett lösenord efteråt. Se Hur man får tag på ett lösenord.

Under betaversionen gäller följande begränsningar:

  • COPY åtgärder registreras för närvarande inte i frågeplanshistoriken.

  • En fråga som körs i en PL/pgSQL-funktion eller -procedur samlas inte in i telemetri på frågenivå om den inte också körs som en toppnivåinstruktion. Postgres egen instruktionsspårning räknar endast toppnivåinstruktioner som standard.

  • Grenar och ändpunkter visas i exporterad telemetri och insikter med interna ID:n (till exempel br-odd-mud-y2icrn1h), inte med ett visningsnamn som ”produktion”. Jämför med ID:t i Lakebases användargränssnitt om du behöver bekräfta vilken gren eller ändpunkt en insikt eller tabellrad avser.

  • GUC:er som aktiverar telemetriinsamling kanske inte propageras automatiskt till en befintlig beräkningsinstans. Om telemetri inte visas när du har konfigurerat observerbarheten ansluter du till projektet och kontrollerar:

    SHOW neon_monitor.log_capture_enabled;
    SHOW databricks.o11y_exporter_enabled;
    

    Måste båda returnera on. Om någon av dem returnerar offstartar du om beräkningsslutpunkten.

Nästa steg