Closed mat-hek closed 4 years ago
My friend recommended avoiding Influxdb due to its high memory consumption (https://docs.influxdata.com/influxdb/v1.8/guides/hardware_sizing/#when-do-i-need-more-ram) and lengthy backup (baking a backup was 10hrs for him, 15 million records). He recommended considering timescale https://www.timescale.com.
We need a convenient way to analyze certain properties of elements, bins and pipelines. The data for analysis should be collected and presented in realtime. For that, we need components for
Reporting properties
The simplest way would be just to send messages to the collecting component, and that can be the way to start with. If the performance won't be sufficient, we can consider grouping reports together, pooling from the collecting component etc
Collecting reports
Can be done with some designated erlang process (or a pool of them), using some existing telemetry backend or both of them. Some backends that may be used:
Frontend for displaying data
It also may be either our own solution or an existing one, however it would be very useful to be able to display pipeline graphs there. Own solution could be improved to enable interactive pipeline reconfiguration in the future. That being said, an existing solution will be easier to start with. The frontend should be able to receive reports from a remote server.
Properties to collect
Membrane.Core.InputBuffer.store/3
andMembrane.Core.InputBuffer.take_and_demand/4