Expand description
Real-time Streaming Data Ingestion
Provides async stream processing with windowed analysis, real-time pattern detection, backpressure handling, and comprehensive metrics collection.
§Features
- Async stream processing for continuous data ingestion
- Tumbling and sliding window analysis
- Real-time pattern detection with callbacks
- Automatic backpressure handling
- Throughput and latency metrics
§Example
ⓘ
use futures::stream;
use std::time::Duration;
let config = StreamingConfig {
window_size: Duration::from_secs(60),
slide_interval: Duration::from_secs(30),
max_buffer_size: 10000,
..Default::default()
};
let mut engine = StreamingEngine::new(config);
// Set pattern callback
engine.set_pattern_callback(|pattern| {
println!("Pattern detected: {:?}", pattern);
});
// Ingest stream
let stream = stream::iter(vectors);
engine.ingest_stream(stream).await?;
// Get metrics
let metrics = engine.metrics();
println!("Processed: {} vectors, {} patterns",
metrics.vectors_processed, metrics.patterns_detected);Structs§
- Streaming
Config - Configuration for the streaming engine
- Streaming
Engine - Streaming engine for real-time data ingestion and pattern detection
- Streaming
Engine Builder - Builder for StreamingEngine with fluent API
- Streaming
Metrics - Streaming metrics for monitoring performance