mirror of
https://github.com/buger/goreplay.git
synced 2024-04-21 12:32:02 +00:00
247 lines
9.0 KiB
HTML
247 lines
9.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us">
|
|
<head>
|
|
<!-- Required meta tags always come first -->
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
|
|
<title>Gor - test your system with real data</title>
|
|
<meta name="description" content="Gor is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data.">
|
|
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" integrity="sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd" crossorigin="anonymous">
|
|
<link href='https://fonts.googleapis.com/css?family=Armata' rel='stylesheet' type='text/css'>
|
|
|
|
<style type="text/css">
|
|
* {
|
|
font-family: 'Armata', sans-serif;
|
|
}
|
|
|
|
body {
|
|
background: #eee;
|
|
}
|
|
|
|
nav h1 {
|
|
display: inline;
|
|
line-height: 5rem;
|
|
/*font-size: ;*/
|
|
}
|
|
|
|
.navbar {
|
|
font-size: 200%;
|
|
padding: 1rem 4rem;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.navbar .navbar-brand {
|
|
font-size: 3rem;
|
|
}
|
|
|
|
.navbar .navbar-brand + span {
|
|
font-size: smaller;
|
|
line-height: 5.5rem;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.navbar ul a {
|
|
font-size: smaller;
|
|
color: #333;
|
|
line-height: 4.5rem;
|
|
margin-left: 2rem;
|
|
}
|
|
|
|
.trustedby {
|
|
white-space: nowrap;
|
|
margin-top: 4rem;
|
|
}
|
|
|
|
.trustedby img {
|
|
margin-right: 2rem;
|
|
}
|
|
|
|
p {
|
|
font-size: xx-large;
|
|
color: #666;
|
|
}
|
|
|
|
h3 {
|
|
color: #aaa;
|
|
}
|
|
|
|
.success-story {
|
|
margin-top: 4rem;
|
|
padding: 2rem;
|
|
padding-bottom: 1rem;
|
|
background-color: white;
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
|
|
width: 50%;
|
|
float: left;
|
|
}
|
|
|
|
.success-story p {
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
.success-story:nth-child(2n) {
|
|
margin-left: 2rem;
|
|
width: calc(50% - 2rem);
|
|
}
|
|
|
|
.pro {
|
|
background-color: white;
|
|
padding: 2rem;
|
|
padding-bottom: 1rem;
|
|
margin-top: 2.5rem;
|
|
}
|
|
|
|
.pro p {
|
|
font-size: 1.5rem;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.pro table th {
|
|
border-top: none;
|
|
}
|
|
|
|
.pro table thead a {
|
|
color: #666;
|
|
margin-left: 1rem;
|
|
}
|
|
|
|
.pro th {
|
|
font-size: 2rem;
|
|
}
|
|
|
|
.pro center p {
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.pro ul li {
|
|
font-size: larger;
|
|
line-height: 200%;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<!-- Yandex.Metrika counter -->
|
|
<script type="text/javascript">
|
|
(function (d, w, c) {
|
|
(w[c] = w[c] || []).push(function() {
|
|
try {
|
|
w.yaCounter36983765 = new Ya.Metrika({
|
|
id:36983765,
|
|
clickmap:true,
|
|
trackLinks:true,
|
|
accurateTrackBounce:true,
|
|
webvisor:true,
|
|
trackHash:true
|
|
});
|
|
} catch(e) { }
|
|
});
|
|
|
|
var n = d.getElementsByTagName("script")[0],
|
|
s = d.createElement("script"),
|
|
f = function () { n.parentNode.insertBefore(s, n); };
|
|
s.type = "text/javascript";
|
|
s.async = true;
|
|
s.src = "https://mc.yandex.ru/metrika/watch.js";
|
|
|
|
if (w.opera == "[object Opera]") {
|
|
d.addEventListener("DOMContentLoaded", f, false);
|
|
} else { f(); }
|
|
})(document, window, "yandex_metrika_callbacks");
|
|
</script>
|
|
<noscript><div><img src="https://mc.yandex.ru/watch/36983765" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
|
<!-- /Yandex.Metrika counter -->
|
|
|
|
<nav class="navbar navbar-light bg-faded">
|
|
<h1>
|
|
<a class="navbar-brand" href="/">Gor</a>
|
|
<span>— test your system with real data</span>
|
|
</h1>
|
|
<ul class="nav navbar-nav pull-xs-right">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#pro">Pro</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#docs">Docs</a>
|
|
</li>
|
|
<!-- <li class="nav-item">
|
|
<a class="nav-link" href="#about">About</a>
|
|
</li> -->
|
|
</ul>
|
|
</nav>
|
|
<div class="container-fluid" style="padding: 4rem">
|
|
<p>
|
|
Gor is an <a href="http://github.com/buger/gor">open-source</a> tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
|
|
</p>
|
|
|
|
<div class="trustedby">
|
|
<h3>Trusted by hundreds of companies</h3>
|
|
<hr/>
|
|
<br/>
|
|
<img src="./trustedby/govuk.png" height="50px"/>
|
|
<img src="./trustedby/guardian.png" height="50px"/>
|
|
<img src="./trustedby/tomtom.png" height="50px"/>
|
|
<img src="./trustedby/3scale.png" height="50px"/>
|
|
<img src="https://www.tubemogul.com/wp-content/themes/tubemogul/_img/_logos/tubemogul_full.svg" height="50px" width="187px" />
|
|
</div>
|
|
|
|
<div class="success-story">
|
|
<blockquote>
|
|
<p>Gor enabled us to put the Router "into production" a long time before we were entirely comfortable that it was "production ready" and without any risk. We could tell that it was doing the right thing from the access logs/stats of the Gor and the Router's own error logs.</p>
|
|
<footer><a href="https://twitter.com/dancarley">Dan Carley</a> from <cite><a href="https://gdstechnology.blog.gov.uk/2013/12/13/putting-the-router-through-its-paces/#replay-production-traffic">Government Digital Service</a></cite></footer>
|
|
</blockquote>
|
|
</div>
|
|
<div class="success-story">
|
|
<blockquote>
|
|
<p>Traffic from our production load balancers stream a small slice of traffic to Gor which then streams it to multiple QA environments. We soak test our new and old versions of our web service and the compare their metrics to discover bugs. Great stuff!</p>
|
|
<footer>Sahil Verma from <cite><a href="http://videologygroup.com">Videology</a></cite></footer>
|
|
</blockquote>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
<hr style="margin-top: 2.5rem"/>
|
|
|
|
<div class="pro" id="docs">
|
|
<h1>How Gor works and why it is made</h1>
|
|
<p><small>Synthetic tests can be useful, but they are no substitute for the real thing. It's just not possible to synthesise the variation of traffic that you'll see in production. Humans, browsers, and robots all do strange things to affect the frequency of requests, URL weighting, size of headers, etc. You need to be sure that your app isn't tripped up by an edge-case that only presented itself after we'd gone live.</small></p>
|
|
<p><small>Placing another component in the critical path of production traffic is too risky, instead, Gor intercepts traffic coming to your service, not affecting its functionality, and the price is few percents of CPU.</small></p>
|
|
<p><small>The most basic setup is:</small><br/>
|
|
<pre style="padding: 1rem; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc">
|
|
# Assuming that your service running on port 80
|
|
gor --input-raw :80 --output-http "http://staging.com"</pre>
|
|
</p>
|
|
<p><small>You can modify and filter captured requested before replaying them. You can even replay them at higher speed for load testing. See <a href="https://github.com/buger/gor">full documentation</a>.</small></p>
|
|
</div>
|
|
|
|
<div class="pro" id="pro">
|
|
<h1>Pro version</h1>
|
|
<p>Gor Pro is an extension to community version which provides more features, a commercial-friendly license and allows you to support high-quality open source development all at the same time.</p>
|
|
<ul>
|
|
<li>Include all the features from the <a href="http://github.com/buger/gor">Community version</a></li>
|
|
<li>Guaranteed traffic capture <sup>*</sup></li>
|
|
<li>Support for TSL encrypted traffic <sup>*</sup></li>
|
|
<li><a href="https://github.com/buger/gor/blob/master/COMM-LICENSE">Commercial license</a> vs LGPL by default</li>
|
|
<li>Feature prioritization</li>
|
|
<li>Dedicated Email support from the author</li>
|
|
</ul>
|
|
<div style="font-size: smaller; color: #aaa;">* this featured sheduled to be released in Q2 2016</div>
|
|
<br/>
|
|
|
|
<a class="btn btn-primary btn-lg" href="https://gum.co/KWpS">Buy for $950 / Year</a>
|
|
|
|
<br/>
|
|
<br/>
|
|
<p><small>All sales come with a two week, 100% money back guarantee.<br/>
|
|
Looking to embed Gor in your virtual server or appliance?<br/>
|
|
<a href="https://github.com/buger/gor/wiki/Commercial-FAQ">Read the Commercial FAQ</a>.
|
|
</small>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid" style="background-color: #ccc; padding: 4rem;">
|
|
<h2>Questions, comments, & concerns? Lets chat: <a href="mailto:hello@gortool.com">hello@gortool.com</a></h2>
|
|
</div>
|
|
</body>
|
|
</html>
|