chore: coding style (#4037)

This commit is contained in:
Kevin Wan 2024-04-03 22:55:52 +08:00 committed by GitHub
parent 968727412d
commit 08563482e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 7 deletions

View File

@ -9,5 +9,5 @@ type Config struct {
HealthPath string `json:",default=/healthz"`
EnableMetrics bool `json:",default=true"`
EnablePprof bool `json:",default=true"`
HealthRespInfo string `json:",default=OK"`
HealthResponse string `json:",default=OK"`
}

View File

@ -16,8 +16,8 @@ import (
var once sync.Once
// Server is inner http server, expose some useful observability information of app.
// For example health check, metrics and pprof.
// Server is an inner http server, expose some useful observability information of app.
// For example, health check, metrics and pprof.
type Server struct {
config Config
server *http.ServeMux
@ -37,8 +37,9 @@ func (s *Server) addRoutes(c Config) {
s.handleFunc("/", func(w http.ResponseWriter, _ *http.Request) {
_ = json.NewEncoder(w).Encode(s.routes)
})
// health
s.handleFunc(s.config.HealthPath, health.CreateHttpHandler(c.HealthRespInfo))
s.handleFunc(s.config.HealthPath, health.CreateHttpHandler(c.HealthResponse))
// metrics
if s.config.EnableMetrics {
@ -46,6 +47,7 @@ func (s *Server) addRoutes(c Config) {
prometheus.Enable()
s.handleFunc(s.config.MetricsPath, promhttp.Handler().ServeHTTP)
}
// pprof
if s.config.EnablePprof {
s.handleFunc("/debug/pprof/", pprof.Index)

View File

@ -13,7 +13,7 @@ import (
var defaultHealthManager = newComboHealthManager()
type (
// Probe represents readiness status of given component.
// Probe represents readiness status of a given component.
Probe interface {
// MarkReady sets a ready state for the endpoint handlers.
MarkReady()
@ -44,10 +44,10 @@ func AddProbe(probe Probe) {
}
// CreateHttpHandler create health http handler base on given probe.
func CreateHttpHandler(healthRespInfo string) http.HandlerFunc {
func CreateHttpHandler(healthResponse string) http.HandlerFunc {
return func(w http.ResponseWriter, _ *http.Request) {
if defaultHealthManager.IsReady() {
_, _ = w.Write([]byte(healthRespInfo))
_, _ = w.Write([]byte(healthResponse))
} else {
http.Error(w, "Service Unavailable\n"+defaultHealthManager.verboseInfo(),
http.StatusServiceUnavailable)