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

Register new queries available in InfluxDB - Holt Winters fixes #5619

For correct data fill on holt winters predictions, the time function
needed modification to allow a 2nd param for offset, as per
https://docs.influxdata.com/influxdb/v1.0/query_language/data_exploratio
n/#advanced-group-by-time-syntax
Darrian 9 лет назад
Родитель
Сommit
b8572b69f0

+ 9 - 0
pkg/tsdb/influxdb/query_part.go

@@ -33,6 +33,15 @@ func init() {
 	renders["median"] = QueryDefinition{Renderer: functionRenderer}
 	renders["sum"] = QueryDefinition{Renderer: functionRenderer}
 
+  renders["holt_winters"] = QueryDefinition{
+    Renderer: functionRenderer,
+    Params:   []DefinitionParameters{{Name: "number", Type: "number"}, {Name: "season", Type: "number"}},
+  }
+  renders["holt_winters_with_fit"] = QueryDefinition{
+    Renderer: functionRenderer,
+    Params:   []DefinitionParameters{{Name: "number", Type: "number"}, {Name: "season", Type: "number"}},
+  }
+  
 	renders["derivative"] = QueryDefinition{
 		Renderer: functionRenderer,
 		Params:   []DefinitionParameters{{Name: "duration", Type: "interval"}},

+ 22 - 2
public/app/plugins/datasource/influxdb/query_part.ts

@@ -241,8 +241,9 @@ register({
 register({
   type: 'time',
   category: groupByTimeFunctions,
-  params: [{ name: "interval", type: "time", options: ['auto', '1s', '10s', '1m', '5m', '10m', '15m', '1h'] }],
-  defaultParams: ['auto'],
+  params: [{ name: "interval", type: "time", options: ['auto', '1s', '10s', '1m', '5m', '10m', '15m', '1h'] },
+    { name: "offset", type: "time", options: ['auto', '1s', '10s', '1m', '5m', '10m', '15m', '1h'] }],
+  defaultParams: ['auto', 'auto'],
   renderer: functionRenderer,
 });
 
@@ -263,6 +264,25 @@ register({
   renderer: functionRenderer,
 });
 
+// predictions
+register({
+  type: 'holt_winters',
+  addStrategy: addTransformationStrategy,
+  category: categories.Predictions,
+  params: [{ name: "number", type: "number", options: [5, 10, 20, 30, 40]}, { name: "season", type: "number", options: [0, 1, 2, 5, 10]}],
+  defaultParams: [10, 2],
+  renderer: functionRenderer,
+});
+
+register({
+  type: 'holt_winters_with_fit',
+  addStrategy: addTransformationStrategy,
+  category: categories.Predictions,
+  params: [{ name: "number", type: "number", options: [5, 10, 20, 30, 40]}, { name: "season", type: "number", options: [0, 1, 2, 5, 10]}],
+  defaultParams: [10, 2],
+  renderer: functionRenderer,
+});
+
 // Selectors
 register({
   type: 'bottom',