SASE+ Pattern Matching
Detect complex event sequences, Kleene closures, and temporal patterns in real-time streams.
Real-time complex event processing with pattern matching, trend aggregation, and forecasting.
Varpulis is a next-generation streaming analytics engine built in Rust for low-latency complex event processing.
// Detect suspicious login patterns in real-time
event Login:
user_id: string
city: string
success: bool
stream SuspiciousLogin = Login as a -> Login as b
.within(5m)
.where(a.user_id == b.user_id && a.city != b.city)
.emit(user: a.user_id, from: a.city, to: b.city)| Benchmark | Varpulis | Apama | Advantage |
|---|---|---|---|
| Filter (100K events) | 234K/s | 199K/s | 1.2x faster |
| Sequence detection | 256K/s | 221K/s | 1.2x faster |
| Memory usage | 36-58 MB | 166-190 MB | 3-5x less |
| Kleene match accuracy | 99.6K matches | 20K matches | 5x more complete |
Benchmarked on CPU-bound workloads (100K events, ramdisk, preloaded). See also the Varpulis vs Flink CEP comparison.
/metrics endpoint for monitoring and alerting| Connector | Input | Output | Status |
|---|---|---|---|
| MQTT | Yes | Yes | Production |
| Kafka | Yes | Yes | Production |
| NATS | Yes | Yes | Production |
| Redis | Yes | Yes | Production |
| PostgreSQL CDC | Yes | No | Production |
| PostgreSQL | No | Yes | Production |
| MySQL | No | Yes | Production |
| SQLite | No | Yes | Production |
| AWS Kinesis | Yes | Yes | Production |
| AWS S3 | Yes | Yes | Production |
| Apache Pulsar | Yes | Yes | Production |
| Elasticsearch | No | Yes | Production |
| HTTP/Webhooks | No | Yes | Production |
| Console | No | Yes | Debug |