You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
precompute_engine has no source abstraction — ingest is hardcoded to HTTP #300
The HTTP server is the only ingest path in precompute_engine, and it is hardcoded directly in engine.rs::run(). There is no trait or interface representing an ingest source.
The closest shared logic is route_decoded_samples() in ingest_handler.rs, which both HTTP handlers call. However, this function is private and coupled to the private IngestState struct, making it inaccessible to any alternative ingest path. SeriesRouter has a clean public interface (route_group_batch, broadcast_flush, broadcast_shutdown), but there is no abstraction above it that unifies how sources push data into the router.
As a result, adding any new ingest source (file, Kafka-native, etc.) requires modifying engine.rs::run() directly and duplicating routing logic, rather than implementing a defined interface. This makes the engine difficult to extend and tests each new source in isolation from the common routing path.
Activity