Documentation ¶
Index ¶
- Constants
- func IncrCounter(val float32, keys ...string)
- func IncrCounterWithLabels(keys []string, val float32, labels []metrics.Label)
- func MeasureSince(start time.Time, keys ...string)
- func ModuleMeasureSince(module string, start time.Time, keys ...string)
- func ModuleSetGauge(module string, val float32, keys ...string)
- func NewLabel(name, value string) metrics.Label
- func SetGauge(val float32, keys ...string)
- func SetGaugeWithLabels(keys []string, val float32, labels []metrics.Label)
- type Config
- type GatherResponse
- type Metrics
Constants ¶
const ( FormatDefault = "" FormatPrometheus = "prometheus" FormatText = "text" )
Metrics supported format types.
const ( MetricKeyBeginBlocker = "begin_blocker" MetricKeyEndBlocker = "end_blocker" MetricLabelNameModule = "module" )
Common metric key constants
Variables ¶
This section is empty.
Functions ¶
func IncrCounter ¶
IncrCounter provides a wrapper functionality for emitting a counter metric with global labels (if any).
func IncrCounterWithLabels ¶
IncrCounterWithLabels provides a wrapper functionality for emitting a counter metric with global labels (if any) along with the provided labels.
func MeasureSince ¶
MeasureSince provides a wrapper functionality for emitting a a time measure metric with global labels (if any).
func ModuleMeasureSince ¶
ModuleMeasureSince provides a short hand method for emitting a time measure metric for a module with a given set of keys. If any global labels are defined, they will be added to the module label.
func ModuleSetGauge ¶
ModuleSetGauge provides a short hand method for emitting a gauge metric for a module with a given set of keys. If any global labels are defined, they will be added to the module label.
Types ¶
type Config ¶
type Config struct { // Prefixed with keys to separate services ServiceName string `mapstructure:"service-name"` // Enabled enables the application telemetry functionality. When enabled, // an in-memory sink is also enabled by default. Operators may also enabled // other sinks such as Prometheus. Enabled bool `mapstructure:"enabled"` // Enable prefixing gauge values with hostname EnableHostname bool `mapstructure:"enable-hostname"` // Enable adding hostname to labels EnableHostnameLabel bool `mapstructure:"enable-hostname-label"` // Enable adding service to labels EnableServiceLabel bool `mapstructure:"enable-service-label"` // PrometheusRetentionTime, when positive, enables a Prometheus metrics sink. // It defines the retention duration in seconds. PrometheusRetentionTime int64 `mapstructure:"prometheus-retention-time"` // GlobalLabels defines a global set of name/value label tuples applied to all // metrics emitted using the wrapper functions defined in telemetry package. // // Example: // [["chain_id", "cosmoshub-1"]] GlobalLabels [][]string `mapstructure:"global-labels"` }
Config defines the configuration options for application telemetry.
type GatherResponse ¶
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
Metrics defines a wrapper around application telemetry functionality. It allows metrics to be gathered at any point in time. When creating a Metrics object, internally, a global metrics is registered with a set of sinks as configured by the operator. In addition to the sinks, when a process gets a SIGUSR1, a dump of formatted recent metrics will be sent to STDERR.