Rename config.yaml to example and add config.yaml to gitignore, make Metrics optional and configurable

This commit is contained in:
Pablu23
2025-10-15 13:15:56 +02:00
parent 28d9c58a66
commit f4ca559a26
5 changed files with 79 additions and 77 deletions

View File

@@ -61,11 +61,11 @@ func main() {
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
<-sigs
log.Info().Msg("Stopping server")
server.Shutdown(context.Background())
pipeline.Stop()
wg.Done()
}()
if config.Server.Ssl.Enabled {
@@ -127,8 +127,14 @@ func configureMiddleware(config *domainrouter.Config) *middleware.Pipeline {
pipeline.AddMiddleware(&middleware.RequestLogger{})
}
metrics := middleware.NewMetrics(512, 1*time.Minute, "tmp_metrics.json")
pipeline.AddMiddleware(metrics)
if config.Metrics.Enabled {
flushInterval, err := time.ParseDuration(config.Metrics.FlushInterval)
if err != nil {
log.Fatal().Err(err).Str("flush_interval", config.Metrics.FlushInterval).Msg("Could not parse FlushInterval")
}
metrics := middleware.NewMetrics(config.Metrics.BufferSize, flushInterval, config.Metrics.File)
pipeline.AddMiddleware(metrics)
}
return pipeline
}