# Reading in advance Input file now pre-reads N requests (and keeps this buffer on the same length), sort them by timestamp and emit on demand. You can control read depth using `--input-file-read-depth` which is 100 by default. It makes implementation faster, and it fixes various issues when due to concurrency, or another issues requests gets added out of order. Setting too big depth will mean that memory consumption will be bigger, since it will need store request in memory. # Max wait In some low traffic cases, you can have cases when time between request minutes. Increasing speed can be not an option. Now you can "skip" this pauses, by setting max wait time. Example: `--input-raw-max-wait 1s`. # Dry-run mode Now you can get information about file content without performing the actual replay. For example, it can tell you how many requests in your files, and how long it will take to replay them. Example report: ``` Records found: 258 Files processed: 1 Bytes processed: 208343 Max wait: 1h26m3.193159s Min wait: 15µs First wait: 1.174ms It will take `1h41m44.614806s` to replay at current speed. ``` Applying options like input-raw-max-wait, setting speed, or read depth affecting dry-run mode as well. # Misc Fix issue with re-using buffers for messages. On concurrency, buffers gets re-used, and you get corrupted data.
https://goreplay.org/
GoReplay is an open-source network monitoring tool which can record your live traffic, and use it for shadowing, load testing, monitoring and detailed analysis.
About
As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows you to analyze and record your application traffic without affecting it. This eliminates the risks that come with putting a third party component in the critical path.
GoReplay increases your confidence in code deployments, configuration and infrastructure changes.
GoReplay offers unique approach for shadowing. Instead of being a proxy, GoReplay in background listen for traffic on your network interface, requiring no changes in your production infrastructure, rather then running GoReplay daemon on the same machine as your service.
Check latest documentation.
Installation
Download latest binary from https://github.com/buger/goreplay/releases or compile by yourself.
Getting started
The most basic setup will be sudo ./gor --input-raw :8000 --output-stdout which acts like tcpdump.
If you already have test environment you can start replaying: sudo ./gor --input-raw :8000 --output-http http://staging.env.
See the our documentation and Getting started page for more info.
Newsletter
Subscribe to our newsletter to stay informed about the latest features and changes to Gor project.
Want to Upgrade?
We have created a GoReplay PRO extension which provides additional features such as support for binary protocols like Thrift or ProtocolBuffers, saving and replaying from cloud storage, TCP sessions replication, etc. The PRO version also includes a commercial-friendly license, dedicated support, and it also allows you to support high-quality open source development.
Problems?
If you have a problem, please review the FAQ and Troubleshooting wiki pages. Searching the issues for your problem is also a good idea.
All bug-reports and suggestions should go through Github Issues or our Google Group (you can just send email to gor-users@googlegroups.com). If you have a private question feel free to send email to support@gortool.com.
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Added some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
Companies using Gor
- GOV.UK - UK Government Digital Service
- theguardian.com - Most popular online newspaper in the UK
- TomTom - Global leader in navigation, traffic and map products, GPS Sport Watches and fleet management solutions.
- 3SCALE - API infrastructure to manage your APIs for internal or external users
- Optionlab - Optimize customer experience and drive engagement across multiple channels
- TubeMogul - Software for Brand Advertising
- Videology - Video advertising platform
- ForeksMobile - One of the leading financial application development company in Turkey
- Granify - AI backed SaaS solution that enables online retailers to maximise their sales
- And many more!
If you are using Gor, we are happy to add you to the list and share your story, just write to: hello@goreplay.org
Author
Leonid Bugaev, @buger, https://leonsbox.com

