Skip to main content

Metrics Overview

Atoti Server provides metrics through the OpenTelemetry API, which can be used with a variety of observability backends. See how to set up observability with OpenTelemetry SDK here.

By default, Atoti provides metrics for a variety of components.

Metrics Types

Atoti use the OpenTelemetry API to provide metrics. The metrics are divided into 3 types:

  • Gauge: A metric that represents a sampled value at a given time.
  • Sum: A cumulative metric that represents a sum of individual measurements made over a period of time.
  • Histogram: A metric that samples observations (usually things like request durations or response sizes) and counts them in buckets.

See the OpenTelemetry documentation for more information.

Metrics Tags

Metrics are augmented with tags, allowing to get more information about the metric itself. That information can be used to filter or group the metrics.

Metrics Available

The following metrics are provided by Atoti:

Metric NameTypeTagsDescription
atoti.agg_provider.index.sizeGaugename, index.name, typeMeasures the size of each index within an aggregate provider.
atoti.agg_provider.off_heap.sizeGaugename, typeTracks the size of an aggregate provider's off-heap memory usage.
atoti.agg_provider.on_heap.sizeGaugename, typeTracks the size of an aggregate provider's on-heap memory usage.
atoti.agg_provider.partition.sizeGaugename, type, partition.id, date:value (for each partition key)Indicates the size of each partition within an aggregate provider.
atoti.agg_provider.sizeGaugename, typeMeasures the overall size of an aggregate provider.
atoti.application.off_heap.allocate.hitsSumCounts the number of successful off-heap memory allocation attempts.
atoti.application.off_heap.allocate.sizeHistogramMeasures the size of each off-heap memory allocation.
atoti.application.off_heap.committedGaugeTracks the amount of off-heap memory that the Atoti Server has committed to use.
atoti.application.off_heap.free.hitsSumCounts the number of successful off-heap memory free operations.
atoti.application.off_heap.usedGaugeMeasures the off-heap memory currently used by the Atoti Server.
atoti.cube.epoch.addedSumcube.nameTracks the number of epochs that have been added to the cube.
atoti.cube.epoch.currentGaugecube.nameDisplays the most recent epoch visible in the cube.
atoti.cube.epoch.deletedSumcube.nameCounts the number of epochs deleted through garbage collection in the cube.
atoti.cube.epoch.liveGaugecube.nameShows the count of live epochs in the cube, with versions maintained by a strong reference.
atoti.cube.epoch.oldestGaugecube.nameIndicates the oldest epoch still live within the cube.
atoti.cube.epoch.releasedSumcube.nameCounts the number of epochs that have been released in the cube, setting the strong reference to null.
atoti.cube.rebuildSumcube.nameTracks the number of times the cube has been rebuilt.
atoti.datastore.epoch.addedSumidCounts the number of new epochs created in the datastore.
atoti.datastore.epoch.currentGaugeidShows the most recent epoch that is currently visible in the datastore.
atoti.datastore.epoch.deletedSumidCounts the number of epochs that have been deleted via garbage collection.
atoti.datastore.epoch.liveGaugeidIndicates the number of live epochs in the datastore, where versions are kept by a strong reference.
atoti.datastore.epoch.oldestGaugeidDisplays the oldest epoch that is still active in the datastore.
atoti.datastore.epoch.releasedSumidTracks the number of epochs that have been released, where the strong reference is set to null.
atoti.query.hitSumtype, success, cube.nameCounts the total number of queries executed in the cube.
atoti.query.timeHistogramtype, success, cube.nameMeasures the time taken for cube queries, with the ability to filter by type, success, and cube name.
atoti.table.partition.createdSumtable.nameCounts the number of table partitions that have been created.
atoti.table.partition.droppedSumtable.nameCounts the number of table partitions that have been dropped.
atoti.table.partition.sizeGaugetable.name, partition.id, date:value (for each partition key)Provides the size of each store partition. Tags help track partition keys and values, identifying significant differences in partition sizes.
atoti.table.sizeGaugetable.nameIndicates the current size of the table, reflecting the difference between lines added and deleted over the table's lifetime.
atoti.table.size.memory.footprintGaugetable.nameMeasures the memory footprint of a table, including all versions. This should equal lines added plus lines updated minus lines freed over the table's lifetime.
atoti.transaction.commit.hitSumsuccessTracks the total number of database transactions, incrementing by one for each transaction. The success tag helps identify abnormal rollback rates.
atoti.transaction.commit.timeHistogramsuccessMeasures the time taken for database commits. The success tag allows filtering between successful and rollback transactions, providing insights into the performance of each.