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 Name | Type | Tags | Description |
---|---|---|---|
atoti.agg_provider.index.size | Gauge | name, index.name, type | Measures the size of each index within an aggregate provider. |
atoti.agg_provider.off_heap.size | Gauge | name, type | Tracks the size of an aggregate provider's off-heap memory usage. |
atoti.agg_provider.on_heap.size | Gauge | name, type | Tracks the size of an aggregate provider's on-heap memory usage. |
atoti.agg_provider.partition.size | Gauge | name, type, partition.id, date:value (for each partition key) | Indicates the size of each partition within an aggregate provider. |
atoti.agg_provider.size | Gauge | name, type | Measures the overall size of an aggregate provider. |
atoti.application.off_heap.allocate.hits | Sum | Counts the number of successful off-heap memory allocation attempts. | |
atoti.application.off_heap.allocate.size | Histogram | Measures the size of each off-heap memory allocation. | |
atoti.application.off_heap.committed | Gauge | Tracks the amount of off-heap memory that the Atoti Server has committed to use. | |
atoti.application.off_heap.free.hits | Sum | Counts the number of successful off-heap memory free operations. | |
atoti.application.off_heap.used | Gauge | Measures the off-heap memory currently used by the Atoti Server. | |
atoti.cube.epoch.added | Sum | cube.name | Tracks the number of epochs that have been added to the cube. |
atoti.cube.epoch.current | Gauge | cube.name | Displays the most recent epoch visible in the cube. |
atoti.cube.epoch.deleted | Sum | cube.name | Counts the number of epochs deleted through garbage collection in the cube. |
atoti.cube.epoch.live | Gauge | cube.name | Shows the count of live epochs in the cube, with versions maintained by a strong reference. |
atoti.cube.epoch.oldest | Gauge | cube.name | Indicates the oldest epoch still live within the cube. |
atoti.cube.epoch.released | Sum | cube.name | Counts the number of epochs that have been released in the cube, setting the strong reference to null. |
atoti.cube.rebuild | Sum | cube.name | Tracks the number of times the cube has been rebuilt. |
atoti.datastore.epoch.added | Sum | id | Counts the number of new epochs created in the datastore. |
atoti.datastore.epoch.current | Gauge | id | Shows the most recent epoch that is currently visible in the datastore. |
atoti.datastore.epoch.deleted | Sum | id | Counts the number of epochs that have been deleted via garbage collection. |
atoti.datastore.epoch.live | Gauge | id | Indicates the number of live epochs in the datastore, where versions are kept by a strong reference. |
atoti.datastore.epoch.oldest | Gauge | id | Displays the oldest epoch that is still active in the datastore. |
atoti.datastore.epoch.released | Sum | id | Tracks the number of epochs that have been released, where the strong reference is set to null. |
atoti.query.hit | Sum | type, success, cube.name | Counts the total number of queries executed in the cube. |
atoti.query.time | Histogram | type, success, cube.name | Measures the time taken for cube queries, with the ability to filter by type, success, and cube name. |
atoti.table.partition.created | Sum | table.name | Counts the number of table partitions that have been created. |
atoti.table.partition.dropped | Sum | table.name | Counts the number of table partitions that have been dropped. |
atoti.table.partition.size | Gauge | table.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.size | Gauge | table.name | Indicates the current size of the table, reflecting the difference between lines added and deleted over the table's lifetime. |
atoti.table.size.memory.footprint | Gauge | table.name | Measures 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.hit | Sum | success | Tracks the total number of database transactions, incrementing by one for each transaction. The success tag helps identify abnormal rollback rates. |
atoti.transaction.commit.time | Histogram | success | Measures the time taken for database commits. The success tag allows filtering between successful and rollback transactions, providing insights into the performance of each. |