docs-v2/content/flux/v0/stdlib/influxdata/influxdb/cardinality.md

4.4 KiB

title description menu weight flux/v0/tags introduced
influxdb.cardinality() function `influxdb.cardinality()` returns the series cardinality of data retrieved from InfluxDB.
flux_v0_ref
name parent identifier
influxdb.cardinality influxdata/influxdb influxdata/influxdb/cardinality
201
metadata
0.92.0

influxdb.cardinality() returns the series cardinality of data retrieved from InfluxDB.

{{% note %}} Although this function is similar to InfluxQL's SHOW SERIES CARDINALITY, it works in a slightly different manner.

influxdb.cardinality() is time bounded and reports the cardinality of data that matches the conditions passed into it rather than that of the bucket as a whole. {{% /note %}}

Function type signature
(
    start: A,
    ?bucket: string,
    ?bucketID: string,
    ?host: string,
    ?org: string,
    ?orgID: string,
    ?predicate: (r: {B with _value: C, _measurement: string, _field: string}) => bool,
    ?stop: D,
    ?token: string,
) => stream[{_value: int, _stop: time, _start: time}] where A: Timeable, D: Timeable

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

bucket

Bucket to query cardinality from.

bucketID

String-encoded bucket ID to query cardinality from.

org

Organization name.

orgID

String-encoded organization ID.

host

URL of the InfluxDB instance to query.

See InfluxDB Cloud regions or InfluxDB OSS URLs.

token

InfluxDB API token.

start

({{< req >}}) Earliest time to include when calculating cardinality.

The cardinality calculation includes points that match the specified start time. Use a relative duration or absolute time. For example, -1h or 2019-08-28T22:00:00Z. Durations are relative to now().

stop

Latest time to include when calculating cardinality.

The cardinality calculation excludes points that match the specified start time. Use a relative duration or absolute time. For example, -1h or 2019-08-28T22:00:00Z. Durations are relative to now(). Default is now().

{{% note %}} The default value is now(), so any points that have been written into the future will not be counted unless a future stop date is provided. {{% /note %}}

predicate

Predicate function that filters records. Default is (r) => true.

Examples

Query series cardinality in a bucket

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: time(v: 1))

Note: if points have been written into the future, you will need to add an appropriate stop date

Query series cardinality in a measurement//

import "influxdata/influxdb"

influxdb.cardinality(
    bucket: "example-bucket",
    start: time(v: 1),
    predicate: (r) => r._measurement == "example-measurement",
)

Query series cardinality for a specific tag

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: time(v: 1), predicate: (r) => r.exampleTag == "foo")

Query Cardinality of Data Written In the Last 4 hours

import "influxdata/influxdb"

influxdb.cardinality(bucket: "example-bucket", start: -4h)