Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[PRO] Replaying Binary protocols
This feature available only in PRO version. See https://goreplay.org/pro.html for details.
Gor includes basic support for working with binary formats like
protocol-buffers. To start set
--input-raw-protocol to 'binary' (by default 'http'). For replaying, you should use
gor --input-raw :80 --input-raw-protocol binary --output-binary staging:8081
While working with
--input-raw you may notice a 2-second delay before messages are emitted to the outputs. This behaviour is expected and happening because for general binary protocol it is impossible to know when TCP message ends, so Gor has to set inactivity timeout. Each protocol has own rules (for example write message length as first bytes), and require individual handling to know message length. We consider improving detailed protocol support for
protocol-buffer and etc.
Note that you can use all load testing features for binary protocols. For example, the following command will loop and replay recorded payload on 10x speed for 30 seconds:
gor --input-file './binary*.gor|1000%' --output-binary staging:9091 --input-file-loop --exit-after 30s