Crear perfiles de aplicaciones Java
En esta página se describe cómo modificar tu aplicación Java para capturar datos de creación de perfiles y enviarlos a tu proyecto de Google Cloud. Para obtener información general sobre la creación de perfiles, consulta Conceptos de la elaboración de perfiles.
.Tipos de perfiles de Java:
- Tiempo de CPU
- Montículo (requiere Java 11 o el entorno estándar de App Engine; está inhabilitado de forma predeterminada)
- Tiempo real (no disponible en el entorno estándar de App Engine para Java 8)
Versiones del lenguaje Java admitidas:
- JVMs basadas en HotSpot (incluido Oracle JDK y algunas compilaciones de OpenJDK) para Java 8, 11 o versiones posteriores.
Versiones compatibles del agente de creación de perfiles:
- Se admite la versión más reciente del agente. En general, no se admiten las versiones que tengan más de un año. Te recomendamos que utilices la versión más reciente del agente.
Sistemas operativos compatibles:
- Linux. La creación de perfiles de aplicaciones Java es compatible con los kernels de Linux
cuya biblioteca C estándar se implementa con
glibco conmusl. Para obtener información sobre la configuración específica de los kernels de Linux Alpine, consulta Ejecutar en Linux Alpine.
Entornos admitidos:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Entorno flexible de App Engine
- Entorno estándar de App Engine (requiere la versión 1.9.64 o posterior del SDK de App Engine)
- Dataproc (para obtener información, consulta Configurar Cloud Profiler para tareas de Dataproc Spark y Hadoop).
- Fuera de Google Cloud (Para obtener información sobre los requisitos de configuración adicionales, consulta Crear perfiles de aplicaciones que se ejecutan fuera de Google Cloud).
Habilitar la API Profiler
Antes de usar el agente de creación de perfiles, asegúrate de que la API Profiler subyacente esté habilitada. Puedes comprobar el estado de la API y habilitarla si es necesario mediante la CLI de Google Cloud o la consola de Google Cloud :
CLI de gcloud
Si aún no has instalado Google Cloud CLI en tu estación de trabajo, consulta la documentación de Google Cloud CLI.
Ejecuta el siguiente comando:
gcloud services enable cloudprofiler.googleapis.com
Para obtener más información, consulta gcloud services.
Google Cloud console
-
Enable the required API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Si se muestra API habilitada, significa que la API ya está habilitada. Si no es así, haz clic en el botón Habilitar.
Asignar un rol de gestión de identidades y accesos a una cuenta de servicio
Si vas a implementar tu aplicación en recursos y usas la cuenta de servicio predeterminada sin haber modificado las concesiones de roles de esa cuenta, puedes saltarte esta sección. Google Cloud
Si haces alguna de las siguientes acciones, debes conceder a la cuenta de servicio el rol de gestión de identidades y accesos Agente de Cloud Profiler (roles/cloudprofiler.agent):
- Estás usando la cuenta de servicio predeterminada, pero has modificado sus concesiones de roles.
- Estás usando una cuenta de servicio creada por un usuario.
- Si usas Workload Identity, asigna el rol Agente de Cloud Profiler a la cuenta de servicio de Kubernetes.
Puedes asignar un rol de IAM a una cuenta de servicio mediante laGoogle Cloud consola o la CLI de Google Cloud. Por ejemplo, puedes usar el comando
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
Antes de usar el comando anterior, sustituye lo siguiente:
- GCP_PROJECT_ID: tu ID de proyecto.
- MY_SVC_ACCT_ID: el nombre de tu cuenta de servicio.
Para obtener información detallada, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Instalar el agente de Profiler
Compute Engine
Crea un directorio de instalación, por ejemplo,
/opt/cprof, para el agente de Profiler:sudo mkdir -p /opt/cprofDescarga el archivo del agente del repositorio
storage.googleapis.comy descomprímelo en el directorio de instalación:wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \ | sudo tar xzv -C /opt/cprof
GKE
Modifica Dockerfile para crear un directorio de instalación del agente de Profiler, descarga el archivo del agente y, a continuación, extrae el archivo en el directorio de instalación.
Linux (biblioteca C basada en glibc):
Usa el siguiente comando de instalación:
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 (biblioteca C basada en