Referenz zu erweiterten Query Insights

Wählen Sie eine Dokumentationsversion aus:

In diesem Dokument werden die Konfigurationsparameter, Telemetriedimensionen sowie Beobachtbarkeitsansichten und -funktionen für erweiterte Query Insights in AlloyDB Omni beschrieben.

Weitere Informationen zum Aktivieren und Abfragen erweiterter Abfrage statistiken finden Sie unter Abfrageleistung mit erweiterten Abfrage statistiken überwachen.

Konfigurationsparameter

Wenn Sie Parameteränderungen anwenden möchten, für die kein Neustart der Datenbank erforderlich ist, führen Sie ALTER SYSTEM SET gefolgt von SELECT pg_reload_conf() aus. In der folgenden Tabelle werden die Konfigurationsparameter für erweiterte Query Insights beschrieben:

Parameter Typ Standardwert Neustart erforderlich Beschreibung
google_insights_v2.enabled boolean off Ja für die erste Aktivierung mit shared_preload_libraries. Nein für ein nachfolgendes Neuladen mit pg_reload_conf(). Aktiviert oder deaktiviert die Erfassung von Telemetriedaten für erweiterte Query Insights in der gesamten Instanz.
google_insights_v2.qi_max_query_string_length integer 10240 Nein (Neuladen mit pg_reload_conf()) Legt die maximale Byte-Länge (1024 bis 102400) fest, die für normalisierte SQL-Vorlagen aufgezeichnet wird, wobei Literalwerte als Positionsparameter wie $1 und $2 maskiert werden.
google_insights_v2.qi_preserve_comments boolean off Nein (Neuladen mit pg_reload_conf()) Steuert, ob SQL-Kommentare in normalisierten Abfragestrings beibehalten werden.
google_insights_v2.qi_track_wait_event_types boolean on Nein (Neuladen mit pg_reload_conf()) Erfasst allgemeine wait_class Engpasskategorien wie CPU, IO, Lock, Timeout und IPC.
google_insights_v2.qi_track_wait_events boolean on Nein (Neuladen mit pg_reload_conf()) Erfasst detaillierte PostgreSQL-wait_event-Namen wie DataFileExtend, transactionid und WALWrite.
google_insights_v2.qi_track_client_address boolean off Nein (Neuladen mit pg_reload_conf()) Erfasst verbindende Client-IP-Adressen in den Ansichten für Abfrage- und Clientadressen Statistiken.
google_insights_v2.qi_track_tag boolean off Nein (Neuladen mit pg_reload_conf()) Ermöglicht das Tracking von Tags wie SQLCommenter Tags in SQL-Kommentaren.
google_insights_v2.qi_track_active_queries boolean off Nein (Neuladen mit pg_reload_conf()) Ermöglicht das Echtzeit-Tracking von aktiven Abfragen und offenen Transaktionen.

Beobachtbarkeitsansichten und Messwerte nach Dimension

In den folgenden Abschnitten werden die Beobachtbarkeitsansichten und Messwertspalten aufgeführt, die im Schema google_insights_v2 für jede Telemetriedimension verfügbar sind.

Abfragen

Die Dimension „Abfragen“ erfasst Ausführungsstatistiken und normalisierten SQL-Text für Abfragen in der gesamten Instanz. Wenn Sie SQL-Kommentare im normalisierten Abfragetext beibehalten möchten, legen Sie google_insights_v2.qi_preserve_comments auf on fest.

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_query_view
    • observability_service_query_coarse_1_view
    • observability_service_query_coarse_2_view
  • Zugehörige Spalten:
    • query_id: Hash-ID der normalisierten SQL-Abfrage.
    • query: normalisierter SQL-Abfragetext.
    • database: logische Datenbank, in der die Abfrage ausgeführt wurde.
    • username: Datenbankrolle, die die Abfrage ausgeführt hat.
    • total_execution_time: kumulative Ausführungszeit in Mikrosekunden.
    • total_wait_time: kumulative Wartezeit in Mikrosekunden.
    • total_read_time: kumulative Zeit für das Lesen von Laufwerken in Mikrosekunden.
    • total_write_time: kumulative Zeit für das Schreiben auf Laufwerke in Mikrosekunden.
    • total_rows: Gesamtzahl der Zeilen, die von der Abfrage zurückgegeben oder beeinflusst wurden.
    • total_shared_blocks_hit: Gesamtzahl der Treffer im gemeinsamen Puffer.
    • total_shared_blocks_read: Gesamtzahl der gemeinsamen Blöcke, die vom Laufwerk gelesen wurden.
    • count: Gesamtzahl der Ausführungen der Abfrage.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.

