Documentation

query.inBucket() function

Flux 0.60.0+

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.

import "experimental/query"

query.inBucket(
  bucket: "example-bucket",
  start: -1h,
  stop: now(),
  measurement: "example-measurement",
  fields: ["exampleField1", "exampleField2"],
  predicate: (r) => true
)

Parameters

bucket

The name of the bucket to query.

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().

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().

measurement

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

fields

Fields to filter by. Must be exact string matches.

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.

Examples

Query memory data from host1
import "experimental/query"

query.inBucket(
  bucket: "telegraf",
  start: -1h,
  measurement: "mem",
  fields: ["used_percent", "available_percent"],
  predicate: (r) => r.host == "host1"
)

Function definition

package query

inBucket = (
  bucket,
  start,
  stop=now(),
  measurement,  
  fields=[],
  predicate=(r) => true
) =>
  fromRange(bucket: bucket, start: start, stop: stop)
    |> filterMeasurement(measurement)
    |> filter(fn: predicate)
    |> filterFields(fields)

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


Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.