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

feat(alerting): renamed scheduler to handler

Torkel Ödegaard 9 лет назад
Родитель
Сommit
dac8b35a1a

+ 1 - 1
pkg/models/alert.go

@@ -14,7 +14,7 @@ type Alert struct {
 	Name        string
 	Name        string
 	Description string
 	Description string
 	State       string
 	State       string
-	Scheduler   int64
+	Handler     int64
 	Enabled     bool
 	Enabled     bool
 
 
 	Created time.Time
 	Created time.Time

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

@@ -69,7 +69,7 @@ func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
 				PanelId:     panel.Get("id").MustInt64(),
 				PanelId:     panel.Get("id").MustInt64(),
 				Id:          jsonAlert.Get("id").MustInt64(),
 				Id:          jsonAlert.Get("id").MustInt64(),
 				Name:        jsonAlert.Get("name").MustString(),
 				Name:        jsonAlert.Get("name").MustString(),
-				Scheduler:   jsonAlert.Get("scheduler").MustInt64(),
+				Handler:     jsonAlert.Get("handler").MustInt64(),
 				Enabled:     jsonAlert.Get("enabled").MustBool(),
 				Enabled:     jsonAlert.Get("enabled").MustBool(),
 				Description: jsonAlert.Get("description").MustString(),
 				Description: jsonAlert.Get("description").MustString(),
 			}
 			}

+ 5 - 5
pkg/services/alerting/extractor_test.go

