mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 14:21:14 +00:00
## What does this change do? This pull request completes the change to the `metricsgen` metrics. It adds `go generate` directives to all of the files containing the `Metrics` structs. Using the outputs of `metricsdiff` between these generated metrics and `master`, we can see that there is not a diff between the two sets of metrics when run locally. ``` [william@sidewinder] tendermint[wb/metrics-gen-transition]:. ◆ ./scripts/metricsgen/metricsdiff/metricsdiff metrics_master metrics_generated [william@sidewinder] tendermint[wb/metrics-gen-transition]:. ◆ ``` This change also adds parsing for a `metrics:` key in a field comment. If a comment line begins with `//metrics:` the rest of the line is interpreted to be the metric help text. Additionally, a bug where lists of labels were not properly quoted in the `metricsgen` rendered output was fixed.
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package mempool
|
|
|
|
import (
|
|
"github.com/go-kit/kit/metrics"
|
|
)
|
|
|
|
const (
|
|
// MetricsSubsystem is a subsystem shared by all metrics exposed by this
|
|
// package.
|
|
MetricsSubsystem = "mempool"
|
|
)
|
|
|
|
//go:generate go run ../../scripts/metricsgen -struct=Metrics
|
|
|
|
// Metrics contains metrics exposed by this package.
|
|
// see MetricsProvider for descriptions.
|
|
type Metrics struct {
|
|
// Number of uncommitted transactions in the mempool.
|
|
Size metrics.Gauge
|
|
|
|
// Histogram of transaction sizes in bytes.
|
|
TxSizeBytes metrics.Histogram `metrics_buckettype:"exp" metrics_bucketsizes:"1,3,7"`
|
|
|
|
// Number of failed transactions.
|
|
FailedTxs metrics.Counter
|
|
|
|
// RejectedTxs defines the number of rejected transactions. These are
|
|
// transactions that passed CheckTx but failed to make it into the mempool
|
|
// due to resource limits, e.g. mempool is full and no lower priority
|
|
// transactions exist in the mempool.
|
|
//metrics:Number of rejected transactions.
|
|
RejectedTxs metrics.Counter
|
|
|
|
// EvictedTxs defines the number of evicted transactions. These are valid
|
|
// transactions that passed CheckTx and existed in the mempool but were later
|
|
// evicted to make room for higher priority valid transactions that passed
|
|
// CheckTx.
|
|
//metrics:Number of evicted transactions.
|
|
EvictedTxs metrics.Counter
|
|
|
|
// Number of times transactions are rechecked in the mempool.
|
|
RecheckTimes metrics.Counter
|
|
}
|