Aller au contenu principal

Lakebase telemetry in system tables

info

Bêta

Cette fonctionnalité est en version Beta. Pour l’utiliser, l’administrateur d’un workspace doit activer Lakebase Observability in System Tables depuis la page Previews . Consultez Manage Databricks previews.

Lakebase consigne sa télémétrie d'observabilité dans le schéma system.lakebase, en commençant par des signaux Postgres avancés. La capture est automatique. Une fois cet aperçu activé, la télémétrie est enregistrée dans ces tables pendant l'exécution du compute d'un projet. Il n'y a aucune configuration à créer, aucune destination à choisir et aucun identifiant à fournir. Insights et Genie lisent les mêmes tables, et vous pouvez les interroger (query) avec n'importe quel outil Databricks.

remarque

Les noms de tables et de colonnes sont susceptibles d’être modifiés avant la disponibilité générale.

Configuration requise​

Ce qui est capturé​

Lakebase enregistre les signaux dont vous avez besoin pour expliquer les performances lentes ou défaillantes d'une base de données, à travers les tables suivantes :

Ce qui est capturé

Nom de la table

Sessions actives et événements d'attente

system.lakebase.active_session_history, system.lakebase.wait_event_counters

Plans de query et statistiques d'exécution per-query

system.lakebase.plan_history, system.lakebase.pg_stat_statements_counters

Modifications de schéma : ce qui a changé, quand et par qui

system.lakebase.ddl_history

Statistiques de base de données : taille, lignes lues et modifiées, et nombre de sessions

system.lakebase.database_counters, system.lakebase.database_gauges

Utilisation des ressources de compute : CPU, mémoire, cache, connexions

system.lakebase.compute_counters, system.lakebase.compute_gauges

Messages de logs Postgres bruts, y compris l’erreur à l’origine d’une défaillance

system.lakebase.postgres_logs

Ce qui est capturé

Nom de la table

Sessions actives et événements d'attente

system.lakebase.active_session_history, system.lakebase.wait_event_counters

Plans de query et statistiques d'exécution per-query

system.lakebase.plan_history, system.lakebase.pg_stat_statements_counters

Modifications de schéma : ce qui a changé, quand et par qui

system.lakebase.ddl_history

Statistiques de base de données : taille, lignes lues et modifiées, et nombre de sessions

system.lakebase.database_counters, system.lakebase.database_gauges

Utilisation des ressources de compute : CPU, mémoire, cache, connexions

system.lakebase.compute_counters, system.lakebase.compute_gauges

Messages de logs Postgres bruts, y compris l’erreur à l’origine d’une défaillance

system.lakebase.postgres_logs

Les enregistrements sont conservés pendant 7 jours. Le reste de cette page documente chaque colonne de chaque table. Pour en savoir plus sur la position de ces tables parmi les autres tables système, consultez la référence des tables système Lakebase.

Accès​

Les tables system.lakebase sont régies par Unity Catalog. Les utilisateurs disposant à la fois des rôles d’administrateur de compte et d’administrateur du métastore peuvent lire la télémétrie et en gérer l’accès. Consultez la page Manage privileges in Unity Catalog.

Access applies at the schema level, so a user who can read system.lakebase sees telemetry for every project in the account.

Texte de l’énoncé masqué​

Les colonnes qui contiennent le texte d'une instruction renvoient <REDACTED> sauf si vous êtes un administrateur de compte ou membre du groupe de niveau de compte databricks_pii_access. Un administrateur de compte crée et gère ce groupe. Voir Créer et gérer le groupe databricks_pii_access et Accéder au texte d'instruction masqué.

Colonnes communes à toutes les tables​

Chaque tableau ci-dessous inclut ces colonnes, qui identifient l'origine d'une ligne :

Colonne

Type

Description

project_id

CHAÎNE

Le projet Lakebase dont la ligne est issue.

branch_id

CHAÎNE

La Branch dont la ligne est issue.

endpoint_id

CHAÎNE

L'endpoint de compute d'où la ligne provient.

compute_id

CHAÎNE

L'instance de compute spécifique. Cela change lorsqu'une instance de compute se met à l'échelle zéro et reprend.

ts

Horodatage

Lorsque la ligne a été enregistrée.

compute_mode

CHAÎNE

Le mode du compute à ce moment-là, par exemple lecture-écriture ou lecture seule.

Colonne

Type

Description

project_id

CHAÎNE

