Documentation

influxdb.cardinality() function

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

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.

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

For more information, see Function type signatures.

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

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

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.

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)

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.2

Key enhancements in InfluxDB 3.2 and the InfluxDB 3 Explorer UI is now generally available.

See the Blog Post

InfluxDB 3.2 is now available for both Core and Enterprise, bringing the general availability of InfluxDB 3 Explorer, a new UI that simplifies how you query, explore, and visualize data. On top of that, InfluxDB 3.2 includes a wide range of performance improvements, feature updates, and bug fixes including automated data retention and more.

For more information, check out: