GUI (Graphical User Interface)
Overview
LoadDensity ships an optional PySide6 graphical front-end. It carries
the form controls for kicking off a quick HTTP test, a log panel that
mirrors the framework log, and a live stats panel that polls
test_record_instance once a second.
Install
pip install "je_load_density[gui]"
Pulls in:
PySide6— Qt for Python bindings.qt-material— Material design theme.
Launch
import sys
from PySide6.QtWidgets import QApplication
from je_load_density.gui.main_window import LoadDensityUI
app = QApplication(sys.argv)
window = LoadDensityUI()
window.show()
sys.exit(app.exec())
Layout
Test parameter form — URL, test duration, user count, spawn rate, HTTP method.
Start button — Launches the load test in a background
QThread.Live stats panel — Total requests, current rate, average and p95 latency, failure count. Refreshes every 1 s.
Log panel — Real-time framework log feed.
Material Design theme —
dark_amber.xmlfromqt-material.
Languages
The GUI ships with English, Traditional Chinese, Japanese, and
Korean translations. Switch via the LanguageWrapper.reset_language
helper:
from je_load_density.gui.language_wrapper.multi_language_wrapper import (
language_wrapper,
)
language_wrapper.reset_language("Japanese") # or Korean / Traditional_Chinese / English
Architecture
Component |
Description |
|---|---|
|
|
|
Form + start button + stats panel + log panel. |
|
QTimer-driven panel reading |
|
Background |
|
Captures log records into a thread-safe queue. |
|
Bridges the logger and the GUI log panel. |
Note
On Windows the main window sets AppUserModelID via ctypes so
the taskbar correctly identifies the application.