Skip to content

Commit

Permalink
swarm, metrics: resolved conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
nonsense committed Feb 23, 2018
1 parent 13aa42e commit 53c8785
Show file tree
Hide file tree
Showing 14 changed files with 73 additions and 94 deletions.
19 changes: 0 additions & 19 deletions metrics/metrics.go
Expand Up @@ -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
Expand Down
30 changes: 15 additions & 15 deletions swarm/api/api.go
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions swarm/api/http/error.go
Expand Up @@ -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
Expand Down
38 changes: 19 additions & 19 deletions swarm/api/http/server.go
Expand Up @@ -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
Expand Down
5 changes: 2 additions & 3 deletions swarm/metrics/flags.go
Expand Up @@ -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"
)

Expand Down Expand Up @@ -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,
})
}
Expand Down
10 changes: 5 additions & 5 deletions swarm/network/depo.go
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions swarm/network/hive.go
Expand Up @@ -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 {
Expand Down
13 changes: 6 additions & 7 deletions swarm/network/kademlia/kademlia.go
Expand Up @@ -25,16 +25,15 @@ import (

"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/metrics"
gometrics "github.com/ethersphere/go-metrics"
)

//metrics variables
//For metrics, we want to count how many times peers are added/removed
//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 (
Expand Down Expand Up @@ -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)
}
}
18 changes: 9 additions & 9 deletions swarm/network/protocol.go
Expand Up @@ -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 (
Expand Down
2 changes: 1 addition & 1 deletion swarm/storage/chunker.go
Expand Up @@ -67,7 +67,7 @@ var (

//metrics variables
var (
newChunkCounter = metrics.NewCounter("storage.chunks.new")
newChunkCounter = metrics.NewRegisteredCounter("storage.chunks.new", nil)
)

type TreeChunker struct {
Expand Down
4 changes: 2 additions & 2 deletions swarm/storage/dbstore.go
Expand Up @@ -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 (
Expand Down
2 changes: 1 addition & 1 deletion swarm/storage/localstore.go
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions swarm/storage/memstore.go
Expand Up @@ -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 (
Expand Down
12 changes: 6 additions & 6 deletions swarm/swarm.go
Expand Up @@ -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
Expand Down Expand Up @@ -329,7 +329,7 @@ func (self *Swarm) periodicallyUpdateGauges() {
ticker := time.NewTicker(updateGaugesPeriod)

go func() {
for _ = range ticker.C {
for range ticker.C {
self.updateGauges()
}
}()
Expand Down

0 comments on commit 53c8785

Please sign in to comment.