@@ -39,7 +39,7 @@ func TestAlertRuleExtraction(t *testing.T) {
           "alert": {
           "alert": {
             "name": "name1",
             "name": "name1",
             "description": "desc1",
             "description": "desc1",
-						"scheduler": 1,
+						"handler": 1,
 						"enabled": true,
 						"enabled": true,
             "critical": {
             "critical": {
               "level": 20,
               "level": 20,
@@ -74,7 +74,7 @@ func TestAlertRuleExtraction(t *testing.T) {
           "alert": {
           "alert": {
             "name": "name2",
             "name": "name2",
             "description": "desc2",
             "description": "desc2",
-						"scheduler": 0,
+						"handler": 0,
 						"enabled": true,
 						"enabled": true,
             "critical": {
             "critical": {
               "level": 20,
               "level": 20,
@@ -197,9 +197,9 @@ func TestAlertRuleExtraction(t *testing.T) {
 					So(v.Description, ShouldNotBeEmpty)
 					So(v.Description, ShouldNotBeEmpty)
 				}
 				}
 
 
-				Convey("should extract scheduler property", func() {
-					So(alerts[0].Scheduler, ShouldEqual, 1)
-					So(alerts[1].Scheduler, ShouldEqual, 0)
+				Convey("should extract handler property", func() {
+					So(alerts[0].Handler, ShouldEqual, 1)
+					So(alerts[1].Handler, ShouldEqual, 0)
 				})
 				})
 
 
 				Convey("should extract panel idc", func() {
 				Convey("should extract panel idc", func() {

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

@@ -17,7 +17,7 @@ func addAlertMigrations(mg *Migrator) {
 			{Name: "description", Type: DB_NVarchar, Length: 255, Nullable: false},
 			{Name: "description", 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: "settings", Type: DB_Text, Nullable: false},
 			{Name: "settings", Type: DB_Text, Nullable: false},
-			{Name: "scheduler", Type: DB_BigInt, Nullable: false},
+			{Name: "handler", Type: DB_BigInt, Nullable: false},
 			{Name: "enabled", Type: DB_Bool, Nullable: false},
 			{Name: "enabled", Type: DB_Bool, Nullable: false},
 			{Name: "created", Type: DB_DateTime, Nullable: false},
 			{Name: "created", Type: DB_DateTime, Nullable: false},
 			{Name: "updated", Type: DB_DateTime, Nullable: false},
 			{Name: "updated", Type: DB_DateTime, Nullable: false},

+ 0 - 7
public/app/plugins/panel/graph/alert_handle.ts

@@ -58,15 +58,11 @@ export class AlertHandleManager {
       isMoving = false;
       isMoving = false;
       // calculate graph level
       // calculate graph level
       var graphLevel = plot.c2p({left: 0, top: posTop}).y;
       var graphLevel = plot.c2p({left: 0, top: posTop}).y;
-      console.log('canvasPos:' + posTop + ' Graph level: ' + graphLevel);
       graphLevel = parseInt(graphLevel.toFixed(0));
       graphLevel = parseInt(graphLevel.toFixed(0));
       levelModel.level = graphLevel;
       levelModel.level = graphLevel;
-      console.log(levelModel);
 
 
       var levelCanvasPos = plot.p2c({x: 0, y: graphLevel});
       var levelCanvasPos = plot.p2c({x: 0, y: graphLevel});
-      console.log('canvas pos', levelCanvasPos);
 
 
-      console.log('stopped');
       handleElem.off("mousemove", dragging);
       handleElem.off("mousemove", dragging);
       handleElem.off("mouseup", dragging);
       handleElem.off("mouseup", dragging);
 
 
@@ -80,7 +76,6 @@ export class AlertHandleManager {
       isMoving = true;
       isMoving = true;
       lastY = null;
       lastY = null;
       posTop = handleElem.position().top;
       posTop = handleElem.position().top;
-      console.log('start pos', posTop);
 
 
       handleElem.on("mousemove", dragging);
       handleElem.on("mousemove", dragging);
       handleElem.on("mouseup", stopped);
       handleElem.on("mouseup", stopped);
@@ -109,12 +104,10 @@ export class AlertHandleManager {
     }
     }
 
 
     if (handleElem.length === 0) {
     if (handleElem.length === 0) {
-      console.log('creating handle');
       handleElem = $(this.getFullHandleHtml(type, model.op, levelStr));
       handleElem = $(this.getFullHandleHtml(type, model.op, levelStr));
       this.placeholder.append(handleElem);
       this.placeholder.append(handleElem);
       this.setupDragging(handleElem, model);
       this.setupDragging(handleElem, model);
     } else {
     } else {
-      console.log('reusing handle!');
       handleElem.html(this.getHandleInnerHtml(type, model.op, levelStr));
       handleElem.html(this.getHandleInnerHtml(type, model.op, levelStr));
     }
     }
 
 

+ 4 - 19
public/app/plugins/panel/graph/alert_tab_ctrl.ts

@@ -23,7 +23,7 @@ export class AlertTabCtrl {
   panel: any;
   panel: any;
   panelCtrl: any;
   panelCtrl: any;
   metricTargets = [{ refId: '- select query -' } ];
   metricTargets = [{ refId: '- select query -' } ];
-  schedulers = [{text: 'Grafana', value: 1}, {text: 'External', value: 0}];
+  handlers = [{text: 'Grafana', value: 1}, {text: 'External', value: 0}];
   transforms = [
   transforms = [
     {
     {
       text: 'Aggregation',
       text: 'Aggregation',
@@ -49,7 +49,7 @@ export class AlertTabCtrl {
     frequency: '60s',
     frequency: '60s',
     notify: [],
     notify: [],
     enabled: false,
     enabled: false,
-    scheduler: 1,
+    handler: 1,
     warn: { op: '>', level: undefined },
     warn: { op: '>', level: undefined },
     critical: { op: '>', level: undefined },
     critical: { op: '>', level: undefined },
     query: {
     query: {
@@ -104,7 +104,6 @@ export class AlertTabCtrl {
 
 
     // init the query part components model
     // init the query part components model
     this.query = new QueryPart(this.queryParams, alertQueryDef);
     this.query = new QueryPart(this.queryParams, alertQueryDef);
-    this.convertThresholdsToAlertThresholds();
     this.transformDef = _.findWhere(this.transforms, {type: this.alert.transform.type});
     this.transformDef = _.findWhere(this.transforms, {type: this.alert.transform.type});
 
 
     this.panelCtrl.editingAlert = true;
     this.panelCtrl.editingAlert = true;
@@ -136,22 +135,8 @@ export class AlertTabCtrl {
     }
     }
   }
   }
 
 
-  convertThresholdsToAlertThresholds() {
-    // if (this.panel.grid
-    //     && this.panel.grid.threshold1
-    //     && this.alert.warnLevel === undefined
-    //    ) {
-    //   this.alert.warning.op = '>';
-    //   this.alert.warning.level = this.panel.grid.threshold1;
-    // }
-    //
-    // if (this.panel.grid
-    //     && this.panel.grid.threshold2
-    //     && this.alert.critical.level === undefined
-    //    ) {
-    //   this.alert.critical.op = '>';
-    //   this.alert.critical.level = this.panel.grid.threshold2;
-    // }
+  operatorChanged() {
+    this.panelCtrl.render();
   }
   }
 
 
   delete() {
   delete() {

+ 13 - 13
public/app/plugins/panel/graph/partials/tab_alerting.html

@@ -41,21 +41,21 @@
     <div class="gf-form-group section">
     <div class="gf-form-group section">
       <h5 class="section-heading">Levels</h5>
       <h5 class="section-heading">Levels</h5>
       <div class="gf-form-inline">
       <div class="gf-form-inline">
-        <div class="gf-form">
-          <span class="gf-form-label">
-            <i class="icon-gf icon-gf-warn alert-icon-warn"></i>
-            Warn if
-          </span>
-          <metric-segment-model property="ctrl.alert.warn.op" options="ctrl.levelOpList" custom="false" css-class="query-segment-operator"></metric-segment-model>
-          <input class="gf-form-input max-width-7" type="number" ng-model="ctrl.alert.warn.level" ng-change="ctrl.levelsUpdated()"></input>
-        </div>
-        <div class="gf-form">
+				<div class="gf-form">
           <span class="gf-form-label">
           <span class="gf-form-label">
             <i class="icon-gf icon-gf-warn alert-icon-critical"></i>
             <i class="icon-gf icon-gf-warn alert-icon-critical"></i>
             Critcal if
             Critcal if
           </span>
           </span>
-          <metric-segment-model property="ctrl.alert.critical.op" options="ctrl.levelOpList" custom="false" css-class="query-segment-operator"></metric-segment-model>
+          <metric-segment-model property="ctrl.alert.critical.op" options="ctrl.levelOpList" custom="false" css-class="query-segment-operator" on-change="ctrl.operatorChanged()"></metric-segment-model>
           <input class="gf-form-input max-width-7" type="number" ng-model="ctrl.alert.critical.level" ng-change="ctrl.levelsUpdated()"></input>
           <input class="gf-form-input max-width-7" type="number" ng-model="ctrl.alert.critical.level" ng-change="ctrl.levelsUpdated()"></input>
+        </div>
+				<div class="gf-form">
+          <span class="gf-form-label">
+            <i class="icon-gf icon-gf-warn alert-icon-warn"></i>
+            Warn if
+          </span>
+          <metric-segment-model property="ctrl.alert.warn.op" options="ctrl.levelOpList" custom="false" css-class="query-segment-operator" on-change="ctrl.operatorChanged()"></metric-segment-model>
+          <input class="gf-form-input max-width-7" type="number" ng-model="ctrl.alert.warn.level" ng-change="ctrl.levelsUpdated()"></input>
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>
@@ -66,11 +66,11 @@
       <h5 class="section-heading">Execution</h5>
       <h5 class="section-heading">Execution</h5>
       <div class="gf-form-inline">
       <div class="gf-form-inline">
         <div class="gf-form">
         <div class="gf-form">
-          <span class="gf-form-label">Scheduler</span>
+          <span class="gf-form-label">Handler</span>
           <div class="gf-form-select-wrapper">
           <div class="gf-form-select-wrapper">
             <select   class="gf-form-input"
             <select   class="gf-form-input"
-                      ng-model="ctrl.alert.scheduler"
-                      ng-options="f.value as f.text for f in ctrl.schedulers">
+                      ng-model="ctrl.alert.handler"
+                      ng-options="f.value as f.text for f in ctrl.handlers">
             </select>
             </select>
           </div>
           </div>
         </div>
         </div>