StickyPiston Resource Monitor

All copyright for the Resource Monitor and associated code remains with StickyPiston Hosting Ltd. This page is just to illustrate that Oliver worked on the system. Everything on this page has been approved for public representation.

Overview

This system was developed with the desire for staff members to better be able to analyze RAM usage of Minecraft servers, as Multicraft only monitors the current RAM usage, this system can keep track of historic RAM usage data as well and monitor the current usage with live-updates from the websocket subscriptions.


Development

This project uses the following primary technologies:

The general system utilizes object-oriented programming to allow easy extensibility for resources that can be monitored by the system. The only resource that we intially developed for the system is for RAM monitoring, which utilizes the jstat command to retrieve memory usage information from a specific Java Virtual Machine.

When a server starts and the system is active, Multicraft makes an API request to start the resource monitoring, from there the API begins checking the JVM on the specified interval (usually 5 seconds), storing the data until either the resource listener is deleted, or until it gets out of date.

REST API

The main system is a Hapi-based REST API that is used to manage the resource listeners and get historic data from the listeners. This also can grant an authorization token for the websocket server to allow the

Websocket Server

Unit/Integration Testing


Oliver Akins © 2022. All rights reserved.