Topik ini menjelaskan cara memeriksa komponen Spanner untuk menemukan sumber latensi dan memvisualisasikan latensi tersebut menggunakan OpenTelemetry. Untuk ringkasan umum terkait komponen dalam topik ini, lihat Titik latensi dalam permintaan Spanner.
OpenTelemetry adalah toolkit dan framework kemampuan observasi open source yang memungkinkan Anda membuat dan mengelola data telemetri seperti trace, metrik, dan log. Ini adalah hasil dari penggabungan antara OpenTracing dan OpenCensus. Untuk mengetahui informasi selengkapnya, lihat Apa itu OpenTelemetry?
Library klien Spanner menyediakan metrik dan trace dengan menggunakan framework kemampuan observasi OpenTelemetry. Ikuti prosedur di Mengidentifikasi titik latensi untuk menemukan komponen atau komponen yang menampilkan latensi di Spanner.
Sebelum memulai
Sebelum mulai merekam metrik latensi, pahami instrumentasi manual dengan OpenTelemetry. Anda harus mengonfigurasi OpenTelemetry SDK dengan opsi yang sesuai untuk mengekspor data telemetri. Ada beberapa opsi pengekspor OpenTelemetry yang tersedia. Sebaiknya gunakan pengekspor OpenTelemetry Protocol (OTLP). Opsi lainnya termasuk menggunakan OTel Collector dengan Google Cloud Pengekspor atau Google Managed Service for Prometheus Exporter.
Jika menjalankan aplikasi di Compute Engine, Anda dapat menggunakan Agen Operasional untuk mengumpulkan metrik dan trace OpenTelemetry Protocol. Untuk mengetahui informasi selengkapnya, lihat artikel Mengumpulkan metrik dan trace OTLP.
Menambahkan dependensi
Untuk mengonfigurasi OpenTelemetry SDK dan pengekspor OTLP, tambahkan dependensi berikut ke aplikasi Anda.
Java
Go
Memasukkan objek OpenTelemetry
Kemudian, buat objek OpenTelemetry dengan pengekspor OTLP dan masukkan objek OpenTelemetry menggunakan SpannerOptions
.
Java
Go
Menangkap dan memvisualisasikan latensi bolak-balik klien
Latensi bolak-balik klien adalah durasi waktu (dalam milidetik) antara byte pertama permintaan Spanner API yang dikirim klien ke database (melalui frontend GFE dan Spanner API), dan byte respons terakhir yang diterima klien dari database.
Merekam latensi bolak-balik klien
Metrik latensi bolak-balik klien Spanner tidak didukung menggunakan OpenTelemetry. Anda dapat menginstrumentasikan metrik menggunakan OpenCensus dengan jembatan dan memigrasikan data ke OpenTelemetry.
Memvisualisasikan latensi bolak-balik klien
Setelah mengambil metrik, Anda dapat memvisualisasikan latensi bolak-balik klien di Cloud Monitoring.
Berikut ini contoh grafik yang menggambarkan latensi persentil ke-5 untuk metrik latensi bolak-balik klien. Untuk mengubah latensi persentil ke persentil ke-50 atau ke-99, gunakan menu Aggregator.
Program ini membuat tampilan yang disebut roundtrip_latency
. String ini menjadi bagian dari nama metrik saat diekspor ke Cloud Monitoring.
Mengambil dan memvisualisasikan latensi GFE
Latensi Google Front End (GFE) adalah durasi waktu (dalam milidetik) antara saat jaringan Google menerima remoteproc call dari klien dan saat GFE menerima byte pertama respons.
Mengambil latensi GFE
Anda dapat mencatat metrik latensi GFE dengan mengaktifkan opsi berikut menggunakan library klien Spanner.
Java
Go
Memvisualisasikan latensi GFE
Setelah mengambil metrik, Anda dapat memvisualisasikan latensi GFE di Cloud Monitoring.
Berikut ini contoh grafik yang menggambarkan agregasi distribusi untuk metrik latensi GFE. Untuk mengubah latensi persentil ke persentil ke-5, ke-50, ke-95, atau ke-99, gunakan menu Agregator.
Program ini membuat tampilan yang disebut spanner/gfe_latency
. String ini menjadi bagian dari nama metrik saat diekspor ke Cloud Monitoring.
Mengambil dan memvisualisasikan latensi permintaan Spanner API
Latensi permintaan Spanner API adalah durasi (dalam detik) antara byte permintaan pertama yang diterima frontend Spanner API dan byte respons terakhir yang dikirim oleh frontend Spanner API.
Mengambil latensi permintaan Spanner API
Secara default, latensi ini tersedia sebagai bagian dari metrik Cloud Monitoring. Anda tidak perlu melakukan apa pun untuk menangkap dan mengekspornya.
Memvisualisasikan latensi permintaan Spanner API
Anda dapat menggunakan alat diagram Metrics Explorer untuk memvisualisasikan grafik untuk metrik spanner.googleapis.com/api/request_latencies
di Cloud Monitoring.
Berikut ini contoh grafik yang menggambarkan latensi persentil ke-5 untuk metrik latensi permintaan Spanner API. Untuk mengubah latensi persentil ke persentil ke-50 atau ke-99, gunakan menu Aggregator.
Menangkap dan memvisualisasikan latensi kueri
Latensi kueri adalah durasi waktu (dalam milidetik) yang diperlukan untuk menjalankan kueri SQL di database Spanner.
Menangkap latensi kueri
Anda dapat menangkap latensi kueri untuk bahasa berikut:
Java
Go
Memvisualisasikan latensi kueri
Setelah mengambil metrik, Anda dapat memvisualisasikan latensi kueri di Cloud Monitoring.
Berikut ini contoh grafik yang menggambarkan agregasi distribusi untuk metrik latensi GFE. Untuk mengubah latensi persentil ke persentil ke-5, ke-50, ke-95, atau ke-99, gunakan menu Agregator.
Program ini membuat tampilan OpenCensus yang disebut query_stats_elapsed
.
String ini menjadi bagian dari nama metrik saat diekspor ke Cloud Monitoring.
Langkah selanjutnya
Pelajari OpenTelemetry lebih lanjut.
Pelajari cara bermigrasi ke OpenTelemetry.
Pelajari cara menggunakan metrics untuk mendiagnosis latensi.