Documentation ¶
Overview ¶
Package silence provides a storage for silences, which can share its state over a mesh network and snapshot it.
Index ¶
- Variables
- type MaintenanceFunc
- type Options
- type QueryParam
- type Silencer
- type Silences
- func (s *Silences) CountState(states ...types.SilenceState) (int, error)
- func (s *Silences) Expire(id string) error
- func (s *Silences) GC() (int, error)
- func (s *Silences) Maintenance(interval time.Duration, snapf string, stopc <-chan struct{}, ...)
- func (s *Silences) MarshalBinary() ([]byte, error)
- func (s *Silences) Merge(b []byte) error
- func (s *Silences) Query(params ...QueryParam) ([]*pb.Silence, int, error)
- func (s *Silences) QueryOne(params ...QueryParam) (*pb.Silence, error)
- func (s *Silences) Set(sil *pb.Silence) (string, error)
- func (s *Silences) SetBroadcast(f func([]byte))
- func (s *Silences) Snapshot(w io.Writer) (int64, error)
- func (s *Silences) Version() int
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidState = fmt.Errorf("invalid state")
ErrInvalidState is returned if the state isn't valid.
var ErrNotFound = fmt.Errorf("silence not found")
ErrNotFound is returned if a silence was not found.
Functions ¶
This section is empty.
Types ¶
type MaintenanceFunc ¶ added in v0.24.0
MaintenanceFunc represents the function to run as part of the periodic maintenance for silences. It returns the size of the snapshot taken or an error if it failed.
type Options ¶
type Options struct { // A snapshot file or reader from which the initial state is loaded. // None or only one of them must be set. SnapshotFile string SnapshotReader io.Reader // Retention time for newly created Silences. Silences may be // garbage collected after the given duration after they ended. Retention time.Duration // A logger used by background processing. Logger log.Logger Metrics prometheus.Registerer }
Options exposes configuration options for creating a new Silences object. Its zero value is a safe default.
type QueryParam ¶
type QueryParam func(*query) error
QueryParam expresses parameters along which silences are queried.
func QIDs ¶
func QIDs(ids ...string) QueryParam
QIDs configures a query to select the given silence IDs.
func QMatches ¶
func QMatches(set model.LabelSet) QueryParam
QMatches returns silences that match the given label set.
func QState ¶
func QState(states ...types.SilenceState) QueryParam
QState filters queried silences by the given states.
type Silencer ¶ added in v0.17.0
type Silencer struct {
// contains filtered or unexported fields
}
Silencer binds together a Marker and a Silences to implement the Muter interface.
func NewSilencer ¶ added in v0.17.0
NewSilencer returns a new Silencer.
type Silences ¶
type Silences struct {
// contains filtered or unexported fields
}
Silences holds a silence state that can be modified, queried, and snapshot.
func (*Silences) CountState ¶ added in v0.10.0
func (s *Silences) CountState(states ...types.SilenceState) (int, error)
CountState counts silences by state.
func (*Silences) GC ¶
GC runs a garbage collection that removes silences that have ended longer than the configured retention time ago.
func (*Silences) Maintenance ¶
func (s *Silences) Maintenance(interval time.Duration, snapf string, stopc <-chan struct{}, override MaintenanceFunc)
Maintenance garbage collects the silence state at the given interval. If the snapshot file is set, a snapshot is written to it afterwards. Terminates on receiving from stopc. If not nil, the last argument is an override for what to do as part of the maintenance - for advanced usage.
func (*Silences) MarshalBinary ¶ added in v0.15.0
MarshalBinary serializes all silences.
func (*Silences) Merge ¶ added in v0.15.0
Merge merges silence state received from the cluster with the local state.
func (*Silences) Query ¶
Query for silences based on the given query parameters. It returns the resulting silences and the state version the result is based on.
func (*Silences) QueryOne ¶ added in v0.7.0
func (s *Silences) QueryOne(params ...QueryParam) (*pb.Silence, error)
QueryOne queries with the given parameters and returns the first result. Returns ErrNotFound if the query result is empty.
func (*Silences) Set ¶ added in v0.7.0
Set the specified silence. If a silence with the ID already exists and the modification modifies history, the old silence gets expired and a new one is created.
func (*Silences) SetBroadcast ¶ added in v0.15.0
SetBroadcast sets the provided function as the one creating data to be broadcast.