Referensi insight kueri lanjutan

Pilih versi dokumentasi:

Dokumen ini menjelaskan parameter konfigurasi, dimensi telemetri, serta tampilan dan fungsi observabilitas untuk Query Insights lanjutan di AlloyDB Omni.

Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan dan membuat kueri insight kueri lanjutan, lihat Memantau performa kueri menggunakan insight kueri lanjutan.

Parameter konfigurasi

Untuk menerapkan perubahan parameter yang tidak memerlukan memulai ulang database, jalankan ALTER SYSTEM SET diikuti dengan SELECT pg_reload_conf(). Tabel berikut menjelaskan parameter konfigurasi untuk Query Insights lanjutan:

Parameter Jenis Nilai default Memulai ulang diperlukan Deskripsi
google_insights_v2.enabled boolean off Ya untuk pengaktifan awal dengan shared_preload_libraries. Tidak untuk pemuatan ulang berikutnya dengan pg_reload_conf(). Mengaktifkan atau menonaktifkan pengumpulan telemetri insight kueri lanjutan di seluruh instance.
google_insights_v2.qi_max_query_string_length integer 10240 Tidak (muat ulang dengan pg_reload_conf()) Menetapkan panjang byte maksimum (1024 hingga 102400) yang direkam untuk template SQL yang dinormalisasi, dengan nilai literal yang dimasker sebagai parameter posisi seperti $1 dan $2.
google_insights_v2.qi_preserve_comments boolean off Tidak (muat ulang dengan pg_reload_conf()) Mengontrol apakah komentar SQL dipertahankan di dalam string kueri yang dinormalisasi.
google_insights_v2.qi_track_wait_event_types boolean on Tidak (muat ulang dengan pg_reload_conf()) Merekam kategori bottleneck wait_class tingkat tinggi, seperti CPU, IO, Lock, Timeout, dan IPC.
google_insights_v2.qi_track_wait_events boolean on Tidak (muat ulang dengan pg_reload_conf()) Merekam nama wait_event PostgreSQL terperinci, seperti DataFileExtend, transactionid, dan WALWrite.
google_insights_v2.qi_track_client_address boolean off Tidak (muat ulang dengan pg_reload_conf()) Merekam alamat IP klien yang terhubung dalam tampilan statistik kueri dan alamat klien statistik.
google_insights_v2.qi_track_tag boolean off Tidak (muat ulang dengan pg_reload_conf()) Mengaktifkan pelacakan tag, seperti SQLCommenter tag, dalam komentar SQL.
google_insights_v2.qi_track_active_queries boolean off Tidak (muat ulang dengan pg_reload_conf()) Mengaktifkan pelacakan real-time kueri aktif dan transaksi terbuka.

Tampilan dan metrik observabilitas menurut dimensi

Bagian berikut mencantumkan tampilan observabilitas dan kolom metrik yang tersedia dalam skema google_insights_v2 untuk setiap dimensi telemetri.

Kueri

Dimensi kueri melacak statistik eksekusi dan teks SQL yang dinormalisasi untuk kueri di seluruh instance. Untuk mempertahankan komentar SQL dalam teks kueri yang dinormalisasi, tetapkan google_insights_v2.qi_preserve_comments ke on.

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_query_view
    • observability_service_query_coarse_1_view
    • observability_service_query_coarse_2_view
  • Kolom terkait:
    • query_id: ID hash kueri SQL yang dinormalisasi.
    • query: teks kueri SQL yang dinormalisasi.
    • database: database logis tempat kueri dijalankan.
    • username: peran database yang menjalankan kueri.
    • total_execution_time: waktu eksekusi kumulatif dalam mikrodetik.
    • total_wait_time: waktu tunggu kumulatif dalam mikrodetik.
    • total_read_time: waktu baca disk kumulatif dalam mikrodetik.
    • total_write_time: waktu tulis disk kumulatif dalam mikrodetik.
    • total_rows: jumlah total baris yang ditampilkan atau terpengaruh oleh kueri.
    • total_shared_blocks_hit: jumlah total hit buffer bersama.
    • total_shared_blocks_read: jumlah total blok bersama yang dibaca dari disk.
    • count: jumlah total kueri dijalankan.
    • recorded_on: stempel waktu saat interval telemetri direkam.

Jenis peristiwa tunggu

Dimensi jenis peristiwa tunggu mencatat kategori bottleneck wait_class tingkat tinggi saat google_insights_v2.qi_track_wait_event_types ditetapkan ke on (diaktifkan secara default).

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Kolom terkait:
    • wait_class: kategori peristiwa tunggu, seperti IO, Lock, LWLock, CPU, atau Internal wait event.
    • wait_event: nama peristiwa tunggu PostgreSQL terperinci dalam class tunggu.
    • time_spent: waktu tunggu kumulatif untuk jenis peristiwa tunggu dalam mikrodetik.
    • count: jumlah total jenis peristiwa tunggu terjadi.
    • database: database logis tempat peristiwa tunggu terjadi.
    • username: peran database yang terkait dengan peristiwa tunggu.
    • tag_id: ID numerik dari kumpulan tag SQLCommenter terkait.
    • tag_string: string komentar SQL mentah yang berisi tag aplikasi.
    • recorded_on: stempel waktu saat interval telemetri direkam.
    • query_id: ID hash kueri (di observability_service_wait_event_stats_by_query_view).

Peristiwa tunggu

