mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-01-23 09:00:20 +08:00
chore: coding style (#4037)
This commit is contained in:
parent
968727412d
commit
08563482e5
@ -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"`
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user