gobuch/microservices/prometheus-metrics/main.go

37 lines
866 B
Go
Raw Permalink Normal View History

2020-08-21 04:26:40 +00:00
package main
import (
"fmt"
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
var (
postCallsCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "myapp_processed_post_total",
Help: "The total number of POST requests",
})
getCallsCounter = promauto.NewCounter(prometheus.CounterOpts{
Name: "myapp_processed_get_total",
Help: "The total number of GET requests",
})
)
func main() {
http.HandleFunc("/do", func(rs http.ResponseWriter, rq *http.Request) {
if rq.Method == http.MethodPost {
postCallsCounter.Add(1)
} else if rq.Method == http.MethodGet {
getCallsCounter.Add(1)
}
fmt.Fprintln(rs, "Hello World")
})
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8080", nil)
}