Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Gauges = []prometheus.GaugeDefinition{ { Name: []string{"consul", "state", "nodes"}, Help: "Measures the current number of nodes registered with Consul. It is only emitted by Consul servers. Added in v1.9.0.", }, { Name: []string{"consul", "state", "peerings"}, Help: "Measures the current number of peerings registered with Consul. It is only emitted by Consul servers. Added in v1.13.0.", }, { Name: []string{"consul", "state", "services"}, Help: "Measures the current number of unique services registered with Consul, based on service name. It is only emitted by Consul servers. Added in v1.9.0.", }, { Name: []string{"consul", "state", "service_instances"}, Help: "Measures the current number of unique services registered with Consul, based on service name. It is only emitted by Consul servers. Added in v1.9.0.", }, { Name: []string{"consul", "members", "clients"}, Help: "Measures the current number of client agents registered with Consul. It is only emitted by Consul servers. Added in v1.9.6.", }, { Name: []string{"consul", "members", "servers"}, Help: "Measures the current number of server agents registered with Consul. It is only emitted by Consul servers. Added in v1.9.6.", }, { Name: []string{"consul", "state", "kv_entries"}, Help: "Measures the current number of entries in the Consul KV store. It is only emitted by Consul servers. Added in v1.10.3.", }, { Name: []string{"consul", "state", "connect_instances"}, Help: "Measures the current number of unique connect service instances registered with Consul, labeled by Kind. It is only emitted by Consul servers. Added in v1.10.4.", }, { Name: []string{"consul", "state", "config_entries"}, Help: "Measures the current number of unique configuration entries registered with Consul, labeled by Kind. It is only emitted by Consul servers. Added in v1.10.4.", }, { Name: []string{"consul", "state", "billable_service_instances"}, Help: "Total number of billable service instances in the local datacenter.", }, }
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config holds the settings for various parameters for the UsageMetricsReporter
func (*Config) WithDatacenter ¶
WithDatacenter adds the datacenter as a label to all metrics emitted by the UsageMetricsReporter
func (*Config) WithGetMembersFunc ¶ added in v1.9.6
WithGetMembersFunc specifies the function used to identify cluster members
func (*Config) WithLogger ¶
WithLogger takes a logger and creates a new, named sub-logger to use when running
func (*Config) WithReportingInterval ¶
WithReportingInterval specifies the interval on which UsageMetricsReporter should emit metrics
func (*Config) WithStateProvider ¶
func (c *Config) WithStateProvider(sp StateProvider) *Config
type StateProvider ¶
StateProvider defines an inteface for retrieving a state.Store handle. In non-test code, this is satisfied by the fsm.FSM struct.
type UsageMetricsReporter ¶
type UsageMetricsReporter struct {
// contains filtered or unexported fields
}
UsageMetricsReporter provides functionality for emitting usage metrics into the metrics stream. This makes it essentially a translation layer between the state store and metrics stream.
func NewUsageMetricsReporter ¶
func NewUsageMetricsReporter(cfg *Config) (*UsageMetricsReporter, error)
func (*UsageMetricsReporter) Run ¶
func (u *UsageMetricsReporter) Run(ctx context.Context)
Run must be run in a goroutine, and can be stopped by closing or sending data to the passed in shutdownCh