txpipe / oura

The tail of Cardano
https://txpipe.github.io/oura
Apache License 2.0
257 stars 71 forks source link

Multi-Sink #721

Open Crypto2099 opened 11 months ago

Crypto2099 commented 11 months ago

It would be great to be able to potentially have multiple sinks and/or some way of recording status to terminal when running Oura in daemon mode (potentially as a service) so that tools like the terminal window or journalctl could be used to verify that Oura is running and its current height easily even while sinking to something like a webhook. Particularly if the selection criteria may be few and far between, it would be nice to have a health/status check without needing to consult a full-scale Prometheus/Grafana dashboard.

scarmuega commented 11 months ago

hi @Crypto2099,

Regarding multiple sinks, we've analyzed this option and found that there're a lot of complex edge cases when using multiple sinks. The top one is how to handle "back-pressure" when one sink is slower than the other. We decided that the recommended way to handle this is to have multiple Oura instances where devs can configure each pipeline independently. Since each instance is relatively lightweight, there's not much overhead in running multiple.

Regarding recording status, Oura already provides several logs when running in daemon mode. In Oura v1, this output is controlled by the RUST_LOG env variable. Let me know if this is what you were looking for.