{% extends "base.html" %}
{% block pagename %}mainpage{% endblock %}
{% block title %}
	{% if user.is_authenticated %}{{ user.username }}'s {% endif %}Overload
{% endblock %}

{% block padding %}
	<div class='header-bottom-padding'></div>
	<div class='header-bottom-padding'></div>
	<div class='header-bottom-padding'></div>
{% endblock %}

{% block guide %}

<style>
pre {
    font-size: 90%;
    border-left: 5px solid #ddd;
    padding-left: 5px;
}
</style>

  <div class="container">
   <!-- Jumbotron-->
   <div class="jumbotron" style="font-size: 1.3rem;">
    <div class="row">
     <div class="col-sm-5 text-sm-center">
      <!-- <img src="/media/img/tanklogo-jumbo.jpg" class="img-rounded" style="border-radius: .3rem;" /> -->
      <h1 style="font-size: 4rem; margin-top: 20px;">
       Overload
      </h1>
      <p style="font-weight: 300">
        a performance analytics service
      </p>
     </div>
     <div class="col-sm-7">
      <blockquote style="margin: 0 0 20px;
          padding: 10px 20px;
    	  font-size: 17.5px;
    	  border-left: 5px solid #eee;">
       <p style="font-weight: 300;">
        Once we accept our limits, we go beyond them.
       </p>
       <footer style="display: block;
    	  font-size: 80%;
    	  color: #777;">
        Albert Einstein
       </footer>
      </blockquote>
      <p style="font-weight: 300;">
       Find out about your app's performance limits and bottlenecks in order to use your resources in a most effective way. Ensure your app is scalable and find a way to make it scalable. Use Overload to choose a reliable technology stack before you even started developing your product.
      </p>
      <p>
      {% if user.is_authenticated %}
      	 <a href="#install" role="button" class="btn btn-lg btn-brand">
       	 	Install client
       	 </a>
       	 <span>
	        &nbsp;
	     </span>
	     <a href="/" role="button" class="btn btn-lg btn-secondary">
	        Public tests
	     </a>
      {% else %}
     	 <button type="button"  data-toggle="modal" data-target="#loginModal" role="button" class="btn btn-lg btn-orange">
        	<i class="fa fa-sign-in"></i>&ensp;Sign in
      	 </button>
      {% endif %}
      </p>
     </div>
    </div>
   </div>
   <!-- Example row of columns-->
   <div class="row">
    <div class="col-lg-4">
     <h2>
      100 000+ RPS
     </h2>
     <p>
      Use
      <em>
       phantom
      </em>
      load engine written in pure C++ to generate big amount of load from one machine.
     </p>
     <p>
      <a href="https://github.com/yandex-load/phantom" role="button" target="_blank" class="btn btn-info">
       View on GitHub &raquo;
      </a>
     </p>
    </div>
    <div class="col-lg-4">
     <h2>
      Interactive reports
     </h2>
     <p>
      See how your system behaves under load while running the test. Save report when the test is over and email it to your colleagues.
     </p>
     <p>
      <a href="/111" role="button" class="btn btn-info">
       Example &raquo;
      </a>
     </p>
    </div>
    <div class="col-lg-4">
     <h2>
      Monitoring plugin
     </h2>
     <p>
      Collect all your system and business metrics by configuring monitoring plugin. The resources of the host you shooting at are monitored by default.
     </p>
     <p>
      <a href="/111#tab=monitoring&tags=&plot_groups=&machines=8&metrics=&slider_start=1471258146&slider_end=1471258777&compress_ratio=1" target="_blank" role="button" class="btn btn-info">
       Example &raquo;
      </a>
     </p>
    </div>
   </div>
   <div class="row">
    <div class="col-lg-4">
     <h2>
      Multiple load engines
     </h2>
     <p>
      Use JMeter to test complex scenarios or BFG (experimental) for exotic protocols. Implement your own module for your favorite tool and use Tank's features like OnlineReport with it.
     </p>
     <p>
      <a href="http://yandextank.readthedocs.io/en/latest/core_and_modules.html#load-generators" target="_blank" role="button" class="btn btn-info">
       View details &raquo;
      </a>
     </p>
    </div>
    <div class="col-lg-4">
     <h2>
      Autostops
     </h2>
     <p>
      Save your time by stopping your tests automatically using customizable criteria. 
     </p>
     <p>
      <a href="http://yandextank.readthedocs.io/en/latest/tutorial.html#autostop" target="_blank" role="button" class="btn btn-info">
       View details &raquo;
      </a>
     </p>
    </div>
    <div class="col-lg-4">
     <h2>
      Simple ammo format
     </h2>
     <p>
      Use your access.log for shooting or generate ammo from your logs using simple script.
     </p>
     <p>
      <a href="http://yandextank.readthedocs.io/en/latest/tutorial.html#preparing-requests" target="_blank" role="button" class="btn btn-info">
       View details &raquo;
      </a>
     </p>
    </div>
   </div>
   <hr />
   <div id="install" class="row">
    <div class="col-lg-12">
     <h2>
      Install Client (Yandex.Tank)
     </h2>
		<h3>
		Docker-based installation
		</h3>
		
		<p>One option is to use docker container. Install docker, create a config file (see <a href="#pip-based-installation">below</a>) and run this command:</p>
		
		<pre><code class="guide_code">docker run -v $(pwd):/var/loadtest -v $HOME/.ssh:/root/.ssh -it direvius/yandex-tank</code></pre>
		
		<h3>
		PIP-based installation
		</h3>
		
		<p>Other option is installing yandex-tank on your machine. We will describe the installation process for debian-based systems, but we think you can figure it out how to do it on your system of choice (some people run Yandex.Tank on their Macs for example). This installation process is slightly different from the one described in official docs because we need the latest version from github master branch for Overload.</p>
		
		<p>These are the packages that are required to build different python libraries. Install them with <code>apt</code>:</p>
		
		<pre><code class="guide_code">sudo apt-get install python-pip build-essential python-dev libffi-dev gfortran libssl-dev</code></pre>
		
		<p>Update your pip:</p>
		
		<pre><code class="guide_code">sudo -H pip install --upgrade pip</code></pre>
		
		<p>Update/install your setuptools:</p>
		
		<pre><code class="guide_code">sudo -H pip install --upgrade setuptools</code></pre>
		
		<p>Install latest Yandex.Tank from master branch:</p>
		
		<pre><code class="guide_code">sudo -H pip install https://api.github.com/repos/yandex/yandex-tank/tarball/master</code></pre>
		
		<p>You'll probably need Phantom load generator, so install it from our ppa:</p>
		
		<pre><code class="guide_code">sudo add-apt-repository ppa:yandex-load/main &amp;&amp; sudo apt-get update
