Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is returned if a provider cannot find a requested item. ErrNotFound = fmt.Errorf("item not found") )
Functions ¶
This section is empty.
Types ¶
type AlertIterator ¶
type AlertIterator interface {
Iterator
// Next returns a channel that will be closed once the iterator is
// exhausted. It is not necessary to exhaust the iterator but Close must
// be called in any case to release resources used by the iterator (even
// if the iterator is exhausted).
Next() <-chan *types.Alert
}
AlertIterator is an Iterator for Alerts.
func NewAlertIterator ¶
func NewAlertIterator(ch <-chan *types.Alert, done chan struct{}, err error) AlertIterator
NewAlertIterator returns a new AlertIterator based on the generic alertIterator type
type Alerts ¶
type Alerts interface {
// Subscribe returns an iterator over active alerts that have not been
// resolved and successfully notified about.
// They are not guaranteed to be in chronological order.
Subscribe() AlertIterator
// GetPending returns an iterator over all alerts that have
// pending notifications.
GetPending() AlertIterator
// Get returns the alert for a given fingerprint.
Get(model.Fingerprint) (*types.Alert, error)
// Put adds the given alert to the set.
Put(...*types.Alert) error
}
Alerts gives access to a set of alerts. All methods are goroutine-safe.
type Iterator ¶
type Iterator interface {
// Err returns the current error. It is not safe to call it concurrently
// with other iterator methods or while reading from a channel returned
// by the iterator.
Err() error
// Close must be called to release resources once the iterator is not
// used anymore.
Close()
}
Iterator provides the functions common to all iterators. To be useful, a specific iterator interface (e.g. AlertIterator) has to be implemented that provides a Next method.
type MemAlerts ¶
type MemAlerts struct {
// contains filtered or unexported fields
}
MemAlerts implements an Alerts provider based on in-memory data.
func NewMemAlerts ¶
NewMemAlerts returns a new MemAlerts based on the provided data.
func (*MemAlerts) GetPending ¶
func (a *MemAlerts) GetPending() AlertIterator
GetPending implements the Alerts interface.
func (*MemAlerts) Subscribe ¶
func (a *MemAlerts) Subscribe() AlertIterator
Subscribe implements the Alerts interface.
type MemData ¶
type MemData struct {
// contains filtered or unexported fields
}
MemData contains the data backing MemAlerts and MemNotifies.
func NewMemData ¶
func NewMemData() *MemData
NewMemData contains an empty but initialized MemData instance.
type MemNotifies ¶
type MemNotifies struct {
// contains filtered or unexported fields
}
MemNotifies implements a Notifies provider based on in-memory data.
func NewMemNotifies ¶
func NewMemNotifies(data *MemData) *MemNotifies
NewMemNotifies returns a new MemNotifies based on the provided data.
func (*MemNotifies) Get ¶
func (n *MemNotifies) Get(dest string, fps ...model.Fingerprint) ([]*types.NotifyInfo, error)
Get implements the Notifies interface.
func (*MemNotifies) Set ¶
func (n *MemNotifies) Set(ns ...*types.NotifyInfo) error
Set implements the Notifies interface.
type MemSilences ¶
type MemSilences struct {
// contains filtered or unexported fields
}
MemSilences implements a Silences provider based on in-memory data.
func (*MemSilences) All ¶
func (s *MemSilences) All() ([]*types.Silence, error)
All implements the Silences interface.
func (*MemSilences) Del ¶
func (s *MemSilences) Del(id uint64) error
Del implements the Silences interface.
func (*MemSilences) Get ¶
func (s *MemSilences) Get(id uint64) (*types.Silence, error)
Get implements the Silences interface.
type Notifies ¶
type Notifies interface {
Get(dest string, fps ...model.Fingerprint) ([]*types.NotifyInfo, error)
// Set several notifies at once. All or none must succeed.
Set(ns ...*types.NotifyInfo) error
}
Notifies provides information about pending and successful notifications. All methods are goroutine-safe.
type Silences ¶
type Silences interface {
// The Silences provider must implement the Muter interface
// for all its silences. The data provider may have access to an
// optimized view of the data to perform this evaluation.
types.Muter
// Set a new silence.
Set(*types.Silence) (uint64, error)
// Del removes a silence.
Del(uint64) error
// Get a silence associated with a fingerprint.
Get(uint64) (*types.Silence, error)
// Get at most n silences starting at o offset. Returns
// ErrorNoMoreSilences and silences if n exceeds number of silences
// found.
Query(limit, offset uint, fn types.SilencesLessFunc) (*types.SilencesQueryResponse, error)
}
Silences gives access to silences. All methods are goroutine-safe.