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