golang.org/x/build@v0.0.0-20240506185731-218518f32b70/perf/app/template/compare.html (about)

     1  <!DOCTYPE html>
     2  <!--
     3   Copyright 2022 The Go Authors. All rights reserved.
     4   Use of this source code is governed by a BSD-style
     5   license that can be found in the LICENSE file.
     6  -->
     7  
     8  <html>
     9    <head>
    10      <meta charset="utf-8">
    11      <title>Performance Result Comparison</title>
    12      <style type="text/css">
    13  #header h1 {
    14    display: inline;
    15  }
    16  #search {
    17    padding: 1em .5em;
    18    width: 100%;
    19  }
    20  input[type="text"] {
    21    font-size: 100%;
    22  }
    23  #results {
    24    border-top: 1px solid black;
    25  }
    26  tr.diff td {
    27    font-size: 80%;
    28    font-family: sans-serif;
    29    vertical-align: top;
    30  }
    31  th.label {
    32    text-align: left;
    33    vertical-align: top;
    34  }
    35  td.count {
    36    text-align: right;
    37  }
    38  #labels {
    39    float: left;
    40    margin-right: 1em;
    41    border-right: 1px solid black;
    42    border-collapse: collapse;
    43    vertical-align: top;
    44  }
    45  #labels tbody {
    46    border-collapse: collapse;
    47    border-bottom: 1px solid black;
    48  }
    49  #labels > tbody > tr:last-child > th, #labels > tbody > tr:last-child > td {
    50    padding-bottom: 1em;
    51  }
    52  #labels tbody tr:first-child th, #benchstat {
    53    padding-top: 1em;
    54  }
    55  #labels tbody.diff tr:first-child th {
    56    padding-top: 1em;
    57    border-collapse: collapse;
    58    border-top: 1px solid black;
    59  }
    60  #labels .diff {
    61    padding-bottom: 1em;
    62  }
    63  #labels .diff table td, #labels .diff .query {
    64    max-width: 20em;
    65    white-space: nowrap;
    66    overflow: hidden;
    67    text-overflow: ellipsis;
    68  }
    69  
    70  .benchstat tr.configs th {
    71    max-width: 0;
    72    white-space: nowrap;
    73    overflow: hidden;
    74    text-overflow: ellipsis;
    75  }
    76  
    77  .benchstat { border-collapse: collapse; }
    78  .benchstat th:nth-child(1) { text-align: left; }
    79  .benchstat tbody td:nth-child(1n+2):not(.note) { text-align: right; padding: 0em 1em; }
    80  .benchstat tr:not(.configs) th { border-top: 1px solid #666; border-bottom: 1px solid #ccc; }
    81  .benchstat .nodelta { text-align: center !important; }
    82  .benchstat .better td.delta { font-weight: bold; }
    83  .benchstat .worse td.delta { font-weight: bold; color: #c00; }
    84  
    85      </style>
    86    </head>
    87    <body>
    88      <div id="header">
    89        <h1>Go Performance Dashboard</h1>
    90        <a href="/">about</a>
    91      </div>
    92      <div id="search">
    93        <form action="/search">
    94          <input type="text" name="q" value="{{.Q}}" size="120">
    95          <input type="submit" value="Search">
    96        </form>
    97      </div>
    98      <div id="results">
    99        {{if not .Q}}
   100          <p>The Go Performance Dashboard provides a centralized
   101            resource for sharing and analyzing benchmark results. To get
   102            started, upload benchmark results using
   103            <code>go get -u golang.org/x/perf/cmd/benchsave</code>
   104            and
   105            <code>benchsave old.txt new.txt</code>
   106            or upload via the web at
   107            <a href="https://perfdata-dot-golang-org.appspot.com/upload">https://perfdata-dot-golang-org.appspot.com/upload</a>.</p>
   108        {{else}}
   109          {{with .Error}}
   110          <p>{{.}}</p>
   111          {{else}}
   112            <table id="labels">
   113              {{with $cl := .CommonLabels}}
   114                <tbody>
   115                  <tr>
   116                    <th>label</th><th>common value</th>
   117                  </tr>
   118                  {{range $label, $value := .}}
   119                    <tr>
   120                      <th class="label">{{$label}}</th><td>{{with $href := linkify $cl $label}}<a href="{{$href}}" rel="nofollow">{{$value}}</a>{{else}}{{$value}}{{end}}</td>
   121                    </tr>
   122                  {{end}}
   123                </tbody>
   124              {{end}}
   125              <tbody class="diff">
   126                <tr>
   127                  <th>label</th>
   128                  <th>values</th>
   129                </tr>
   130                {{range $label, $exists := .Labels}}
   131                <tr class="diff">
   132                  <th class="label">{{$label}}</th>
   133                  <td>
   134                    {{range $index, $group := $.Groups}}
   135                    <div class="query">{{$group.Q}}:</div>
   136                    <table>
   137                      {{with index $group.LabelValues $label}}
   138                        {{range .TopN 4}}
   139                          <tr>
   140                            <td class="count">
   141                              {{.Count}}
   142                            </td>
   143                            <td>
   144                              {{if eq .Value ""}}
   145                                missing
   146                              {{else if eq .Value "…"}}
   147                                {{.Value}}
   148                              {{else}}
   149                                <a href="/search?q={{addToQuery $.Q (printf "%s:%s" $label .Value)}}">
   150                                  {{printf "%q" .Value}}
   151                                </a>
   152                              {{end}}
   153                            </td>
   154                          </tr>
   155                        {{end}}
   156                      {{end}}
   157                    </table>
   158                  {{end}}
   159                  </td>
   160                </tr>
   161                {{end}}
   162                </tbody>
   163            </table>
   164            <div id="benchstat">
   165              {{.Benchstat}}
   166            </div>
   167          {{end}}
   168        {{end}}
   169      </div>
   170    </body>
   171  </html>