diff --git a/metrics/metrics.go b/metrics/metrics.go index b90729ede5..e24324814c 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -35,25 +35,6 @@ func init() { Enabled = true } } - //exp.Exp(DefaultRegistry) -} - -// NewResettingTimer creates a new ResettingTimer, either a real one of a NOP stub depending -// on the metrics flag. -func NewResettingTimer(name string) metrics.ResettingTimer { - if !Enabled { - return new(metrics.NilResettingTimer) - } - return metrics.GetOrRegisterResettingTimer(name, metrics.DefaultRegistry) -} - -// NewGauge creates a new metrics Gauge, either a real one of a NOP stub depending -// on the metrics flag. -func NewGauge(name string) metrics.Gauge { - if !Enabled { - return new(metrics.NilGauge) - } - return metrics.GetOrRegisterGauge(name, metrics.DefaultRegistry) } // CollectProcessMetrics periodically collects various metrics about the running diff --git a/swarm/api/api.go b/swarm/api/api.go index 1cafa76339..0cf12fdbed 100644 --- a/swarm/api/api.go +++ b/swarm/api/api.go @@ -40,21 +40,21 @@ var hashMatcher = regexp.MustCompile("^[0-9A-Fa-f]{64}") //setup metrics var ( - apiResolveCount = metrics.NewCounter("api.resolve.count") - apiResolveFail = metrics.NewCounter("api.resolve.fail") - apiPutCount = metrics.NewCounter("api.put.count") - apiPutFail = metrics.NewCounter("api.put.fail") - apiGetCount = metrics.NewCounter("api.get.count") - apiGetNotFound = metrics.NewCounter("api.get.notfound") - apiGetHttp300 = metrics.NewCounter("api.get.http.300") - apiModifyCount = metrics.NewCounter("api.modify.count") - apiModifyFail = metrics.NewCounter("api.modify.fail") - apiAddFileCount = metrics.NewCounter("api.addfile.count") - apiAddFileFail = metrics.NewCounter("api.addfile.fail") - apiRmFileCount = metrics.NewCounter("api.removefile.count") - apiRmFileFail = metrics.NewCounter("api.removefile.fail") - apiAppendFileCount = metrics.NewCounter("api.appendfile.count") - apiAppendFileFail = metrics.NewCounter("api.appendfile.fail") + apiResolveCount = metrics.NewRegisteredCounter("api.resolve.count", nil) + apiResolveFail = metrics.NewRegisteredCounter("api.resolve.fail", nil) + apiPutCount = metrics.NewRegisteredCounter("api.put.count", nil) + apiPutFail = metrics.NewRegisteredCounter("api.put.fail", nil) + apiGetCount = metrics.NewRegisteredCounter("api.get.count", nil) + apiGetNotFound = metrics.NewRegisteredCounter("api.get.notfound", nil) + apiGetHttp300 = metrics.NewRegisteredCounter("api.get.http.300", nil) + apiModifyCount = metrics.NewRegisteredCounter("api.modify.count", nil) + apiModifyFail = metrics.NewRegisteredCounter("api.modify.fail", nil) + apiAddFileCount = metrics.NewRegisteredCounter("api.addfile.count", nil) + apiAddFileFail = metrics.NewRegisteredCounter("api.addfile.fail", nil) + apiRmFileCount = metrics.NewRegisteredCounter("api.removefile.count", nil) + apiRmFileFail = metrics.NewRegisteredCounter("api.removefile.fail", nil) + apiAppendFileCount = metrics.NewRegisteredCounter("api.appendfile.count", nil) + apiAppendFileFail = metrics.NewRegisteredCounter("api.appendfile.fail", nil) ) type Resolver interface { diff --git a/swarm/api/http/error.go b/swarm/api/http/error.go index 665b95d855..831cf23fe2 100644 --- a/swarm/api/http/error.go +++ b/swarm/api/http/error.go @@ -38,8 +38,8 @@ var templateMap map[int]*template.Template //metrics variables var ( - htmlCounter = metrics.NewCounter("api.http.errorpage.html.count") - jsonCounter = metrics.NewCounter("api.http.errorpage.json.count") + htmlCounter = metrics.NewRegisteredCounter("api.http.errorpage.html.count", nil) + jsonCounter = metrics.NewRegisteredCounter("api.http.errorpage.json.count", nil) ) //parameters needed for formatting the correct HTML page diff --git a/swarm/api/http/server.go b/swarm/api/http/server.go index 4bad4a1f15..67b44e67de 100644 --- a/swarm/api/http/server.go +++ b/swarm/api/http/server.go @@ -45,25 +45,25 @@ import ( //setup metrics var ( - postRawCount = metrics.NewCounter("api.http.post.raw.count") - postRawFail = metrics.NewCounter("api.http.post.raw.fail") - postFilesCount = metrics.NewCounter("api.http.post.files.count") - postFilesFail = metrics.NewCounter("api.http.post.files.fail") - deleteCount = metrics.NewCounter("api.http.delete.count") - deleteFail = metrics.NewCounter("api.http.delete.fail") - getCount = metrics.NewCounter("api.http.get.count") - getFail = metrics.NewCounter("api.http.get.fail") - getFileCount = metrics.NewCounter("api.http.get.file.count") - getFileNotFound = metrics.NewCounter("api.http.get.file.notfound") - getFileFail = metrics.NewCounter("api.http.get.file.fail") - getFilesCount = metrics.NewCounter("api.http.get.files.count") - getFilesFail = metrics.NewCounter("api.http.get.files.fail") - getListCount = metrics.NewCounter("api.http.get.list.count") - getListFail = metrics.NewCounter("api.http.get.list.fail") - requestCount = metrics.NewCounter("http.request.count") - htmlRequestCount = metrics.NewCounter("http.request.html.count") - jsonRequestCount = metrics.NewCounter("http.request.json.count") - requestTimer = metrics.NewResettingTimer("http.request.time") + postRawCount = metrics.NewRegisteredCounter("api.http.post.raw.count", nil) + postRawFail = metrics.NewRegisteredCounter("api.http.post.raw.fail", nil) + postFilesCount = metrics.NewRegisteredCounter("api.http.post.files.count", nil) + postFilesFail = metrics.NewRegisteredCounter("api.http.post.files.fail", nil) + deleteCount = metrics.NewRegisteredCounter("api.http.delete.count", nil) + deleteFail = metrics.NewRegisteredCounter("api.http.delete.fail", nil) + getCount = metrics.NewRegisteredCounter("api.http.get.count", nil) + getFail = metrics.NewRegisteredCounter("api.http.get.fail", nil) + getFileCount = metrics.NewRegisteredCounter("api.http.get.file.count", nil) + getFileNotFound = metrics.NewRegisteredCounter("api.http.get.file.notfound", nil) + getFileFail = metrics.NewRegisteredCounter("api.http.get.file.fail", nil) + getFilesCount = metrics.NewRegisteredCounter("api.http.get.files.count", nil) + getFilesFail = metrics.NewRegisteredCounter("api.http.get.files.fail", nil) + getListCount = metrics.NewRegisteredCounter("api.http.get.list.count", nil) + getListFail = metrics.NewRegisteredCounter("api.http.get.list.fail", nil) + requestCount = metrics.NewRegisteredCounter("http.request.count", nil) + htmlRequestCount = metrics.NewRegisteredCounter("http.request.html.count", nil) + jsonRequestCount = metrics.NewRegisteredCounter("http.request.json.count", nil) + requestTimer = metrics.NewRegisteredResettingTimer("http.request.time", nil) ) // ServerConfig is the basic configuration needed for the HTTP server and also diff --git a/swarm/metrics/flags.go b/swarm/metrics/flags.go index 9a5454144e..60e34e6e42 100644 --- a/swarm/metrics/flags.go +++ b/swarm/metrics/flags.go @@ -22,8 +22,7 @@ import ( "github.com/ethereum/go-ethereum/cmd/utils" "github.com/ethereum/go-ethereum/log" gethmetrics "github.com/ethereum/go-ethereum/metrics" - metrics "github.com/ethersphere/go-metrics" - influxdb "github.com/ethersphere/go-metrics-influxdb" + "github.com/ethereum/go-ethereum/metrics/influxdb" "gopkg.in/urfave/cli.v1" ) @@ -76,7 +75,7 @@ func Setup(ctx *cli.Context) { ) log.Info("Enabling swarm metrics collection and export") - go influxdb.InfluxDBWithTags(metrics.DefaultRegistry, 10*time.Second, endpoint, database, username, password, "swarm.", map[string]string{ + go influxdb.InfluxDBWithTags(gethmetrics.DefaultRegistry, 10*time.Second, endpoint, database, username, password, "swarm.", map[string]string{ "host": hosttag, }) } diff --git a/swarm/network/depo.go b/swarm/network/depo.go index 74ede676b3..5ffbf8be11 100644 --- a/swarm/network/depo.go +++ b/swarm/network/depo.go @@ -29,11 +29,11 @@ import ( //metrics variables var ( - syncReceiveCount = metrics.NewCounter("network.sync.recv.count") - syncReceiveIgnore = metrics.NewCounter("network.sync.recv.ignore") - syncSendCount = metrics.NewCounter("network.sync.send.count") - syncSendRefused = metrics.NewCounter("network.sync.send.refused") - syncSendNotFound = metrics.NewCounter("network.sync.send.notfound") + syncReceiveCount = metrics.NewRegisteredCounter("network.sync.recv.count", nil) + syncReceiveIgnore = metrics.NewRegisteredCounter("network.sync.recv.ignore", nil) + syncSendCount = metrics.NewRegisteredCounter("network.sync.send.count", nil) + syncSendRefused = metrics.NewRegisteredCounter("network.sync.send.refused", nil) + syncSendNotFound = metrics.NewRegisteredCounter("network.sync.send.notfound", nil) ) // Handler for storage/retrieval related protocol requests diff --git a/swarm/network/hive.go b/swarm/network/hive.go index 7aeeed53ff..8404ffcc2a 100644 --- a/swarm/network/hive.go +++ b/swarm/network/hive.go @@ -41,9 +41,9 @@ import ( // to keep the nodetable uptodate var ( - peersNumGauge = metrics.NewGauge("network.peers.num") - addPeerCounter = metrics.NewCounter("network.addpeer.count") - removePeerCounter = metrics.NewCounter("network.removepeer.count") + peersNumGauge = metrics.NewRegisteredGauge("network.peers.num", nil) + addPeerCounter = metrics.NewRegisteredCounter("network.addpeer.count", nil) + removePeerCounter = metrics.NewRegisteredCounter("network.removepeer.count", nil) ) type Hive struct { diff --git a/swarm/network/kademlia/kademlia.go b/swarm/network/kademlia/kademlia.go index 51211de1cd..b5999b52d4 100644 --- a/swarm/network/kademlia/kademlia.go +++ b/swarm/network/kademlia/kademlia.go @@ -25,7 +25,6 @@ import ( "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/metrics" - gometrics "github.com/ethersphere/go-metrics" ) //metrics variables @@ -33,8 +32,8 @@ import ( //at a certain index. Thus we do that with an array of counters with //entry for each index var ( - bucketAddIndexCount []gometrics.Counter - bucketRmIndexCount []gometrics.Counter + bucketAddIndexCount []metrics.Counter + bucketRmIndexCount []metrics.Counter ) const ( @@ -445,11 +444,11 @@ func (self *Kademlia) String() string { //We have to build up the array of counters for each index func (self *Kademlia) initMetricsVariables() { //create the arrays - bucketAddIndexCount = make([]gometrics.Counter, self.MaxProx+1) - bucketRmIndexCount = make([]gometrics.Counter, self.MaxProx+1) + bucketAddIndexCount = make([]metrics.Counter, self.MaxProx+1) + bucketRmIndexCount = make([]metrics.Counter, self.MaxProx+1) //at each index create a metrics counter for i := 0; i < (self.KadParams.MaxProx + 1); i++ { - bucketAddIndexCount[i] = metrics.NewCounter(fmt.Sprintf("network.kademlia.bucket.add.%d.index", i)) - bucketRmIndexCount[i] = metrics.NewCounter(fmt.Sprintf("network.kademlia.bucket.rm.%d.index", i)) + bucketAddIndexCount[i] = metrics.NewRegisteredCounter(fmt.Sprintf("network.kademlia.bucket.add.%d.index", i), nil) + bucketRmIndexCount[i] = metrics.NewRegisteredCounter(fmt.Sprintf("network.kademlia.bucket.rm.%d.index", i), nil) } } diff --git a/swarm/network/protocol.go b/swarm/network/protocol.go index 91698e4ede..1cbe00a973 100644 --- a/swarm/network/protocol.go +++ b/swarm/network/protocol.go @@ -48,15 +48,15 @@ import ( //metrics variables var ( - storeRequestMsgCounter = metrics.NewCounter("network.protocol.msg.storerequest.count") - retrieveRequestMsgCounter = metrics.NewCounter("network.protocol.msg.retrieverequest.count") - peersMsgCounter = metrics.NewCounter("network.protocol.msg.peers.count") - syncRequestMsgCounter = metrics.NewCounter("network.protocol.msg.syncrequest.count") - unsyncedKeysMsgCounter = metrics.NewCounter("network.protocol.msg.unsyncedkeys.count") - deliverRequestMsgCounter = metrics.NewCounter("network.protocol.msg.deliverrequest.count") - paymentMsgCounter = metrics.NewCounter("network.protocol.msg.payment.count") - invalidMsgCounter = metrics.NewCounter("network.protocol.msg.invalid.count") - handleStatusMsgCounter = metrics.NewCounter("network.protocol.msg.handlestatus.count") + storeRequestMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.storerequest.count", nil) + retrieveRequestMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.retrieverequest.count", nil) + peersMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.peers.count", nil) + syncRequestMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.syncrequest.count", nil) + unsyncedKeysMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.unsyncedkeys.count", nil) + deliverRequestMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.deliverrequest.count", nil) + paymentMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.payment.count", nil) + invalidMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.invalid.count", nil) + handleStatusMsgCounter = metrics.NewRegisteredCounter("network.protocol.msg.handlestatus.count", nil) ) const ( diff --git a/swarm/storage/chunker.go b/swarm/storage/chunker.go index 306512735d..2b397f8010 100644 --- a/swarm/storage/chunker.go +++ b/swarm/storage/chunker.go @@ -67,7 +67,7 @@ var ( //metrics variables var ( - newChunkCounter = metrics.NewCounter("storage.chunks.new") + newChunkCounter = metrics.NewRegisteredCounter("storage.chunks.new", nil) ) type TreeChunker struct { diff --git a/swarm/storage/dbstore.go b/swarm/storage/dbstore.go index 056a81f536..421bb061d5 100644 --- a/swarm/storage/dbstore.go +++ b/swarm/storage/dbstore.go @@ -41,8 +41,8 @@ import ( //metrics variables var ( - gcCounter = metrics.NewCounter("storage.db.dbstore.gc.count") - dbStoreDeleteCounter = metrics.NewCounter("storage.db.dbstore.rm.count") + gcCounter = metrics.NewRegisteredCounter("storage.db.dbstore.gc.count", nil) + dbStoreDeleteCounter = metrics.NewRegisteredCounter("storage.db.dbstore.rm.count", nil) ) const ( diff --git a/swarm/storage/localstore.go b/swarm/storage/localstore.go index 500c49f570..ece0c86155 100644 --- a/swarm/storage/localstore.go +++ b/swarm/storage/localstore.go @@ -24,7 +24,7 @@ import ( //metrics variables var ( - dbStorePutCounter = metrics.NewCounter("storage.db.dbstore.put.count") + dbStorePutCounter = metrics.NewRegisteredCounter("storage.db.dbstore.put.count", nil) ) // LocalStore is a combination of inmemory db over a disk persisted db diff --git a/swarm/storage/memstore.go b/swarm/storage/memstore.go index 2247502078..d6be542203 100644 --- a/swarm/storage/memstore.go +++ b/swarm/storage/memstore.go @@ -28,8 +28,8 @@ import ( //metrics variables var ( - memstorePutCounter = metrics.NewCounter("storage.db.memstore.put.count") - memstoreRemoveCounter = metrics.NewCounter("storage.db.memstore.rm.count") + memstorePutCounter = metrics.NewRegisteredCounter("storage.db.memstore.put.count", nil) + memstoreRemoveCounter = metrics.NewRegisteredCounter("storage.db.memstore.rm.count", nil) ) const ( diff --git a/swarm/swarm.go b/swarm/swarm.go index 7482872e20..0a120db1fa 100644 --- a/swarm/swarm.go +++ b/swarm/swarm.go @@ -50,11 +50,11 @@ import ( var ( startTime time.Time updateGaugesPeriod = 5 * time.Second - startCounter = metrics.NewCounter("stack,start") - stopCounter = metrics.NewCounter("stack,stop") - uptimeGauge = metrics.NewGauge("stack.uptime") - dbSizeGauge = metrics.NewGauge("storage.db.chunks.size") - cacheSizeGauge = metrics.NewGauge("storage.db.cache.size") + startCounter = metrics.NewRegisteredCounter("stack,start", nil) + stopCounter = metrics.NewRegisteredCounter("stack,stop", nil) + uptimeGauge = metrics.NewRegisteredGauge("stack.uptime", nil) + dbSizeGauge = metrics.NewRegisteredGauge("storage.db.chunks.size", nil) + cacheSizeGauge = metrics.NewRegisteredGauge("storage.db.cache.size", nil) ) // the swarm stack @@ -329,7 +329,7 @@ func (self *Swarm) periodicallyUpdateGauges() { ticker := time.NewTicker(updateGaugesPeriod) go func() { - for _ = range ticker.C { + for range ticker.C { self.updateGauges() } }()