Referenční informace k tabulce telemetrie

Important

Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.

Tato stránka dokumentuje tabulky Lakebase zapisuje do schématu katalogu Unity, jakmile nakonfigurujete pozorovatelnost projektu. Přehledy a Genie čtou stejná data a protože jsou ve vašem vlastním katalogu Unity, můžete je dotazovat přímo pomocí libovolného nástroje Azure Databricks.

Note

Toto je funkce beta verze. Názvy tabulek a sloupců se můžou před obecnou dostupností změnit.

Co se zachytí

Lakebase zachycuje signály, které by zkušený DBA vyhledával, a po exportu je ukládá do několika tabulek, na které se můžete přímo dotazovat:

Co je zachyceno Kam dopadne
Aktivní relace a události čekání active_session_history, wait_event_counters
Plány dotazů a statistiky provádění pro jednotlivé dotazy plan_history, pg_stat_statements_counters
Změny schématu: co se změnilo, kdy a kým ddl_history
Statistika databáze: velikost, čtení a úpravy řádků a počty relací database_counters, database_gauges
Využití výpočetních prostředků: procesor, paměť, mezipaměť, připojení compute_counters, compute_gauges
Surové zprávy z protokolu Postgresu, včetně chyby, která selhání způsobila postgres_logs

Insights a Genie tato data čtou, aby své odpovědi zakotvily v tom, co se skutečně stalo ve vaší databázi, a stejné tabulky pohánějí hotové dashboardy pozorovatelnosti. Zbytek této stránky dokumentuje každý sloupec v každé tabulce.

Sloupce společné pro každou tabulku

Každá tabulka níže obsahuje tyto sloupce, které identifikují, odkud řádek pochází:

Sloupec Typ Description
project_id STRING Projekt Lakebase, ze které řádek pochází.
branch_id STRING Větev, ze které řádek pochází.
endpoint_id STRING Výpočetní koncový bod, ze které řádek pochází.
compute_id STRING Konkrétní výpočetní instance. To se změní, když se výpočetní prostředky škálují na nulu a obnoví se.
ts TIMESTAMP Když byl řádek zaznamenán.
compute_mode STRING Režim výpočetních prostředků v době, například pro čtení i zápis nebo jen pro čtení.

Tabulky s názvy končícími _counters také obsahují previous_ts sloupec, který označuje začátek intervalu, ve které byly hodnoty řádku kumulované. Jedná se o kumulativní hodnoty pro tento interval, nikoli čtení k určitému bodu v čase. Tabulky končící _gauges na čtení k určitému bodu v čase a nemají žádné previous_ts.

Následující tabulky uvádějí jenom sloupce nad rámec těchto běžných sloupců.

Aktivita relace

Snímek každého aktivního back-endu, který se průběžně vzorkuje. Jedná se o stejný vzor jako AWS Performance Insights nebo Aktivní historie relací Oracle (ASH): Pokud relace dělá něco, včetně čekání, zobrazí se tady.

active_session_history

Sloupec Typ Description
sample_seq LONG Pořadové umístění tohoto vzorku v rámci dávky.
pid LONG ID procesu back-endu.
datid LONG ID objektu databáze.
userid LONG ID objektu propojovací role.
queryid LONG Identifikuje spuštěný dotaz. Shody queryid v pg_stat_statements_counters.
wait_event_info LONG Interní kódování události čekání.
wait_event_type STRING Kategorie události čekání, například Timeout nebo Lock.
wait_event STRING Konkrétní událost čekání, například PgSleep.
backend_state LONG Stav back-endu, například aktivní nebo nečinný.
backend_type LONG Typ back-endového procesu.
xact_age_ms LONG Jak dlouho byla aktuální transakce otevřena.
query_age_ms LONG Jak dlouho je aktuální dotaz spuštěný.
blocking_pid LONG PID relace blokující tuto relaci, pokud existuje.
leader_pid LONG PiD vedoucího paralelního dotazu, pokud je tento back-end paralelním pracovním procesem.
flags LONG Příznaky interního stavu.
plan_fingerprint LONG Odkazy na určitý obrazec plánu v plan_history.
appname_hash LONG Hodnota hash názvu propojovací aplikace.

Události čekání

Agregované počty událostí čekání a čas, které doplňují zobrazení pro jednotlivé vzorky v active_session_historysouboru .

wait_event_counters

Sloupec Typ Description
wait_event_id LONG Interní kódování události čekání.
wait_class_name STRING Kategorie události čekání.
wait_event_name STRING Konkrétní událost čekání.
wait_event_count LONG Kolikrát k této události čekání došlo v intervalu.
wait_event_time DVOJITÝ Celková doba strávená v této události čekání během intervalu.

