Merge branch 'flux-0.36' into flux-0.37

pull/334/head
Scott Anderson 2019-07-16 11:06:51 -06:00
commit aa3857ab2d
7 changed files with 289 additions and 35 deletions

View File

@ -0,0 +1,53 @@
---
title: sleep() function
description: The `sleep()` function delays execution by a specified duration.
menu:
v2_0_ref:
name: sleep
parent: built-in-misc
weight: 401
---
The `sleep()` function delays execution by a specified duration.
_**Function type:** Miscellaneous_
```js
sleep(
v: x,
duration: 10s
)
```
## Parameters
### v
Defines input tables.
`sleep()` accepts piped-forward data and passes it on unmodified after the
specified [duration](#duration).
If data is not piped-forward into `sleep()`, set `v` to specify a stream object.
The examples [below](#examples) illustrate how.
_**Data type:** Object_
### duration
The length of time to delay execution.
_**Data type:** Duration_
## Examples
### Delay execution in a chained query
```js
from(bucket: "example-bucket")
|> range(start: -1h)
|> sleep(duration: 10s)
```
### Delay execution using a stream variable
```js
x = from(bucket: "example-bucket")
|> range(start: -1h)
sleep(v: x, duration: 10s)
```

View File

@ -8,7 +8,6 @@ menu:
name: mode name: mode
parent: built-in-aggregates parent: built-in-aggregates
weight: 501 weight: 501
draft: true
--- ---
The `mode()` function computes the mode or value that occurs most often in a The `mode()` function computes the mode or value that occurs most often in a
@ -20,6 +19,18 @@ _**Function type:** Aggregate_
mode(column: "_value") mode(column: "_value")
``` ```
Multiple modes are returned in a sorted table.
If there is no mode, `mode()` returns `null`.
##### Supported data types
- String
- Float
- Integer
- UInteger
- Boolean
- Time
## Parameters ## Parameters
### column ### column
@ -30,7 +41,7 @@ _**Data type:** String_
## Examples ## Examples
###### Mode as an aggregate ###### Return the mode of windowed data
```js ```js
from(bucket: "example-bucket") from(bucket: "example-bucket")
|> filter(fn: (r) => |> filter(fn: (r) =>

View File

@ -1,61 +1,57 @@
--- ---
title: movingAverage() function title: movingAverage() function
description: > description: >
The `movingAverage()` function calculates the mean of values in a defined time The `movingAverage()` function calculates the mean of values grouped into `n` number of points.
range at a specified frequency.
menu: menu:
v2_0_ref: v2_0_ref:
name: movingAverage name: movingAverage
parent: built-in-aggregates parent: built-in-aggregates
weight: 501 weight: 501
related:
- /v2.0/reference/flux/functions/built-in/transformations/aggregates/timedmovingaverage/
- https://docs.influxdata.com/influxdb/latest/query_language/functions/#moving-average, InfluxQL MOVING_AVERAGE()
--- ---
The `movingAverage()` function calculates the mean of values in a defined time The `movingAverage()` function calculates the mean of values grouped into `n` number of points.
range at a specified frequency.
_**Function type:** Aggregate_ _**Function type:** Aggregate_
```js ```js
movingAverage( movingAverage(
every: 1d, n: 5,
period: 5d, columns: ["_value"]
column="_value"
) )
``` ```
##### Moving average rules:
- The average over a period populated by `n` values is equal to their algebraic mean.
- The average over a period populated by only `null` values is `null`.
- Moving averages skip `null` values.
- If `n` is less than the number of records in a table, `movingAverage` returns
the average of the available values.
## Parameters ## Parameters
### every ### n
The frequency of time windows. The number of points to average.
_**Data type:** Duration_ _**Data type:** Integer_
### period ### columns
The length of each averaged time window. Columns to operate on. _Defaults to `["_value"]`_.
_A negative duration indicates start and stop boundaries are reversed._
_**Data type:** Duration_ _**Data type:** Array of Strings_
### column
The column used to compute the moving average.
Defaults to `"_value"`.
_**Data type:** String_
## Examples ## Examples
###### Calculate a five year moving average every year #### Calculate a five point moving average
```js ```js
from(bucket: "example-bucket"): from(bucket: "example-bucket"):
|> range(start: -7y) |> range(start: -12h)
|> filter(fn: (r) => |> movingAverage(n: 5)
r._measurement == "financial" and
r._field == "closing_price"
)
|> movingAverage(every: 1y, period: 5y)
``` ```
## Function definition #### Calculate a ten point moving average
```js ```js
movingAverage = (every, period, column="_value", tables=<-) => movingAverage = (every, period, column="_value", tables=<-) =>
tables tables
@ -65,7 +61,26 @@ movingAverage = (every, period, column="_value", tables=<-) =>
|> window(every: inf) |> window(every: inf)
``` ```
<hr style="margin-top:4rem"/> #### Table transformation with a two point moving average
##### Related InfluxQL functions and statements: ###### Input table:
[MOVING_AVERAGE()](https://docs.influxdata.com/influxdb/latest/query_language/functions/#moving-average) | _time | A | B | C | D | tag |
|:-----:|:----:|:----:|:----:|:----:|:---:|
| 0001 | null | 1 | 2 | null | tv |
| 0002 | 6 | 2 | null | null | tv |
| 0003 | 4 | null | 4 | 4 | tv |
###### Query:
```js
// ...
|> movingAverage(
n: 2,
columns: ["A", "B", "C", "D"]
)
```
###### Output table:
| _time | A | B | C | D | tag |
|:-----:|:----:|:----:|:----:|:----:|:---:|
| 0002 | 6 | 1.5 | 2 | null | tv |
| 0003 | 5 | 2 | 4 | 4 | tv |

View File

@ -0,0 +1,80 @@
---
title: timedMovingAverage() function
description: >
The `timedMovingAverage()` function calculates the mean of values in a defined time
range at a specified frequency.
menu:
v2_0_ref:
name: timedMovingAverage
parent: built-in-aggregates
weight: 501
related:
- /v2.0/reference/flux/functions/built-in/transformations/aggregates/movingaverage/
- https://docs.influxdata.com/influxdb/latest/query_language/functions/#moving-average, InfluxQL MOVING_AVERAGE()
---
The `timedMovingAverage()` function calculates the mean of values in a defined time
range at a specified frequency.
_**Function type:** Aggregate_
```js
timedMovingAverage(
every: 1d,
period: 5d,
column="_value"
)
```
## Parameters
### every
The frequency of time windows.
_**Data type:** Duration_
### period
The length of each averaged time window.
_A negative duration indicates start and stop boundaries are reversed._
_**Data type:** Duration_
### column
The column used to compute the moving average.
Defaults to `"_value"`.
_**Data type:** String_
## Examples
###### Calculate a seven day moving average every day
```js
from(bucket: "example-bucket"):
|> range(start: -7y)
|> filter(fn: (r) =>
r._measurement == "financial" and
r._field == "closing_price"
)
|> timedMovingAverage(every: 1y, period: 5y)
```
###### Calculate a five year moving average every year
```js
from(bucket: "example-bucket"):
|> range(start: -50d)
|> filter(fn: (r) =>
r._measurement == "financial" and
r._field == "closing_price"
)
|> timedMovingAverage(every: 1d, period: 7d)
```
## Function definition
```js
timedMovingAverage = (every, period, column="_value", tables=<-) =>
tables
|> window(every: every, period: period)
|> mean(column:column)
|> duplicate(column: "_stop", as: "_time")
|> window(every: inf)
```

View File

@ -0,0 +1,54 @@
---
title: elapsed() function
description: The `elapsed()` function returns the time between subsequent records.
menu:
v2_0_ref:
name: elapsed
parent: built-in-transformations
weight: 401
---
The `elapsed()` function returns the time between subsequent records.
Given an input table, `elapsed()` returns the same table without the first record
(as elapsed time is not defined) and an additional column containing the elapsed time.
_**Function type:** Transformation_
```js
elapsed(
unit: 1s,
timeColumn: "_time",
columnName: "elapsed"
)
```
_`elapsed()` returns an errors if the `timeColumn` is not present in the input table._
## Parameters
### unit
The unit time to returned.
_Defaults to `1s`._
_**Data type:** Duration_
### timeColumn
The column to use to compute the elapsed time.
_Defaults to `"_time"`._
_**Data type:** String_
### columnName
The column to store elapsed times.
_Defaults to `"elapsed"`._
_**Data type:** String_
## Examples
##### Calculate the time between points in seconds
```js
from(bucket: "example-bucket")
|> range(start: -5m)
|> elapsed(unit: 1s)
```

View File

@ -11,11 +11,52 @@ aliases:
--- ---
{{% note %}} {{% note %}}
_The latest release of InfluxDB v2.0 alpha includes **Flux v0.35.1**. _The latest release of InfluxDB v2.0 alpha includes **Flux v0.36.1**.
Though newer versions of Flux may be available, they will not be included with Though newer versions of Flux may be available, they will not be included with
InfluxDB until the next InfluxDB v2.0 release._ InfluxDB until the next InfluxDB v2.0 release._
{{% /note %}} {{% /note %}}
## v0.36.2 [2019-07-12]
### Bug fixes
- Add helper methods for comparing entire result sets.
- Map will not panic when a record is `null`.
---
## v0.36.1 [2019-07-10]
### Bug fixes
- Add `range` call to some end-to-end tests.
- Fix implementation of `strings.replaceAll`.
---
## v0.36.0 [2019-07-09]
### Features
- Updated `movingAverage()` and added `timedMovingAverage`.
- `elapsed()` function.
- `mode()` function.
- `sleep()` function.
- Modify error usage in places to use the new enriched errors.
- Enriched error interface.
- End-to-end tests that show how to mimic pandas functionality.
- End-to-end tests for string functions.
### Bug fixes
- Fix `difference()` so that it returns an error instead of panicking when given a `_time` column.
- Added end-to-end tests for type conversion functions.
- Make `map()` error if return type is not an object.
- Fixed miscounted allocations in the `ColListTableBuilder`.
- Support formatting `with`.
### Breaking changes
- Updated `movingAverage()` to `timedMovingAverage` and added new
`movingAverage()` implementation.
---
## v0.35.1 [2019-07-03] ## v0.35.1 [2019-07-03]
### Bug fixes ### Bug fixes

View File

@ -4,7 +4,7 @@
<ul> <ul>
{{ range .Params.related }} {{ range .Params.related }}
{{ if in . "http" }} {{ if in . "http" }}
{{ $link := replaceRE `\,\s(...)*$` "" . }} {{ $link := replaceRE `\,\s(.*)$` "" . }}
{{ $title := replaceRE `^(\S*\,\s)` "" . }} {{ $title := replaceRE `^(\S*\,\s)` "" . }}
<li><a href="{{ $link }}" target="_blank">{{ $title }}</a></li> <li><a href="{{ $link }}" target="_blank">{{ $title }}</a></li>
{{ else }} {{ else }}