Le projet Lakebase dont la ligne est issue.

branch_id

CHAÎNE

La Branch dont la ligne est issue.

endpoint_id

CHAÎNE

L'endpoint de compute d'où la ligne provient.

compute_id

CHAÎNE

L'instance de compute spécifique. Cela change lorsqu'une instance de compute se met à l'échelle zéro et reprend.

ts

Horodatage

Lorsque la ligne a été enregistrée.

compute_mode

CHAÎNE

Le mode du compute à ce moment-là, par exemple lecture-écriture ou lecture seule.

Les tables dont le nom se termine par _counters comprennent également une colonne previous_ts, indiquant le start de l'intervalle sur lequel les valeurs d'une ligne se sont accumulées. Ce sont des valeurs cumulées pour cet intervalle, et non des lectures instantanées. Les tables dont le nom se termine par _gauges sont plutôt des lectures instantanées, et n'ont pas de previous_ts.

Les tables ci-dessous listent uniquement les colonnes s'ajoutant à celles qui sont communes.

Activité de session​

Un instantané de chaque back-end actif, échantillonné en continu. Il s'agit du même modèle que AWS Performance Insights ou l'historique de session active (ASH) d'Oracle : si une session effectue une action, y compris l'attente, elle apparaît ici.

active_session_history​

Colonne

Type

Description

sample_seq

LONG

Position ordinale de cet échantillon au sein de son batch.

pid

LONG

L'ID du processus du backend.

datid

LONG

L'ID d'objet de la base de données.

userid

LONG

L'ID de l'objet du rôle de connexion.

queryid

LONG

Identifie la query en cours. Correspond à queryid dans pg_stat_statements_counters.

wait_event_info

LONG

Encodage interne de l'événement d'attente.

wait_event_type

CHAÎNE

Catégorie de l'événement d'attente, par exemple Timeout ou Lock.

wait_event

CHAÎNE

L'événement d'attente spécifique, par exemple PgSleep.

backend_state

LONG

L'état du backend, par exemple actif ou inactif.

backend_type

LONG

Le type de processus back-end.

xact_age_ms

LONG

Depuis combien de temps la transaction actuelle est ouverte.

query_age_ms

LONG

Durée d'exécution de la query actuelle.

blocking_pid

LONG

Le PID d'une session bloquant celle-ci, le cas échéant.

leader_pid

LONG

Le PID du responsable de la query parallèle, si ce backend est un worker parallèle.

flags

LONG

Indicateurs d'état internes.

plan_fingerprint

LONG

Link vers une forme de plan spécifique dans plan_history.

appname_hash

LONG

Un hachage du nom de l'application de connexion.

Colonne

Type

Description

sample_seq

LONG

Position ordinale de cet échantillon au sein de son batch.

pid

LONG

L'ID du processus du backend.

datid

LONG

L'ID d'objet de la base de données.

userid

LONG

L'ID de l'objet du rôle de connexion.

queryid

LONG

Identifie la query en cours. Correspond à queryid dans pg_stat_statements_counters.

wait_event_info

LONG

Encodage interne de l'événement d'attente.

wait_event_type

CHAÎNE

Catégorie de l'événement d'attente, par exemple Timeout ou Lock.

wait_event

CHAÎNE

L'événement d'attente spécifique, par exemple PgSleep.

backend_state

LONG

L'état du backend, par exemple actif ou inactif.

backend_type

LONG

Le type de processus back-end.

xact_age_ms

LONG

Depuis combien de temps la transaction actuelle est ouverte.

query_age_ms

LONG

Durée d'exécution de la query actuelle.

blocking_pid

LONG

Le PID d'une session bloquant celle-ci, le cas échéant.

leader_pid

LONG

Le PID du responsable de la query parallèle, si ce backend est un worker parallèle.

flags

LONG

Indicateurs d'état internes.

plan_fingerprint

LONG

Link vers une forme de plan spécifique dans plan_history.

appname_hash

LONG

Un hachage du nom de l'application de connexion.

Événements d'attente​

Comptes et temps d'événements d'attente agrégés, complétant la vue par échantillon dans active_session_history.

wait_event_counters​

Colonne

Type

Description

wait_event_id

LONG

Encodage interne de l'événement d'attente.

wait_class_name

CHAÎNE

La catégorie de l’événement d’attente.

wait_event_name

CHAÎNE

L'événement d'attente spécifique.