Plány dotazů

Záznam plánů dotazů pro jednotlivé spuštění, včetně úplného plánu a statistik úložiště specifického pro Neon. Toto je nejpodrobnější tabulka, která obvykle končí pomalým zkoumáním dotazů.

plan_history

Sloupec Typ Description
row_position LONG Pořadové umístění tohoto řádku v rámci dávky.
analyze_enabled BOOLEAN Zda plán zahrnuje skutečné statistiky provádění (EXPLAIN ANALYZE), nejen odhady.
buffers_enabled BOOLEAN Určuje, jestli plán zahrnuje statistiky využití vyrovnávací paměti.
query_hash STRING Hodnota hash identifikující text dotazu
queryid LONG Identifikuje dotaz. Shody queryid v pg_stat_statements_counters a active_session_history.
duration_ms DVOJITÝ Jak dlouho trvalo spuštění dotazu.
total_cost DVOJITÝ Odhadované náklady plánovače na dotaz.
plan_rows LONG Odhadovaný počet řádků plánovače.
actual_rows LONG Vrácený skutečný počet řádků.
plan_fingerprint LONG Identifikuje tento konkrétní obrazec plánu. Shody plan_fingerprint v active_session_history.
lock_wait_time_ms DVOJITÝ Čas strávený čekáním na zámky.
planning_time_ms DVOJITÝ Čas strávený plánováním dotazu odděleně od provádění
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Aktivita mezipaměti sdílené vyrovnávací paměti pro toto spuštění
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Aktivita místní vyrovnávací paměti pro dočasné tabulky.
temp_blks_read / temp_blks_written LONG Dočasná aktivita souboru, například z velkého řazení nebo hodnoty hash.
neon_getpage_count LONG Počet požadavků stránek odeslaných na stránkovací server
neon_file_cache_hits LONG Početstránekch
neon_getpage_wait_us LONG Čas strávený čekáním na požadavky stránek pageserveru v mikrosekundách
backend_pid LONG ID procesu back-endu, které spustilo tento dotaz.
lock_wait_count LONG Kolikrát toto spuštění čekalo na uzamčení.
userid / dbid LONG ID objektů propojovací role a databáze.
query_text STRING Text dotazu.
plan_json STRING Úplný plán dotazu ve formátu JSON.
usename / datname STRING Názvy propojovacích rolí a databází.
application_name / client_addr STRING Název a adresa klienta připojující se aplikace.
wait_events STRING Události čekání pozorované během tohoto spuštění.
parameters STRING Pokud existuje, vytvořte vazbu parametrů použitých v dotazu.
blocking_pids STRING ID relací, které blokovaly toto spuštění( pokud existuje).
neon_branch_id / neon_endpoint_id / neon_timeline_id STRING Interní identifikátory Neonu pro větev, koncový bod a časovou osu.
cpu_user_time_ms / cpu_sys_time_ms DVOJITÝ Čas procesoru spotřebovaný tímto spuštěním, rozdělený do uživatelského a systémového času.
voluntary_csw / involuntary_csw LONG Kontext se během tohoto spuštění přepne.
trace_id / span_id / trace_flags / service_name ŘETĚZEC / ŘETĚZEC / DLOUHÝ / ŘETĚZEC Identifikátory trasování ve stylu OpenTelemetry, pokud byl dotaz součástí trasovaného požadavku.
timeline_id LONG Interní identifikátor časové osy.
truncated BOOLEAN Zda byla data tohoto řádku (například velký plán) před zápisem zkrácena.

Statistika dotazů

Agregované statistiky pro jednotlivé dotazy, které pocházejí ze standardního pg_stat_statements rozšíření.

pg_stat_statements_counters

Sloupec Typ Description
userid / dbid LONG ID objektů propojovací role a databáze.
queryid LONG Identifikuje dotaz. Shody queryid v plan_history a active_session_history.
toplevel BOOLEAN Určuje, jestli se tento řádek používá pro příkaz nejvyšší úrovně, na rozdíl od jednoho vnořeného uvnitř funkce PL/pgSQL nebo procedury. Podívejte se na omezení PL/pgSQL.
query STRING Text dotazu.
calls LONG Počet spuštění tohoto dotazu v intervalu
plans LONG Kolikrát byl tento dotaz v intervalu naplánován.
rows LONG Celkový počet vrácených nebo ovlivněných řádků
total_exec_time / total_plan_time DVOJITÝ Celkový čas strávený prováděním a plánováním tohoto dotazu v intervalu
shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written LONG Aktivita mezipaměti sdílené vyrovnávací paměti.
local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written LONG Aktivita místní vyrovnávací paměti pro dočasné tabulky.
temp_blks_read / temp_blks_written LONG Aktivita dočasného souboru
wal_bytes / wal_fpi / wal_records LONG Svazek protokolu s hlavičkou zápisu vygenerovaný tímto dotazem
jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time Mixed Statistika kompilace JIT (just-in-time), pokud se pro tento dotaz použila JIT.

