abstract syntax tree (AST)
Tree representation of source code that shows the structure, content, and rules of programming statements and discards additional syntax elements. The tree is hierarchical, with elements of program statements broken down into their parts.
For more information about AST design, see Abstract Syntax Tree on Wikipedia.
A background process started by (or on behalf of) a user that typically requires user input.
Telegraf is an agent that requires user input (a configuration file) to gather metrics from declared input plugins and sends metrics to declared output plugins, based on the plugins enabled for a configuration.
Receives metrics from input plugins, creates aggregate metrics, and then passes aggregate metrics to configured output plugins.
A function that returns an aggregated value across a set of points. For a list of available aggregation functions, see SQL aggregate functions.
Application programming interface that facilitates and standardizes communication between two or more computer programs.
A value passed to a function or command that determines how the process operates.
Related entries: parameter
A collection of points in line protocol format, separated by newlines (
Submitting a batch of points using a single HTTP request to the write endpoints
drastically increases performance by reducing the HTTP overhead.
InfluxData typically recommends batch sizes of 5,000-10,000 points.
In some use cases, performance may improve with significantly smaller or larger batches.
The number of lines or individual data points in a line protocol batch. The Telegraf agent sends metrics to output plugins in batches rather than individually. Batch size controls the size of each write batch that Telegraf sends to the output plugins.
Related entries: output plugin
In a cumulative histogram, a bin includes all data points less than or equal to a specified upper bound. In a normal histogram, a bin includes all data points between the upper and lower bounds. Histogram bins are also sometimes referred to as “buckets.”
A data type with two possible values: true or false.
By convention, you can express
true as the integer
1 and false as the integer
“Bucket” is the term used in InfluxDB 2.x and InfluxDB Cloud Serverless to refer to a named location where time series data is stored. Bucket is synonymous with “database” when using InfluxDB Cloud Dedicated.
Related entries: database
Comma-separated values (CSV) delimits text between commas to separate values. A CSV file stores tabular data (numbers and text) in plain text. Each line of the file is a data row. Each row consists of one or more columns, separated by commas. CSV file format is not fully standardized.
Cardinality is the number of unique values in a set. Series cardinality is the number of unique series in a bucket as a whole. With the InfluxDB v3 storage engine, high series cardinality does not affect performance.
A collection of servers or processes that work together as a single unit.
Collect and write time series data to InfluxDB using line protocol, Telegraf,
the InfluxDB v1 and v2 HTTP APIs, v1 and v2
influx command line interface (CLI),
and InfluxDB client libraries.
The default global interval for collecting data from each Telegraf input plugin. The collection interval can be overridden by each individual input plugin’s configuration.
Related entries: input plugin
Collection jitter prevents every input plugin from collecting metrics simultaneously, which can have a measurable effect on the system. For each collection interval, every Telegraf input plugin will sleep for a random time between zero and the collection jitter before collecting the metrics.
InfluxDB data is stored in tables within rows and columns. Columns store tag sets and fields sets, and time values. The only required column is time, which stores timestamps and is included in all InfluxDB tables.
common log format (CLF)
A standardized text file format used by the InfluxDB server to create log entries when generating server log files.
Compressing time series data to optimize disk usage.
continuous query (CQ)
Continuous queries are a feature of InfluxDB 1.x used to regularly downsample or process time series data.
A background process that runs without user input.
A data model organizes elements of data and standardizes how they relate to one another and to properties of the real world entities.
For information about the InfluxDB data model, see InfluxDB data organization
Stores time series data and handles writes and queries.
A source of data that InfluxDB collects or queries data from.
Related entries: bucket
A data type is defined by the values it can take, the programming language used, or the operations that can be performed on it.
InfluxDB supports the following data types:
- float (64-bit)
- integer (64-bit)
- unsigned integer (64-bit)
For more information about different data types, see:
In InfluxDB Cloud Dedicated, a named location where time series data is stored. This is equivalent to a bucket in InfluxDB Cloud Serverless.
In InfluxDB 1.x, a database represented a logical container for users, retention policies, continuous queries, and time series data. In InfluxDB 2.x, the equivalent of this concept is an InfluxDB bucket.
InfluxDB stores the date-time format for each data point in a timestamp with nanosecond-precision Unix time. Specifying a timestamp is optional. If a timestamp isn’t specified for a data point, InfluxDB uses the server’s local nanosecond timestamp in UTC.
For InfluxDB Cloud Serverless compatibility with InfluxDB v1
query endpoints, maps an InfluxDB v1 database and retention policy combination to a bucket.
Aggregating high resolution data into lower resolution data to preserve disk space.
A data type that represents a duration of time–for example,
Retention periods are set using durations.
Related entries: retention period
Metrics gathered at irregular time intervals.
A combination of one or more constants, variables, operators, and functions.
In the following SQL example,
now() - INTERVAL '7 days' is an expression that calculates the difference between the
now() function expression and the duration represented by
INTERVAL '7 days:
time >= now() - INTERVAL '7 days'
A key-value pair in InfluxDB’s data structure that records a data value. Generally, field values change over time. Fields are required in InfluxDB’s data structure.
The key of the key-value pair. Field keys are strings.
The collection of field key-value pairs.
The value of a key-value pair. Field values are the actual data; they can be strings, floats, integers, unsigned integers or booleans. A field value is always associated with a timestamp.
A file block is a fixed-length chunk of data read into memory when requested by an application.
A real number written with a decimal point dividing the integer and fractional parts (
InfluxDB supports 64-bit float values.
The global interval for flushing data from each Telegraf output plugin to its destination. This value should not be set lower than the collection interval.
Flush jitter prevents every Telegraf output plugin from sending writes simultaneously, which can overwhelm some data sinks. Each flush interval, every Telegraf output plugin will sleep for a random time between zero and the flush jitter before emitting metrics. Flush jitter smooths out write spikes when running a large number of Telegraf instances.
A function is an operation that performs a specific task. Functions take input, operate on that input, and then return output. For a complete list of available SQL functions, see SQL functions.
gzip is a type of data compression that compress chunks of data, which is
restored by unzipping compressed gzip files.
The gzip file extension is
A visual representation of statistical information that uses rectangles to show the frequency of data items in successive, equal intervals or bins.
Identifiers are tokens that refer to specific database objects such as database names, field keys, measurement names, tag keys, etc.
influx is a command line interface (CLI) that interacts with InfluxDB Cloud Serverless and the InfluxDB v1.x and v2.x server.
influxd is the InfluxDB OSS v1.x and v2.x daemon that runs the InfluxDB server
and other required processes.
An open source time series database (TSDB) developed by InfluxData. Written in Go and optimized for fast, high-availability storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics.
The SQL-like query language used to query data in InfluxDB.
Telegraf input plugins actively gather metrics and deliver them to the core agent, where aggregator, processor, and output plugins can operate on the metrics. In order to activate an input plugin, it needs to be enabled and configured in Telegraf’s configuration file.
An entity comprising data on a server (or virtual server in cloud computing).
A whole number that is positive, negative, or zero (
InfluxDB supports 64-bit integers (minimum:
Related entries: unsigned integer
The IOx (InfluxDB v3) storage engine is a real-time, columnar database optimized for time series data built in Rust on top of Apache Arrow and DataFusion. IOx replaces the TSM (Time Structured Merge tree) storage engine.
Typically, JSON web tokens (JWT) are used to authenticate users between an identity provider and a service provider. A server can generate a JWT to assert any business processes. For example, an “admin” token sent to a client can prove the client is logged in as admin. Tokens are signed by one party’s private key (typically, the server). Private keys are used by both parties to verify that a token is legitimate.
JWT uses an open standard specified in RFC 7519.
Open source tracing used in distributed systems to monitor and troubleshoot transactions.
A keyword is reserved by a program because it has special meaning.
Every programming language has a set of keywords (reserved names) that cannot be used as identifiers–for example,
you can’t use
SELECT (an SQL keyword) as a variable name in an SQL query.
See keyword lists:
A literal is value in an expression, a number, character, string, function, record, or array. Literal values are interpreted as defined.
Improves workload distribution across multiple computing resources in a network. Load balancing optimizes resource use, maximizes throughput, minimizes response time, and avoids overloading a single resource. Using multiple components with load balancing instead of a single component may increase reliability and availability. If requests to any server in a network increase, requests are forwarded to another server with more capacity. Load balancing can also refer to the communications channels themselves.
Logs record information. Event logs describe system events and activity that help to describe and diagnose problems. Transaction logs describe changes to stored data that help recover data if a database crashes or other errors occur.
line protocol (LP)
The text based format for writing points to InfluxDB. See line protocol.
The part of InfluxDB’s data structure that describes the data stored in associated fields. Measurements are strings.
Data tracked over time.
The metric buffer caches individual metrics when writes are failing for an Telegraf output plugin. Telegraf will attempt to flush the buffer upon a successful write to the output. The oldest metrics are dropped first when this buffer fills.
Related entries: output plugin
Denoted by a null value. Identifies missing information, which may be useful to include in an error message.
An independent process or server in a cluster.
The local server’s nanosecond timestamp.
A symbol that usually represents an action or process.
Related entries: operand
The object or value on either side of an operator.
Related entries: operator
In InfluxDB Cloud Serverless, a workspace for a group of users. All InfluxDB resources (buckets, members, and so on) belong to an organization. Organizations are not part of InfluxDB Cloud Dedicated.
A type of role for a user. Owners have read/write permissions. Users can have owner roles for databases and other resources.
Role permissions are separate from API token permissions. For additional information on API tokens, see token.
Telegraf output plugins deliver metrics to their configured destination. To activate an output plugin, enable and configure the plugin in Telegraf’s configuration file.
A key-value pair used to pass information to a function that determines how the function operates.
Related entries: argument
Method for passing information from one process to another. For example, an output parameter from one process is input to another process. Information passed through a pipe is retained until the receiving process reads the information.
Single data record identified by its measurement, tag keys, tag values, field key, and timestamp.
In a series, each point has a unique timestamp. If you write a point to a series with a timestamp that matches an existing point, the field set becomes a union of the old and new field set, where any ties go to the new field set.
With the InfluxDB v3 storage engine, the primary key is the list of columns used to uniquely identify each row in a table. Rows are uniquely identified by their timestamp and tag set. A row’s primary key tag set does not include tags with null values.
The precision configuration setting determines the timestamp precision retained
for input data points.
All incoming timestamps are truncated to the specified precision.
Valid precisions are
In Telegraf, truncated timestamps are padded with zeros to create a nanosecond timestamp.
Telegraf output plugins emit timestamps in nanoseconds.
For example, if the precision is set to
ms, the nanosecond epoch timestamp
1480000000123456789 is truncated to
1480000000123 in millisecond precision and padded with zeroes to make a new, less precise nanosecond timestamp of
Telegraf output plugins do not alter the timestamp further.
The precision setting is ignored for service input plugins.
A predicate expression compares two values and returns
false based on
the relationship between the two values.
A predicate expression is comprised of a left operand, a comparison operator, and a right operand.
A set of predetermined rules. A process can refer to instructions being executed by the computer processor or refer to the act of manipulating data.
Telegraf processor plugins transform, decorate, and filter metrics collected by input plugins, passing the transformed metrics to the output plugins.
A simple text-based format for exposing metrics and ingesting them into Prometheus.
A request for information. An InfluxDB query returns time series data.
A sequence of steps (nodes) that the InfluxDB Querier devises and executes to calculate the result of the query in the least amount of time. A logical plan is a high level representation of a query and doesn’t consider cluster configuration or data organization. A physical plan represents the query execution plan and data flow through plan nodes that read (scan), deduplicate, merge, filter, and sort data. A physical plan is optimized for the cluster configuration and data organization.
See Query plans.
A Read-Eval-Print Loop (REPL) is an interactive programming environment where you type a command and immediately see the result.
Regular expressions (regex or regexp) are patterns used to match character combinations in strings.
In a batch of data, points that InfluxDB couldn’t write to a bucket. Field type conflicts are a common cause of rejected points.
The duration of time that an InfluxDB Cloud Serverless bucket retains data. InfluxDB drops points with timestamps older than their bucket’s retention period relative to now. The minimum retention period is one hour.
Related entries: bucket
retention policy (RP)
A retention policy is part of the InfluxDB 1.x data model that describes how long InfluxDB keeps data (duration), how many copies of the data to store when in a in the cluster (replication factor), and the time range covered by shard groups (shard group duration). RPs are unique per database and along with the measurement and tag set define a series.
In InfluxDB Cloud Serverless the equivalent is retention period, however retention periods are not part of the data model. The retention period describes the data persistence behavior of a database.
Related entries: retention period,
A timestamp that uses the human-readable DateTime format proposed in
RFC 3339 (for example:
A Golang representation of the RFC 3339 DateTime format
that uses nanosecond resolution–for example:
InfluxDB clients can return RFC3339Nano timestamps in log events and CSV-formatted query results.
A row in a table represents a specific record or instance of data. Column values in a row represent specific attributes or properties of the instance. Each row has a primary key that makes the row unique from other rows in the table.
How data is organized in InfluxDB. The fundamentals of the InfluxDB Cloud Serverless schema are buckets, measurements (or tables), tag keys, tag values, and field keys.
Secrets are key-value pairs that contain information you want to control access to, such as API keys, passwords, or certificates.
A function that returns a single point from the range of specified points. See SQL selector functions for a complete list of available SQL selector functions.
A collection of data in the InfluxDB data structure that share a common measurement, tag set, and field key.
The number of unique measurement, tag set, and field key combinations in an InfluxDB Cloud Serverless bucket.
For example, assume that an InfluxDB bucket has one measurement.
The single measurement has two tag keys:
If there are three different
statuses, the series cardinality for the measurement is 6
(3 × 2 = 6):
In some cases, performing this multiplication may overestimate series cardinality
because of the presence of dependent tags.
Dependent tags are scoped by another tag and do not increase series cardinality.
If we add the tag
firstname to the example above, the series cardinality
would not be 18 (3 × 2 × 3 = 18).
The series cardinality would remain unchanged at 6, as
firstname is already scoped by the
A series key identifies a particular series by measurement, tag set, and field key.
# measurement, tag set, field key
h2o_level, location=santa_monica, h2o_feet
Related entries: series
A computer, virtual or physical, running InfluxDB.
service input plugin
Telegraf input plugins that run in a passive collection mode while the Telegraf agent is running. Service input plugins listen on a socket for known protocol inputs, or apply their own logic to ingested metrics before delivering metrics to the Telegraf agent.
A data type used to represent text.
Transmission Control Protocol.
A collection of related data organized in a structured way with a predefined set of columns and data types. Each row in the table represents a specific record or instance of the data, and each column represents a specific attribute or property of the data.
In InfluxDB v3, a table represents a measurement.
The key-value pair in InfluxDB’s data structure that records metadata. Tags are an optional part of InfluxDB’s data structure but they are useful for storing commonly queried metadata.
The key of a tag key-value pair. Tag keys are strings and store metadata.
The collection of tag keys and tag values on a point.
The value of a tag key-value pair. Tag values are strings and they store metadata.
A plugin-driven agent that collects, processes, aggregates, and writes metrics.
time (data type)
A data type that represents a single point in time with nanosecond precision.
time series data
Sequence of data points typically consisting of successive measurements made from the same source over a time interval. Time series data shows how data evolves over time. On a time series data graph, one of the axes is always time. Time series data may be regular or irregular. Regular time series data changes in constant intervals. Irregular time series data changes at non-constant intervals.
The date and time associated with a point. Time in InfluxDB is in UTC.
To specify time when writing data, see Elements of line protocol.
Tokens provide authorization to perform specific actions in InfluxDB. InfluxDB Cloud Serverless uses API tokens to authorize read and write access to resources and data.
Related entries: Manage tokens
Data transformation refers to the process of converting or modifying input data from one format, value, or structure to another.
InfluxQL transformation functions modify and return values in each row of queried data, but do not return an aggregated value across those rows.
TSM (Time Structured Merge tree)
The InfluxDB v1 and v2 data storage format that allows greater compaction and higher write and read throughput than B+ or LSM tree implementations. The TSM storage engine has been replaced by the InfluxDB v3 storage engine (IOx).
Related entries: IOx
User Datagram Protocol is a packet of information. When a request is made, a UDP packet is sent to the recipient. The sender doesn’t verify the packet is received. The sender continues to send the next packets. This means computers can communicate more quickly. This protocol is used when speed is desirable and error correction is not necessary.
The date and time from which Unix system times are measured.
The Unix epoch is
Counts time since Unix Epoch (1970-01-01T00:00:00Z UTC) in specified units (precision). Specify timestamp precision when writing data to InfluxDB. InfluxDB supports the following unix timestamp precisions:
The examples above represent 2020-01-01T00:00:00Z UTC.
A whole number that is positive or zero (
143). Also known as a “uinteger.”
InfluxDB supports 64-bit unsigned integers (minimum:
Related entries: integer
InfluxDB users are granted permission to access to InfluxDB.
values per second
The preferred measurement of the rate at which data is persisted to InfluxDB. Write speeds are generally quoted in values per second.
To calculate the values per second rate, multiply the number of points written per second by the number of values stored per point. For example, if the points have four fields each, and a batch of 5000 points is written 10 times per second, the values per second rate is:
4 field values per point × 5000 points per batch × 10 batches per second = 200,000 values per second
A storage location (identified by a memory address) paired with an associated symbolic name (an identifier). A variable contains some known or unknown quantity of information referred to as a value.
A statement that sets or updates the value stored in a variable.
WAL (Write Ahead Log) - enterprise
The temporary cache for recently written points. To reduce the frequency that permanent storage files are accessed, InfluxDB caches new points in the WAL until their total size or age triggers a flush to more permanent storage. This allows for efficient batching of the writes into the TSM.
Points in the WAL can be queried and persist through a system reboot. On process start, all points in the WAL must be flushed before the system accepts new writes.
Related entries: tsm
Grouping data based on specified time intervals. This is also referred to as “time binning” or “date binning.”
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.