In Go-Programmen ist es wichtig, Prometheus zur Überwachung von Leistungsindikatoren zu verwenden: Installieren Sie das Prometheus-Tool. Erstellen Sie MetricsHandler mithilfe der Prometheus-Clientbibliothek. Verwenden Sie das promhttp-Modul, um einen HTTP-Server zur Bearbeitung von Anfragen zu erstellen. Verwenden Sie Prometheus.Register(), um Metriken zu registrieren. Verwenden Sie NewTimer() und ObserveDuration(), um die Anforderungslatenz zu verfolgen. Greifen Sie auf die Web-Benutzeroberfläche von Prometheus zu, um Leistungsmetriken zu visualisieren.
Verwenden Sie Prometheus zur Überwachung der Leistungsmetriken von Go-Programmen.
Die Überwachung von Leistungsmetriken in Go-Anwendungen ist entscheidend, um Engpässe, die sich auf die Leistung auswirken können, schnell zu erkennen und zu beheben. Prometheus ist ein beliebtes Open-Source-Tool, das uns bei dieser Art der Überwachung hilft. In diesem Artikel erfahren Sie, wie Sie mit Prometheus die Leistungsindikatoren von Go-Programmen überwachen und anhand realer Fälle veranschaulichen.
Prometheus installieren und konfigurieren
Prometheus auf Ihrem System installieren:
wget https://github.com/prometheus/prometheus/releases/download/v2.39.3/prometheus-2.39.3.linux-amd64.tar.gz tar -xzvf prometheus-2.39.3.linux-amd64.tar.gz
Prometheus-Dienst starten:
cd prometheus-2.39.3.linux-amd64 ./prometheus
Prometheus-Client erstellen
In Ihrem Go-Programm Installieren Sie den Prometheus-Client:
go get github.com/prometheus/client_golang/prometheus go get github.com/prometheus/client_golang/prometheus/promhttp
Erstellen Sie einen MetricsHandler:
package main import ( "log" "net/http" "time" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" ) const ( // RequestDuration defines the prometheus metric to track the time elapsed // for the handling of incoming requests RequestDuration = "http_server_request_duration_seconds" ) var requestDuration = prometheus.NewHistogram(prometheus.HistogramOpts{ Name: RequestDuration, Help: "HTTP server request duration in seconds.", Buckets: []float64{0.1, 0.3, 0.5, 0.75, 1}, }) func main() { // Register the RequestDuration metric prometheus.Register(requestDuration) // Create a new HTTP Server with a MetricsHandler http.Handle("/metrics", promhttp.Handler()) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { timer := prometheus.NewTimer(requestDuration.WithLabelValues(r.URL.Path)) defer timer.ObserveDuration() time.Sleep(time.Millisecond * 100) }) // Start the server log.Fatal(http.ListenAndServe(":8080", nil)) }
Starten Sie das Go-Programm:
go run main.go
Visualisieren Sie Leistungsindikatoren
Best Practices
Das obige ist der detaillierte Inhalt vonWie kann man Leistungsindikatoren bei der Leistungsoptimierung der Golang-Technologie überwachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!