wait_event_count

LONG

Nombre de fois où cet événement d'attente s'est produit dans l'intervalle.

wait_event_time

Double

Temps total passé dans cet événement d'attente pendant l'intervalle.

Colonne

Type

Description

wait_event_id

LONG

Encodage interne de l'événement d'attente.

wait_class_name

CHAÎNE

La catégorie de l’événement d’attente.

wait_event_name

CHAÎNE

L'événement d'attente spécifique.

wait_event_count

LONG

Nombre de fois où cet événement d'attente s'est produit dans l'intervalle.

wait_event_time

Double

Temps total passé dans cet événement d'attente pendant l'intervalle.

Plans de query​

Un enregistrement par exécution des plans de query, incluant le plan complet et les statistiques de stockage spécifiques à Neon. C'est la table la plus détaillée, et généralement là où une enquête sur les requêtes lentes aboutit.

plan_history​

Colonne

Type

Description

row_position

LONG

Position ordinale de cette ligne au sein de son batch.

analyze_enabled

Booléen

Indique si le plan inclut des statistiques d’exécution réelles (EXPLAIN ANALYZE), et non de simples estimations.

buffers_enabled

Booléen

Si le plan inclut les statistiques d'utilisation du tampon.

query_hash

CHAÎNE

Hachage identifiant le texte de la query.

queryid

LONG

Identifie la query. Correspondances de queryid dans pg_stat_statements_counters et active_session_history.

duration_ms

Double

Combien de temps la query a mis pour s'exécuter.

total_cost

Double

Le coût estimé du planificateur pour la query.

plan_rows

LONG

Le nombre estimé de lignes du planificateur.

actual_rows

LONG

Le nombre réel de lignes renvoyées.

plan_fingerprint

LONG

Identifie cette forme de plan spécifique. Correspond à plan_fingerprint dans active_session_history.

lock_wait_time_ms

Double

Temps passé à attendre sur les verrous.

planning_time_ms

Double

Temps passé à planifier la query, distinct de l'exécution.

shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written

LONG

Activité du cache tampon partagé pour cette exécution.

local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written

LONG

Activité du tampon local, pour les tables temporaires.

temp_blks_read / temp_blks_written

LONG

Activité de fichier temporaire, par exemple à partir d'un tri ou d'un hachage volumineux.

neon_getpage_count

LONG

Nombre de requêtes de page envoyées au serveur de pages.

neon_file_cache_hits

LONG

Nombre de pages servies à partir du cache de fichiers local au lieu du pageserver.

neon_getpage_wait_us

LONG

Temps passé à attendre les requêtes de pages du pageserver, en microsecondes.

backend_pid

LONG

L’ID de processus backend qui a exécuté cette query.

lock_wait_count

LONG

Nombre de fois où cette exécution a attendu un verrou.

userid / dbid

LONG

Les ID d'objet du rôle de connexion et de la base de données.

query_text

CHAÎNE

Le texte de la query. Masqué. Voir Texte de l'instruction masqué.

plan_json

CHAÎNE

Le plan complet de la requête, au format JSON. Masqué. Consultez le texte d’instruction masqué.

usename / datname

CHAÎNE

Les noms du rôle de connexion et de la base de données.

application_name / client_addr

CHAÎNE

Le nom de l'application de connexion et l'adresse du client.

wait_events

CHAÎNE

Événements d'attente observés pendant cette exécution.

parameters

CHAÎNE

Lier les parameter utilisés dans la query, le cas échéant. Masqué. Voir le texte de l’instruction masqué.

blocking_pids

CHAÎNE

PIDs des sessions qui ont bloqué cette exécution, le cas échéant.

neon_branch_id / neon_endpoint_id / neon_timeline_id

CHAÎNE

Identifiants Neon internes pour la Branch, l'Endpoint et la chronologie.

cpu_user_time_ms / cpu_sys_time_ms

Double

Temps CPU consommé par cette exécution, divisé en temps utilisateur et temps système.

voluntary_csw / involuntary_csw

LONG

Changements de contexte pendant cette exécution.

trace_id / span_id / trace_flags / service_name

CHAÎNE / CHAÎNE / LONG / CHAÎNE

Identifiants de traçage de style OpenTelemetry, si la query faisait partie d'une requête tracée.

timeline_id

LONG

Identifiant de chronologie interne.

truncated

Booléen

