2.2 KiB
2.2 KiB
graph
Moduláris grafikon megjelenítő
Dinamikusan betöltött könyvtárok segítségével adható meg a megjelenített adat.
Példaként egy HTTP szerver plugint készítettem hozzá.
Fordítás
A projekt a CMake buildrendszert használja és Debian 12 (Bookworm) rendszeren volt tesztelve. Nem tartalmaz platformspecifikus kódot. POSIX kompatibilis környezetben elméletileg lefordítható.
Fuggőségei:
- C++ 20 vagy nagyobb
- Qt 6
- flags-cpp, C++ parancssori paraméter feldolgozó könyvtár
- rum, C++ web API könyvtár
- nlohmann::json, C++ JSON könyvtár
Fordítási parancsok:
mkdir -p build && cd build
cmake .. && make -j $(nproc)
Elkészült fájlok:
- server: a program grafikus része, a pluginok betöltője
- plugins/libhttp.so: HTTP szerver plugin
Használat
- server futtatása:
./server
, a megadott paramétereket a betöltött pluginek később megkapják - Ctrl+A: grafikon hozzáadása
- Ctrl+L: plugin betöltése
- grafikonra jobbklikk
- Clear: grafikon tartalmának törlése
- Remove: grafikon törélse
- pluginra duplaklikk: plugin eltávolítása
HTTP plugin
A plugin a kapott paraméterek felhasználva indít egy HTTP szervert és az arra érkezett kérések alapján ad adatokat a grafikonokhoz.
$ ./server --help
Help:
--help: print help
--port: http port
--workers: number of worker threads
Példa
A test mappában található egy Python script, ez használható a HTTP plugin tesztelésére:
$ ./test.py --help
usage: test.py [-h] [-t {sine,cosine,sine_array,star}] [-n NUM] [-d DELAY] -c CHART -s SERIES [-p PORT] [-a ADDRESS]
options:
-h, --help show this help message and exit
-t {sine,cosine,sine_array,star}
test type
-n NUM sin_array size/iteration
-d DELAY delay between iteration
-c CHART chart id
-s SERIES series name
-p PORT server port
-a ADDRESS server address