Go 프로그램에서는 Prometheus를 사용하여 성능 지표를 모니터링하는 것이 중요합니다. Prometheus 도구를 설치하세요. Prometheus 클라이언트 라이브러리를 사용하여 MetricsHandler를 만듭니다. 요청을 처리할 HTTP 서버를 생성하려면 promhttp 모듈을 사용하십시오. 메트릭을 등록하려면 Prometheus.Register()를 사용하십시오. NewTimer() 및 ObserveDuration()을 사용하여 요청 대기 시간을 추적합니다. Prometheus 웹 UI에 액세스하여 성능 지표를 시각화하세요.
Prometheus를 활용하여 Go 프로그램 성능 지표 모니터링
Go 애플리케이션의 성능 지표 모니터링은 성능에 영향을 미칠 수 있는 병목 현상을 신속하게 식별하고 해결하는 데 중요합니다. Prometheus는 이러한 종류의 모니터링을 달성하는 데 도움이 되는 인기 있는 오픈 소스 도구입니다. 이 글을 통해 Prometheus를 사용하여 Go 프로그램의 성능 지표를 모니터링하는 방법과 실제 사례를 사용하여 설명하는 방법을 알아봅니다.
Prometheus 설치 및 구성
시스템에 Prometheus 설치:
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 서비스 시작:
cd prometheus-2.39.3.linux-amd64 ./prometheus
Prometheus 클라이언트 생성
Go 프로그램에서 Prometheus 클라이언트를 설치하세요:
go get github.com/prometheus/client_golang/prometheus go get github.com/prometheus/client_golang/prometheus/promhttp
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)) }
Go 프로그램 시작:
go run main.go
성능 지표 시각화
모범 사례
위 내용은 Golang 기술 성능 최적화에서 성능 지표를 모니터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!