Si les données de cette ligne (par exemple, un plan volumineux) ont été tronquées avant d’être écrites.

Colonne

Type

Description

row_position

LONG

Position ordinale de cette ligne au sein de son batch.

analyze_enabled

Booléen

Indique si le plan inclut des statistiques d’exécution réelles (EXPLAIN ANALYZE), et non de simples estimations.

buffers_enabled

Booléen

Si le plan inclut les statistiques d'utilisation du tampon.

query_hash

CHAÎNE

Hachage identifiant le texte de la query.

queryid

LONG

Identifie la query. Correspondances de queryid dans pg_stat_statements_counters et active_session_history.

duration_ms

Double

Combien de temps la query a mis pour s'exécuter.

total_cost

Double

Le coût estimé du planificateur pour la query.

plan_rows

LONG

Le nombre estimé de lignes du planificateur.

actual_rows

LONG

Le nombre réel de lignes renvoyées.

plan_fingerprint

LONG

Identifie cette forme de plan spécifique. Correspond à plan_fingerprint dans active_session_history.

lock_wait_time_ms

Double

Temps passé à attendre sur les verrous.

planning_time_ms

Double

Temps passé à planifier la query, distinct de l'exécution.

shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written

LONG

Activité du cache tampon partagé pour cette exécution.

local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written

LONG

Activité du tampon local, pour les tables temporaires.

temp_blks_read / temp_blks_written

LONG

Activité de fichier temporaire, par exemple à partir d'un tri ou d'un hachage volumineux.

neon_getpage_count

LONG

Nombre de requêtes de page envoyées au serveur de pages.

neon_file_cache_hits

LONG

Nombre de pages servies à partir du cache de fichiers local au lieu du pageserver.

neon_getpage_wait_us

LONG

Temps passé à attendre les requêtes de pages du pageserver, en microsecondes.

backend_pid

LONG

L’ID de processus backend qui a exécuté cette query.

lock_wait_count

LONG

Nombre de fois où cette exécution a attendu un verrou.

userid / dbid

LONG

Les ID d'objet du rôle de connexion et de la base de données.

query_text

CHAÎNE

Le texte de la query. Masqué. Voir Texte de l'instruction masqué.

plan_json

CHAÎNE

Le plan complet de la requête, au format JSON. Masqué. Consultez le texte d’instruction masqué.

usename / datname

CHAÎNE

Les noms du rôle de connexion et de la base de données.

application_name / client_addr

CHAÎNE

Le nom de l'application de connexion et l'adresse du client.

wait_events

CHAÎNE

Événements d'attente observés pendant cette exécution.

parameters

CHAÎNE

Lier les parameter utilisés dans la query, le cas échéant. Masqué. Voir le texte de l’instruction masqué.

blocking_pids

CHAÎNE

PIDs des sessions qui ont bloqué cette exécution, le cas échéant.

neon_branch_id / neon_endpoint_id / neon_timeline_id

CHAÎNE

Identifiants Neon internes pour la Branch, l'Endpoint et la chronologie.

cpu_user_time_ms / cpu_sys_time_ms

Double

Temps CPU consommé par cette exécution, divisé en temps utilisateur et temps système.

voluntary_csw / involuntary_csw

LONG

Changements de contexte pendant cette exécution.

trace_id / span_id / trace_flags / service_name

CHAÎNE / CHAÎNE / LONG / CHAÎNE

Identifiants de traçage de style OpenTelemetry, si la query faisait partie d'une requête tracée.

timeline_id

LONG

Identifiant de chronologie interne.

truncated

Booléen

Si les données de cette ligne (par exemple, un plan volumineux) ont été tronquées avant d’être écrites.

Query statistics​

Statistiques agrégées par query, issues de l'extension pg_stat_statements standard.

pg_stat_statements_counters​

Colonne

Type

Description

userid / dbid

LONG

Les ID d'objet du rôle de connexion et de la base de données.

queryid

LONG

Identifie la query. Correspondances de queryid dans plan_history et active_session_history.

toplevel

Booléen

Indique si cette ligne concerne une instruction de niveau supérieur, par opposition à une instruction imbriquée dans une fonction ou une procédure PL/pgSQL. Consultez la limitation PL/pgSQL.

query

CHAÎNE

Le texte de la query. Masqué. Voir Texte de l'instruction masqué.

calls

LONG

Nombre de fois que cette query a été exécutée dans l'intervalle.

plans

LONG

