Просмотр исходного кода

tech(alerting): change queryrange to int from str

bergquist 9 лет назад
Родитель
Сommit
16a9e56eca

+ 1 - 1
pkg/api/dtos/alerting.go

@@ -13,7 +13,7 @@ type AlertRuleDTO struct {
 	Interval     string `json:"interval"`
 	Interval     string `json:"interval"`
 	Title        string `json:"title"`
 	Title        string `json:"title"`
 	Description  string `json:"description"`
 	Description  string `json:"description"`
-	QueryRange   string `json:"queryRange"`
+	QueryRange   int    `json:"queryRange"`
 	Aggregator   string `json:"aggregator"`
 	Aggregator   string `json:"aggregator"`
 	State        string `json:"state"`
 	State        string `json:"state"`
 
 

+ 1 - 1
pkg/models/alerts.go

@@ -20,7 +20,7 @@ type AlertRule struct {
 	Frequency    int64  `json:"frequency"`
 	Frequency    int64  `json:"frequency"`
 	Title        string `json:"title"`
 	Title        string `json:"title"`
 	Description  string `json:"description"`
 	Description  string `json:"description"`
-	QueryRange   string `json:"queryRange"`
+	QueryRange   int    `json:"queryRange"`
 	Aggregator   string `json:"aggregator"`
 	Aggregator   string `json:"aggregator"`
 	State        string `json:"state"`
 	State        string `json:"state"`
 
 

+ 1 - 1
pkg/services/alerting/alert_rule_reader.go

@@ -30,7 +30,7 @@ func (this AlertRuleReader) Fetch() []m.AlertRule {
 			CritLevel:    4,
 			CritLevel:    4,
 			Aggregator:   "avg",
 			Aggregator:   "avg",
 			Query:        `{"refId":"A","target":"statsd.fakesite.counters.session_start.*.count","textEditor":true}"`,
 			Query:        `{"refId":"A","target":"statsd.fakesite.counters.session_start.*.count","textEditor":true}"`,
-			QueryRange:   "1h",
+			QueryRange:   3600,
 		},
 		},
 	}
 	}
 }
 }

+ 1 - 1
pkg/services/alerting/dashboard_parser.go

@@ -29,7 +29,7 @@ func ParseAlertsFromDashboard(cmd *m.SaveDashboardCommand) []m.AlertRule {
 				Interval:     alerting.Get("interval").MustString(),
 				Interval:     alerting.Get("interval").MustString(),
 				Title:        alerting.Get("title").MustString(),
 				Title:        alerting.Get("title").MustString(),
 				Description:  alerting.Get("description").MustString(),
 				Description:  alerting.Get("description").MustString(),
-				QueryRange:   alerting.Get("queryRange").MustString(),
+				QueryRange:   alerting.Get("queryRange").MustInt(),
 				Aggregator:   alerting.Get("aggregator").MustString(),
 				Aggregator:   alerting.Get("aggregator").MustString(),
 			}
 			}
 
 

+ 2 - 1
pkg/services/alerting/graphite/graphite.go

@@ -8,6 +8,7 @@ import (
 	m "github.com/grafana/grafana/pkg/models"
 	m "github.com/grafana/grafana/pkg/models"
 	"net/http"
 	"net/http"
 	"net/url"
 	"net/url"
+	"strconv"
 	"time"
 	"time"
 )
 )
 
 
