Referensi insight kueri lanjutan

Pilih versi dokumentasi:

Dokumen ini menjelaskan parameter konfigurasi, dimensi telemetri, serta tampilan dan fungsi kemampuan observasi 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 mulai 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 Perlu mulai ulang 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 Query Insight 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 dicatat untuk template SQL yang dinormalisasi, dengan nilai literal disamarkan 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()) Mencatat 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()) Mencatat 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()) Mencatat alamat IP klien yang terhubung dalam tampilan statistik kueri dan alamat klien.
google_insights_v2.qi_track_tag boolean off Tidak (muat ulang dengan pg_reload_conf()) Mengaktifkan pelacakan tag, seperti tag SQLCommenter, dalam komentar SQL.
google_insights_v2.qi_track_active_queries boolean off Tidak (muat ulang dengan pg_reload_conf()) Memungkinkan pelacakan real-time kueri aktif dan transaksi yang belum selesai.

Tampilan dan metrik kemampuan observasi menurut dimensi

Bagian berikut mencantumkan tampilan kemampuan observasi 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 kemampuan observasi:
    • 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: total jumlah hit buffer bersama.
    • total_shared_blocks_read: total jumlah blok bersama yang dibaca dari disk.
    • count: total berapa kali kueri dieksekusi.
    • recorded_on: stempel waktu saat interval telemetri dicatat.

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 kemampuan observasi:
    • 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: total berapa kali 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 dicatat.
    • query_id: ID hash kueri (dalam 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 kemampuan observasi:
    • 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 yang mencakup peristiwa tunggu.
    • time_spent: waktu tunggu kumulatif untuk peristiwa tunggu dalam mikrodetik.
    • count: total frekuensi terjadinya peristiwa tunggu.
    • 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 dicatat.
    • query_id: ID hash kueri (dalam observability_service_wait_event_stats_by_query_view).

Database

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

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan kemampuan observasi:
    • 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 dalam database.
    • total_execution_time: waktu eksekusi kueri kumulatif dalam database dalam mikrodetik.
    • total_wait_time: waktu tunggu kumulatif dalam database dalam mikrodetik.
    • count: jumlah total eksekusi kueri dalam database.
    • recorded_on: stempel waktu saat interval telemetri dicatat.

Pengguna dan alamat IP klien

Dimensi alamat IP pengguna dan klien melacak beban berdasarkan 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 kemampuan observasi:
    • 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 alamat IP pengguna atau klien.
    • recorded_on: stempel waktu saat interval telemetri dicatat.

Tag

Dimensi tag melacak statistik eksekusi kueri berdasarkan metadata tag aplikasi. Untuk mengumpulkan metrik tag, Anda harus menyetel 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 kemampuan observasi:
    • observability_service_db_load_tag_view
    • observability_service_tag_view
  • Kolom terkait:
    • tag_id: ID numerik 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 rekaman aktivitas 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 dicatat.

Kueri aktif

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

Tampilan dan kolom berikut tersedia untuk dimensi ini:

  • Tampilan kemampuan observasi:
    • 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.