Nombre de fois que cette query a été planifiée dans l'intervalle.

rows

LONG

Nombre total de lignes renvoyées ou affectées.

total_exec_time / total_plan_time

Double

Temps total passé à exécuter et à planifier cette query dans l'intervalle.

shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written

LONG

Activité du cache tampon partagé.

local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written

LONG

Activité du tampon local, pour les tables temporaires.

temp_blks_read / temp_blks_written

LONG

Activité des fichiers temporaires.

wal_bytes / wal_fpi / wal_records

LONG

Volume de logs de progression généré par cette query.

jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time

Mixte

Statistiques de compilation JIT (just-in-time), si JIT a été utilisé pour cette query.

Colonne

Type

Description

userid / dbid

LONG

Les ID d'objet du rôle de connexion et de la base de données.

queryid

LONG

Identifie la query. Correspondances de queryid dans plan_history et active_session_history.

toplevel

Booléen

Indique si cette ligne concerne une instruction de niveau supérieur, par opposition à une instruction imbriquée dans une fonction ou une procédure PL/pgSQL. Consultez la limitation PL/pgSQL.

query

CHAÎNE

Le texte de la query. Masqué. Voir Texte de l'instruction masqué.

calls

LONG

Nombre de fois que cette query a été exécutée dans l'intervalle.

plans

LONG

Nombre de fois que cette query a été planifiée dans l'intervalle.

rows

LONG

Nombre total de lignes renvoyées ou affectées.

total_exec_time / total_plan_time

Double

Temps total passé à exécuter et à planifier cette query dans l'intervalle.

shared_blks_hit / shared_blks_read / shared_blks_dirtied / shared_blks_written

LONG

Activité du cache tampon partagé.

local_blks_hit / local_blks_read / local_blks_dirtied / local_blks_written

LONG

Activité du tampon local, pour les tables temporaires.

temp_blks_read / temp_blks_written

LONG

Activité des fichiers temporaires.

wal_bytes / wal_fpi / wal_records

LONG

Volume de logs de progression généré par cette query.

jit_emission_count / jit_emission_time / jit_functions / jit_generation_time / jit_inlining_count / jit_inlining_time / jit_optimization_count / jit_optimization_time

Mixte

Statistiques de compilation JIT (just-in-time), si JIT a été utilisé pour cette query.

Changements de schéma​

Modifications du schéma : ce qui a changé, quand et par qui. C'est ce que Genie lit pour retracer un incident jusqu'à une modification du schéma, qu'elle provienne d'un déploiement ou d'une édition manuelle.

ddl_history​

Colonne

Type

Description

row_position

LONG

Position ordinale de cette ligne au sein de son batch.

command_tag

CHAÎNE

Le type de commande DDL, par exemple ALTER TABLE.

object_type / object_name

CHAÎNE

Le type et le nom de l'objet qui a changé.

schema_name

CHAÎNE

Le schéma Postgres auquel l'objet appartient.

query_text

CHAÎNE

L'instruction DDL complète. Masqué. Afficher le texte de l'instruction masquée.

duration_ms

Double

La durée d’exécution de l’instruction DDL.

userid / usename

LONG / CHAÎNE

L'ID et le nom de l'objet du rôle de connexion.

application_name

CHAÎNE

Le nom de l'application de connexion.

backend_pid

LONG

L’ID de processus backend qui a exécuté l’instruction.

dbid

LONG

L'ID d'objet de la base de données.

search_path

CHAÎNE

Le chemin de recherche de la session à ce moment-là.

ddl_json

CHAÎNE

Une représentation structurée et analysée de l'instruction DDL. Masqué. Consultez Texte d'instruction masqué.

Colonne

Type

Description

row_position

LONG

Position ordinale de cette ligne au sein de son batch.

command_tag

CHAÎNE

Le type de commande DDL, par exemple ALTER TABLE.

object_type / object_name

CHAÎNE

Le type et le nom de l'objet qui a changé.

schema_name

CHAÎNE

Le schéma Postgres auquel l'objet appartient.

query_text

CHAÎNE

L'instruction DDL complète. Masqué. Afficher le texte de l'instruction masquée.

duration_ms

Double

La durée d’exécution de l’instruction DDL.

userid / usename

LONG / CHAÎNE

L'ID et le nom de l'objet du rôle de connexion.

application_name

CHAÎNE

Le nom de l'application de connexion.

backend_pid

