Informazioni di riferimento sulla tabella di telemetria

Importante

Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.

Questa pagina documenta le tabelle che Lakebase scrive nello schema del catalogo Unity dopo aver configurato l'osservabilità per un progetto. Informazioni dettagliate e Genie leggono gli stessi dati e, poiché vengono inseriti nel proprio Catalogo Unity, è possibile eseguire query direttamente con qualsiasi strumento di Azure Databricks.

Note

Si tratta di una funzionalità beta. I nomi delle tabelle e delle colonne potrebbero cambiare prima della disponibilità generale.

Cosa viene acquisito

Lakebase acquisisce i segnali che un DBA esperto cercherebbe e li fa confluire in una manciata di tabelle che puoi interrogare direttamente una volta esportate:

Elementi acquisiti Dove atterra
Sessioni attive ed eventi di attesa active_session_history, wait_event_counters
Piani di query e statistiche di esecuzione per query plan_history, pg_stat_statements_counters
Modifiche dello schema: cosa è cambiato, quando e da chi ddl_history
Statistiche del database: dimensioni, righe lette e modificate e conteggi delle sessioni database_counters, database_gauges
Utilizzo delle risorse di calcolo: CPU, memoria, cache, connessioni compute_counters, compute_gauges
Messaggi di log grezzi di Postgres, incluso l'errore alla base di un guasto postgres_logs

Insights e Genie leggono questi dati per fondare le loro risposte su ciò che è realmente accaduto nel tuo database, e le stesse tabelle alimentano le dashboard di osservabilità pronte a condizioni. Il resto di questa pagina documenta ogni colonna di ogni tabella.

Colonne comuni a ogni tabella

Ogni tabella seguente include queste colonne, che identificano la provenienza di una riga:

Column Type Description
project_id filo Il progetto Lakebase da cui proviene la riga.
branch_id filo Ramo da cui proviene la riga.
endpoint_id filo Endpoint di calcolo da cui proviene la riga.
compute_id filo Istanza di calcolo specifica. Ciò cambia quando un calcolo viene ridimensionato a zero e riprende.
ts TIMESTAMP Quando la riga è stata registrata.
compute_mode filo La modalità di calcolo al momento, ad esempio lettura/scrittura o sola lettura.

Le tabelle con nomi che terminano _counters in includono anche una previous_ts colonna, che contrassegna l'inizio dell'intervallo in cui si accumulano i valori di una riga. Questi sono valori cumulativi per tale intervallo, non letture temporizzato. Le tabelle che terminano _gauges in sono invece letture temporizzato e non previous_tshanno .

Le tabelle seguenti elencano solo le colonne oltre a quelle comuni.

Attività di sessione

Snapshot di ogni back-end attivo, campionato in modo continuo. Si tratta dello stesso modello di AWS Performance Insights o della cronologia delle sessioni attive (ASH) di Oracle: se una sessione esegue qualsiasi operazione, inclusa l'attesa, viene visualizzata qui.

active_session_history

Column Type Description
sample_seq LONG Posizione ordinale di questo esempio all'interno del relativo batch.
pid LONG ID processo del back-end.
datid LONG ID oggetto del database.
userid LONG ID oggetto del ruolo di connessione.
queryid LONG Identifica la query in esecuzione. Corrisponde queryid a in pg_stat_statements_counters.
wait_event_info LONG Codifica interna dell'evento di attesa.
wait_event_type filo Categoria dell'evento wait, ad esempio Timeout o Lock.
wait_event filo Evento di attesa specifico, ad esempio PgSleep.
backend_state LONG Stato del back-end, ad esempio attivo o inattiva.
backend_type LONG Tipo di processo back-end.
xact_age_ms LONG Durata dell'apertura della transazione corrente.
query_age_ms LONG Durata dell'esecuzione della query corrente.
blocking_pid LONG PiD di una sessione che blocca questa, se presente.
leader_pid LONG PID del leader di query parallela, se questo back-end è un ruolo di lavoro parallelo.
flags LONG Flag di stato interni.
plan_fingerprint LONG Collegamenti a una forma di piano specifica in plan_history.
appname_hash LONG Hash del nome dell'applicazione di connessione.

Eventi di attesa

Conteggi e tempo aggregati degli eventi di attesa, completando la visualizzazione per campione in active_session_history.

wait_event_counters

Column Type Description
wait_event_id LONG Codifica interna dell'evento di attesa.
wait_class_name filo Categoria dell'evento wait.
wait_event_name filo Evento di attesa specifico.
wait_event_count LONG Quante volte si è verificato questo evento di attesa nell'intervallo.
wait_event_time DOPPIO Tempo totale trascorso in questo evento di attesa durante l'intervallo.

Piani di query

Record per esecuzione di piani di query, inclusi i piani completi e le statistiche di archiviazione specifiche di Neon. Si tratta della tabella più dettagliata e, in genere, in cui un'analisi delle query lente finisce.

plan_history

Column Type Description
row_position LONG Posizione ordinale di questa riga all'interno del relativo batch.
analyze_enabled BOOLEAN Indica se il piano include statistiche di esecuzione effettive (EXPLAIN ANALYZE), non solo stime.
buffers_enabled BOOLEAN Indica se il piano include statistiche di utilizzo del buffer.
query_hash filo Hash che identifica il testo della query.
queryid LONG Identifica la query. Trova le corrispondenze queryid in pg_stat_statements_counters e active_session_history.
duration_ms DOPPIO Durata dell'esecuzione della query.
total_cost DOPPIO Costo stimato per la query.
plan_rows LONG Conteggio delle righe stimato del pianificatore.
actual_rows LONG Conteggio effettivo delle righe restituito.
plan_fingerprint LONG Identifica questa forma di piano specifica. Corrisponde plan_fingerprint a in active_session_history.
lock_wait_time_ms DOPPIO Tempo trascorso in attesa di blocchi.
planning_time_ms DOPPIO Tempo impiegato per la pianificazione della query, separato dall'esecuzione.
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Attività cache del buffer condiviso per questa esecuzione.
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Attività del buffer locale, per le tabelle temporanee.
temp_blks_read / temp_blks_written LONG Attività di file temporanei, ad esempio da un ordinamento o un hash di grandi dimensioni.
neon_getpage_count LONG Numero di richieste di pagina inviate al server di paging.
neon_file_cache_hits LONG Numero di pagine servite dalla cache dei file locale anziché dal server di paging.
neon_getpage_wait_us LONG Tempo impiegato per l'attesa nelle richieste di pagina del server di pagine, in microsecondi.
backend_pid LONG ID del processo back-end che ha eseguito questa query.
lock_wait_count LONG Numero di volte in cui l'esecuzione ha atteso un blocco.
userid / dbid LONG ID oggetto del ruolo e del database di connessione.
query_text filo Testo della query.
plan_json filo Piano di query completo, come JSON.
usename / datname filo Nomi del ruolo di connessione e del database.
application_name / client_addr filo Nome e indirizzo client dell'applicazione di connessione.
wait_events filo Eventi di attesa osservati durante questa esecuzione.
parameters filo Associare i parametri usati nella query, se presenti.
blocking_pids filo PID di sessioni che bloccavano l'esecuzione, se presenti.
neon_branch_id / neon_endpoint_id / neon_timeline_id filo Identificatori Neon interni per il ramo, l'endpoint e la sequenza temporale.
cpu_user_time_ms / cpu_sys_time_ms DOPPIO Tempo cpu utilizzato da questa esecuzione, suddiviso in tempo utente e di sistema.
voluntary_csw / involuntary_csw LONG Il contesto cambia durante l'esecuzione.
trace_id / span_id / trace_flags / service_name STRING/STRING/LONG/STRING Identificatori di traccia in stile OpenTelemetry, se la query faceva parte di una richiesta tracciata.
timeline_id LONG Identificatore interno della sequenza temporale.
truncated BOOLEAN Indica se i dati di questa riga (ad esempio, un piano di grandi dimensioni) sono stati troncati prima di essere scritti.

Statistiche query

Statistiche aggregate per query, generate dall'estensione standard pg_stat_statements .

pg_stat_statements_counters

Column Type Description
userid / dbid LONG ID oggetto del ruolo e del database di connessione.
queryid LONG Identifica la query. Trova le corrispondenze queryid in plan_history e active_session_history.
toplevel BOOLEAN Indica se questa riga è destinata a un'istruzione di primo livello, anziché un'istruzione nidificata all'interno di una funzione o una routine PL/pgSQL. Vedere la limitazione di PL/pgSQL.
query filo Testo della query.
calls LONG Numero di esecuzioni della query nell'intervallo.
plans LONG Numero di volte in cui la query è stata pianificata nell'intervallo.
rows LONG Totale righe restituite o interessate.
total_exec_time / total_plan_time DOPPIO Tempo totale impiegato per l'esecuzione e la pianificazione di questa query nell'intervallo.
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Attività cache del buffer condiviso.
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Attività del buffer locale, per le tabelle temporanee.
temp_blks_read / temp_blks_written LONG Attività file temporanea.
wal_bytes / wal_fpi / wal_records LONG Volume del log write-ahead generato da questa query.
jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time Mixed Statistiche di compilazione JIT (JUST-In-Time), se JIT è stato usato per questa query.