Změny schémat

Změny schématu: co se změnilo, kdy a kým. To je to, co Genie čte, aby trasování incidentu zpět na změnu schématu, ať už z nasazení nebo ruční úpravy.

ddl_history

Sloupec Typ Description
row_position LONG Pořadové umístění tohoto řádku v rámci dávky.
command_tag STRING Typ příkazu DDL, například ALTER TABLE.
object_type / object_name STRING Druh a název objektu, který se změnil.
schema_name STRING Schéma Postgres, do kterého objekt patří.
query_text STRING Úplný příkaz DDL.
duration_ms DVOJITÝ Jak dlouho trvalo spuštění příkazu DDL.
userid / usename DLOUHÉ / STRUNOVÉ ID a název objektu propojovací role.
application_name STRING Název připojené aplikace.
backend_pid LONG ID procesu back-endu, které příkaz spustil.
dbid LONG ID objektu databáze.
search_path STRING Cesta k hledání relace v době.
ddl_json STRING Strukturovaná, parsovaná reprezentace příkazu DDL.

Note

Zachytávání DDL má skutečnou mezeru: změnu provedenou přímo kolem obnovení výpočetních prostředků ze škálování na nulu je možné vynechat. Pokud se tady změna schématu nezobrazí, i když víte, že k ní došlo, je to nejpravděpodobnější důvod. Viz Omezení.

Protokoly Postgres

Nezpracované zprávy protokolu Postgres, včetně konkrétní chyby za selháním

postgres_logs

Sloupec Typ Description
sample_seq LONG Pořadové umístění tohoto řádku v rámci dávky.
elevel LONG Kódování na úrovni interního protokolu
severity STRING Závažnost protokolu, například ERRORLOG.
sqlstate STRING Kód chyby Postgres SQLSTATE, například 42703 pro nedefinovaný sloupec.
backend_pid / leader_backend_pid LONG ID procesu back-endu a jeho PID paralelního dotazu, pokud je to možné.
userid / usename DLOUHÉ / STRUNOVÉ ID a název objektu propojovací role.
datid / datname DLOUHÉ / STRUNOVÉ ID a název objektu databáze.
application_name / client_addr STRING Název a adresa klienta připojující se aplikace.
schema_name / table_name / column_name / constraint_name / datatype_name STRING Schéma, tabulka, sloupec, omezení nebo datový typ odkazovaný chybou, pokud má postgres jeden.
funcname STRING Funkce, ve které došlo k chybě, pokud je k dispozici.
filename / lineno ŘETĚZEC / DLOUHÝ Zdrojový soubor Postgres a řádek chyby pocházející z.
message STRING Text zprávy protokolu.
detail / hint / context STRING Další podrobnosti, navrhovaná oprava a kontext chyby, když je Postgres obsahuje.
internalquery STRING Interně vygenerovaný dotaz související s chybou( pokud je k dispozici).
statement STRING Příkaz, který aktivoval tuto položku protokolu.
truncated_mask LONG Určuje, která pole byla před zápisem zkrácena.

Note

Strukturované schema_namepole table_namea column_name pole nejsou vyplněny pro každý typ chyby. Prostý "sloupec neexistuje" parsuje chybu (SQLSTATE 42703), například je ponechá prázdné, i když message sloupec pojmenuje přímo. Nespoléhejte na vyplňování těchto polí. Nejdřív zkontrolujte message .

Výpočetní metriky

Využití prostředků na úrovni výpočetních prostředků: procesor, paměť, disk a síťový vstupně-výstupní operace a mezipaměť místních souborů (LFC), mezipaměť lakebase na straně výpočetních prostředků před stránkovacím serverem.

compute_counters

Sloupec Typ Description
backpressure_throttling_seconds DVOJITÝ Čas, kdy vrstva úložiště v tomto intervalu strávila omezováním zápisů. Nenulová hodnota znamená, že svazek zápisu překročil, jaké úložiště může absorbovat.
host_busiest_cpu_seconds / host_cpu_seconds DVOJITÝ Doba využití procesoru pro nejužší jádro a celkem.
host_disk_read_bytes / host_disk_written_bytes DVOJITÝ Vstupně-výstupní svazek disku.
host_network_receive_bytes / host_network_transmit_bytes DVOJITÝ Svazek vstupně-výstupních operací sítě.
lfc_evictions / lfc_hits / lfc_misses / lfc_writes LONG Aktivita místní mezipaměti souborů pro tento interval.
replica_lfc_redo_evictions LONG Vyřazení místní mezipaměti souborů způsobené opakováním repliky, pokud se jedná o repliku pro čtení.