LONG

L’ID de processus backend qui a exécuté l’instruction.

dbid

LONG

L'ID d'objet de la base de données.

search_path

CHAÎNE

Le chemin de recherche de la session à ce moment-là.

ddl_json

CHAÎNE

Une représentation structurée et analysée de l'instruction DDL. Masqué. Consultez Texte d'instruction masqué.

remarque

La capture DDL présente une véritable lacune : un changement effectué au moment où un compute reprend après une mise à l’échelle à zéro peut être manqué. Si un changement de schéma n’apparaît pas ici, même si vous savez qu’il s’est produit, c’est la raison la plus probable. Consultez les Limitations.

Logs Postgres​

Messages de logs Postgres bruts, y compris l'erreur spécifique à l'origine d'un échec.

postgres_logs​

Colonne

Type

Description

sample_seq

LONG

Position ordinale de cette ligne au sein de son batch.

elevel

LONG

Encodage interne du niveau de log.

severity

CHAÎNE

La gravité du log, par exemple ERROR ou LOG.

sqlstate

CHAÎNE

Le code d’erreur SQLSTATE de Postgres, par exemple 42703 pour une colonne indéfinie.

backend_pid / leader_backend_pid

LONG

L'ID du processus back-end, et le PID de son leader de query parallèle, le cas échéant.

userid / usename

LONG / CHAÎNE

L'ID et le nom de l'objet du rôle de connexion.

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

application_name / client_addr

CHAÎNE

Le nom de l'application de connexion et l'adresse du client.

schema_name / table_name / column_name / constraint_name / datatype_name

CHAÎNE

Le schéma, la table, la colonne, la contrainte ou le type de données référencés par l'erreur, lorsque Postgres en possède un.

funcname

CHAÎNE

La fonction où l'erreur s'est produite, le cas échéant.

filename / lineno

CHAÎNE / LONG

Le fichier source et la ligne Postgres d'où l'erreur provient.

message

CHAÎNE

Le texte du message de log.

detail / hint / context

CHAÎNE

Détails supplémentaires, une correction suggérée et le contexte de l'erreur, lorsque Postgres les fournit.

internalquery

CHAÎNE

Une query générée en interne et liée à l'erreur, le cas échéant.

statement

CHAÎNE

L'instruction qui a Trigger cette entrée de Logs. Masqué. Voir Texte de l'instruction masqué.

truncated_mask

LONG

Indique quels champs, le cas échéant, ont été tronqués avant d'être écrits.

Colonne

Type

Description

sample_seq

LONG

Position ordinale de cette ligne au sein de son batch.

elevel

LONG

Encodage interne du niveau de log.

severity

CHAÎNE

La gravité du log, par exemple ERROR ou LOG.

sqlstate

CHAÎNE

Le code d’erreur SQLSTATE de Postgres, par exemple 42703 pour une colonne indéfinie.

backend_pid / leader_backend_pid

LONG

L'ID du processus back-end, et le PID de son leader de query parallèle, le cas échéant.

userid / usename

LONG / CHAÎNE

L'ID et le nom de l'objet du rôle de connexion.

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

application_name / client_addr

CHAÎNE

Le nom de l'application de connexion et l'adresse du client.

schema_name / table_name / column_name / constraint_name / datatype_name

CHAÎNE

Le schéma, la table, la colonne, la contrainte ou le type de données référencés par l'erreur, lorsque Postgres en possède un.

funcname

CHAÎNE

La fonction où l'erreur s'est produite, le cas échéant.

filename / lineno

CHAÎNE / LONG

Le fichier source et la ligne Postgres d'où l'erreur provient.

message

CHAÎNE

Le texte du message de log.

detail / hint / context

CHAÎNE

Détails supplémentaires, une correction suggérée et le contexte de l'erreur, lorsque Postgres les fournit.

internalquery

CHAÎNE

Une query générée en interne et liée à l'erreur, le cas échéant.

statement

CHAÎNE

L'instruction qui a Trigger cette entrée de Logs. Masqué. Voir Texte de l'instruction masqué.

truncated_mask

LONG

Indique quels champs, le cas échéant, ont été tronqués avant d'être écrits.

remarque

Les champs structurés schema_name, table_name et column_name ne sont pas remplis pour chaque type d'erreur. Une simple erreur d'analyse « la colonne n'existe pas » (SQLSTATE 42703), par exemple, les laisse vides même si message nomme directement la colonne. Ne vous fiez pas à ces champs remplis. Vérifiez message en premier.

