add Prometheus/OpenMetrics exporter (#3081)

* add prometheus endpoint

* refine metrics implementation

* move metrics generator to ClassFlowControll

* add more metrics
align prefix

* add more metrics
clean up

* refine documentation

* revert dependencies change

* sanitize labels

* create separate module for openmetrics

* move openmetrics to separate folder

* clean up

* add basic unit-tests

* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests

* Update code/main/server_main.cpp

---------

Co-authored-by: CaCO3 <caco3@ruinelli.ch>
This commit is contained in:
Henry Thasler
2024-06-02 21:13:15 +02:00
committed by GitHub
parent 1300242d4a
commit 1a76ae121c
13 changed files with 228 additions and 2 deletions

View File

@@ -20,6 +20,7 @@
#include "components/jomjol-flowcontroll/test_PointerEvalAnalogToDigitNew.cpp"
#include "components/jomjol-flowcontroll/test_getReadoutRawString.cpp"
#include "components/jomjol-flowcontroll/test_cnnflowcontroll.cpp"
#include "components/openmetrics/test_openmetrics.cpp"
#include "components/jomjol_mqtt/test_server_mqtt.cpp"
bool Init_NVS_SDCard()
@@ -167,6 +168,7 @@ extern "C" void app_main()
// getReadoutRawString test
RUN_TEST(test_getReadoutRawString);
RUN_TEST(test_openmetrics);
RUN_TEST(test_mqtt);
UNITY_END();