Crear perfiles de aplicaciones Python
En esta página se describe cómo modificar tu aplicación Python para recoger datos de perfil 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 Python:
- Tiempo de CPU
- Tiempo real (hilo principal)
Versiones de lenguaje Python compatibles:
- Python 3.6 a 3.11.0.
Versiones compatibles del agente de creación de perfiles:
- Se admite la versión más reciente del agente. Por lo 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 Python 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 el entorno de ejecución de Python 3)
- 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 de Google Cloud y usas la cuenta de servicio predeterminada sin haber modificado las concesiones de roles de esa cuenta, puedes saltarte esta sección.
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.
Usar Cloud Profiler
Para consultar las prácticas recomendadas de Python, ve a Configurar un entorno de desarrollo de Python.
Compute Engine
En Compute Engine, haga lo siguiente:
Instala el compilador de C/C++ y las herramientas de desarrollo:
sudo apt-get install -y build-essentialInstala pip:
sudo apt-get install -y python3-pipInstala el paquete Profiler: