The Atoti Memory Analysis Cube (MAC) is an Atoti project that aims to provide the necessary tools to explore and analyze the data consumption from any other Atoti application, starting from Atoti Server 5.8 onward.
The project is built as a standalone Spring Boot jar file with an embedded
Atoti UI application available on localhost:9092
by default.
This version is compatible with exports from Atoti Server 5.8+ servers.
The MAC server uses the latest released versions of Atoti Server and Atoti UI by default, but the dependency versions can be changed in the project's POM.
- Off Heap memory usage monitoring
- Store/Field-related memory footprint
- Cube-related memory footprint
- Overview of structure-related memory footprint
- Loading and comparing several Atoti applications' exported memory dump files
The requirements for building the MAC application are the following :
- Maven 3.0 +
- Java 11 +
- Atoti Server artifacts
- Atoti UI artifacts
The SpringBoot JAR of the application can be built by running the following command line:
mvn clean install -DskipTests=true
The requirements for launching the MAC application are the following :
- Java 11+
- The built MAC .jar file
- A valid Atoti Server license
Once the JAR file built on the ./target directory
, the MAC server can be launched by the following command line:
java -jar [path to the MAC .jar file]
Atoti Server 5.8+ applications come with a number of ways to export their memory usage in the form of memory report files, that can then be imported and analyzed using MAC.
The process is explained below:
- Exporting your application
- Structure of memory statistics and decompressing generated files
- Importing data in MAC
To fully make use of MAC's capabilities for analyzing your project, it is important to get familiar with its data model.
MAC comes with a number of predefined Atoti UI bookmarks that each offer some insights to various aspects of the monitored application.
- Overview
- Per-field Analysis
- Vector Block Analysis
- Dictionary and Index Analysis
- Aggregate Provider Analysis
- This tool does not support projects with multiple datastores. It is possible to import data from multiple datastores, but there are no ways to assign a store to a given datastore nor prevent conflicts between store names.
- On-heap memory analysis is currently not fully implemented. The application only sums the memory used by Chunks. Please directly refer to the JMX beans of your application or other analysis tools for a deeper investigation.
- Display and use the consumed On-heap memory reported by the Memory Analysis.