@@ -30,7 +31,7 @@ func (this GraphiteClient) GetSeries(rule m.AlertRule) (m.TimeSeriesSlice, error
 		"format": []string{"json"},
 		"format": []string{"json"},
 		"target": []string{getTargetFromRule(rule)},
 		"target": []string{getTargetFromRule(rule)},
 		"until":  []string{"now"},
 		"until":  []string{"now"},
-		"from":   []string{"-" + rule.QueryRange},
+		"from":   []string{"-" + strconv.Itoa(rule.QueryRange) + "s"},
 	}
 	}
 
 
 	res, err := goreq.Request{
 	res, err := goreq.Request{

+ 1 - 1
pkg/services/sqlstore/alert_rule_changes_test.go

@@ -33,7 +33,7 @@ func TestAlertRuleChangesDataAccess(t *testing.T) {
 					Interval:     "10",
 					Interval:     "10",
 					Title:        "Alerting title",
 					Title:        "Alerting title",
 					Description:  "Alerting description",
 					Description:  "Alerting description",
-					QueryRange:   "5m",
+					QueryRange:   3600,
 					Aggregator:   "avg",
 					Aggregator:   "avg",
 					OrgId:        FakeOrgId,
 					OrgId:        FakeOrgId,
 				},
 				},

+ 3 - 3
pkg/services/sqlstore/alert_rule_test.go

@@ -28,7 +28,7 @@ func TestAlertingDataAccess(t *testing.T) {
 				Interval:     "10",
 				Interval:     "10",
 				Title:        "Alerting title",
 				Title:        "Alerting title",
 				Description:  "Alerting description",
 				Description:  "Alerting description",
-				QueryRange:   "5m",
+				QueryRange:   3600,
 				Aggregator:   "avg",
 				Aggregator:   "avg",
 				DatasourceId: 42,
 				DatasourceId: 42,
 			},
 			},
@@ -67,7 +67,7 @@ func TestAlertingDataAccess(t *testing.T) {
 			So(alert.QueryRefId, ShouldEqual, "A")
 			So(alert.QueryRefId, ShouldEqual, "A")
 			So(alert.Title, ShouldEqual, "Alerting title")
 			So(alert.Title, ShouldEqual, "Alerting title")
 			So(alert.Description, ShouldEqual, "Alerting description")
 			So(alert.Description, ShouldEqual, "Alerting description")
-			So(alert.QueryRange, ShouldEqual, "5m")
+			So(alert.QueryRange, ShouldEqual, 3600)
 			So(alert.Aggregator, ShouldEqual, "avg")
 			So(alert.Aggregator, ShouldEqual, "avg")
 			So(alert.State, ShouldEqual, "OK")
 			So(alert.State, ShouldEqual, "OK")
 			So(alert.DatasourceId, ShouldEqual, 42)
 			So(alert.DatasourceId, ShouldEqual, 42)
@@ -191,7 +191,7 @@ func TestAlertingDataAccess(t *testing.T) {
 					Interval:     "10",
 					Interval:     "10",
 					Title:        "Alerting title",
 					Title:        "Alerting title",
 					Description:  "Alerting description",
 					Description:  "Alerting description",
-					QueryRange:   "5m",
+					QueryRange:   3600,
 					Aggregator:   "avg",
 					Aggregator:   "avg",
 				},
 				},
 			}
 			}

+ 1 - 1
pkg/services/sqlstore/alert_state_test.go

@@ -27,7 +27,7 @@ func TestAlertingStateAccess(t *testing.T) {
 				Interval:     "10",
 				Interval:     "10",
 				Title:        "Alerting title",
 				Title:        "Alerting title",
 				Description:  "Alerting description",
 				Description:  "Alerting description",
-				QueryRange:   "5m",
+				QueryRange:   3600,
 				Aggregator:   "avg",
 				Aggregator:   "avg",
 			},
 			},
 		}
 		}

+ 1 - 1
pkg/services/sqlstore/migrations/alert_mig.go

@@ -24,7 +24,7 @@ func addAlertMigrations(mg *Migrator) {
 			{Name: "frequency", Type: DB_BigInt, Nullable: false},
 			{Name: "frequency", Type: DB_BigInt, Nullable: false},
 			{Name: "title", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "title", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "description", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "description", Type: DB_NVarchar, Length: 255, Nullable: false},
-			{Name: "query_range", Type: DB_NVarchar, Length: 255, Nullable: false},
+			{Name: "query_range", Type: DB_Int, Nullable: false},
 			{Name: "aggregator", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "aggregator", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "state", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "state", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "created", Type: DB_DateTime, Nullable: false},
 			{Name: "created", Type: DB_DateTime, Nullable: false},