https://github.com/activeviam/mac
🔔 Monitoring project to explore ActivePivot data consumption.
https://github.com/activeviam/mac
Last synced: 11 months ago
JSON representation
🔔 Monitoring project to explore ActivePivot data consumption.
- Host: GitHub
- URL: https://github.com/activeviam/mac
- Owner: activeviam
- License: apache-2.0
- Created: 2017-06-22T07:43:27.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-01-20T09:58:35.000Z (over 1 year ago)
- Last Synced: 2025-03-25T05:41:29.579Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 3.36 MB
- Stars: 9
- Watchers: 21
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# 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
[](https://dl.circleci.com/status-badge/redirect/gh/activeviam/mac/tree/main)
### 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:
* [Exporting your application](docs/setting_up/exporting.md)
* [Structure of memory statistics and decompressing generated
files](docs/setting_up/statistics.md)
* [Importing data in MAC](docs/setting_up/importing.md)
## 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](docs/data_model.md).
## Bookmarks
MAC comes with a number of predefined Atoti UI bookmarks that each offer some insights to
various aspects of the monitored application.
* [Overview](docs/bookmarks/overview.md)
* [Per-field Analysis](docs/bookmarks/fields.md)
* [Vector Block Analysis](docs/bookmarks/vectors.md)
* [Dictionary and Index
Analysis](docs/bookmarks/dictionaries_indexes.md)
* [Aggregate Provider Analysis](docs/bookmarks/aggregate_providers.md)
## 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.