Warteereignistypen

Die Dimension „Warteereignistypen“ erfasst allgemeine wait_class-Kategorien für Engpässe, wenn google_insights_v2.qi_track_wait_event_types auf on gesetzt ist (standardmäßig aktiviert).

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Zugehörige Spalten:
    • wait_class: Kategorie des Warteereignisses, z. B. IO, Lock, LWLock, CPU oder Internal wait event.
    • wait_event: detaillierter Name des PostgreSQL-Warteereignisses innerhalb der Warteklasse.
    • time_spent: kumulative Wartezeit für den Warteereignistyp in Mikrosekunden.
    • count: Gesamtzahl der Vorkommen des Warteereignistyps.
    • database: logische Datenbank, in der das Warteereignis aufgetreten ist.
    • username: Datenbankrolle, die mit dem Warteereignis verknüpft ist.
    • tag_id: numerische ID des zugehörigen SQLCommenter-Tag-Sets.
    • tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.
    • query_id: Hash-ID der Abfrage (in observability_service_wait_event_stats_by_query_view).

Warteereignisse

Die Dimension „Warteereignisse“ erfasst detaillierte PostgreSQL-wait_event-Namen, wenn google_insights_v2.qi_track_wait_events auf on gesetzt ist (standardmäßig aktiviert).

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Zugehörige Spalten:
    • wait_event: spezifischer Name des PostgreSQL-Warteereignisses, z. B. DataFileExtend, DataFileRead, WALWrite oder Internal wait event.
    • wait_class: Kategorie des Warteereignisses, zu der das Warteereignis gehört.
    • time_spent: kumulative Wartezeit für das Warteereignis in Mikrosekunden.
    • count: Gesamtzahl der Vorkommen des Warteereignisses.
    • database: logische Datenbank, in der das Warteereignis aufgetreten ist.
    • username: Datenbankrolle, die mit dem Warteereignis verknüpft ist.
    • tag_id: numerische ID des zugehörigen SQLCommenter-Tag-Sets.
    • tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.
    • query_id: Hash-ID der Abfrage (in observability_service_wait_event_stats_by_query_view).

Datenbanken

Die Dimension „Datenbanken“ erfasst den Ressourcenverbrauch und das Abfragevolumen pro logischer Datenbank, wenn google_insights_v2.enabled auf on gesetzt ist.

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_db_load_conn_view
    • observability_service_query_view
    • observability_service_wait_event_no_query_view
  • Zugehörige Spalten:
    • database: logischer Datenbankname.
    • username: Datenbankrolle, die Abfragen in der Datenbank ausgeführt hat.
    • total_execution_time: kumulative Abfrageausführungszeit in der Datenbank in Mikrosekunden.
    • total_wait_time: kumulative Wartezeit in der Datenbank in Mikrosekunden.
    • count: Gesamtzahl der Abfrageausführungen in der Datenbank.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.

Nutzer und Client-IP-Adressen

Die Dimension „Nutzer und Client-IP-Adressen“ erfasst standardmäßig die Last nach Datenbankrolle (username). Wenn Sie auch verbindende Client-IP-Adressen (client_address) erfassen möchten, müssen Sie google_insights_v2.qi_track_client_address auf on setzen (off ist die Standardeinstellung).

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_query_view
    • observability_service_client_address_stats_by_query_view
  • Zugehörige Spalten:
    • client_address: verbindende Client-IP-Adresse (wenn google_insights_v2.qi_track_client_address auf on gesetzt ist).
    • username: Name der Datenbankrolle.
    • database: logischer Datenbankname.
    • query_id: Hash-ID der normalisierten SQL-Abfrage.
    • time_spent: kumulative Abfrageausführungszeit für die Clientadresse in Mikrosekunden.
    • count: Gesamtzahl der Abfrageausführungen für den Nutzer oder die Client-IP-Adresse.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.

