diff --git a/pkg/tsdb/influxdb/query_part.go b/pkg/tsdb/influxdb/query_part.go index 222e0b054ee..22848dd3ee2 100644 --- a/pkg/tsdb/influxdb/query_part.go +++ b/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"}}, diff --git a/public/app/plugins/datasource/influxdb/query_part.ts b/public/app/plugins/datasource/influxdb/query_part.ts index c0592204bc8..ea66bedd316 100644 --- a/public/app/plugins/datasource/influxdb/query_part.ts +++ b/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',