2024-05-19 15:53:59 +00:00
|
|
|
# [graph](https://git.tek.govt.hu/dowerx/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á.
|
|
|
|
|
|
|
|
![demo gif](doc/demo.gif)
|
|
|
|
|
|
|
|
## 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](https://git.tek.govt.hu/dowerx/flags-cpp), C++ parancssori paraméter feldolgozó könyvtár
|
|
|
|
- [rum](https://git.tek.govt.hu/dowerx/rum), C++ web API könyvtár
|
2024-05-19 15:56:17 +00:00
|
|
|
- [nlohmann::json](https://github.com/nlohmann/json), C++ JSON könyvtár
|
2024-05-19 15:53:59 +00:00
|
|
|
|
|
|
|
Fordítási parancsok:
|
|
|
|
```sh
|
|
|
|
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.
|
|
|
|
```sh
|
|
|
|
$ ./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:
|
|
|
|
```sh
|
|
|
|
$ ./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
|
|
|
|
```
|