Modifiche agli schemi

Modifiche dello schema: cosa è cambiato, quando e da chi. Questo è ciò che Genie legge per tracciare un evento imprevisto a una modifica dello schema, sia da una distribuzione che da una modifica manuale.

ddl_history

Column Type Description
row_position LONG Posizione ordinale di questa riga all'interno del relativo batch.
command_tag filo Tipo di comando DDL, ad esempio ALTER TABLE.
object_type / object_name filo Tipo e nome dell'oggetto modificato.
schema_name filo Lo schema Postgres a cui appartiene l'oggetto.
query_text filo Istruzione DDL completa.
duration_ms DOPPIO Durata dell'esecuzione dell'istruzione DDL.
userid / usename LONG/STRING ID e nome dell'oggetto del ruolo di connessione.
application_name filo Nome dell'applicazione di connessione.
backend_pid LONG ID del processo back-end che ha eseguito l'istruzione.
dbid LONG ID oggetto del database.
search_path filo Percorso di ricerca della sessione al momento.
ddl_json filo Rappresentazione strutturata e analizzata dell'istruzione DDL.

Note

L'acquisizione DDL presenta un divario reale: una modifica apportata in base a una ripresa di calcolo da scale a zero può essere ignorata. Se una modifica dello schema non viene visualizzata qui anche se si sa che è successo, questo è il motivo più probabile. Vedere Limitazioni.

Log postgres

Messaggi di log Postgres non elaborati, incluso l'errore specifico dietro un errore.

postgres_logs

Column Type Description
sample_seq LONG Posizione ordinale di questa riga all'interno del relativo batch.
elevel LONG Codifica a livello di log interno.
severity filo Gravità del log, ad esempio ERROR o LOG.
sqlstate filo Codice di errore DI POSTGRES SQLSTATE, ad esempio 42703 per una colonna non definita.
backend_pid / leader_backend_pid LONG ID processo back-end e PID del responsabile di query paralleli, se applicabile.
userid / usename LONG/STRING ID e nome dell'oggetto del ruolo di connessione.
datid / datname LONG/STRING ID e nome dell'oggetto del database.
application_name / client_addr filo Nome e indirizzo client dell'applicazione di connessione.
schema_name / table_name / column_name / constraint_name / datatype_name filo Schema, tabella, colonna, vincolo o tipo di dati a cui fa riferimento l'errore, quando Postgres ne ha uno.
funcname filo Funzione in cui si è verificato l'errore, se applicabile.
filename / lineno STRING/LONG Il file di origine Postgres e la riga da cui ha avuto origine l'errore.
message filo Testo del messaggio di log.
detail / hint / context filo Dettagli aggiuntivi, correzione suggerita e contesto dell'errore, quando Postgres li contiene.
internalquery filo Query generata internamente correlata all'errore, se applicabile.
statement filo Istruzione che ha attivato questa voce di log.
truncated_mask LONG Indica quali campi, se presenti, sono stati troncati prima di essere scritti.

Note

I campi strutturati schema_name, table_namee column_name non vengono popolati per ogni tipo di errore. Un semplice errore di analisi della "colonna non esiste" (SQLSTATE 42703), ad esempio, li lascia vuoti anche se message denomina direttamente la colonna. Non fare affidamento su questi campi popolati. Controllare message prima di tutto.

Metriche di calcolo

Utilizzo delle risorse a livello di calcolo: CPU, memoria, I/O di rete e cache dei file locali (LFC), cache lato calcolo di Lakebase davanti al server di paging.

compute_counters

Column Type Description
backpressure_throttling_seconds DOPPIO Tempo impiegato dal livello di archiviazione per le scritture di limitazione in questo intervallo. Un valore diverso da zero indica che il volume di scrittura ha superato ciò che lo spazio di archiviazione può assorbire.
host_busiest_cpu_seconds / host_cpu_seconds DOPPIO Tempo cpu utilizzato, per il core più bussato e in totale.
host_disk_read_bytes / host_disk_written_bytes DOPPIO Volume di I/O su disco.
host_network_receive_bytes / host_network_transmit_bytes DOPPIO Volume di I/O di rete.
lfc_evictions / lfc_hits / lfc_misses / lfc_writes LONG Attività della cache dei file locali per questo intervallo.
replica_lfc_redo_evictions LONG Eliminazioni della cache dei file locali causate dal rollforward della replica, se questo calcolo è una replica di lettura.

