diff options
Diffstat (limited to 'cli/daemon.go')
-rw-r--r-- | cli/daemon.go | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/cli/daemon.go b/cli/daemon.go index 52039452..2ee6392e 100644 --- a/cli/daemon.go +++ b/cli/daemon.go @@ -9,12 +9,12 @@ import ( "net/http" "os" "os/signal" - "runtime" "syscall" "time" "miniflux.app/config" "miniflux.app/logger" + "miniflux.app/metric" "miniflux.app/reader/feed" "miniflux.app/service/httpd" "miniflux.app/service/scheduler" @@ -32,8 +32,6 @@ func startDaemon(store *storage.Storage) { feedHandler := feed.NewFeedHandler(store) pool := worker.NewPool(feedHandler, config.Opts.WorkerPoolSize()) - go showProcessStatistics() - if config.Opts.HasSchedulerService() && !config.Opts.HasMaintenanceMode() { scheduler.Serve(store, pool) } @@ -43,6 +41,11 @@ func startDaemon(store *storage.Storage) { httpServer = httpd.Serve(store, pool, feedHandler) } + if config.Opts.HasMetricsCollector() { + collector := metric.NewCollector(store, config.Opts.MetricsRefreshInterval()) + go collector.GatherStorageMetrics() + } + <-stop logger.Info("Shutting down the process...") ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) @@ -54,14 +57,3 @@ func startDaemon(store *storage.Storage) { logger.Info("Process gracefully stopped") } - -func showProcessStatistics() { - for { - var m runtime.MemStats - runtime.ReadMemStats(&m) - logger.Debug("Sys=%vK, InUse=%vK, HeapInUse=%vK, StackSys=%vK, StackInUse=%vK, GoRoutines=%d, NumCPU=%d", - m.Sys/1024, (m.Sys-m.HeapReleased)/1024, m.HeapInuse/1024, m.StackSys/1024, m.StackInuse/1024, - runtime.NumGoroutine(), runtime.NumCPU()) - time.Sleep(30 * time.Second) - } -} |