Kompatibilitas PromQL

Kueri PromQL di Layanan Terkelola Google Cloud untuk Prometheus dievaluasi sebagian di backend Monarch menggunakan Monitoring Query Language (MQL), dan ada beberapa perbedaan yang diketahui dalam hasil kueri. Dokumen ini menjelaskan perbedaannya.

Selain perbedaan yang tercantum dalam dokumen ini, PromQL di Layanan Terkelola untuk Prometheus setara dengan PromQL yang tersedia di Prometheus versi 2.44.

Fungsi PromQL baru

Fungsi PromQL yang ditambahkan setelah Prometheus versi 2.44 mungkin tidak didukung.

Pencocokan berdasarkan nama metrik

Hanya pencocokan persis pada nama metrik yang didukung.

Tidak berlaku

Ketidakaktualan tidak didukung di backend Monarch.

Penghitungan irate

Jika periode lihat balik untuk fungsi irate lebih kecil dari ukuran langkah, kami akan meningkatkan periode lihat balik ke ukuran langkah. MQL memerlukan perubahan ini untuk memastikan bahwa tidak ada data input yang sepenuhnya diabaikan dalam output. Perbedaan ini juga berlaku untuk penghitungan rate.

Penghitungan rate dan increase

Jika periode lihat balik untuk fungsi rate lebih kecil dari ukuran langkah, kami akan meningkatkan periode lihat balik ke ukuran langkah. MQL memerlukan perubahan ini untuk memastikan bahwa tidak ada data input yang sepenuhnya diabaikan dalam output. Perbedaan ini juga berlaku untuk penghitungan irate.

Ada perbedaan dalam penghitungan interpolasi dan ekstrapolasi. Monarch menggunakan algoritma interpolasi yang berbeda dengan Prometheus, dan perbedaan ini dapat menyebabkan hasil yang sedikit berbeda. Misalnya, sampel penghitung Monarch disimpan dengan rentang waktu, bukan stempel waktu tunggal yang digunakan Prometheus. Oleh karena itu, contoh penghitung di Monarch dapat disertakan dalam penghitungan rasio meskipun stempel waktu Prometheus akan mengecualikannya. Hal ini biasanya menghasilkan hasil rasio yang lebih akurat, terutama saat membuat kueri di awal atau akhir deret waktu yang mendasarinya.

Penghitungan histogram_quantile

Penghitungan histogram_quantile PromQL pada histogram tanpa sampel akan menghasilkan nilai NaN. Penghitungan MQL tidak menghasilkan nilai; yaitu, MQL akan menghapus titik pada stempel waktu.

Perbedaan penghitungan tarif juga dapat memengaruhi input ke kueri histogram_quantile.

Fungsi khusus jenis pada metrik dengan jenis yang berbeda

Meskipun Prometheus upstream memiliki jenis lemah, Monarch memiliki jenis yang kuat. Artinya, menjalankan fungsi khusus untuk satu jenis pada metrik dengan jenis yang berbeda (misalnya, menjalankan rate() pada metrik GAUGE atau histogram_quantile() pada metrik COUNTER atau tanpa jenis) tidak akan berfungsi di Managed Service for Prometheus, meskipun fungsi ini berfungsi di Prometheus upstream.