Documentation ¶
Overview ¶
Package silence provides a storage for silences, which can share its state over a mesh network and snapshot it.
Index ¶
- Variables
- type Options
- type QueryParam
- 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, 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)
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("not found")
ErrNotFound is returned if a silence was not found.
Functions ¶
This section is empty.
Types ¶
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.
func QTimeRange ¶
func QTimeRange(start, end time.Time) QueryParam
QTimeRange configures a query to search for silences that are active in the given time range. TODO(fabxc): not supported yet.
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)
Count 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 ¶
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.
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 ¶
func (s *Silences) Query(params ...QueryParam) ([]*pb.Silence, error)
Query for silences based on the given query parameters.
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.