Melihat latensi permintaan aplikasi
Pelajari cara mengumpulkan dan melihat data latensi dari aplikasi Anda:
Buat cluster Google Kubernetes Engine (GKE) menggunakan Google Cloud CLI.
Download dan deploy aplikasi sampel ke cluster Anda.
Membuat rekaman aktivitas dengan mengirimkan permintaan HTTP ke aplikasi contoh.
Lihat informasi latensi trace yang Anda buat.
Jalankan pembersihan.
Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:
Sebelum memulai
-
Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Google Kubernetes Engine and Cloud Trace APIs.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Google Kubernetes Engine and Cloud Trace APIs.
Membuat cluster GKE
Di toolbar, klik terminal
Activate Cloud Shell , lalu lakukan langkah-langkah berikut di Cloud Shell.Membuat cluster:
gcloud container clusters create cloud-trace-demo --zone us-central1-c
Perintah sebelumnya, yang memerlukan waktu beberapa menit untuk diselesaikan, akan membuat cluster standar dengan nama
cloud-trace-demo
di zonaus-central1-c
.Konfigurasikan
kubectl
agar otomatis memperbarui kredensialnya agar menggunakan identitas yang sama dengan Google Cloud CLI:gcloud container clusters get-credentials cloud-trace-demo --zone us-central1-c
Verifikasi akses ke cluster Anda:
kubectl get nodes
Contoh output perintah ini adalah:
NAME STATUS ROLES AGE VERSION gke-cloud-trace-demo-default-pool-063c0416-113s Ready <none> 78s v1.22.12-gke.2300 gke-cloud-trace-demo-default-pool-063c0416-1n27 Ready <none> 79s v1.22.12-gke.2300 gke-cloud-trace-demo-default-pool-063c0416-frkd Ready <none> 78s v1.22.12-gke.2300
Mendownload dan men-deploy dan menerapkan
Download dan deploy aplikasi Python, yang menggunakan framework Flask dan paket OpenTelemetry. Aplikasi tersebut dijelaskan di bagian Tentang aplikasi di halaman ini.
Di Cloud Shell, lakukan hal berikut:
Clone aplikasi Python dari GitHub:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Jalankan perintah berikut untuk men-deploy contoh aplikasi:
cd python-docs-samples/trace/cloud-trace-demo-app-opentelemetry && ./setup.sh
Skrip
setup.sh
memerlukan waktu beberapa menit untuk diselesaikan.Skrip ini mengonfigurasi tiga layanan menggunakan image bawaan, lalu menunggu semua resource disediakan. Workload ini diberi nama
cloud-trace-demo-a
,cloud-trace-demo-b
, dancloud-trace-demo-c
.Contoh output perintah ini adalah:
deployment.apps/cloud-trace-demo-a is created service/cloud-trace-demo-a is created deployment.apps/cloud-trace-demo-b is created service/cloud-trace-demo-b is created deployment.apps/cloud-trace-demo-c is created service/cloud-trace-demo-c is created Wait for load balancer initialization complete...... Completed.
Membuat data trace
trace menjelaskan waktu yang diperlukan aplikasi untuk menyelesaikan satu operasi.
Untuk membuat rekaman aktivitas, jalankan perintah berikut di Cloud Shell:
curl $(kubectl get svc -o=jsonpath='{.items[?(@.metadata.name=="cloud-trace-demo-a")].status.loadBalancer.ingress[0].ip}')
Respons perintah sebelumnya akan terlihat seperti berikut:
Hello, I am service A
And I am service B
Hello, I am service C
Anda dapat menjalankan perintah curl
beberapa kali untuk membuat beberapa
rekaman aktivitas.
Melihat data latensi
-
Pada panel navigasi Google Cloud Console, pilih Trace, lalu pilih Trace explorer:
Setiap trace direpresentasikan dengan titik pada grafik dan baris dalam tabel.
Screenshot berikut menunjukkan beberapa rekaman aktivitas:
Untuk melihat trace secara mendetail, pilih sebuah titik pada grafik atau baris dalam tabel.
Diagram sebar akan dimuat ulang dan titik yang Anda pilih ditandai dengan lingkaran yang digambar di sekitar titik tersebut, dan semua titik lain yang mewakili semua rekaman aktivitas lainnya akan diredupkan.
Diagram Gantt menampilkan informasi tentang trace yang dipilih. Baris pertama dalam diagram Gantt adalah untuk trace, dan ada satu baris untuk setiap span dalam trace. span menjelaskan durasi yang diperlukan untuk melakukan sub-operasi lengkap.
Untuk melihat informasi mendetail tentang span, pada diagram Gantt, pilih span.
Tentang permohonan
Aplikasi contoh yang digunakan dalam panduan memulai ini tersedia di repositori GitHub. Repositori ini berisi informasi cara menggunakan aplikasi di lingkungan selain Cloud Shell. Aplikasi contoh ditulis dalam Python, menggunakan framework Flask dan paket OpenTelemetry, serta dijalankan di cluster GKE.
Instrumentasi
File app.py
di repositori GitHub,
berisi instrumentasi yang diperlukan untuk mengambil dan mengirim data
rekaman aktivitas ke project Google Cloud Anda:
Aplikasi ini mengimpor beberapa paket OpenTelemetry:
Aplikasi ini menginstrumentasikan permintaan web dengan konteks rekaman aktivitas serta secara otomatis melacak pengendali Flask dan permintaan ke layanan lain:
Aplikasi ini mengonfigurasi pengekspor Cloud Trace sebagai penyedia trace, yang menyebarkan konteks trace dalam format Cloud Trace:
Cuplikan kode berikut menunjukkan cara mengirim permintaan di Python. OpenTelemetry secara implisit menyebarkan konteks rekaman aktivitas dengan permintaan keluar:
Cara kerja aplikasi
Agar lebih jelas, di bagian ini, cloud-trace-demo
dihilangkan dari nama
layanan. Misalnya, layanan cloud-trace-demo-c
direferensikan sebagai c
.
Aplikasi ini membuat tiga layanan bernama a
, b
, dan c
. Layanan a
dikonfigurasi untuk memanggil layanan b
, layanan b
dikonfigurasi untuk memanggil layanan c
.
Untuk mengetahui detail konfigurasi layanan, lihat file YAML di repositori GitHub.
Saat Anda mengeluarkan permintaan HTTP untuk melayani a
di panduan memulai ini, Anda menggunakan perintah curl
berikut:
curl $(kubectl get svc -o=jsonpath='{.items[?(@.metadata.name=="cloud-trace-demo-a")].status.loadBalancer.ingress[0].ip}')
Perintah curl
berfungsi sebagai berikut:
kubectl
mengambil alamat IP layanan bernamacloud-trace-demo-a
.- Kemudian, perintah
curl
mengirimkan permintaan HTTP ke layanana
. - Layanan
a
menerima permintaan HTTP dan mengirim permintaan ke layananb
. - Layanan
b
menerima permintaan HTTP dan mengirim permintaan ke layananc
. - Layanan
c
menerima permintaan HTTP dari layananb
dan menampilkan stringHello, I am service C
ke layananb
. - Layanan
b
menerima respons dari layananc
, menambahkannya ke stringAnd I am service B
, dan menampilkan hasilnya kea
layanan. a
layanan menerima respons dari layananb
dan menambahkannya ke stringHello, I am service A
.- Respons dari layanan
a
dicetak di Cloud Shell.
Pembersihan
Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Jika Anda membuat project baru dan tidak lagi memerlukan project tersebut, hapus project tersebut.
Jika Anda menggunakan project yang sudah ada, lakukan hal berikut:
Untuk menghapus cluster Anda, jalankan perintah berikut di Cloud Shell:
gcloud container clusters delete cloud-trace-demo --zone us-central1-c
Langkah selanjutnya
- Untuk mengetahui informasi tentang bahasa dan platform yang didukung, lihat Ringkasan Cloud Trace.
Untuk mengetahui detail tentang cara melengkapi aplikasi, lihat:
Untuk mengetahui informasi selengkapnya tentang jendela Trace explorer, lihat Menemukan dan melihat trace.
Untuk mempelajari lebih lanjut cara mengelola cluster GKE, lihat kubectl.