compute_gauges

Sloupec Typ Description
current_lsn LONG Aktuální pozice protokolu před zápisem.
replica_wal_replay_lsn / replica_wal_receive_lsn LONG Wal replay and receive positions, if this compute is a read replica.
max_connections LONG Nakonfigurovaný limit připojení.
lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m LONG Odhadovaná velikost pracovní sady za posledních 5, 15 a 60 minut
lfc_size_limit / lfc_allocated / lfc_used LONG Kapacita místní mezipaměti souborů a aktuální využití
total_size_limit / total_size LONG Celková kapacita úložiště a aktuální využití
replication_lag_bytes / replication_lag_time_ms DLOUHÝ / DVOJITÝ Prodleva replikace, pokud se jedná o repliku pro čtení.
host_logical_cpus / host_memory_total_bytes DVOJITÝ Zřízený procesor a paměť výpočetních prostředků.

Databázové metriky

Aktivita pro databázi: změněné řádky, transakce, relace a stav vakua. To je místo, kde tabulka bloudí a autovacuum signály živě.

database_counters

Sloupec Typ Description
datid / datname DLOUHÉ / STRUNOVÉ ID a název objektu databáze.
active_time_ms / idle_in_transaction_time_ms / session_time_ms DVOJITÝ Čas strávený aktivní, nečinný v otevřené transakci a celkově propojený.
deadlocks LONG Počet zjištěných vzájemných zablokování
rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated LONG Aktivita na úrovni řádků pro interval
sessions_abandoned / sessions_established / sessions_fatal / sessions_killed LONG Počty životního cyklu relace.
shared_blks_hit / shared_blks_read LONG Aktivita mezipaměti sdílené vyrovnávací paměti.
xact_commit / xact_rollback LONG Potvrzené a vrácené transakce.

database_gauges

Sloupec Typ Description
datid / datname DLOUHÉ / STRUNOVÉ ID a název objektu databáze.
numbackends LONG Aktuální počet připojení k této databázi
size LONG Velikost databáze na disku.
oldest_frozen_xid_age / oldest_mxid_age LONG ID transakce a stáří vícenásobného ID nejstaršího řádku unfrozen. Rostoucí hodnoty jsou nejstarším signálem vakua, který padá za sebou, před tím, než se bloat stane viditelným ve velikosti tabulky.

Omezení

Warning

Pokud vytváříte role pro připojení aplikací, může heslo zadané do CREATE ROLE ... PASSWORD '...' příkazu SQL skončit v historii dotazů nebo příkazů. Vytvořte roli přes UI, SDK, API nebo CLI, které generují heslo na straně serveru, takže ho nikdy nepíšete jako čistý text. Uživatelské rozhraní zobrazí vygenerované heslo jednou. SDK, API a CLI ho nevracejí, takže si heslo získej až potom. Podívejte se na Jak získat heslo.

Během beta verze platí následující omezení:

  • COPY operace nejsou aktuálně zachyceny v historii plánů dotazů.

  • Dotaz spuštěný uvnitř funkce PL/pgSQL nebo procedury se nezachytává v telemetrii na úrovni dotazu, pokud také neběží jako příkaz nejvyšší úrovně. Vlastní sledování příkazů Postgres počítá ve výchozím nastavení pouze příkazy nejvyšší úrovně.

  • Větve a endpointy se v exportovaných telemetrických datech a přehledech zobrazují podle interního ID (například br-odd-mud-y2icrn1h), nikoli podle zobrazovaného názvu, jako je „produkční“. Pokud potřebujete ověřit, ke které větvi nebo endpointu se daný přehled nebo řádek tabulky vztahuje, porovnejte ID v uživatelském rozhraní Lakebase.

  • GuCs, které umožňují zachytávání telemetrických dat, se nemusí automaticky rozšířit do existujícího výpočetního prostředí. Pokud se telemetrie po konfiguraci pozorovatelnosti nezobrazí, připojte se k projektu a zkontrolujte:

    SHOW neon_monitor.log_capture_enabled;
    SHOW databricks.o11y_exporter_enabled;
    

    Oba musí vrátit on. Pokud kterýkoli z nich vrátí hodnotu off, restartujte výpočetní koncový bod.

Další kroky