From 3934490e129cceeecc80267327c423b0749e8f60 Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Mon, 3 Dec 2018 14:24:20 +0100 Subject: [PATCH] swarm/shed: unexport Meter, remove Mutex for quit channel --- swarm/shed/db.go | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/swarm/shed/db.go b/swarm/shed/db.go index d1146198ab..7377e12d2d 100644 --- a/swarm/shed/db.go +++ b/swarm/shed/db.go @@ -27,7 +27,6 @@ import ( "fmt" "strconv" "strings" - "sync" "time" "github.com/ethereum/go-ethereum/metrics" @@ -57,7 +56,6 @@ type DB struct { diskReadMeter metrics.Meter // Meter for measuring the effective amount of data read diskWriteMeter metrics.Meter // Meter for measuring the effective amount of data written - quitLock sync.Mutex // Mutex protecting the quit channel access quitChan chan chan error // Quit channel to stop the metrics collection before closing the database } @@ -89,7 +87,13 @@ func NewDB(path string, metricsPrefix string) (db *DB, err error) { } } - db.Meter(metricsPrefix) + // Configure meters for DB + db.configure(metricsPrefix) + + // Create a quit channel for the periodic metrics collector and run it + db.quitChan = make(chan chan error) + + go db.meter(10 * time.Second) return db, nil } @@ -155,8 +159,8 @@ func (db *DB) Close() (err error) { return db.ldb.Close() } -// Meter configures the database metrics collectors -func (db *DB) Meter(prefix string) { +// Configure configures the database metrics collectors +func (db *DB) configure(prefix string) { // Initialize all the metrics collector at the requested prefix db.compTimeMeter = metrics.NewRegisteredMeter(prefix+"compact/time", nil) db.compReadMeter = metrics.NewRegisteredMeter(prefix+"compact/input", nil) @@ -165,13 +169,6 @@ func (db *DB) Meter(prefix string) { db.diskWriteMeter = metrics.NewRegisteredMeter(prefix+"disk/write", nil) db.writeDelayMeter = metrics.NewRegisteredMeter(prefix+"compact/writedelay/duration", nil) db.writeDelayNMeter = metrics.NewRegisteredMeter(prefix+"compact/writedelay/counter", nil) - - // Create a quit channel for the periodic collector and run it - db.quitLock.Lock() - db.quitChan = make(chan chan error) - db.quitLock.Unlock() - - go db.meter(10 * time.Second) } func (db *DB) meter(refresh time.Duration) {