Indicateurs de compute​

Utilisation des ressources au niveau du compute : CPU, mémoire, E/S disque et réseau, et le cache de fichiers local (LFC), le cache côté compute de Lakebase devant le pageserver.

compute_counters​

Colonne

Type

Description

backpressure_throttling_seconds

Double

Temps passé par la couche de stockage à limiter les écritures pendant cet intervalle. Une valeur non nulle signifie que le volume d'écriture a dépassé la capacité d'absorption du stockage.

host_busiest_cpu_seconds / host_cpu_seconds

Double

Temps CPU consommé, pour le cœur le plus sollicité et au total.

host_disk_read_bytes / host_disk_written_bytes

Double

Volume d'E/S disque.

host_network_receive_bytes / host_network_transmit_bytes

Double

Volume d'E/S réseau.

lfc_evictions / lfc_hits / lfc_misses / lfc_writes

LONG

Activité du cache de fichiers local pour cet intervalle.

replica_lfc_redo_evictions

LONG

Expulsions du cache de fichiers local causées par la reprise du réplica, si ce compute est un réplica en lecture.

Colonne

Type

Description

backpressure_throttling_seconds

Double

Temps passé par la couche de stockage à limiter les écritures pendant cet intervalle. Une valeur non nulle signifie que le volume d'écriture a dépassé la capacité d'absorption du stockage.

host_busiest_cpu_seconds / host_cpu_seconds

Double

Temps CPU consommé, pour le cœur le plus sollicité et au total.

host_disk_read_bytes / host_disk_written_bytes

Double

Volume d'E/S disque.

host_network_receive_bytes / host_network_transmit_bytes

Double

Volume d'E/S réseau.

lfc_evictions / lfc_hits / lfc_misses / lfc_writes

LONG

Activité du cache de fichiers local pour cet intervalle.

replica_lfc_redo_evictions

LONG

Expulsions du cache de fichiers local causées par la reprise du réplica, si ce compute est un réplica en lecture.

compute_gauges​

Colonne

Type

Description

current_lsn

LONG

La position actuelle du log d'écriture anticipée.

replica_wal_replay_lsn / replica_wal_receive_lsn

LONG

Positions de relecture et de réception WAL, si ce compute est un réplica en lecture.

max_connections

LONG

La limite de connexion configurée.

lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m

LONG

Taille estimée de l'ensemble de travail sur les 5, 15 et 60 dernières minutes.

lfc_size_limit / lfc_allocated / lfc_used

LONG

Capacité et utilisation actuelle du cache de fichiers local.

total_size_limit / total_size

LONG

Capacité de stockage globale et utilisation actuelle.

replication_lag_bytes / replication_lag_time_ms

LONG/DOUBLE

Retard de réplication, si ce compute est un réplica en lecture.

host_logical_cpus / host_memory_total_bytes

Double

Le CPU et la mémoire provisionnés du compute.

Colonne

Type

Description

current_lsn

LONG

La position actuelle du log d'écriture anticipée.

replica_wal_replay_lsn / replica_wal_receive_lsn

LONG

Positions de relecture et de réception WAL, si ce compute est un réplica en lecture.

max_connections

LONG

La limite de connexion configurée.

lfc_working_set_size_5m / lfc_working_set_size_15m / lfc_working_set_size_60m

LONG

Taille estimée de l'ensemble de travail sur les 5, 15 et 60 dernières minutes.

lfc_size_limit / lfc_allocated / lfc_used

LONG

Capacité et utilisation actuelle du cache de fichiers local.

total_size_limit / total_size

LONG

Capacité de stockage globale et utilisation actuelle.

replication_lag_bytes / replication_lag_time_ms

LONG/DOUBLE

Retard de réplication, si ce compute est un réplica en lecture.

host_logical_cpus / host_memory_total_bytes

Double

Le CPU et la mémoire provisionnés du compute.

Mesures de base de données​

Activité par base de données : lignes modifiées, transactions, sessions et état du vacuum. C'est là que se trouvent la fragmentation des tables et les signaux d'autovacuum.

compteurs_de_base_de_données​

Colonne

Type

Description

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

active_time_ms / idle_in_transaction_time_ms / session_time_ms

Double

Temps passé actif, inactif dans une transaction ouverte et connecté globalement.

deadlocks

