github.com/onflow/flow-go@v0.35.7-crescendo-preview.23-atree-inlining/module/metrics/rate_limited_blockstore.go (about) 1 package metrics 2 3 import ( 4 "github.com/prometheus/client_golang/prometheus" 5 "github.com/prometheus/client_golang/prometheus/promauto" 6 7 "github.com/onflow/flow-go/module" 8 ) 9 10 type RateLimitedBlockstoreCollector struct { 11 bytesRead prometheus.Counter 12 } 13 14 func NewRateLimitedBlockstoreCollector(prefix string) module.RateLimitedBlockstoreMetrics { 15 return &RateLimitedBlockstoreCollector{ 16 bytesRead: promauto.NewCounter(prometheus.CounterOpts{ 17 Namespace: namespaceStateSync, 18 Subsystem: subsystemExeDataBlobstore, 19 Name: prefix + "_bytes_read", 20 Help: "number of bytes read from the blockstore", 21 }), 22 } 23 } 24 25 func (r *RateLimitedBlockstoreCollector) BytesRead(n int) { 26 r.bytesRead.Add(float64(n)) 27 }