sudo apt-get install phantom phantom-ssl</code></pre>
		
		<h3>
		Running your tests
		</h3>
		
		<p>Well, you have installed Yandex.Tank on your PC or a dedicated load server. The next step is making your first config. It's just a simple .ini file, so create one. Let's call it <strong>load.yaml</strong> -- this is the default config filename for Yandex.Tank.</p>
		
		<pre><code class="guide_code">overload:
  enabled: true
  package: yandextank.plugins.DataUploader
  token_file: "token.txt"
phantom:
  address: example.com:443
  ssl: true
  load_profile:
    load_type: rps
    schedule: line(1, 10, 1m)
  uris:
    - /
    - /page1
    - /page2
telegraf:
  enabled: false</code></pre>
		
		<p>For details and other options see Yandex.Tank's <a href="http://yandextank.readthedocs.io/en/latest/" target="_blank">documentation</a>.</p>
		
		<p>Now you're ready to start your first test. Let's go!</p>
		
		<pre><code class="guide_code">yandex-tank -c load.yaml</code></pre>
		
		<p>Yandex.Tank will print a link to your test's live view.</p>
		
		<p>Your test results will be stored in our database and you'll be able to send a link to them to one of your friends or collegues.</p>
		
		<p>You can delete your data if you want. Be carefull - your tests results are available to other Overload users. We always hide config for security reason though.</p>
		
		<p>We are hopeful that with the help of Overload you'll find a way to make your service faster and more reliable.</p>
		
		<p>We are looking forward for your feedback via <a href="mailto:load-public@yandex-team.ru" target="_blank">email</a> or <a href="https://gitter.im/yandex/yandex-tank?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge&amp;utm_content=badge" target="_blank"><img src="https://camo.githubusercontent.com/da2edb525cde1455a622c58c0effc3a90b9a181c/68747470733a2f2f6261646765732e6769747465722e696d2f4a6f696e253230436861742e737667" alt="Gitter" data-canonical-src="https://badges.gitter.im/Join%20Chat.svg"></a>.</p>
		
		</div>
    </div>
   </div>
   <hr />
  </div>
  <!-- /container-->
{% endblock %}
{% block body %}
{% endblock %}