mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00

* feat: added license manager and feature flags * feat: completed org domain api * chore: checking in saml auth handler code * feat: added signup with sso * feat: added login support for admins * feat: added pem support for certificate * ci(build-workflow): 👷 include EE query-service * fix: 🐛 update package name * chore(ee): 🔧 LD_FLAGS related changes Signed-off-by: Prashant Shahi <prashant@signoz.io> Co-authored-by: Prashant Shahi <prashant@signoz.io> Co-authored-by: nityanandagohain <nityanandagohain@gmail.com>
39 lines
928 B
Go
39 lines
928 B
Go
package rules
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"go.signoz.io/signoz/pkg/query-service/utils/labels"
|
|
)
|
|
|
|
// A Rule encapsulates a vector expression which is evaluated at a specified
|
|
// interval and acted upon (currently used for alerting).
|
|
type Rule interface {
|
|
ID() string
|
|
Name() string
|
|
Type() RuleType
|
|
|
|
Labels() labels.BaseLabels
|
|
Annotations() labels.BaseLabels
|
|
Condition() *RuleCondition
|
|
State() AlertState
|
|
ActiveAlerts() []*Alert
|
|
|
|
PreferredChannels() []string
|
|
|
|
Eval(context.Context, time.Time, *Queriers) (interface{}, error)
|
|
String() string
|
|
// Query() string
|
|
SetLastError(error)
|
|
LastError() error
|
|
SetHealth(RuleHealth)
|
|
Health() RuleHealth
|
|
SetEvaluationDuration(time.Duration)
|
|
GetEvaluationDuration() time.Duration
|
|
SetEvaluationTimestamp(time.Time)
|
|
GetEvaluationTimestamp() time.Time
|
|
|
|
SendAlerts(ctx context.Context, ts time.Time, resendDelay time.Duration, interval time.Duration, notifyFunc NotifyFunc)
|
|
}
|