
[[data-types]]
= Data Types
:description: Overview of data types collected in {page-component-title} including counter, gauge, integer, IpAddress, OctetString, Opaque, String, and TimeTicks.

{page-component-title} supports collecting a variety of data types as defined by https://datatracker.ietf.org/doc/html/rfc2578#section-7.1[RFC 2578].
When creating or modifying data collection definition files, use the closest match to the type of data that the node provides.

== Counter

The counter type represents values that continue to increase over time.
The device may present this type as a non-negative integer with either a 32-bit or 64-bit maximum.
{page-component-title} stores both of these in the same way.
You can use `COUNTER`, `COUNTER32`, and `COUNTER64` interchangeably in data collection definitions to refer to the counter data type.

When a counter reaches its upper limit, its value resets to zero and continues to increment.

== Gauge

The gauge type represents values that may fluctuate up or down to reflect the current state of a given metric.
The device may present this type as a non-negative number with either a 32-bit or 64-bit maximum.
{page-component-title} stores both of these in the same way.
You can use `GAUGE`, `GAUGE32`, and `GAUGE64` interchangeably in data collection definitions to refer to the gauge data type.

== Integer

The integer type represents numbers between -2^31 and 2^31-1 (-2.147,483,648 to 2,147,483,647 decimal).
{page-component-title} stores these values in the same way.
You can use `INTEGER`, `INTEGER32`, and `INTEGER64` interchangeably in data collection definitions to refer to the integer type.

You can also use integers to represent a named-number enumeration status value.

== IpAddress

The IpAddress type represents a 32-bit internet address.

NOTE: The IpAddress type is a tagged type for historical reasons.
Use a `STRING` value to represent network addresses.

== OctetString

The OctetString type represents arbitrary binary or textual data presented as a hex string.

== Opaque

{page-component-title} only supports opaque values that encode floating point numbers.
Floating point values (like the gauge data type) reflect the current state of a given metric.

== String

String values are stored differently from the numeric data types.
Only the most recent string value is persisted to the disk.

You can retrieve stored values with the xref:development:rest/resources.adoc[Resources API].

== TimeTicks

The TimeTicks type represents values that compare hundredths of seconds between two epoch timestamps.