Dimensi peristiwa tunggu mencatat nama wait_event PostgreSQL terperinci saat google_insights_v2.qi_track_wait_events ditetapkan ke on (diaktifkan secara default).

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_wait_event_no_query_view
    • observability_service_wait_event_stats_by_query_view
  • Kolom terkait:
    • wait_event: nama peristiwa tunggu PostgreSQL tertentu, seperti DataFileExtend, DataFileRead, WALWrite, atau Internal wait event.
    • wait_class: kategori peristiwa tunggu tempat peristiwa tunggu berada.
    • time_spent: waktu tunggu kumulatif untuk peristiwa tunggu dalam mikrodetik.
    • count: jumlah total peristiwa tunggu terjadi.
    • database: database logis tempat peristiwa tunggu terjadi.
    • username: peran database yang terkait dengan peristiwa tunggu.
    • tag_id: ID numerik dari kumpulan tag SQLCommenter terkait.
    • tag_string: string komentar SQL mentah yang berisi tag aplikasi.
    • recorded_on: stempel waktu saat interval telemetri direkam.
    • query_id: ID hash kueri (di observability_service_wait_event_stats_by_query_view).

Database

Dimensi database melacak konsumsi resource dan volume kueri per database logis saat google_insights_v2.enabled ditetapkan ke on.

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_db_load_conn_view
    • observability_service_query_view
    • observability_service_wait_event_no_query_view
  • Kolom terkait:
    • database: nama database logis.
    • username: peran database yang menjalankan kueri di database.
    • total_execution_time: waktu eksekusi kueri kumulatif di database dalam mikrodetik.
    • total_wait_time: waktu tunggu kumulatif di database dalam mikrodetik.
    • count: jumlah total eksekusi kueri di database.
    • recorded_on: stempel waktu saat interval telemetri direkam.

Pengguna dan alamat IP klien

Dimensi pengguna dan alamat IP klien melacak beban menurut peran database (username) secara default. Untuk juga mengumpulkan alamat IP klien yang terhubung (client_address), Anda harus menetapkan google_insights_v2.qi_track_client_address ke on (off secara default).

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_query_view
    • observability_service_client_address_stats_by_query_view
  • Kolom terkait:
    • client_address: alamat IP klien yang terhubung (jika google_insights_v2.qi_track_client_address adalah on).
    • username: nama peran database.
    • database: nama database logis.
    • query_id: ID hash kueri SQL yang dinormalisasi.
    • time_spent: waktu eksekusi kueri kumulatif untuk alamat klien dalam mikrodetik.
    • count: jumlah total eksekusi kueri untuk pengguna atau alamat IP klien.
    • recorded_on: stempel waktu saat interval telemetri direkam.

Tag

Dimensi tag melacak statistik eksekusi kueri menurut metadata tag aplikasi. Untuk mengumpulkan metrik tag, Anda harus menetapkan google_insights_v2.qi_track_tag ke on (off secara default). Jika ditetapkan ke off, tampilan ini tidak akan menampilkan baris.

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • observability_service_db_load_tag_view
    • observability_service_tag_view
  • Kolom terkait:
    • tag_id: ID numerik dari kombinasi tag aplikasi.
    • tag_string: string komentar SQL mentah yang berisi tag aplikasi.
    • application: nama aplikasi yang diekstrak dari tag SQLCommenter.
    • db_driver: driver database yang diekstrak dari tag SQLCommenter.
    • framework_name: nama framework aplikasi yang diekstrak dari tag SQLCommenter.
    • framework_controller: pengontrol framework yang diekstrak dari tag SQLCommenter.
    • framework_action: tindakan framework yang diekstrak dari tag SQLCommenter.
    • framework_route: rute framework yang diekstrak dari tag SQLCommenter.
    • traceparent: konteks pelacakan W3C yang diekstrak dari tag SQLCommenter.
    • database: nama database logis tempat kueri yang diberi tag dijalankan.
    • username: peran database yang menjalankan kueri yang diberi tag.
    • total_execution_time: waktu eksekusi kueri kumulatif untuk kombinasi tag dalam mikrodetik.
    • count: jumlah total eksekusi kueri untuk kombinasi tag.
    • recorded_on: stempel waktu saat interval telemetri direkam.

Kueri aktif

Dimensi kueri aktif melacak kueri yang berjalan dan transaksi terbuka secara real time. Untuk membuat kueri sesi aktif, Anda harus menetapkan google_insights_v2.qi_track_active_queries ke on. Jika ditetapkan ke off, membuat kueri tampilan ini akan menampilkan error.

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan observabilitas:
    • stat_activity
    • stat_activity_v3
  • Kolom terkait:
    • pid: ID proses backend. Untuk menghentikan sesi, teruskan ID proses ke fungsi sistem pg_terminate_backend(pid) PostgreSQL.
    • normalized_query_hash: ID hash kueri SQL yang dinormalisasi.
    • normalized_query: teks SQL yang dinormalisasi dari kueri aktif.
    • state: status backend saat ini, seperti active atau idle in transaction.
    • backend_start: stempel waktu saat sesi saat ini dimulai. Untuk menghitung durasi sesi dalam detik, hitung EXTRACT(EPOCH FROM (clock_timestamp() - backend_start)).
    • xact_start: stempel waktu saat transaksi saat ini dimulai. Untuk menghitung durasi transaksi dalam detik, hitung EXTRACT(EPOCH FROM (clock_timestamp() - xact_start)).
    • query_start: stempel waktu saat kueri saat ini dimulai. Untuk menghitung durasi kueri dalam detik, hitung EXTRACT(EPOCH FROM (clock_timestamp() - query_start)).
    • wait_event_type: kategori peristiwa tunggu jika backend sedang menunggu.
    • wait_event: nama peristiwa tunggu jika backend sedang menunggu.
    • database: nama database logis untuk sesi aktif.
    • username: nama peran database untuk sesi aktif.
    • application_name: nama aplikasi yang terhubung.
    • client_addr: alamat IP klien yang terhubung.