goreplay README

The project's README from github.com/probelabs/goreplay. As one markdown file: README.md.

GitHub release codebeat Go Report Card Join the chat at https://gitter.im/buger/gor Reviewed by Hound

Go Replay

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 a unique approach for shadowing. Instead of being a proxy, GoReplay listens in the background for traffic on your network interfaces, requiring no changes in your production infrastructure, other than running GoReplay daemon on the same machine as your service.

Diagram

Check latest documentation.

Installation

Download the 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 a test environment, you can start replaying by running: sudo ./gor --input-raw :8000 --output-http http://staging.env.

See our documentation and the Getting Started page for more info.

Newsletter

Subscribe to our newsletter to stay informed about the latest features and changes to the 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 session 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 [email protected]). If you have a private question feel free to send email to [email protected].

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Companies using Gor

If you are using Gor, we are happy to add you to the list and share your story, just write to: [email protected]

Author

Leonid Bugaev, @buger, https://leonsbox.com

goreplay (probelabs/goreplay)

Searching Database…

19.3K ·GitHub
What is this?GoReplay is an open-source network monitoring tool that records your live HTTP traffic and reuses it for shadowing, load testing, monitoring and analysis — so you test with real data instead of synthetic scripts, and deploy with more confidence.
Does it sit between my users and my app like a proxy?No. It listens in the background on your network interfaces and runs as a daemon on the same machine as your service, so production infrastructure stays untouched and no third-party component enters the request path.
How do I get started with it?Download the latest binary or compile it yourself. The most basic run is sudo ./gor --input-raw :8000 --output-stdout, which prints captured traffic like tcpdump; point --output-http at a test environment to replay it there.
Do I need anything else installed to run it?Nothing at runtime — it is a self-contained Go binary you can also build from source (the repo has a Makefile). Capture commands run under sudo, since sniffing raw interface traffic needs elevated privileges.
Will capturing traffic slow down my production service?Avoiding that is the core design goal: GoReplay analyzes and records traffic without affecting it, and because it is not a proxy in the request path, it sidesteps the risks of a third-party component in the critical path.
Can I just use it commercially for free?The core is free, but the repository ships a custom, non-standard license (GitHub lists it as NOASSERTION), so check LICENSE before commercial use; a commercial-friendly license is bundled with the paid PRO edition.
Why replay real traffic instead of writing load test scripts?Because test effort grows exponentially as an app grows, the author's simple idea is to reuse the traffic you already have: it makes tests realistic with zero scripting, which he calls incredibly powerful.
What does the paid PRO version add?Support for binary protocols like Thrift and ProtocolBuffers, saving and replaying traffic from cloud storage, TCP session replication, plus a commercial-friendly license and dedicated support.
What are similar projects?hey, vegeta, hurl, oha, wrk, keploy, locust, telegraf
Creator
probelabs
Size
17.7 MB
Stars
19.3K
Age
13y
Commits · 90 Days