Pulsar
High-performance Go event generator for load testing. Supports TCP/UDP, Netflow v5, Syslog (CEF).
Install / Use
/learn @NGRsoftlab/PulsarREADME
🌌 Pulsar
High-performance synthetic event generator Generate realistic logs and network flows at scale up to 150000 events per second
⚠️ Pre-alpha software — not ready for production use. Breaking changes are expected.
Features
- Protocols: TCP, UDP
- Formats: NetFlow v5, Syslog (CEF)
- Lock-free pipeline engine: Zero-lock worker pools with atomic queues for sustained 150K+ EPS
- CLI-first: Optionla config files - everything tunable via flags or env vars. Perfect for scripts and CI
- Built-in observability: Prometheus metrics for events, workers, queue depth and Go runtime. Exposed on
:9090/metrics
Known problems
- TCP connection pool is basic (no smart retries; errors on shutdown)
- Event types and data are hardcoded - no support for custom format
- Potential data loss on shutdown under high load (visible with -race flag)
- Suboptimal memory usage at high EPS (OOM risk on constrained systems)
Usage
Run from source (for development)
go run ./cmd --help
Build and run binary
go build -o pulsar .
./pulsar -e netflow -p udp -r 100000 -d localhost:2055 -t 10m
Flags
| Flag | Type | Description | Default |
|------|------|-------------|---------|
| -c, --config | FILE | Configuration file path | - |
| -r, --rate | N | Events per second | 10 |
| -d, --destinations | LIST | Comma-separated destinations (now can work only with single) | 127.0.0.1:514 |
| -p, --protocol | PROTO | Protocol: tcp or udp | udp |
| -e, --events | TYPE | Events type: netflow or syslog | netflow |
| -t, --duration | TIME | How long to run (e.g., 30s, 5m, 1h) | 0 (endless) |
| -l, --log-level | LEVEL | Log level: debug, info, warn, error | info |
| -v, --version | - | Show version information | - |
| -h, --help | - | Show this help | - |
Docker
You can run multiple generators via docker-compose.yml (netflow + syslog, as example)
Build and run both generators for 5 minutes:
docker-compose up --build
Send events to your destination instead of localhost:
TARGET_DESTINATION=siem.internal:2055 docker-compose up --build
Run only one generator (for example netflow):
docker-compose up --build pulsar-netflow
Issues
Found a bug or have an idea? Open an issue!
Please include:
- Command you ran
- Expected vs actual behavior
Pre-alpha means bugs are expected — your report helps a lot!
Maintainer
This project was created and is maintained by Nikita Shabanov.
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
351.2kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
