Descargar datos de perfil
En este documento se describe cómo puedes descargar los datos de tu perfil en tu sistema local y cómo puedes obtenerlos de forma programática mediante una aplicación Go.
Descargar perfiles mediante la Google Cloud consola
Para descargar el perfil que se muestra en el gráfico de llamas, haz clic en Descargar get_app.
Profiler usa la siguiente convención de nomenclatura para el archivo descargado:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
En esta expresión:
SERVICE_NAME
contiene la selección de ServicioPROFILE_TYPE
contiene la selección de Tipo de perfil.FROM_DATE
yTO_DATE
contienen las especificaciones del periodoZONE
contiene la selección de Zona.VERSION
contiene la selección de Versión.
Ejemplo: profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
Descargar perfiles mediante programación
Para obtener datos de perfil, usa el método de la API ListProfiles
. En el siguiente programa de Go de ejemplo se muestra cómo usar esta API.
El programa de ejemplo crea una carpeta en el directorio desde el que se ejecuta y genera un conjunto de archivos pprof
numerados. Cada archivo tiene una convención de nomenclatura similar a profile000042.pb.gz
. Cada directorio contiene datos de perfil y un archivo de metadatos (metadata.csv
), que incluye información sobre los archivos descargados.
El programa de ejemplo acepta los siguientes argumentos de línea de comandos:
project
: el proyecto del que se obtienen los perfiles. Obligatorio.page_size
: número máximo de perfiles recuperados por llamada a la API. El valor máximo depage_size
es 1000. Si no se especifica, este campo tiene el valor 100.page_token
: token de cadena generado por una ejecución anterior del programa para reanudar las descargas. Opcional.max_profiles
: número máximo de perfiles que se van a obtener. Si se proporciona un número entero no positivo, el programa intentará recuperar todos los perfiles.
Opcional.
Ejecutar la aplicación de ejemplo
Para ejecutar la aplicación de ejemplo, haz lo siguiente:
Clona el repositorio:
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Cambia al directorio que contiene el programa de ejemplo:
cd golang-samples/profiler/export
Ejecuta el programa después de sustituir YOUR_GCP_PROJECT por el ID de tu proyectoGoogle Cloud :
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
El programa puede tardar bastante en completarse. El programa genera un token para la página siguiente después de recuperar la página actual. Puedes usar el token para reanudar el proceso si el programa se interrumpe.
Ver los perfiles descargados
Para leer un archivo descargado, que está escrito en formato de búfer de protocolo serializado, usa la herramienta de código abierto pprof
.