Files
panic-server/index.html
Jesse Gibson be781b5d8d Tether to UI, upgrade to gun@0.3, organize files, clean code, capture errors, add progress events, better type checking for patch.js, more polyfills, more reliable checking for finish events, server improvements
You can now boot up tests from the homepage using the UI. It's powered by jQuery.

The tests are now using the latest, greatest version of gun, v0.3.

Files now organized into folder "lib" for clarity and cleanliness.

Numerous code cleanliness improvements.

Now, if errors are passed to the acknowledgement listener, they're pushed to an array of errors on that request.

Now each time there's a response,  the statistics are recalculated and are passed to an optional progress callback.

Patch.js now has stronger type checking against the data it's been given.

Added more polyfills to aid in development, like wrapping console.log in a closure to bypass the console interface error.

The timeout accuracy and code clarity has been improved.

Server is now upgraded to use gun@0.3, and the level options have been better tailored to the application.
2016-01-07 14:20:10 -07:00

72 lines
2.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Battle Test</title>
<link rel="stylesheet" href="index.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
</head>
<body>
<h1>Distributed Testing</h1>
<p>
The purpose of this test is to simulate load. We want to make this as easy as possible, but there are various limitations. This page will explain how to do more thorough tests and gives you options to configure them.
</p>
<p>
First off, we will programmatically open
<input id="tabs" type="number" value="5"> number of tabs with a
<input id="stage" type="number" value="5"> millisecond delay between each.
</p>
<p>
These tabs will then connect to the local gun server, running on
<input id="port" type="number" value="8080" disabled="true">.
</p>
<p>
They will start to spam the system with
<input id="each" type="number" value="100"> messages each, at a
<input id="interval" type="number" value="20"> millisecond interval.
<i>Note: The server's file.js persistence module is not very reliable and should not be used for anything other than local development.</i>
</p>
<p>
Each message will have the peer ID in it, a message ID, and a random string of
<input id="length" type="number" value="140"> characters.
</p>
<p>
Make sure your server is on, that popups are allowed, and that you are in a fresh window.
</p>
<div>
<button id="start">start the test</button>
<button id="close">Close tabs</button>
</div>
<table id="stats">
</table>
<div class="model" style="display: none;">
<li class="peer">
<span class="id">peer ID</span> is <span class="status">null</span>.
</li>
</div>
<p>
Future versions of this test will want to include:
<ul>
<li>Ability to cause random chaos, like network hiccups.</li>
<li>Collaboratively run across multiple browsers and devices.</li>
<li>Do complex tasks on different data structures.</li>
<li>Multi-peer connections.</li>
<li>Jepsen level awesomeness.</li>
</ul>
</p>
<script src="gun.js"></script>
<script src="lib/polyfill.js"></script>
<script src="lib/statistics.js"></script>
<script src="lib/jquery.min.js"></script>
<script src="done.js"></script>
<script src="node_modules/mavis/index.js"></script>
<script src="lib/patch.js"></script>
<script src="index.js"></script>
<script src="browser.js"></script>
<script src="ui.js"></script>
</body>
</html>