Membuat profil aplikasi Java
Halaman ini menjelaskan cara mengubah aplikasi Java Anda untuk mengambil data profiling dan mengirimkan data tersebut ke project Google CloudAnda. Untuk informasi umum tentang pembuatan profil, lihat Konsep pembuatan profil.
Jenis profil untuk Java:
- Waktu CPU
- Heap (memerlukan Java 11 atau lingkungan standar App Engine, dinonaktifkan secara default)
- Waktu dinding (tidak tersedia untuk lingkungan standar App Engine Java 8)
Versi bahasa Java yang didukung:
- JVM berbasis HotSpot (termasuk Oracle JDK dan beberapa build OpenJDK) untuk Java 8, 11, atau yang lebih baru.
Versi agen pembuatan profil yang didukung:
- Rilis agen terbaru didukung. Secara umum, rilis yang lebih lama dari satu tahun tidak didukung. Sebaiknya gunakan agen versi terbaru.
Sistem operasi yang didukung:
- Linux. Pembuatan profil aplikasi Java didukung untuk kernel Linux yang library C standarnya diimplementasikan dengan
glibcatau denganmusl. Untuk informasi konfigurasi khusus kernel Linux Alpine, lihat Menjalankan di Linux Alpine.
Lingkungan yang didukung:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Lingkungan fleksibel App Engine
- Lingkungan standar App Engine (memerlukan App Engine SDK versi 1.9.64 atau yang lebih baru)
- Managed Service untuk Apache Spark (Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi Cloud Profiler untuk tugas Spark dan Hadoop Managed Service untuk Apache Spark.)
- Di luar Google Cloud (Untuk mengetahui informasi tentang persyaratan konfigurasi tambahan, lihat Membuat profil aplikasi yang berjalan di luar Google Cloud.)
Mengaktifkan Profiler API
Sebelum menggunakan agen pembuatan profil, pastikan Profiler API yang mendasarinya diaktifkan. Anda dapat memeriksa status API dan mengaktifkannya jika perlu menggunakan Google Cloud CLI atau konsol Google Cloud :
gcloud CLI
Jika Anda belum menginstal Google Cloud CLI di workstation, lihat dokumentasi Google Cloud CLI.
Jalankan perintah berikut:
gcloud services enable cloudprofiler.googleapis.com
Untuk informasi selengkapnya, lihat
gcloud services.
Konsol Google Cloud
-
Aktifkan Cloud Profiler API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran. Jika API enabled ditampilkan, berarti API sudah diaktifkan. Jika belum, klik tombol Enable.
Memberikan peran IAM ke akun layanan
Jika Anda men-deploy aplikasi di resource Google Cloud dan jika Anda menggunakan akun layanan default dan belum mengubah pemberian peran ke akun layanan tersebut, Anda dapat melewati bagian ini.
Jika Anda melakukan salah satu tindakan berikut, Anda harus memberikan peran IAM
Agen Cloud Profiler (roles/cloudprofiler.agent) kepada akun layanan:
- Anda menggunakan akun layanan default, tetapi mengubah pemberian perannya.
- Anda menggunakan akun layanan yang dibuat pengguna.
- Anda menggunakan workload identity, berikan peran Cloud Profiler Agent ke akun layanan Kubernetes.
Anda dapat memberikan peran IAM ke akun layanan menggunakan
konsolGoogle Cloud atau Google Cloud CLI. Misalnya, Anda dapat menggunakan perintah
gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding GCP_PROJECT_ID \
--member serviceAccount:MY_SVC_ACCT_ID@GCP_PROJECT_ID.iam.gserviceaccount.com \
--role roles/cloudprofiler.agent
Sebelum menggunakan perintah sebelumnya, ganti perintah berikut:
- GCP_PROJECT_ID: Project ID Anda.
- MY_SVC_ACCT_ID: Nama akun layanan Anda.
Untuk mengetahui informasi mendetail, lihat Mengelola akses ke project, folder, dan organisasi.
Menginstal agen Profiler
Compute Engine
Buat direktori penginstalan, misalnya,
/opt/cprof, untuk agen Profiler:sudo mkdir -p /opt/cprofDownload arsip agen dari repositori
storage.googleapis.comdan ekstrak ke direktori penginstalan:wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \ | sudo tar xzv -C /opt/cprof
GKE
Ubah Dockerfile untuk membuat direktori penginstalan bagi
agen Profiler, download arsip agen,
lalu ekstrak arsip ke direktori penginstalan.
Linux (library C berbasis glibc):
Gunakan perintah penginstalan berikut:
RUN mkdir -p /opt/cprof && \
wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \
| tar xzv -C /opt/cprofLinux Alpine (pustaka C berbasis musl):
Gunakan perintah penginstalan berikut:
wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent_alpine.tar.gz \ | tar xzv -C /opt/cprof
Lingkungan Fleksibel
Saat Anda menggunakan image dasar runtime Java 8 Google atau image dasar runtime Java 9 / Jetty 9, agen Profiler sudah diinstal sebelumnya, sehingga tidak ada langkah tambahan yang perlu Anda lakukan untuk menginstal agen.
Untuk semua image dasar lainnya, Anda harus menginstal agen. Misalnya, Dockerfile berikut berisi petunjuk untuk menggunakan image
openjdk:11-slim, menginstal agen
Profiler, dan menentukan parameter default yang akan digunakan saat memulai
aplikasi:
FROM openjdk:11-slim
COPY . .
RUN apt-get update \
&& apt-get install wget \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /opt/cprof && \
wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \
| tar xzv -C /opt/cprof
CMD ["java", "-agentpath:/opt/cprof/profiler_java_agent.so=OPTION1,OPTION2", "-jar",