Chore: Enable Go linter gocritic (#26224)
* Chore: Enable gocritic linter Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
@@ -36,7 +36,7 @@ func (s *queryReducer) Reduce(series *tsdb.TimeSeries) null.Float {
|
||||
}
|
||||
}
|
||||
if validPointsCount > 0 {
|
||||
value = value / float64(validPointsCount)
|
||||
value /= float64(validPointsCount)
|
||||
}
|
||||
case "sum":
|
||||
for _, point := range series.Points {
|
||||
|
||||
@@ -214,11 +214,12 @@ func (e *AlertEngine) processJob(attemptID int, attemptChan chan int, cancelChan
|
||||
evalContext.Ctx = resultHandleCtx
|
||||
evalContext.Rule.State = evalContext.GetNewState()
|
||||
if err := e.resultHandler.handle(evalContext); err != nil {
|
||||
if xerrors.Is(err, context.Canceled) {
|
||||
switch {
|
||||
case xerrors.Is(err, context.Canceled):
|
||||
e.log.Debug("Result handler returned context.Canceled")
|
||||
} else if xerrors.Is(err, context.DeadlineExceeded) {
|
||||
case xerrors.Is(err, context.DeadlineExceeded):
|
||||
e.log.Debug("Result handler returned context.DeadlineExceeded")
|
||||
} else {
|
||||
default:
|
||||
e.log.Error("Failed to handle result", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
)
|
||||
|
||||
// for stubbing in tests
|
||||
//nolint: gocritic
|
||||
var newImageUploaderProvider = func() (imguploader.ImageUploader, error) {
|
||||
return imguploader.NewImageUploader()
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ func (kn *KafkaNotifier) Notify(evalContext *alerting.EvalContext) error {
|
||||
|
||||
customData := triggMetrString
|
||||
for _, evt := range evalContext.EvalMatches {
|
||||
customData = customData + fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
|
||||
customData += fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
|
||||
}
|
||||
|
||||
kn.log.Info("Notifying Kafka", "alert_state", state)
|
||||
|
||||
@@ -67,13 +67,11 @@ type LineNotifier struct {
|
||||
// Notify send an alert notification to LINE
|
||||
func (ln *LineNotifier) Notify(evalContext *alerting.EvalContext) error {
|
||||
ln.log.Info("Executing line notification", "ruleId", evalContext.Rule.ID, "notification", ln.Name)
|
||||
|
||||
var err error
|
||||
switch evalContext.Rule.State {
|
||||
case models.AlertStateAlerting:
|
||||
err = ln.createAlert(evalContext)
|
||||
if evalContext.Rule.State == models.AlertStateAlerting {
|
||||
return ln.createAlert(evalContext)
|
||||
}
|
||||
return err
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ln *LineNotifier) createAlert(evalContext *alerting.EvalContext) error {
|
||||
|
||||
@@ -142,7 +142,7 @@ func (on *OpsGenieNotifier) createAlert(evalContext *alerting.EvalContext) error
|
||||
|
||||
customData := triggMetrString
|
||||
for _, evt := range evalContext.EvalMatches {
|
||||
customData = customData + fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
|
||||
customData += fmt.Sprintf("%s: %v\n", evt.Metric, evt.Value)
|
||||
}
|
||||
|
||||
bodyJSON := simplejson.New()
|
||||
|
||||
@@ -130,11 +130,12 @@ func (sn *SensuNotifier) Notify(evalContext *alerting.EvalContext) error {
|
||||
bodyJSON.Set("output", "Grafana Metric Condition Met")
|
||||
bodyJSON.Set("evalMatches", evalContext.EvalMatches)
|
||||
|
||||
if evalContext.Rule.State == "alerting" {
|
||||
switch evalContext.Rule.State {
|
||||
case "alerting":
|
||||
bodyJSON.Set("status", 2)
|
||||
} else if evalContext.Rule.State == "no_data" {
|
||||
case "no_data":
|
||||
bodyJSON.Set("status", 1)
|
||||
} else {
|
||||
default:
|
||||
bodyJSON.Set("status", 0)
|
||||
}
|
||||
|
||||
|
||||
@@ -125,16 +125,16 @@ func (tn *TelegramNotifier) buildMessageLinkedImage(evalContext *alerting.EvalCo
|
||||
|
||||
ruleURL, err := evalContext.GetRuleURL()
|
||||
if err == nil {
|
||||
message = message + fmt.Sprintf("URL: %s\n", ruleURL)
|
||||
message += fmt.Sprintf("URL: %s\n", ruleURL)
|
||||
}
|
||||
|
||||
if evalContext.ImagePublicURL != "" {
|
||||
message = message + fmt.Sprintf("Image: %s\n", evalContext.ImagePublicURL)
|
||||
message += fmt.Sprintf("Image: %s\n", evalContext.ImagePublicURL)
|
||||
}
|
||||
|
||||
metrics := generateMetricsMessage(evalContext)
|
||||
if metrics != "" {
|
||||
message = message + fmt.Sprintf("\n<i>Metrics:</i>%s", metrics)
|
||||
message += fmt.Sprintf("\n<i>Metrics:</i>%s", metrics)
|
||||
}
|
||||
|
||||
return tn.generateTelegramCmd(message, "text", "sendMessage", func(w *multipart.Writer) {
|
||||
|
||||
@@ -177,10 +177,10 @@ func (notifier *ThreemaNotifier) Notify(evalContext *alerting.EvalContext) error
|
||||
evalContext.Rule.Name, evalContext.Rule.Message)
|
||||
ruleURL, err := evalContext.GetRuleURL()
|
||||
if err == nil {
|
||||
message = message + fmt.Sprintf("*URL:* %s\n", ruleURL)
|
||||
message += fmt.Sprintf("*URL:* %s\n", ruleURL)
|
||||
}
|
||||
if notifier.NeedsImage() && evalContext.ImagePublicURL != "" {
|
||||
message = message + fmt.Sprintf("*Image:* %s\n", evalContext.ImagePublicURL)
|
||||
message += fmt.Sprintf("*Image:* %s\n", evalContext.ImagePublicURL)
|
||||
}
|
||||
data.Set("text", message)
|
||||
|
||||
|
||||
@@ -100,11 +100,12 @@ func (handler *defaultResultHandler) handle(evalContext *EvalContext) error {
|
||||
}
|
||||
|
||||
if err := handler.notifier.SendIfNeeded(evalContext); err != nil {
|
||||
if xerrors.Is(err, context.Canceled) {
|
||||
switch {
|
||||
case xerrors.Is(err, context.Canceled):
|
||||
handler.log.Debug("handler.notifier.SendIfNeeded returned context.Canceled")
|
||||
} else if xerrors.Is(err, context.DeadlineExceeded) {
|
||||
case xerrors.Is(err, context.DeadlineExceeded):
|
||||
handler.log.Debug("handler.notifier.SendIfNeeded returned context.DeadlineExceeded")
|
||||
} else {
|
||||
default:
|
||||
handler.log.Error("handler.notifier.SendIfNeeded failed", "err", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ func getTimeDurationStringToSeconds(str string) (int64, error) {
|
||||
|
||||
matches := valueFormatRegex.FindAllString(str, 1)
|
||||
|
||||
if len(matches) <= 0 {
|
||||
if len(matches) == 0 {
|
||||
return 0, ErrFrequencyCouldNotBeParsed
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user