mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-14 07:25:53 +08:00
fix(ff): remove feature interface from ruler (#7529)
### Summary remove feature interface from ruler
This commit is contained in:
parent
2748b49a44
commit
b7982ca348
@ -38,12 +38,6 @@ func WithKeyGenerator[T BaseProvider](keyGenerator cache.KeyGenerator) GenericPr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func WithFeatureLookup[T BaseProvider](ff interfaces.FeatureLookup) GenericProviderOption[T] {
|
|
||||||
return func(p T) {
|
|
||||||
p.GetBaseSeasonalProvider().ff = ff
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func WithReader[T BaseProvider](reader interfaces.Reader) GenericProviderOption[T] {
|
func WithReader[T BaseProvider](reader interfaces.Reader) GenericProviderOption[T] {
|
||||||
return func(p T) {
|
return func(p T) {
|
||||||
p.GetBaseSeasonalProvider().reader = reader
|
p.GetBaseSeasonalProvider().reader = reader
|
||||||
|
@ -88,28 +88,24 @@ func (aH *APIHandler) queryRangeV4(w http.ResponseWriter, r *http.Request) {
|
|||||||
anomaly.WithCache[*anomaly.WeeklyProvider](aH.opts.Cache),
|
anomaly.WithCache[*anomaly.WeeklyProvider](aH.opts.Cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.WeeklyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.WeeklyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.WeeklyProvider](aH.opts.DataConnector),
|
anomaly.WithReader[*anomaly.WeeklyProvider](aH.opts.DataConnector),
|
||||||
anomaly.WithFeatureLookup[*anomaly.WeeklyProvider](aH.opts.FeatureFlags),
|
|
||||||
)
|
)
|
||||||
case anomaly.SeasonalityDaily:
|
case anomaly.SeasonalityDaily:
|
||||||
provider = anomaly.NewDailyProvider(
|
provider = anomaly.NewDailyProvider(
|
||||||
anomaly.WithCache[*anomaly.DailyProvider](aH.opts.Cache),
|
anomaly.WithCache[*anomaly.DailyProvider](aH.opts.Cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.DailyProvider](aH.opts.DataConnector),
|
anomaly.WithReader[*anomaly.DailyProvider](aH.opts.DataConnector),
|
||||||
anomaly.WithFeatureLookup[*anomaly.DailyProvider](aH.opts.FeatureFlags),
|
|
||||||
)
|
)
|
||||||
case anomaly.SeasonalityHourly:
|
case anomaly.SeasonalityHourly:
|
||||||
provider = anomaly.NewHourlyProvider(
|
provider = anomaly.NewHourlyProvider(
|
||||||
anomaly.WithCache[*anomaly.HourlyProvider](aH.opts.Cache),
|
anomaly.WithCache[*anomaly.HourlyProvider](aH.opts.Cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.HourlyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.HourlyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.HourlyProvider](aH.opts.DataConnector),
|
anomaly.WithReader[*anomaly.HourlyProvider](aH.opts.DataConnector),
|
||||||
anomaly.WithFeatureLookup[*anomaly.HourlyProvider](aH.opts.FeatureFlags),
|
|
||||||
)
|
)
|
||||||
default:
|
default:
|
||||||
provider = anomaly.NewDailyProvider(
|
provider = anomaly.NewDailyProvider(
|
||||||
anomaly.WithCache[*anomaly.DailyProvider](aH.opts.Cache),
|
anomaly.WithCache[*anomaly.DailyProvider](aH.opts.Cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.DailyProvider](aH.opts.DataConnector),
|
anomaly.WithReader[*anomaly.DailyProvider](aH.opts.DataConnector),
|
||||||
anomaly.WithFeatureLookup[*anomaly.DailyProvider](aH.opts.FeatureFlags),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
anomalies, err := provider.GetAnomalies(r.Context(), &anomaly.GetAnomaliesRequest{Params: queryRangeParams})
|
anomalies, err := provider.GetAnomalies(r.Context(), &anomaly.GetAnomaliesRequest{Params: queryRangeParams})
|
||||||
|
@ -172,7 +172,6 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
|
|||||||
reader,
|
reader,
|
||||||
c,
|
c,
|
||||||
serverOptions.DisableRules,
|
serverOptions.DisableRules,
|
||||||
lm,
|
|
||||||
serverOptions.UseLogsNewSchema,
|
serverOptions.UseLogsNewSchema,
|
||||||
serverOptions.UseTraceNewSchema,
|
serverOptions.UseTraceNewSchema,
|
||||||
serverOptions.SigNoz.Alertmanager,
|
serverOptions.SigNoz.Alertmanager,
|
||||||
@ -532,7 +531,6 @@ func makeRulesManager(
|
|||||||
ch baseint.Reader,
|
ch baseint.Reader,
|
||||||
cache cache.Cache,
|
cache cache.Cache,
|
||||||
disableRules bool,
|
disableRules bool,
|
||||||
fm baseint.FeatureLookup,
|
|
||||||
useLogsNewSchema bool,
|
useLogsNewSchema bool,
|
||||||
useTraceNewSchema bool,
|
useTraceNewSchema bool,
|
||||||
alertmanager alertmanager.Alertmanager,
|
alertmanager alertmanager.Alertmanager,
|
||||||
@ -549,7 +547,6 @@ func makeRulesManager(
|
|||||||
Context: context.Background(),
|
Context: context.Background(),
|
||||||
Logger: zap.L(),
|
Logger: zap.L(),
|
||||||
DisableRules: disableRules,
|
DisableRules: disableRules,
|
||||||
FeatureFlags: fm,
|
|
||||||
Reader: ch,
|
Reader: ch,
|
||||||
Cache: cache,
|
Cache: cache,
|
||||||
EvalDelay: baseconst.GetEvalDelay(),
|
EvalDelay: baseconst.GetEvalDelay(),
|
||||||
|
@ -53,7 +53,6 @@ type AnomalyRule struct {
|
|||||||
func NewAnomalyRule(
|
func NewAnomalyRule(
|
||||||
id string,
|
id string,
|
||||||
p *baserules.PostableRule,
|
p *baserules.PostableRule,
|
||||||
featureFlags interfaces.FeatureLookup,
|
|
||||||
reader interfaces.Reader,
|
reader interfaces.Reader,
|
||||||
cache cache.Cache,
|
cache cache.Cache,
|
||||||
opts ...baserules.RuleOption,
|
opts ...baserules.RuleOption,
|
||||||
@ -89,10 +88,9 @@ func NewAnomalyRule(
|
|||||||
zap.L().Info("using seasonality", zap.String("seasonality", t.seasonality.String()))
|
zap.L().Info("using seasonality", zap.String("seasonality", t.seasonality.String()))
|
||||||
|
|
||||||
querierOptsV2 := querierV2.QuerierOptions{
|
querierOptsV2 := querierV2.QuerierOptions{
|
||||||
Reader: reader,
|
Reader: reader,
|
||||||
Cache: cache,
|
Cache: cache,
|
||||||
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
||||||
FeatureLookup: featureFlags,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
t.querierV2 = querierV2.NewQuerier(querierOptsV2)
|
t.querierV2 = querierV2.NewQuerier(querierOptsV2)
|
||||||
@ -102,21 +100,18 @@ func NewAnomalyRule(
|
|||||||
anomaly.WithCache[*anomaly.HourlyProvider](cache),
|
anomaly.WithCache[*anomaly.HourlyProvider](cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.HourlyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.HourlyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.HourlyProvider](reader),
|
anomaly.WithReader[*anomaly.HourlyProvider](reader),
|
||||||
anomaly.WithFeatureLookup[*anomaly.HourlyProvider](featureFlags),
|
|
||||||
)
|
)
|
||||||
} else if t.seasonality == anomaly.SeasonalityDaily {
|
} else if t.seasonality == anomaly.SeasonalityDaily {
|
||||||
t.provider = anomaly.NewDailyProvider(
|
t.provider = anomaly.NewDailyProvider(
|
||||||
anomaly.WithCache[*anomaly.DailyProvider](cache),
|
anomaly.WithCache[*anomaly.DailyProvider](cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.DailyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.DailyProvider](reader),
|
anomaly.WithReader[*anomaly.DailyProvider](reader),
|
||||||
anomaly.WithFeatureLookup[*anomaly.DailyProvider](featureFlags),
|
|
||||||
)
|
)
|
||||||
} else if t.seasonality == anomaly.SeasonalityWeekly {
|
} else if t.seasonality == anomaly.SeasonalityWeekly {
|
||||||
t.provider = anomaly.NewWeeklyProvider(
|
t.provider = anomaly.NewWeeklyProvider(
|
||||||
anomaly.WithCache[*anomaly.WeeklyProvider](cache),
|
anomaly.WithCache[*anomaly.WeeklyProvider](cache),
|
||||||
anomaly.WithKeyGenerator[*anomaly.WeeklyProvider](queryBuilder.NewKeyGenerator()),
|
anomaly.WithKeyGenerator[*anomaly.WeeklyProvider](queryBuilder.NewKeyGenerator()),
|
||||||
anomaly.WithReader[*anomaly.WeeklyProvider](reader),
|
anomaly.WithReader[*anomaly.WeeklyProvider](reader),
|
||||||
anomaly.WithFeatureLookup[*anomaly.WeeklyProvider](featureFlags),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return &t, nil
|
return &t, nil
|
||||||
|
@ -23,7 +23,6 @@ func PrepareTaskFunc(opts baserules.PrepareTaskOptions) (baserules.Task, error)
|
|||||||
tr, err := baserules.NewThresholdRule(
|
tr, err := baserules.NewThresholdRule(
|
||||||
ruleId,
|
ruleId,
|
||||||
opts.Rule,
|
opts.Rule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.UseLogsNewSchema,
|
opts.UseLogsNewSchema,
|
||||||
opts.UseTraceNewSchema,
|
opts.UseTraceNewSchema,
|
||||||
@ -66,7 +65,6 @@ func PrepareTaskFunc(opts baserules.PrepareTaskOptions) (baserules.Task, error)
|
|||||||
ar, err := NewAnomalyRule(
|
ar, err := NewAnomalyRule(
|
||||||
ruleId,
|
ruleId,
|
||||||
opts.Rule,
|
opts.Rule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.Cache,
|
opts.Cache,
|
||||||
baserules.WithEvalDelay(opts.ManagerOpts.EvalDelay),
|
baserules.WithEvalDelay(opts.ManagerOpts.EvalDelay),
|
||||||
@ -123,7 +121,6 @@ func TestNotification(opts baserules.PrepareTestRuleOptions) (int, *basemodel.Ap
|
|||||||
rule, err = baserules.NewThresholdRule(
|
rule, err = baserules.NewThresholdRule(
|
||||||
alertname,
|
alertname,
|
||||||
parsedRule,
|
parsedRule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.UseLogsNewSchema,
|
opts.UseLogsNewSchema,
|
||||||
opts.UseTraceNewSchema,
|
opts.UseTraceNewSchema,
|
||||||
@ -160,7 +157,6 @@ func TestNotification(opts baserules.PrepareTestRuleOptions) (int, *basemodel.Ap
|
|||||||
rule, err = NewAnomalyRule(
|
rule, err = NewAnomalyRule(
|
||||||
alertname,
|
alertname,
|
||||||
parsedRule,
|
parsedRule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.Cache,
|
opts.Cache,
|
||||||
baserules.WithSendAlways(),
|
baserules.WithSendAlways(),
|
||||||
|
@ -151,7 +151,6 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
|
|||||||
reader,
|
reader,
|
||||||
c,
|
c,
|
||||||
serverOptions.DisableRules,
|
serverOptions.DisableRules,
|
||||||
fm,
|
|
||||||
serverOptions.UseLogsNewSchema,
|
serverOptions.UseLogsNewSchema,
|
||||||
serverOptions.UseTraceNewSchema,
|
serverOptions.UseTraceNewSchema,
|
||||||
serverOptions.SigNoz.SQLStore,
|
serverOptions.SigNoz.SQLStore,
|
||||||
@ -483,7 +482,6 @@ func makeRulesManager(
|
|||||||
ch interfaces.Reader,
|
ch interfaces.Reader,
|
||||||
cache cache.Cache,
|
cache cache.Cache,
|
||||||
disableRules bool,
|
disableRules bool,
|
||||||
fm interfaces.FeatureLookup,
|
|
||||||
useLogsNewSchema bool,
|
useLogsNewSchema bool,
|
||||||
useTraceNewSchema bool,
|
useTraceNewSchema bool,
|
||||||
sqlstore sqlstore.SQLStore,
|
sqlstore sqlstore.SQLStore,
|
||||||
@ -499,7 +497,6 @@ func makeRulesManager(
|
|||||||
Context: context.Background(),
|
Context: context.Background(),
|
||||||
Logger: zap.L(),
|
Logger: zap.L(),
|
||||||
DisableRules: disableRules,
|
DisableRules: disableRules,
|
||||||
FeatureFlags: fm,
|
|
||||||
Reader: ch,
|
Reader: ch,
|
||||||
Cache: cache,
|
Cache: cache,
|
||||||
EvalDelay: constants.GetEvalDelay(),
|
EvalDelay: constants.GetEvalDelay(),
|
||||||
|
@ -36,7 +36,6 @@ type PrepareTaskOptions struct {
|
|||||||
Logger *zap.Logger
|
Logger *zap.Logger
|
||||||
Reader interfaces.Reader
|
Reader interfaces.Reader
|
||||||
Cache cache.Cache
|
Cache cache.Cache
|
||||||
FF interfaces.FeatureLookup
|
|
||||||
ManagerOpts *ManagerOptions
|
ManagerOpts *ManagerOptions
|
||||||
NotifyFunc NotifyFunc
|
NotifyFunc NotifyFunc
|
||||||
SQLStore sqlstore.SQLStore
|
SQLStore sqlstore.SQLStore
|
||||||
@ -50,7 +49,6 @@ type PrepareTestRuleOptions struct {
|
|||||||
Logger *zap.Logger
|
Logger *zap.Logger
|
||||||
Reader interfaces.Reader
|
Reader interfaces.Reader
|
||||||
Cache cache.Cache
|
Cache cache.Cache
|
||||||
FF interfaces.FeatureLookup
|
|
||||||
ManagerOpts *ManagerOptions
|
ManagerOpts *ManagerOptions
|
||||||
NotifyFunc NotifyFunc
|
NotifyFunc NotifyFunc
|
||||||
SQLStore sqlstore.SQLStore
|
SQLStore sqlstore.SQLStore
|
||||||
@ -89,7 +87,6 @@ type ManagerOptions struct {
|
|||||||
Logger *zap.Logger
|
Logger *zap.Logger
|
||||||
ResendDelay time.Duration
|
ResendDelay time.Duration
|
||||||
DisableRules bool
|
DisableRules bool
|
||||||
FeatureFlags interfaces.FeatureLookup
|
|
||||||
Reader interfaces.Reader
|
Reader interfaces.Reader
|
||||||
Cache cache.Cache
|
Cache cache.Cache
|
||||||
|
|
||||||
@ -114,9 +111,7 @@ type Manager struct {
|
|||||||
// datastore to store alert definitions
|
// datastore to store alert definitions
|
||||||
ruleDB RuleDB
|
ruleDB RuleDB
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
|
|
||||||
featureFlags interfaces.FeatureLookup
|
|
||||||
reader interfaces.Reader
|
reader interfaces.Reader
|
||||||
cache cache.Cache
|
cache cache.Cache
|
||||||
prepareTaskFunc func(opts PrepareTaskOptions) (Task, error)
|
prepareTaskFunc func(opts PrepareTaskOptions) (Task, error)
|
||||||
@ -156,7 +151,6 @@ func defaultPrepareTaskFunc(opts PrepareTaskOptions) (Task, error) {
|
|||||||
tr, err := NewThresholdRule(
|
tr, err := NewThresholdRule(
|
||||||
ruleId,
|
ruleId,
|
||||||
opts.Rule,
|
opts.Rule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.UseLogsNewSchema,
|
opts.UseLogsNewSchema,
|
||||||
opts.UseTraceNewSchema,
|
opts.UseTraceNewSchema,
|
||||||
@ -214,7 +208,6 @@ func NewManager(o *ManagerOptions) (*Manager, error) {
|
|||||||
opts: o,
|
opts: o,
|
||||||
block: make(chan struct{}),
|
block: make(chan struct{}),
|
||||||
logger: o.Logger,
|
logger: o.Logger,
|
||||||
featureFlags: o.FeatureFlags,
|
|
||||||
reader: o.Reader,
|
reader: o.Reader,
|
||||||
cache: o.Cache,
|
cache: o.Cache,
|
||||||
prepareTaskFunc: o.PrepareTaskFunc,
|
prepareTaskFunc: o.PrepareTaskFunc,
|
||||||
@ -391,7 +384,6 @@ func (m *Manager) editTask(rule *PostableRule, taskName string) error {
|
|||||||
Logger: m.logger,
|
Logger: m.logger,
|
||||||
Reader: m.reader,
|
Reader: m.reader,
|
||||||
Cache: m.cache,
|
Cache: m.cache,
|
||||||
FF: m.featureFlags,
|
|
||||||
ManagerOpts: m.opts,
|
ManagerOpts: m.opts,
|
||||||
NotifyFunc: m.prepareNotifyFunc(),
|
NotifyFunc: m.prepareNotifyFunc(),
|
||||||
SQLStore: m.sqlstore,
|
SQLStore: m.sqlstore,
|
||||||
@ -575,7 +567,6 @@ func (m *Manager) addTask(rule *PostableRule, taskName string) error {
|
|||||||
Logger: m.logger,
|
Logger: m.logger,
|
||||||
Reader: m.reader,
|
Reader: m.reader,
|
||||||
Cache: m.cache,
|
Cache: m.cache,
|
||||||
FF: m.featureFlags,
|
|
||||||
ManagerOpts: m.opts,
|
ManagerOpts: m.opts,
|
||||||
NotifyFunc: m.prepareNotifyFunc(),
|
NotifyFunc: m.prepareNotifyFunc(),
|
||||||
SQLStore: m.sqlstore,
|
SQLStore: m.sqlstore,
|
||||||
@ -954,7 +945,6 @@ func (m *Manager) TestNotification(ctx context.Context, ruleStr string) (int, *m
|
|||||||
Logger: m.logger,
|
Logger: m.logger,
|
||||||
Reader: m.reader,
|
Reader: m.reader,
|
||||||
Cache: m.cache,
|
Cache: m.cache,
|
||||||
FF: m.featureFlags,
|
|
||||||
ManagerOpts: m.opts,
|
ManagerOpts: m.opts,
|
||||||
NotifyFunc: m.prepareTestNotifyFunc(),
|
NotifyFunc: m.prepareTestNotifyFunc(),
|
||||||
SQLStore: m.sqlstore,
|
SQLStore: m.sqlstore,
|
||||||
|
@ -46,7 +46,6 @@ func defaultTestNotification(opts PrepareTestRuleOptions) (int, *model.ApiError)
|
|||||||
rule, err = NewThresholdRule(
|
rule, err = NewThresholdRule(
|
||||||
alertname,
|
alertname,
|
||||||
parsedRule,
|
parsedRule,
|
||||||
opts.FF,
|
|
||||||
opts.Reader,
|
opts.Reader,
|
||||||
opts.UseLogsNewSchema,
|
opts.UseLogsNewSchema,
|
||||||
opts.UseTraceNewSchema,
|
opts.UseTraceNewSchema,
|
||||||
|
@ -58,7 +58,6 @@ type ThresholdRule struct {
|
|||||||
func NewThresholdRule(
|
func NewThresholdRule(
|
||||||
id string,
|
id string,
|
||||||
p *PostableRule,
|
p *PostableRule,
|
||||||
featureFlags interfaces.FeatureLookup,
|
|
||||||
reader interfaces.Reader,
|
reader interfaces.Reader,
|
||||||
useLogsNewSchema bool,
|
useLogsNewSchema bool,
|
||||||
useTraceNewSchema bool,
|
useTraceNewSchema bool,
|
||||||
@ -82,7 +81,6 @@ func NewThresholdRule(
|
|||||||
Reader: reader,
|
Reader: reader,
|
||||||
Cache: nil,
|
Cache: nil,
|
||||||
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
||||||
FeatureLookup: featureFlags,
|
|
||||||
UseLogsNewSchema: useLogsNewSchema,
|
UseLogsNewSchema: useLogsNewSchema,
|
||||||
UseTraceNewSchema: useTraceNewSchema,
|
UseTraceNewSchema: useTraceNewSchema,
|
||||||
}
|
}
|
||||||
@ -91,7 +89,6 @@ func NewThresholdRule(
|
|||||||
Reader: reader,
|
Reader: reader,
|
||||||
Cache: nil,
|
Cache: nil,
|
||||||
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
KeyGenerator: queryBuilder.NewKeyGenerator(),
|
||||||
FeatureLookup: featureFlags,
|
|
||||||
UseLogsNewSchema: useLogsNewSchema,
|
UseLogsNewSchema: useLogsNewSchema,
|
||||||
UseTraceNewSchema: useTraceNewSchema,
|
UseTraceNewSchema: useTraceNewSchema,
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,6 @@ import (
|
|||||||
|
|
||||||
"github.com/SigNoz/signoz/pkg/query-service/app/clickhouseReader"
|
"github.com/SigNoz/signoz/pkg/query-service/app/clickhouseReader"
|
||||||
"github.com/SigNoz/signoz/pkg/query-service/common"
|
"github.com/SigNoz/signoz/pkg/query-service/common"
|
||||||
"github.com/SigNoz/signoz/pkg/query-service/featureManager"
|
|
||||||
v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3"
|
v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3"
|
||||||
"github.com/SigNoz/signoz/pkg/query-service/utils/labels"
|
"github.com/SigNoz/signoz/pkg/query-service/utils/labels"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@ -796,13 +795,12 @@ func TestThresholdRuleShouldAlert(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
fm := featureManager.StartManager()
|
|
||||||
for idx, c := range cases {
|
for idx, c := range cases {
|
||||||
postableRule.RuleCondition.CompareOp = CompareOp(c.compareOp)
|
postableRule.RuleCondition.CompareOp = CompareOp(c.compareOp)
|
||||||
postableRule.RuleCondition.MatchType = MatchType(c.matchType)
|
postableRule.RuleCondition.MatchType = MatchType(c.matchType)
|
||||||
postableRule.RuleCondition.Target = &c.target
|
postableRule.RuleCondition.Target = &c.target
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true, WithEvalDelay(2*time.Minute))
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true, WithEvalDelay(2*time.Minute))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -889,9 +887,8 @@ func TestPrepareLinksToLogs(t *testing.T) {
|
|||||||
SelectedQuery: "A",
|
SelectedQuery: "A",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true, WithEvalDelay(2*time.Minute))
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true, WithEvalDelay(2*time.Minute))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -931,9 +928,8 @@ func TestPrepareLinksToTraces(t *testing.T) {
|
|||||||
SelectedQuery: "A",
|
SelectedQuery: "A",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true, WithEvalDelay(2*time.Minute))
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true, WithEvalDelay(2*time.Minute))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -1003,13 +999,12 @@ func TestThresholdRuleLabelNormalization(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
fm := featureManager.StartManager()
|
|
||||||
for idx, c := range cases {
|
for idx, c := range cases {
|
||||||
postableRule.RuleCondition.CompareOp = CompareOp(c.compareOp)
|
postableRule.RuleCondition.CompareOp = CompareOp(c.compareOp)
|
||||||
postableRule.RuleCondition.MatchType = MatchType(c.matchType)
|
postableRule.RuleCondition.MatchType = MatchType(c.matchType)
|
||||||
postableRule.RuleCondition.Target = &c.target
|
postableRule.RuleCondition.Target = &c.target
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true, WithEvalDelay(2*time.Minute))
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true, WithEvalDelay(2*time.Minute))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -1060,9 +1055,8 @@ func TestThresholdRuleEvalDelay(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
fm := featureManager.StartManager()
|
|
||||||
for idx, c := range cases {
|
for idx, c := range cases {
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true) // no eval delay
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true) // no eval delay
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -1109,9 +1103,8 @@ func TestThresholdRuleClickHouseTmpl(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
fm := featureManager.StartManager()
|
|
||||||
for idx, c := range cases {
|
for idx, c := range cases {
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, nil, true, true, WithEvalDelay(2*time.Minute))
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true, WithEvalDelay(2*time.Minute))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
@ -1158,7 +1151,6 @@ func TestThresholdRuleUnitCombinations(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
||||||
|
|
||||||
cols := make([]cmock.ColumnType, 0)
|
cols := make([]cmock.ColumnType, 0)
|
||||||
@ -1252,7 +1244,7 @@ func TestThresholdRuleUnitCombinations(t *testing.T) {
|
|||||||
readerCache, err := memorycache.New(context.Background(), factorytest.NewSettings(), cache.Config{Provider: "memory", Memory: cache.Memory{TTL: DefaultFrequency}})
|
readerCache, err := memorycache.New(context.Background(), factorytest.NewSettings(), cache.Config{Provider: "memory", Memory: cache.Memory{TTL: DefaultFrequency}})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), readerCache)
|
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), readerCache)
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, reader, true, true)
|
rule, err := NewThresholdRule("69", &postableRule, reader, true, true)
|
||||||
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
||||||
"signoz_calls_total": {
|
"signoz_calls_total": {
|
||||||
v3.Delta: true,
|
v3.Delta: true,
|
||||||
@ -1309,7 +1301,6 @@ func TestThresholdRuleNoData(t *testing.T) {
|
|||||||
AlertOnAbsent: true,
|
AlertOnAbsent: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
||||||
|
|
||||||
cols := make([]cmock.ColumnType, 0)
|
cols := make([]cmock.ColumnType, 0)
|
||||||
@ -1350,7 +1341,7 @@ func TestThresholdRuleNoData(t *testing.T) {
|
|||||||
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
||||||
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), readerCache)
|
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), readerCache)
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, reader, true, true)
|
rule, err := NewThresholdRule("69", &postableRule, reader, true, true)
|
||||||
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
||||||
"signoz_calls_total": {
|
"signoz_calls_total": {
|
||||||
v3.Delta: true,
|
v3.Delta: true,
|
||||||
@ -1411,7 +1402,6 @@ func TestThresholdRuleTracesLink(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
||||||
|
|
||||||
metaCols := make([]cmock.ColumnType, 0)
|
metaCols := make([]cmock.ColumnType, 0)
|
||||||
@ -1455,7 +1445,7 @@ func TestThresholdRuleTracesLink(t *testing.T) {
|
|||||||
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
||||||
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), nil)
|
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), nil)
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, reader, true, true)
|
rule, err := NewThresholdRule("69", &postableRule, reader, true, true)
|
||||||
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
||||||
"signoz_calls_total": {
|
"signoz_calls_total": {
|
||||||
v3.Delta: true,
|
v3.Delta: true,
|
||||||
@ -1521,7 +1511,6 @@ func TestThresholdRuleLogsLink(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
fm := featureManager.StartManager()
|
|
||||||
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
telemetryStore := telemetrystoretest.New(telemetrystore.Config{}, &queryMatcherAny{})
|
||||||
|
|
||||||
attrMetaCols := make([]cmock.ColumnType, 0)
|
attrMetaCols := make([]cmock.ColumnType, 0)
|
||||||
@ -1577,7 +1566,7 @@ func TestThresholdRuleLogsLink(t *testing.T) {
|
|||||||
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
options := clickhouseReader.NewOptions("", "", "archiveNamespace")
|
||||||
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), nil)
|
reader := clickhouseReader.NewReaderFromClickhouseConnection(options, nil, telemetryStore, prometheustest.New(instrumentationtest.New().Logger(), prometheus.Config{}), "", true, true, time.Duration(time.Second), nil)
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, fm, reader, true, true)
|
rule, err := NewThresholdRule("69", &postableRule, reader, true, true)
|
||||||
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
rule.TemporalityMap = map[string]map[v3.Temporality]bool{
|
||||||
"signoz_calls_total": {
|
"signoz_calls_total": {
|
||||||
v3.Delta: true,
|
v3.Delta: true,
|
||||||
@ -1653,7 +1642,7 @@ func TestThresholdRuleShiftBy(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
rule, err := NewThresholdRule("69", &postableRule, nil, nil, true, true)
|
rule, err := NewThresholdRule("69", &postableRule, nil, true, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user