RMS
RMS copied to clipboard
Telemetry for capture module
This is a work in progress (draft pull request)
Implements "telemetry" module so external applications can retrieve data from current capture session without disturbing it. The data can be used by a monitoring application to generate statistics and also detect failures. As example, it could detect last frame block was processed a long time ago, so capture is stuck and action is required.
command:
$ curl http://127.0.0.1:2100
output:
{
"status": "capturing",
"fps_expected": 25.0,
"fps_estimated": 19.7,
"block_frames": 256,
"dropped_frames": 85,
"frame_time_average": 0.049,
"capture_start_time": "2021-05-18T06:12:44.820058",
"last_frame_block": "2021-05-18T06:13:28.868691"
}
TODO wish list:
- add config option to enable/disable web service
- add config option to customize web service listen IP and port
- add a webservice endpoint to retrieve the last frame in the 256 block (http://127.0.0.1/last_frame)
- retrieve data from Stars and Meteor detection engine (number of stars and meteor count)
- limit number of connections to avoid DoS