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 con la Google Cloud consola

Para descargar el perfil que se muestra en el gráfico de llamas, haz clic en Descargar .

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 Servicio
  • PROFILE_TYPE contiene la selección de Tipo de perfil.
  • FROM_DATE y TO_DATE contienen las especificaciones del periodo.
  • ZONE contiene la zona que has seleccionado.
  • 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.


// Sample export shows how ListProfiles API can be used to download
// existing pprof profiles for a given project from GCP.
package main

import (
	"bytes"
	"context"
	"encoding/csv"
	"encoding/json"
	"flag"
	"fmt"
	"io"
	"log"
	"os"
	"time"

	cloudprofiler "cloud.google.com/go/cloudprofiler/apiv2"
	pb "cloud.google.com/go/cloudprofiler/apiv2/cloudprofilerpb"
	"google.golang.org/api/iterator"
)

var project = flag.String("project", "", "GCP project ID from which profiles should be fetched")
var pageSize = flag.Int("page_size",