ripley
ripley copied to clipboard
Ripley performance improvements
- Transitioned to using https://github.com/valyala/fasthttp/ for the HTTP client;
- Transitioned to using github.com/valyala/fastjson/ for fast json parsing;
- Add custom Connection Diler to count TCP metrics (connections, bytes);
- Add metrics server;
- Add other metrics;
- Add handleResult listener rather create goroutine;
- Buffered channels;
- Rewrite dummyweb server on fasthttp with reuseport;
- Add store and print N results with the longest latency;
- Improve error log reporting (connection errors, http errors 5xx);
- Other UX improvements.
@eugenepaniot I haven't been able to finish the review. Sharing my comments so far. I currently can't run the tests because:
# command-line-arguments [command-line-arguments.test] pkg/replay.go:136:16: undefined: unsafe.String pkg/replay.go:136:30: undefined: unsafe.SliceData
The golang 1.20 is required as these function introduced in 1.20 version.