Skip to content

Latest commit

 

History

History
96 lines (68 loc) · 3.3 KB

README.md

File metadata and controls

96 lines (68 loc) · 3.3 KB

Memory Analysis Cube

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.

Main Features

  • 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

Building & launching the application

CircleCI

Build steps

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

Launch steps

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]

Prepare your Application for Analysis

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:

MAC Data Model

To fully make use of MAC's capabilities for analyzing your project, it is important to get familiar with its data model.

Bookmarks

MAC comes with a number of predefined Atoti UI bookmarks that each offer some insights to various aspects of the monitored application.

Known limitations

  • 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.

Planned Improvements

  • Display and use the consumed On-heap memory reported by the Memory Analysis.