Documentation ¶
Index ¶
- Constants
- func Instrument(method, path string, action func(*contextmodel.ReqContext) response.Response, ...) web.Handler
- func MakeLabelValue(path string) string
- type API
- type Alertmanager
- type AlertmanagerAggregatedMetrics
- type Historian
- type MultiOrgAlertmanager
- type NGAlert
- type OrgRegistries
- type Scheduler
- type State
Constants ¶
const ( GrafanaBackend = "grafana" ProxyBackend = "proxy" Namespace = "grafana" Subsystem = "alerting" )
const ( AlertRuleActiveLabelValue = "active" AlertRulePausedLabelValue = "paused" )
Variables ¶
This section is empty.
Functions ¶
func Instrument ¶
func Instrument( method, path string, action func(*contextmodel.ReqContext) response.Response, metrics *API, ) web.Handler
Instrument wraps a middleware, instrumenting the request latencies.
func MakeLabelValue ¶
MakeLabelValue normalizes a path template
Types ¶
type API ¶
type API struct {
RequestDuration *prometheus.HistogramVec
}
func NewAPIMetrics ¶
func NewAPIMetrics(r prometheus.Registerer) *API
type Alertmanager ¶
type Alertmanager struct { Registerer prometheus.Registerer *metrics.Alerts }
func NewAlertmanagerMetrics ¶
func NewAlertmanagerMetrics(r prometheus.Registerer) *Alertmanager
NewAlertmanagerMetrics creates a set of metrics for the Alertmanager of each organization.
type AlertmanagerAggregatedMetrics ¶
type AlertmanagerAggregatedMetrics struct {
// contains filtered or unexported fields
}
AlertmanagerAggregatedMetrics are metrics collected directly from the registry. Unlike metrics.Alertmanager they are not called within this codebase hence the need for direct collection.
func NewAlertmanagerAggregatedMetrics ¶
func NewAlertmanagerAggregatedMetrics(registries *metrics.TenantRegistries) *AlertmanagerAggregatedMetrics
func (*AlertmanagerAggregatedMetrics) Collect ¶
func (a *AlertmanagerAggregatedMetrics) Collect(out chan<- prometheus.Metric)
func (*AlertmanagerAggregatedMetrics) Describe ¶
func (a *AlertmanagerAggregatedMetrics) Describe(out chan<- *prometheus.Desc)
type Historian ¶
type Historian struct { Info *prometheus.GaugeVec TransitionsTotal *prometheus.CounterVec TransitionsFailed *prometheus.CounterVec WritesTotal *prometheus.CounterVec WritesFailed *prometheus.CounterVec WriteDuration *instrument.HistogramCollector BytesWritten prometheus.Counter }
func NewHistorianMetrics ¶
func NewHistorianMetrics(r prometheus.Registerer) *Historian
type MultiOrgAlertmanager ¶
type MultiOrgAlertmanager struct { Registerer prometheus.Registerer ActiveConfigurations prometheus.Gauge DiscoveredConfigurations prometheus.Gauge // contains filtered or unexported fields }
func NewMultiOrgAlertmanagerMetrics ¶
func NewMultiOrgAlertmanagerMetrics(r prometheus.Registerer) *MultiOrgAlertmanager
func (*MultiOrgAlertmanager) GetOrCreateOrgRegistry ¶
func (moa *MultiOrgAlertmanager) GetOrCreateOrgRegistry(id int64) prometheus.Registerer
GetOrCreateOrgRegistry gets or creates a *prometheus.Registry for the specified org. It is safe to call concurrently.
func (*MultiOrgAlertmanager) RemoveOrgRegistry ¶
func (moa *MultiOrgAlertmanager) RemoveOrgRegistry(id int64)
RemoveOrgRegistry removes the *prometheus.Registry for the specified org. It is safe to call concurrently.
type NGAlert ¶
type NGAlert struct { // Registerer is used by subcomponents which register their own metrics. Registerer prometheus.Registerer // contains filtered or unexported fields }
func NewNGAlert ¶
func NewNGAlert(r prometheus.Registerer) *NGAlert
NewNGAlert manages the metrics of all the alerting components.
func ProvideServiceForTest ¶
func ProvideServiceForTest() *NGAlert
ProvideServiceForTest is a Metrics factory used for test.
func (*NGAlert) GetAPIMetrics ¶
func (*NGAlert) GetHistorianMetrics ¶
func (*NGAlert) GetMultiOrgAlertmanagerMetrics ¶
func (ng *NGAlert) GetMultiOrgAlertmanagerMetrics() *MultiOrgAlertmanager
func (*NGAlert) GetSchedulerMetrics ¶
func (*NGAlert) GetStateMetrics ¶
type OrgRegistries ¶
type OrgRegistries struct {
// contains filtered or unexported fields
}
OrgRegistries represents a map of registries per org.
func NewOrgRegistries ¶
func NewOrgRegistries() *OrgRegistries
func (*OrgRegistries) GetOrCreateOrgRegistry ¶
func (m *OrgRegistries) GetOrCreateOrgRegistry(orgID int64) prometheus.Registerer
GetOrCreateOrgRegistry gets or creates a *prometheus.Registry for the specified org. It is safe to call concurrently.
func (*OrgRegistries) RemoveOrgRegistry ¶
func (m *OrgRegistries) RemoveOrgRegistry(org int64)
RemoveOrgRegistry removes the *prometheus.Registry for the specified org. It is safe to call concurrently.
type Scheduler ¶
type Scheduler struct { Registerer prometheus.Registerer BehindSeconds prometheus.Gauge EvalTotal *prometheus.CounterVec EvalFailures *prometheus.CounterVec EvalDuration *prometheus.HistogramVec GroupRules *prometheus.GaugeVec SchedulePeriodicDuration prometheus.Histogram SchedulableAlertRules prometheus.Gauge SchedulableAlertRulesHash prometheus.Gauge UpdateSchedulableAlertRulesDuration prometheus.Histogram Ticker *ticker.Metrics EvaluationMissed *prometheus.CounterVec }
func NewSchedulerMetrics ¶
func NewSchedulerMetrics(r prometheus.Registerer) *Scheduler
type State ¶
type State struct {
AlertState *prometheus.GaugeVec
}
func NewStateMetrics ¶
func NewStateMetrics(r prometheus.Registerer) *State