Tags

Die Dimension „Tags“ erfasst Statistiken zur Abfrageausführung nach Metadaten des Anwendungstags. Wenn Sie Tag-Messwerte erfassen möchten, müssen Sie google_insights_v2.qi_track_tag auf on setzen (off ist die Standardeinstellung). Wenn diese Option auf off gesetzt ist, geben diese Ansichten keine Zeilen zurück.

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • observability_service_db_load_tag_view
    • observability_service_tag_view
  • Zugehörige Spalten:
    • tag_id: numerische ID der Anwendungstag-Kombination.
    • tag_string: unformatierter SQL-Kommentarstring mit den Anwendungstags.
    • application: Anwendungsname, der aus SQLCommenter-Tags extrahiert wurde.
    • db_driver: Datenbanktreiber, der aus SQLCommenter-Tags extrahiert wurde.
    • framework_name: Name des Anwendungsframeworks, der aus SQLCommenter-Tags extrahiert wurde.
    • framework_controller: Framework-Controller, der aus SQLCommenter-Tags extrahiert wurde.
    • framework_action: Framework-Aktion, die aus SQLCommenter-Tags extrahiert wurde.
    • framework_route: Framework-Route, die aus SQLCommenter-Tags extrahiert wurde.
    • traceparent: W3C-Tracekontext, der aus SQLCommenter-Tags extrahiert wurde.
    • database: logischer Datenbankname, in der die getaggte Abfrage ausgeführt wurde.
    • username: Datenbankrolle, die die getaggte Abfrage ausgeführt hat.
    • total_execution_time: kumulative Abfrageausführungszeit für die Tag-Kombination in Mikrosekunden.
    • count: Gesamtzahl der Abfrageausführungen für die Tag-Kombination.
    • recorded_on: Zeitstempel, wann das Telemetrieintervall aufgezeichnet wurde.

Aktive Abfragen

Die Dimension „Aktive Abfragen“ erfasst laufende Abfragen und offene Transaktionen in Echtzeit. Wenn Sie aktive Sitzungen abfragen möchten, müssen Sie google_insights_v2.qi_track_active_queries auf on setzen. Wenn diese Option auf off gesetzt ist, wird beim Abfragen dieser Ansichten ein Fehler zurückgegeben.

Für diese Dimension sind die folgenden Ansichten und Spalten verfügbar:

  • Beobachtbarkeitsansichten:
    • stat_activity
    • stat_activity_v3
  • Zugehörige Spalten:
    • pid: Process-ID des Backends. Wenn Sie eine Sitzung beenden möchten, übergeben Sie die Prozess-ID an die PostgreSQL-Systemfunktion pg_terminate_backend(pid).
    • normalized_query_hash: Hash-ID der normalisierten SQL-Abfrage.
    • normalized_query: normalisierter SQL-Text der aktiven Abfrage.
    • state: aktueller Backend-Status, z. B. active oder idle in transaction.
    • backend_start: Zeitstempel, wann die aktuelle Sitzung gestartet wurde. Berechnen Sie EXTRACT(EPOCH FROM (clock_timestamp() - backend_start)), um die Sitzungsdauer in Sekunden zu ermitteln.
    • xact_start: Zeitstempel, wann die aktuelle Transaktion gestartet wurde. Berechnen Sie EXTRACT(EPOCH FROM (clock_timestamp() - xact_start)), um die Transaktionsdauer in Sekunden zu ermitteln.
    • query_start: Zeitstempel, wann die aktuelle Abfrage gestartet wurde. Berechnen Sie EXTRACT(EPOCH FROM (clock_timestamp() - query_start)), um die Abfragedauer in Sekunden zu ermitteln.
    • wait_event_type: Kategorie des Warteereignisses, wenn das Backend wartet.
    • wait_event: Name des Warteereignisses, wenn das Backend wartet.
    • database: logischer Datenbankname für die aktive Sitzung.
    • username: Name der Datenbankrolle für die aktive Sitzung.
    • application_name: Name der verbindenden Anwendung.
    • client_addr: verbindende Client-IP-Adresse.