LONG

Nombre de blocages détectés.

rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated

LONG

Activité au niveau des lignes pour l'intervalle.

sessions_abandoned / sessions_established / sessions_fatal / sessions_killed

LONG

Comptes du cycle de vie des sessions.

shared_blks_hit / shared_blks_read

LONG

Activité du cache tampon partagé.

xact_commit / xact_rollback

LONG

Transactions validées et annulées.

Colonne

Type

Description

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

active_time_ms / idle_in_transaction_time_ms / session_time_ms

Double

Temps passé actif, inactif dans une transaction ouverte et connecté globalement.

deadlocks

LONG

Nombre de blocages détectés.

rows_deleted / rows_fetched / rows_inserted / rows_returned / rows_updated

LONG

Activité au niveau des lignes pour l'intervalle.

sessions_abandoned / sessions_established / sessions_fatal / sessions_killed

LONG

Comptes du cycle de vie des sessions.

shared_blks_hit / shared_blks_read

LONG

Activité du cache tampon partagé.

xact_commit / xact_rollback

LONG

Transactions validées et annulées.

database_gauges​

Colonne

Type

Description

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

numbackends

LONG

Nombre actuel de connexions à cette base de données.

size

LONG

La taille sur disque de la base de données.

oldest_frozen_xid_age / oldest_mxid_age

LONG

Âge de l'ID de transaction et de l'ID de multixact de la ligne non gelée la plus ancienne. L'augmentation des valeurs est le premier signe que le processus de vacuum prend du retard, bien avant que le bloat ne devienne visible dans la taille de la table.

Colonne

Type

Description

datid / datname

LONG / CHAÎNE

L'ID et le nom de l'objet de la base de données.

numbackends

LONG

Nombre actuel de connexions à cette base de données.

size

LONG

La taille sur disque de la base de données.

oldest_frozen_xid_age / oldest_mxid_age

LONG

Âge de l'ID de transaction et de l'ID de multixact de la ligne non gelée la plus ancienne. L'augmentation des valeurs est le premier signe que le processus de vacuum prend du retard, bien avant que le bloat ne devienne visible dans la taille de la table.

Limitations​

remarque

Les mots de passe sont masqués lors de la capture d'une instruction, de sorte qu'un élément CREATE ROLE capturé apparaît sous la forme PASSWORD '***'. Le masquage dépend de la détection du mot de passe dans l'instruction, et une instruction incorrecte peut échapper à la détection.

Databricks recommande d’utiliser les rôles OAuth, qui authentifient les identités Databricks à l’aide de jetons et évitent d’avoir à saisir un mot de passe.

Les limitations suivantes s'appliquent :

  • COPY les opérations ne sont pas enregistrées dans l'historique des plans de query.

  • Une requête exécutée au sein d'une fonction ou procédure PL/pgSQL n'est pas capturée dans la télémétrie au niveau de la requête, sauf si elle s'exécute également en tant qu'instruction de haut niveau. Le suivi des instructions propre à Postgres ne compte default que les instructions de haut niveau.

  • Les branches et les Endpoint apparaissent dans la télémétrie et les insight par leur ID interne (par exemple, br-odd-mud-y2icrn1h) et non par un nom d’affichage tel que « production ». Recoupez l’ID dans l’interface utilisateur de Lakebase si vous devez confirmer à quelle Branch ou à quel Endpoint se réfère un insight ou une ligne de table.

  • Les GUC qui activent la capture de télémétrie peuvent ne pas se propager automatiquement à un compute existant. Si la télémétrie n'apparaît pas après l'activation de l'aperçu, connectez-vous au projet et vérifiez :

    SQL
    SHOW neon_monitor.log_capture_enabled;
    SHOW databricks.o11y_exporter_enabled;

    Les deux doivent renvoyer on. Si l’un ou l’autre renvoie off, redémarrez l’endpoint de compute.

Configurations d’observabilité héritées​

Avant que la télémétrie ne soit transférée vers les tables système, vous pouviez créer une configuration d'observabilité qui capturait la télémétrie dans un catalogue et un schéma de votre propre Unity Catalog et fournissait des tableaux de bord prédéfinis. Les configurations existantes continuent de fonctionner et leurs tableaux de bord restent disponibles. Vous ne pouvez plus créer de nouvelles configurations d'observabilité, et la capture vers les tables système ne crée pas de tableaux de bord.

Étapes suivantes​