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 ¶
GatherResponse is the response type of registered metrics
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.