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 database dimulai ulang, jalankan ALTER SYSTEM SET diikuti dengan SELECT pg_reload_conf(). Tabel berikut menjelaskan parameter konfigurasi untuk insight kueri 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 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_viewobservability_service_query_coarse_1_viewobservability_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_viewobservability_service_wait_event_stats_by_query_view
- Kolom terkait:
wait_class: kategori peristiwa tunggu, sepertiIO,Lock,LWLock,CPU, atauInternal 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 (diobservability_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_viewobservability_service_wait_event_stats_by_query_view
- Kolom terkait:
wait_event: nama peristiwa tunggu PostgreSQL tertentu, sepertiDataFileExtend,DataFileRead,WALWrite, atauInternal 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 (diobservability_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_viewobservability_service_query_viewobservability_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 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 observabilitas:
observability_service_query_viewobservability_service_client_address_stats_by_query_view
- Kolom terkait:
client_address: alamat IP klien yang terhubung (jikagoogle_insights_v2.qi_track_client_addressadalahon).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 berdasarkan 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_viewobservability_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_activitystat_activity_v3
- Kolom terkait:
pid: ID proses backend. Untuk menghentikan sesi, teruskan ID proses ke fungsi sistempg_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, sepertiactiveatauidle in transaction.backend_start: stempel waktu saat sesi saat ini dimulai. Untuk menghitung durasi sesi dalam detik, hitungEXTRACT(EPOCH FROM (clock_timestamp() - backend_start)).xact_start: stempel waktu saat transaksi saat ini dimulai. Untuk menghitung durasi transaksi dalam detik, hitungEXTRACT(EPOCH FROM (clock_timestamp() - xact_start)).query_start: stempel waktu saat kueri saat ini dimulai. Untuk menghitung durasi kueri dalam detik, hitungEXTRACT(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.