summaryrefslogtreecommitdiff
path: root/cli/daemon.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2020-09-27 16:01:06 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net> 2020-09-27 20:04:48 -0700
commitc394a61a4e1fe395191262ed1ccaf70b90a71484 (patch)
treeca3080c4eeb29f3a01d47676be9521334e0696cd /cli/daemon.go
parent16b7b3bc3e4237abbacdf8695a685ca9a03dc5bb (diff)
downloadv2-c394a61a4e1fe395191262ed1ccaf70b90a71484.tar.gz
v2-c394a61a4e1fe395191262ed1ccaf70b90a71484.tar.zst
v2-c394a61a4e1fe395191262ed1ccaf70b90a71484.zip
Add Prometheus exporter
Diffstat (limited to 'cli/daemon.go')
-rw-r--r--cli/daemon.go20
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)
- }
-}