diff --git a/CHANGELOG.md b/CHANGELOG.md index 323aaaecac2..b3b6371b324 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * **Graph**: Adds sort order options for graph tooltip, closes [#1189](https://github.com/grafana/grafana/issues/1189) * **Theme**: Add default theme to config file [#5011](https://github.com/grafana/grafana/pull/5011) * **Page Footer**: Added page footer with links to docs, shows Grafana version and info if new version is available, closes [#4889](https://github.com/grafana/grafana/pull/4889) +* **InfluxDB**: Add spread function, closes [#5211](https://github.com/grafana/grafana/issues/5211) # 3.0.4 Patch release (2016-05-25) * **Panel**: Fixed blank dashboard issue when switching to other dashboard while in fullscreen edit mode, fixes [#5163](https://github.com/grafana/grafana/pull/5163) diff --git a/public/app/plugins/datasource/influxdb/query_part.ts b/public/app/plugins/datasource/influxdb/query_part.ts index 63d70be5653..130174c3084 100644 --- a/public/app/plugins/datasource/influxdb/query_part.ts +++ b/public/app/plugins/datasource/influxdb/query_part.ts @@ -230,6 +230,15 @@ QueryPartDef.register({ renderer: functionRenderer, }); +QueryPartDef.register({ + type: 'spread', + addStrategy: addTransformationStrategy, + category: categories.Transformations, + params: [], + defaultParams: [], + renderer: functionRenderer, +}); + QueryPartDef.register({ type: 'non_negative_derivative', addStrategy: addTransformationStrategy, diff --git a/public/app/plugins/datasource/influxdb/specs/query_part_specs.ts b/public/app/plugins/datasource/influxdb/specs/query_part_specs.ts index 2024015ffc7..299ec9b47fd 100644 --- a/public/app/plugins/datasource/influxdb/specs/query_part_specs.ts +++ b/public/app/plugins/datasource/influxdb/specs/query_part_specs.ts @@ -16,6 +16,15 @@ describe('InfluxQueryPart', () => { expect(part.render('mean(value)')).to.be('derivative(mean(value), 10s)'); }); + it('should nest spread function', () => { + var part = queryPart.create({ + type: 'spread' + }); + + expect(part.text).to.be('spread()'); + expect(part.render('value')).to.be('spread(value)'); + }); + it('should handle suffirx parts', () => { var part = queryPart.create({ type: 'math',