Go – Kurzanleitung

Das Beispiel profiler_quickstart simuliert eine CPU-intensive Arbeitslast für Cloud Profiler in Go.

Codebeispiel

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Profiler API für Go.

Richten Sie zur Authentifizierung bei Profiler Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// 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()
}

Nächste Schritte

Wenn Sie nach Codebeispielen für andere Google Cloud -Produkte suchen und filtern möchten, können Sie den Google Cloud -Beispielbrowser verwenden.