compute_gauges

Column Type Description
current_lsn LONG Posizione corrente del log write-ahead.
replica_wal_replay_lsn / replica_wal_receive_lsn LONG Riesecuzione e ricezione di WAL, se questo calcolo è una replica di lettura.
max_connections LONG Limite di connessione configurato.
lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m LONG Dimensioni stimate del set di lavoro negli ultimi 5, 15 e 60 minuti.
lfc_size_limit / lfc_allocated / lfc_used LONG Capacità della cache dei file locali e utilizzo corrente.
total_size_limit / total_size LONG Capacità di archiviazione complessiva e utilizzo corrente.
replication_lag_bytes / replication_lag_time_ms LONG/DOUBLE Ritardo replica, se questo calcolo è una replica di lettura.
host_logical_cpus / host_memory_total_bytes DOPPIO CPU e memoria di cui è stato effettuato il provisioning.

Metriche del database

Attività per database: righe modificate, transazioni, sessioni e integrità del vuoto. Questo è il percorso in cui vivono i segnali di blob di tabella e autovacuum.

database_counters

Column Type Description
datid / datname LONG/STRING ID e nome dell'oggetto del database.
active_time_ms / idle_in_transaction_time_ms / session_time_ms DOPPIO Tempo trascorso attivo, inattiva in una transazione aperta e connesso complessivamente.
deadlocks LONG Numero di deadlock rilevati.
rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated LONG Attività a livello di riga per l'intervallo.
sessions_abandoned / sessions_established / sessions_fatal / sessions_killed LONG Conteggi del ciclo di vita della sessione.
shared_blks_hit / shared_blks_read LONG Attività cache del buffer condiviso.
xact_commit / xact_rollback LONG Transazioni di cui è stato eseguito il commit e il rollback.

database_gauges

Column Type Description
datid / datname LONG/STRING ID e nome dell'oggetto del database.
numbackends LONG Numero corrente di connessioni al database.
size LONG Dimensioni del database su disco.
oldest_frozen_xid_age / oldest_mxid_age LONG ID transazione e validità dell'ID multixact della riga meno recente di unfrozen. I valori crescenti sono il primo segnale di vuoto che cade dietro, ben prima che il bloat diventa visibile nelle dimensioni della tabella.

Limitations

Warning

Se si creano ruoli per connettere applicazioni, una password digitata in un'istruzione SQL CREATE ROLE ... PASSWORD '...' può finire nella cronologia delle query o delle istruzioni. Crea il ruolo tramite interfaccia utente, SDK, API o CLI, che generano la password lato server così non la digiti mai come testo chiaro. L'interfaccia mostra la password generata una sola volta. SDK, API e CLI non lo restituiscono, quindi ottieni una password dopo. Vedi Come ottenere una password.

Durante la versione beta, si applicano le limitazioni seguenti:

  • COPY le operazioni non sono attualmente registrate nella cronologia del piano di query.

  • Una query eseguita all'interno di una funzione o procedura PL/pgSQL non viene rilevata nella telemetria a livello di query, a meno che non venga eseguita anche come istruzione di livello superiore. Il tracciamento delle istruzioni integrato in Postgres conta solo le istruzioni di primo livello per impostazione predefinita.

  • I rami e gli endpoint vengono visualizzati nei dati di telemetria e nelle informazioni dettagliate esportate in base all'ID interno (ad esempio, br-odd-mud-y2icrn1h), non con un nome visualizzato come "produzione". Fare riferimento incrociato all'ID nell'interfaccia utente di Lakebase se è necessario confermare il ramo o l'endpoint a cui fa riferimento una riga di informazioni dettagliate o di tabella.

  • I GUC che abilitano la raccolta della telemetria potrebbero non essere propagati automaticamente a un compute esistente. Se i dati di telemetria non vengono visualizzati dopo la configurazione dell'osservabilità, connettersi al progetto e controllare:

    SHOW neon_monitor.log_capture_enabled;
    SHOW databricks.o11y_exporter_enabled;
    

    Entrambi devono restituire on. Se restituisce off, riavviare l'endpoint di calcolo.

Passaggi successivi