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

InfluxDB 3 Open Source Now in Public Alpha

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

We are releasing two products as part of the alpha.

InfluxDB 3 Core, is our new open source product. It is a recent-data engine for time series and event data. InfluxDB 3 Enterprise is a commercial version that builds on Core’s foundation, adding historical query capability, read replicas, high availability, scalability, and fine-grained security.

For more information on how to get started, check out: