Kueri PromQL di Google Cloud Managed Service for Prometheus sebagian dievaluasi di backend Monarch menggunakan Bahasa Kueri Monitoring (MQL), dan ada beberapa perbedaan umum dalam hasil kueri. Dokumen ini menjelaskan perbedaannya.
Selain perbedaan yang tercantum dalam dokumen ini, PromQL di Google Cloud Managed Service for 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.
Mencocokkan nama metrik
Hanya pencocokan persis pada nama metrik yang didukung.
Usang
Keusangan tidak didukung di backend Monarch.
Penghitungan irate
Jika periode lihat balik untuk fungsi irate
kurang dari ukuran langkah, kami meningkatkan periode ke ukuran langkah.
MQL mewajibkan 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
kurang dari ukuran langkah, kami meningkatkan periode ke ukuran langkah.
MQL mewajibkan perubahan ini untuk memastikan bahwa tidak ada data input yang sepenuhnya diabaikan dalam output. Perbedaan ini juga berlaku untuk
penghitungan irate
.
Terdapat perbedaan dalam perhitungan interpolasi dan ekstrapolasi. Monarch menggunakan algoritma interpolasi yang berbeda dari Prometheus, dan perbedaan ini dapat memberikan hasil yang sedikit berbeda. Misalnya, sampel penghitung Monarch disimpan dengan rentang waktu, bukan stempel waktu tunggal yang digunakan Prometheus. Oleh karena itu, sampel penghitung di Monarch dapat disertakan dalam penghitungan tarif meskipun stempel waktu Prometheus akan mengecualikannya. Hal ini biasanya akan menghasilkan hasil tarif 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; artinya, 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 diketik dengan lemah, Monarch memiliki jenis
yang kuat. Artinya, menjalankan fungsi khusus untuk satu jenis pada metrik yang diketik secara berbeda (misalnya, menjalankan rate()
pada metrik GAUGE atau histogram_quantile()
pada metrik COUNTER atau metrik tidak berjenis) tidak akan berfungsi di Layanan Terkelola untuk Prometheus, meskipun fungsi ini berfungsi di upstream Prometheus.