Skip to content

TARQkop/Java-System-Monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Monitor Pro — Short Overview

A small Java project with a Python launcher. This file can be used for presentations or as a README.

Short Description

A Swing application that displays mock system samples (CPU, Memory, Disk, Temperature, Network), calculates averages, and exports them to a CSV file. A Python launcher helps compile/run the app and logs launch timestamps.

Project Structure (Quick Functional View)

Java Application

Python Launcher & Logs

Configuration

  • .gitignore — Ignores build output, logs, and temporary files

How It Works (Concise Flow)

  1. The Python launcher records the launch time in launcher_history.jsonl.

  2. If javac is available, app.py compiles all .java files from JAVA_SRC_DIR into BUILD_DIR.

  3. The launcher starts the Java app using:

    java -cp out svc.Main
  4. The UI (MainFrame) displays mock system samples generated by SystemMonitor and stores them in MetricsCollector.

  5. The user can export the current snapshot via CsvExporter to a CSV file (default: export_history.csv).

Quick Run Commands

Using the Python Launcher (recommended)

python python/app.py

Manual Compile & Run (Unix-like)

javac -d out $(find src/main/java -name '*.java')
java -cp out svc.Main

(On Windows, list all .java files explicitly in the javac command.)

Key Points for Presentation

  • Clear separation of concerns:

    • Sampling → SystemMonitor
    • Aggregation/Analysis → MetricsCollector
    • UI → MainFrame / UIUtils
    • Export → CsvExporter
  • Python launcher allows running the project without an IDE and keeps a launch history.

  • CSV output contains averaged metrics and can be opened in Excel or other analysis tools.

Fast Navigation Files

  • src/main/java/svc/Main.java
  • src/main/java/svc/MainFrame.java
  • src/main/java/svc/SystemMonitor.java
  • src/main/java/svc/MetricsCollector.java
  • src/main/java/svc/UIUtils.java
  • src/main/java/svc/CsvExporter.java
  • python/app.py
  • python/launcher_history.jsonl
  • .gitignore

Compile Command

javac -d out -sourcepath src\main\java src\main\java\svc\*.java

Run Only

java -cp out svc.Main

About

Java Swing system monitor with a Python launcher that simulates CPU, memory, disk, and network metrics and exports them to CSV.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors