Guía de inicio rápido

El profiler_quickstart de muestra simula una carga de trabajo que requiere mucha CPU para Cloud Profiler en Go.

Muestra de código

Comienza a usarlo

Si deseas obtener más información, consulta la documentación de referencia de la API de Profiler para Go.


// Sample profiler_quickstart simulates a CPU-intensive workload for profiler.
package main

import (
	"log"
	"runtime"

	"cloud.google.com/go/profiler"
)

func busyloop() {
	for {
		load()
		// Make sure to yield so that the profiler thread
		// gets some CPU time even on single core machines
		// where GOMAXPROCS is 1. Not needed in real programs
		// as typically the preemption happens naturally.
		runtime.Gosched()
	}
}

func load() {
	for i := 0; i < (1 << 20); i++ {
	}
}

func main() {
	err := profiler.Start(profiler.Config{
		Service:              "hello-profiler",
		NoHeapProfiling:      true,
		NoAllocProfiling:     true,
		NoGoroutineProfiling: true,
		DebugLogging:         true,
		// ProjectID must be set if not running on GCP.
		// ProjectID: "my-project",
	})
	if err != nil {
		log.Fatalf("failed to start the profiler: %v", err)
	}
	busyloop()
}

¿Qué sigue?

A fin de buscar y filtrar muestras de código para otros productos de Google Cloud, consulta el navegador de muestra de Google Cloud.