From 756985882a4ee4418f5c8974a6ce9bc7b60f0065 Mon Sep 17 00:00:00 2001 From: Adrian Zuercher Date: Sun, 24 Aug 2025 08:33:25 +0200 Subject: [PATCH] remove memory and garbage collection infos --- statusServer.go | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/statusServer.go b/statusServer.go index 8f6635e..bdba43e 100644 --- a/statusServer.go +++ b/statusServer.go @@ -1,10 +1,8 @@ package statusServer import ( - "context" "fmt" "net/http" - "runtime" "strings" "time" @@ -97,56 +95,12 @@ func NewStatusServer(config models.Config) (*StatusServer, error) { return s, nil } -// ServeHttp starts the HTTP server and continuously publishes runtime metrics -// (memory allocation + GC count) to the "info" topic. -// +// ServeHttp starts the HTTP server // It blocks until the HTTP server stops. Resources are cleaned up on shutdown: // PubSub is closed and a shutdown message is logged. func (s *StatusServer) ServeHttp() error { s.log.Debug("ServeHttp", "start publishing runtime metrics (memory + GC count)") - // create cancellable context for metrics goroutine - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - // metrics publisher goroutine - go func() { - for { - var init bool - var m runtime.MemStats - var oldM uint64 - var oldGc uint32 - var info struct { - Memory uint64 `json:"memory"` - GC uint32 `json:"gc"` - } - - ticker := time.NewTicker(500 * time.Millisecond) - defer ticker.Stop() - - for { - select { - case <-ctx.Done(): - // stop publishing if context is canceled - return - case <-ticker.C: - // read runtime memory statistics - runtime.ReadMemStats(&m) - info.GC = m.NumGC - - // publish only when values changed or first run - if oldGc != m.NumGC || oldM != m.Alloc/1024 || !init { - info.Memory = m.Alloc / 1024 - s.pubSub.Publish("info", info) - oldGc = m.NumGC - oldM = m.Alloc / 1024 - init = true - } - } - } - } - }() - // log startup s.log.Info("ServeHttp", fmt.Sprintf("start listening on %s:%d", s.Ip, s.Port))