<html>
<head>
<meta
  http-equiv="Content-Type"
  content="text/html; charset=iso-8859-1">
<style type="text/css">
p, table, td, th {
     font-family: arial, helvetica, geneva;
     font-size: 10pt
}

pre {
     font-family: "Courier New", Courier, mono;
     font-size: 10pt
}

h2 {
     font-family: arial, helvetica, geneva;
     font-size: 18pt;
     font-weight: bold;
     line-height: 14px
}

code {
     font-family: "Courier New", Courier, mono;
     font-size: 10pt
}

sup {
     font-family: arial, helvetica, geneva;
     font-size: 10px
}

h3 {
     font-family: arial, helvetica, geneva;
     font-size: 14pt;
     font-weight: bold
}

li {
     font-family: arial, helvetica, geneva;
     font-size: 10pt
}

h1 {
     font-family: arial, helvetica, geneva;
     font-size: 28px;
     font-weight: bold
}

body {
     font-family: arial, helvetica, geneva;
     font-size: 10pt;
     clip: rect();
     margin-top: 5mm;
     margin-left: 3mm
}

.indextop {
     font-size: x-large;;
     font-family: Verdana, Arial, Helvetica, sans-serif;
     font-weight: bold
}

.indexsub {
     font-size: xx-small;;
     font-family: Arial, Helvetica, sans-serif;
     color: #8080FF
}
</style>
<body>

  <h1>Table of contents</h1>
  <ul>
    <li><a href="#scales">Scales</a>
      <ul>
        <li><a href="#percent">Percentage</a></li>
        <li><a href="#time">Time linear</a></li>
        <li><a href="#time">Time logarithmic</a></li>
      </ul></li>
    <li><a href="#tips">Tips for time scales</a></li>
  </ul>
  <h1 id="scales">Scales></h1>
  Since 3.5, it's possible to see results in fingerprints with three different kinds of scale.
  <h3 id="percent">Percentage scale</h3>
  <p>The X axis represents percentage of the variation vs. the given baseline</p>
  <p>
    This is the way fingerprints were displayed since the beginning: <img src="images/percentage.png">
  </p>
  <ul>
    <li>Red bar means a regression, even if it's less than the 10% threshold.</li>
    <li>Green bar means an improvement</li>
    <li>Gray bar means an 'explained' regression.</li>
  </ul>
  <h3 id="time">Linear and logarithmic time scales</h3>
  <p>
    For these scales, the X axis represents the duration time of the test.<br> The colors meanings are the same than for the percentage scale.<br> These kind of graphs give a better idea of
    time duration for each test.
  </p>
  <p>Typically use linear scale if you want to see the tests relativeness for all the component tests:</p>
  <p>
    <img src="images/linear.png">
  <p>But the logarithmic scale is more appropriate when there are a strong duration differences between tests, hence makes short duration tests easier to survey:</p>
  <p>
    <img src="images/log.png">
  <p>
    Each test have two bars: the former is white and shows the baseline result, the latter is colored (red, green or gray) and shows the current build result.<br> The variation between the
    baseline and the build is displayed as a percentage on top of both bars.
  </p>
  <h1 id="tips">Tips for time scales</h1>
  <p>Tips are almost the same for linear and logarithmic scales:</p>
  <table style="border: 0" >
    <tr>
      <td valign="top"><img src="../images/light.gif"></td>
      <td><b>Flying over a bar displays its time value</b>:</td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_time_baseline.png"></td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_time_current.png"></td>
    </tr>
    <tr>
      <td><br></td>
    </tr>
    <tr>
      <td valign="top"><img src="../images/light.gif"></td>
      <td><b>For linear scale only, when the error on the time result is noticeable, then the measurement uncertainty is shown in yellow at the end of the bar</b>:</td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_time_error.png"></td>
    </tr>
    <tr>
      <td><br></td>
    </tr>
    <tr>
      <td valign="top"><img src="../images/light.gif"></td>
      <td><b>A performance regression may sometimes have a known good reason</b>.<br> In this case, the current build bar is grayed and flying over it also shows the given explanation:</td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_explained_regression.png"></td>
    </tr>
    <tr>
      <td><br></td>
    </tr>
    <tr>
      <td valign="top"><img src="../images/light.gif"></td>
      <td><b>Test result may have big error which can make the test result not fully reliable</b>.<br> In this case, a warning icon is shown after the variation value and flying over it
        gives the offending error value:</td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_error_warning.png"></td>
    </tr>
    <tr>
      <td><br></td>
    </tr>
    <tr>
      <td valign="top"><img src="../images/light.gif"></td>
      <td><b>Test may have no result for the used baseline, hence the first available build is used as a reference</b>.<br> In this case, a warning icon is shown after the scenario title and
        flying over it gives the build ID used to compute the variation:</td>
    </tr>
    <tr>
      <td></td>
      <td><img src="images/help_no_baseline.png"></td>
    </tr>
  </table>
</body>
</html>
