merger

package
v0.0.0-...-9698ad8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2024 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExperimentalReceivers

type ExperimentalReceivers struct{}

ExperimentalReceivers implements the Merger interface for GET /api/v1/grafana/receivers. It returns the union of receivers and integrations from all responses, merging duplicates. When an integration is duplicated in multiple responses, the integration status is taken from the integration with the most recent notification attempt.

func (ExperimentalReceivers) MergeResponses

func (ExperimentalReceivers) MergeResponses(in [][]byte) ([]byte, error)

type Merger

type Merger interface {
	MergeResponses([][]byte) ([]byte, error)
}

Merger represents logic for merging response bodies.

type Noop

type Noop struct{}

Noop is an implementation of the Merger interface which does not actually merge responses, but just returns an arbitrary response(the first in the list). It can be used for write requests where the response is either empty or inconsequential.

func (Noop) MergeResponses

func (Noop) MergeResponses(in [][]byte) ([]byte, error)

type V2AlertGroups

type V2AlertGroups struct{}

V2AlertGroups implements the Merger interface for GET /v2/alerts/groups. It returns the union of alert groups over all the responses. When the same alert exists in the same group for multiple responses, the instance of that alert with the most recent UpdatedAt timestamp is returned in that group within the response.

func (V2AlertGroups) MergeResponses

func (V2AlertGroups) MergeResponses(in [][]byte) ([]byte, error)

type V2Alerts

type V2Alerts struct{}

V2Alerts implements the Merger interface for GET /v2/alerts. It returns the union of alerts over all the responses. When the same alert exists in multiple responses, the instance of that alert with the most recent UpdatedAt timestamp is returned in the response.

func (V2Alerts) MergeResponses

func (V2Alerts) MergeResponses(in [][]byte) ([]byte, error)

type V2SilenceID

type V2SilenceID struct{}

V2SilenceID implements the Merger interface for GET /v2/silence/{id}. It returns the most recently updated silence (newest UpdatedAt timestamp).

func (V2SilenceID) MergeResponses

func (V2SilenceID) MergeResponses(in [][]byte) ([]byte, error)

type V2Silences

type V2Silences struct{}

V2Silences implements the Merger interface for GET /v2/silences. It returns the union of silences over all the responses. When a silence with the same ID exists in multiple responses, the silence most recently updated silence is returned (newest UpdatedAt timestamp).

func (V2Silences) MergeResponses

func (V2Silences) MergeResponses(in [][]byte) ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL