query.inBucket() function

The query.inBucket() function is experimental and subject to change at any time. By using this function, you accept the risks of experimental functions.

The query.inBucket() function queries data from a specified bucket within given time bounds, filters data by measurement, field, and optional predicate expressions.

*Function type: Input*

  1. import "experimental/query"
  2. query.inBucket(
  3. bucket: "example-bucket",
  4. start: -1h,
  5. stop: now(),
  6. measurement: "example-measurement",
  7. fields: ["exampleField1", "exampleField2"],
  8. predicate: (r) => true
  9. )

Parameters

bucket

The name of the bucket to query.

*Data type: String*

start

The earliest time to include in results. Results include points that match the specified start time. Use a relative duration, absolute time, or integer (Unix timestamp in seconds). For example, -1h, 2019-08-28T22:00:00Z, or 1567029600. Durations are relative to now().

*Data type: Duration | Time | Integer*

stop

The latest time to include in results. Results exclude points that match the specified stop time. Use a relative duration, absolute time, or integer (Unix timestamp in seconds). For example, -1h, 2019-08-28T22:00:00Z, or 1567029600. Durations are relative to now(). Defaults to now().

*Data type: Duration | Time | Integer*

measurement

The name of the measurement to filter by. Must be an exact string match.

*Data type: String*

fields

Fields to filter by. Must be exact string matches.

*Data type: Array of strings*

predicate

A single argument function that evaluates true or false. Records are passed to the function. Those that evaluate to true are included in the output tables. Records that evaluate to null or false are not included in the output tables. Default is (r) => true.

*Data type: Function*

Examples

Query memory data from host1
  1. import "experimental/query"
  2. query.inBucket(
  3. bucket: "telegraf",
  4. start: -1h,
  5. measurement: "mem",
  6. fields: ["used_percent", "available_percent"],
  7. predicate: (r) => r.host == "host1"
  8. )

Function definition

  1. package query
  2. inBucket = (
  3. bucket,
  4. start,
  5. stop=now(),
  6. measurement,
  7. fields=[],
  8. predicate=(r) => true
  9. ) =>
  10. fromRange(bucket: bucket, start: start, stop: stop)
  11. |> filterMeasurement(measurement)
  12. |> filter(fn: predicate)
  13. |> filterFields(fields)

Used functions:
filter()
query.filterFields()
query.filterMeasurement()
query.fromRange()