<div dir="ltr">Hi Chris,<br><br>It looks like you made a paste-o in this commit:<div><br></div><div><div>-        <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=">run.id</a>, compare_to=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=">r.id</a>)}}">{{ r.start_time}}</a></div><div>+        <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=">run.id</a>, compare_to=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=">r.id</a>)}}"><span class="utctime">{{ run.start_time.isoformat() }}</span></a></div></div><div><br></div><div>The last line should read "r.start_time.isoformat()". This is causing all comparison runs to display the same label! Is it OK if I push the trivial fix?</div><div><br></div><div>Cheers,</div><div><br></div><div>James</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 28 Apr 2015 at 02:30 Chris Matthews <<a href="mailto:cmatthews5@apple.com">cmatthews5@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: cmatthews<br>
Date: Mon Apr 27 20:24:10 2015<br>
New Revision: 235959<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D235959-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=mkPKNfIffc0Ws4HlJUO1XkLG2hxvzyN7AJSHo0QXLi8&e=" target="_blank">http://llvm.org/viewvc/llvm-project?rev=235959&view=rev</a><br>
Log:<br>
Fixup how LNT handles dates and times in the UI<br>
<br>
LNT has always confused people by showing dates and times in UTC, but<br>
without adding the UTC prefix on the end of the string.  In this commit,<br>
make the server pass all dates as UTC ISO 8601 date time strings. In the<br>
browser convert these to the user's time zone and locale. Also, in<br>
recent results locations use relative times, with a tooltip for the full<br>
time string.<br>
<br>
Added:<br>
    lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/<br>
    lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/MIT-LICENSE.txt<br>
    lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/jquery-dateFormat.min.js<br>
    lnt/trunk/lnt/server/ui/static/timedate.js<br>
Modified:<br>
    lnt/trunk/lnt/server/ui/filters.py<br>
    lnt/trunk/lnt/server/ui/templates/layout.html<br>
    lnt/trunk/lnt/server/ui/templates/reporting/runs.html<br>
    lnt/trunk/lnt/server/ui/templates/v4_machine.html<br>
    lnt/trunk/lnt/server/ui/templates/v4_order.html<br>
    lnt/trunk/lnt/server/ui/templates/v4_recent_activity.html<br>
    lnt/trunk/lnt/server/ui/templates/v4_run.html<br>
<br>
Modified: lnt/trunk/lnt/server/ui/filters.py<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_filters.py-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=tZhCl-BX6N3bbeFentYeW1OkA1huSbyQYLr3IyB7gq8&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/filters.py?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/filters.py (original)<br>
+++ lnt/trunk/lnt/server/ui/filters.py Mon Apr 27 20:24:10 2015<br>
@@ -10,6 +10,11 @@ def filter_asutctime(time):<br>
     ts = datetime.datetime.utcfromtimestamp(time)<br>
     return ts.strftime('%Y-%m-%d %H:%M:%S UTC')<br>
<br>
+def filter_asisotime(time):<br>
+    ts = datetime.datetime.utcfromtimestamp(time)<br>
+    return ts.isoformat()<br>
+<br>
+<br>
 def filter_aspctcell(value, class_=None, style=None, attributes=None, *args, **kwargs):<br>
     cell = util.PctCell(value, *args, **kwargs)<br>
     return cell.render(class_, style, attributes)<br>
<br>
Added: lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/MIT-LICENSE.txt<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_static_jquery_jquery.dateFormat_MIT-2DLICENSE.txt-3Frev-3D235959-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=dr2WSwEi89eqNCi1zSkmk4s-7er_vxvxMwTxELt3aPM&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/MIT-LICENSE.txt?rev=235959&view=auto</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/MIT-LICENSE.txt (added)<br>
+++ lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/MIT-LICENSE.txt Mon Apr 27 20:24:10 2015<br>
@@ -0,0 +1,20 @@<br>
+Copyright (c) 2009 Pablo Cantero, <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__pablocantero.com_&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Wxc9hbuhRqgKJRpCJtlAd2WXw17sf1pSVRgfjH9Eq70&e=" target="_blank">http://pablocantero.com/</a><br>
+<br>
+Permission is hereby granted, free of charge, to any person obtaining<br>
+a copy of this software and associated documentation files (the<br>
+"Software"), to deal in the Software without restriction, including<br>
+without limitation the rights to use, copy, modify, merge, publish,<br>
+distribute, sublicense, and/or sell copies of the Software, and to<br>
+permit persons to whom the Software is furnished to do so, subject to<br>
+the following conditions:<br>
+<br>
+The above copyright notice and this permission notice shall be<br>
+included in all copies or substantial portions of the Software.<br>
+<br>
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,<br>
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF<br>
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND<br>
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE<br>
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION<br>
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION<br>
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
<br>
Added: lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/jquery-dateFormat.min.js<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_static_jquery_jquery.dateFormat_jquery-2DdateFormat.min.js-3Frev-3D235959-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=rEopefKXfosLVG6YikSv07E9GYKnWrFpUBMgJ45GgCk&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/jquery-dateFormat.min.js?rev=235959&view=auto</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/jquery-dateFormat.min.js (added)<br>
+++ lnt/trunk/lnt/server/ui/static/jquery/jquery.dateFormat/jquery-dateFormat.min.js Mon Apr 27 20:24:10 2015<br>
@@ -0,0 +1,2 @@<br>
+/*! jquery-dateFormat 05-10-2014 */<br>
+var DateFormat={};!function(a){var b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],d=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],e=["January","February","March","April","May","June","July","August","September","October","November","December"],f={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"},g=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.?\d{0,3}[Z\-+]?(\d{2}:?\d{2})?/;a.format=function(){function a(a){return b[parseInt(a,10)]||a}function h(a){return c[parseInt(a,10)]||a}function i(a){var b=parseInt(a,10)-1;return d[b]||a}function j(a){var b=parseInt(a,10)-1;return e[b]||a}function k(a){return f[a]||a}function l(a){var b,c,d,e,f,g=a,h="";return-1!==g.indexOf(".")&&(e=g.split("."),g=e[0],h=e[1]),f=g.split(":"),3===f.length?(b=f[0],c=f[1],d=f[2].replace(/\s.+/,"").replace(/[a-z]/gi,""),g=g.replace(/\s.+/,"").replace(/[a-!<br>
 z]/gi,"")<br>
 ,{time:g,hour:b,minute:c,second:d,millis:h}):{time:"",hour:"",minute:"",second:"",millis:""}}function m(a,b){for(var c=b-String(a).length,d=0;c>d;d++)a="0"+a;return a}return{parseDate:function(a){var b={date:null,year:null,month:null,dayOfMonth:null,dayOfWeek:null,time:null};if("number"==typeof a)return this.parseDate(new Date(a));if("function"==typeof a.getFullYear)b.year=String(a.getFullYear()),b.month=String(a.getMonth()+1),b.dayOfMonth=String(a.getDate()),b.time=l(a.toTimeString()+"."+a.getMilliseconds());else if(-1!=a.search(g))values=a.split(/[T\+-]/),b.year=values[0],b.month=values[1],b.dayOfMonth=values[2],b.time=l(values[3].split(".")[0]);else switch(values=a.split(" "),6===values.length&&isNaN(values[5])&&(values[values.length]="()"),values.length){case 6:b.year=values[5],b.month=k(values[1]),b.dayOfMonth=values[2],b.time=l(values[3]);break;case 2:subValues=values[0].split("-"),b.year=subValues[0],b.month=subValues[1],b.dayOfMonth=subValues[2],b.time=l(values[1]);!<br>
 break;cas<br>
 e 7:case 9:case 10:b.year=values[3],b.month=k(values[1]),b.dayOfMonth=values[2],b.time=l(values[4]);break;case 1:subValues=values[0].split(""),b.year=subValues[0]+subValues[1]+subValues[2]+subValues[3],b.month=subValues[5]+subValues[6],b.dayOfMonth=subValues[8]+subValues[9],b.time=l(subValues[13]+subValues[14]+subValues[15]+subValues[16]+subValues[17]+subValues[18]+subValues[19]+subValues[20]);break;default:return null}return b.date=new Date(b.year,b.month-1,b.dayOfMonth),b.dayOfWeek=String(b.date.getDay()),b},date:function(b,c){try{var d=this.parseDate(b);if(null===d)return b;for(var e=(d.date,d.year),f=d.month,g=d.dayOfMonth,k=d.dayOfWeek,l=d.time,n="",o="",p="",q=!1,r=0;r<c.length;r++){var s=c.charAt(r),t=c.charAt(r+1);if(q)"'"==s?(o+=""===n?"'":n,n="",q=!1):n+=s;else switch(n+=s,p="",n){case"ddd":o+=a(k),n="";break;case"dd":if("d"===t)break;o+=m(g,2),n="";break;case"d":if("d"===t)break;o+=parseInt(g,10),n="";break;case"D":g=1==g||21==g||31==g?parseInt(g,10)+"st":2==g||2!<br>
 2==g?pars<br>
 eInt(g,10)+"nd":3==g||23==g?parseInt(g,10)+"rd":parseInt(g,10)+"th",o+=g,n="";break;case"MMMM":o+=j(f),n="";break;case"MMM":if("M"===t)break;o+=i(f),n="";break;case"MM":if("M"===t)break;o+=m(f,2),n="";break;case"M":if("M"===t)break;o+=parseInt(f,10),n="";break;case"y":case"yyy":if("y"===t)break;o+=n,n="";break;case"yy":if("y"===t)break;o+=String(e).slice(-2),n="";break;case"yyyy":o+=e,n="";break;case"HH":o+=m(l.hour,2),n="";break;case"H":if("H"===t)break;o+=parseInt(l.hour,10),n="";break;case"hh":hour=0===parseInt(l.hour,10)?12:l.hour<13?l.hour:l.hour-12,o+=m(hour,2),n="";break;case"h":if("h"===t)break;hour=0===parseInt(l.hour,10)?12:l.hour<13?l.hour:l.hour-12,o+=parseInt(hour,10),n="";break;case"mm":o+=m(l.minute,2),n="";break;case"m":if("m"===t)break;o+=l.minute,n="";break;case"ss":o+=m(l.second.substring(0,2),2),n="";break;case"s":if("s"===t)break;o+=l.second,n="";break;case"S":case"SS":if("S"===t)break;o+=n,n="";break;case"SSS":o+=l.millis.substring(0,3),n="";break;case!<br>
 "a":o+=l.<br>
 hour>=12?"PM":"AM",n="";break;case"p":o+=l.hour>=12?"p.m.":"a.m.",n="";break;case"E":o+=h(k),n="";break;case"'":n="",q=!0;break;default:o+=s,n=""}}return o+=p}catch(u){return console&&console.log&&console.log(u),b}},prettyDate:function(a){var b,c,d;return("string"==typeof a||"number"==typeof a)&&(b=new Date(a)),"object"==typeof a&&(b=new Date(a.toString())),c=((new Date).getTime()-b.getTime())/1e3,d=Math.floor(c/86400),isNaN(d)||0>d?void 0:60>c?"just now":120>c?"1 minute ago":3600>c?Math.floor(c/60)+" minutes ago":7200>c?"1 hour ago":86400>c?Math.floor(c/3600)+" hours ago":1===d?"Yesterday":7>d?d+" days ago":31>d?Math.ceil(d/7)+" weeks ago":d>=31?"more than 5 weeks ago":void 0},toBrowserTimeZone:function(a,b){return this.date(new Date(a),b||"MM/dd/yyyy HH:mm:ss")}}}()}(DateFormat),function(a){a.format=DateFormat.format}(jQuery);<br>
\ No newline at end of file<br>
<br>
Added: lnt/trunk/lnt/server/ui/static/timedate.js<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_static_timedate.js-3Frev-3D235959-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=5Gz-qLTwXTOGqVPAuDMvmGUW6vlL2hznZRqPvAKNS7Y&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/timedate.js?rev=235959&view=auto</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/static/timedate.js (added)<br>
+++ lnt/trunk/lnt/server/ui/static/timedate.js Mon Apr 27 20:24:10 2015<br>
@@ -0,0 +1,25 @@<br>
+/** Provide date conversions to the utctime and reltime classes.<br>
+<br>
+<br>
+Use JQuery to update the iso times rendered in the templates to browswer local<br>
+time.<br>
+*/<br>
+<br>
+jQuery(function() {<br>
+    jQuery(".utctime").each(function (idx, elem) {<br>
+        jQuery(elem).text(jQuery.format.toBrowserTimeZone(jQuery(elem).text()));<br>
+    });<br>
+<br>
+    jQuery(".reltime").each(function (idx, elem) {<br>
+        var time_text = jQuery(elem).text();<br>
+        jQuery(elem).tooltip({'title': jQuery.format.toBrowserTimeZone(time_text),<br>
+                            'delay': { show: 500, hide: 1000 }<br>
+                                });<br>
+    });<br>
+<br>
+    jQuery(".reltime").each(function (idx, elem) {<br>
+        jQuery(elem).text(jQuery.format.prettyDate(jQuery(elem).text()));<br>
+<br>
+    });<br>
+<br>
+});<br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/layout.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_layout.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=m5ySvibYaCQ36ezDGiPaDCSDuul9rQbMbtvRqi_36mU&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/layout.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/layout.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/layout.html Mon Apr 27 20:24:10 2015<br>
@@ -11,8 +11,14 @@<br>
               }}" rel="stylesheet" media='screen and (min-width: 750px)'><br>
   <script src="{{ url_for('.static', filename='jquery/1.7.2/jquery-1.7.2.min.js')<br>
                }}"> </script><br>
+  <script src="{{ url_for('.static', filename='jquery/jquery.dateFormat/jquery-dateFormat.min.js')<br>
+               }}"> </script><br>
+<br>
   <script src="{{ url_for('.static', filename='bootstrap/js/bootstrap.min.js')<br>
                }}"></script><br>
+   <script src="{{ url_for('.static', filename='timedate.js')<br>
+                        }}"></script><br>
+<br>
   <meta name="viewport" content="width=device-width, initial-scale=1.0"><br>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><br>
<br>
@@ -175,8 +181,8 @@<br>
       <table class="table"><br>
         <tr><br>
           <td>LNT Version: {{ app.version }}</td><br>
-          <td>Server Started: {{ app.start_time|asutctime }}</td><br>
-          <td>Generated: {{ request.request_time|asutctime }}</td><br>
+          <td>Server Started: <span class="utctime">{{ app.start_time|asisotime }}</span></td><br>
+          <td>Generated: <span class="utctime">{{ request.request_time|asisotime }}</span></td><br>
           <td>Render Time: {{ "%.2fs" % request.elapsed_time() }}</td><br>
         </tr><br>
       </table><br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/reporting/runs.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_reporting_runs.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=BqgmomG9cXUS69V7khtGGujLz62xOzEBPl6il7Nt5qA&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/reporting/runs.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/reporting/runs.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/reporting/runs.html Mon Apr 27 20:24:10 2015<br>
@@ -26,11 +26,11 @@<br>
          <th style="{{ styles['th'] }}">Current</th><br>
          <th style="{{ styles['th'] }}">&sigma; {{ primary_field_suffix }}</th><br>
          {% if secondary_info %}<br>
-         <th style="{{ styles['th'] }}">&Delta; {{ secondary_field_suffix }}</th><br>
+         <th style="{{ styles['th'] }}">&Delta; {{ secondary_field_suffix }}</th><br>
          <th style="{{ styles['th'] }}">&sigma; {{ secondary_field_suffix }}</th><br>
          {% endif %}<br>
          </tr><br>
-<br>
+<br>
          {% for name, cr, test_id in bucket %}<br>
          <tr><br>
            <td style="{{ styles['td'] }}"><br>
@@ -79,7 +79,7 @@<br>
     <tr><br>
       <td style="{{ styles['td'] }}"><a href="{{ ts_url }}/{{ <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a> }}">{{ title }}</a></td><br>
       <td style="{{ styles['td'] }}"><a href="{{ ts_url }}/order/{{ <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.order.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=PzN0ypKnoiboPvAZPadeJW6Y-PtxYyY1l8ITiPaL7Nc&e=" target="_blank">r.order.id</a> }}">{{ r.order.llvm_project_revision }}</a></td><br>
-      <td style="{{ styles['td'] }}">{{ r.start_time }}</td><br>
+      <td style="{{ styles['td'] }}"><span class="utctime">{{ r.start_time.isoformat() }}</span></td><br>
       <td style="{{ styles['td'] }}">{{ r.end_time - r.start_time }}</td><br>
     </tr><br>
     {% else %}<br>
@@ -111,7 +111,7 @@<br>
       {% endif %}<br>
     </tr><br>
   </thead><br>
-<br>
+<br>
   {% for i, name, num_items, num_items_vs_baseline in num_item_buckets %}<br>
     {% if num_items or num_items_vs_baseline %}<br>
       <tr><br>
@@ -121,9 +121,9 @@<br>
         <td style="{{ styles['td'] }}" align="right">{{ num_items_vs_baseline }}</td><br>
         {% endif %}<br>
       </tr><br>
-    {% endif %}<br>
+    {% endif %}<br>
   {% endfor %}<br>
-<br>
+<br>
   <tfoot><br>
     <tr><br>
       <td style="{{ styles['td'] }}"><b>Total Tests</b></td><br>
@@ -167,4 +167,3 @@<br>
 </body><br>
 </html><br>
 {% endif %}<br>
-<br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/v4_machine.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_v4-5Fmachine.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=kv5JQQN7JOVtYkXTCgteYoI8IvRcyctQJEo4Yz3KMao&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_machine.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/v4_machine.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/v4_machine.html Mon Apr 27 20:24:10 2015<br>
@@ -13,7 +13,7 @@<br>
     <li><a href="#parameters"><i class="icon-chevron-right"></i> Parameters</a></li><br>
     <li><a href="#submissions"><i class="icon-chevron-right"></i> Submissions</a></li><br>
   </ul><br>
-<br>
+<br>
   <h4>Relatives</h4><br>
   <ul class="nav nav-list bs-docs-sidenav"><br>
     {# List all machines with this name. #}<br>
@@ -75,7 +75,7 @@<br>
       {% if loop.first %}<br>
       <td rowspan="{{ runs|length }}" align=right>{{ order.as_ordered_string() }}</td><br>
       {% endif %}<br>
-      <td>{{ run.start_time }}</td><br>
+      <td><span class="utctime">{{ run.start_time.isoformat() }}</span></td><br>
       <td>{{ run.end_time - run.start_time }}s</td><br>
       <td>{{ utils.render_result(run) }}</td><br>
     </tr><br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/v4_order.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_v4-5Forder.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=v0fHEt2m5le_-eSkaFQ1tmjkbU-EEOvlQdbDJZY_SRs&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_order.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/v4_order.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/v4_order.html Mon Apr 27 20:24:10 2015<br>
@@ -73,11 +73,11 @@<br>
         <th>Results</th><br>
       </tr><br>
     </thead><br>
-    <tbody><br>
+    <tbody><br>
       {# Show the active submissions. #}<br>
       {% for r in ts.query(ts.Run).filter_by(order_id = <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__order.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=69P4xDAx4BEP5h3ERNdWqTdJOTlCtkEAKpf_dP23ctY&e=" target="_blank">order.id</a>) %}<br>
       <tr><br>
-        <td>{{r.start_time}}</td><br>
+        <td><span class="utctime">{{ r.start_time.isoformat() }}</span></td><br>
         <td>{{r.end_time - r.start_time}}</td><br>
         <td>{{ utils.render_machine(r.machine) }}</td><br>
         <td>{{ utils.render_result(r) }}</td><br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/v4_recent_activity.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_v4-5Frecent-5Factivity.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=exzuI_I0wty-zG7uoAbeQkZtfDEMEJlNLgxwbANqego&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_recent_activity.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/v4_recent_activity.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/v4_recent_activity.html Mon Apr 27 20:24:10 2015<br>
@@ -5,6 +5,8 @@<br>
 {% set components = [(testsuite_name, v4_url_for("v4_recent_activity"))] %}<br>
 {% block title %}Recent Activity{% endblock %}<br>
<br>
+<br>
+<br>
 {% block sidebar %}<br>
   <ul class="nav nav-list bs-docs-sidenav"><br>
       <li><a href="#machines"><i class="icon-chevron-right"></i> Active Machines</a></li><br>
@@ -29,31 +31,31 @@<br>
       {% for machine_name,r in active_machines|dictsort %}<br>
       <tr><br>
         <td>{{ utils.render_machine(r.machine) }}</td><br>
-        <td>{{ r.start_time }}</td><br>
+        <td><span class="reltime">{{r.start_time.isoformat()}}</span></td><br>
         <td>{{ utils.render_result(r) }}</td><br>
       </tr><br>
       {% endfor %}<br>
     </tbody><br>
   </table><br>
-<br>
+<br>
   <section id="submissions" /><br>
   <h3>Recent Submissions</h3><br>
   <table class="table table-striped table-hover table-condensed"><br>
     <thead><br>
     <tr><br>
       <th>Run Order</th><br>
-      <th>Start Time</th><br>
+      <th>Started</th><br>
       <th>Duration</th><br>
       <th>Machine</th><br>
       <th>Results</th><br>
     </tr><br>
     </thead><br>
-    <tbody><br>
+    <tbody><br>
       {# Show the active submissions. #}<br>
       {% for r,run_order in active_submissions %}<br>
       <tr><br>
         <td><a href="{{v4_url_for('v4_order', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.order.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=PzN0ypKnoiboPvAZPadeJW6Y-PtxYyY1l8ITiPaL7Nc&e=" target="_blank">r.order.id</a>)}}">{{run_order}}</a></td></td><br>
-        <td>{{ r.start_time }}</td><br>
+        <td><span class="reltime" data-toggle="tooltip" title="{{r.start_time}}">{{ r.start_time.isoformat() }}</span></td><br>
         <td>{{ r.end_time - r.start_time }}</td><br>
         <td>{{ utils.render_machine(r.machine) }}</td><br>
         <td>{{ utils.render_result(r) }}</td><br>
<br>
Modified: lnt/trunk/lnt/server/ui/templates/v4_run.html<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lnt_trunk_lnt_server_ui_templates_v4-5Frun.html-3Frev-3D235959-26r1-3D235958-26r2-3D235959-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=StqXIvMVf7X4DRtgsufppIyLrE6Ro4RVJjwLHHofObM&e=" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_run.html?rev=235959&r1=235958&r2=235959&view=diff</a><br>
==============================================================================<br>
--- lnt/trunk/lnt/server/ui/templates/v4_run.html (original)<br>
+++ lnt/trunk/lnt/server/ui/templates/v4_run.html Mon Apr 27 20:24:10 2015<br>
@@ -29,12 +29,12 @@<br>
   {% set test_status = cr.get_test_status() %}<br>
   {% set value_status = cr.get_value_status(ignore_small=not options.show_small_diff) %}<br>
   {% set run_cell_value = "-" if cr.current is none else "%.4f" % cr.current %}<br>
-<br>
+<br>
   {% if options.show_previous %}<br>
     {% set prev_cell_value = "-" if cr.previous is none else "%.4f" % cr.previous %}<br>
     <td>{{prev_cell_value}}</td><br>
   {% endif %}<br>
-<br>
+<br>
   {% set cell_color = none %}<br>
   {% if test_status == analysis.REGRESSED %}<br>
     {% set cell_color = (233,128,128) %}<br>
@@ -43,13 +43,13 @@<br>
   {% elif test_status == analysis.UNCHANGED_FAIL %}<br>
     {% set cell_color = (255,195,67) %}<br>
   {% endif %}<br>
-<br>
+<br>
   {% if cell_color %}<br>
     <td style="background-color:{{ '#%02x%02x%02x' % cell_color }}">{{ run_cell_value }}</td><br>
   {% else %}<br>
     <td>{{run_cell_value}}</td><br>
   {% endif %}<br>
-<br>
+<br>
   {% if (options.show_all or<br>
          value_status == analysis.REGRESSED or<br>
          value_status == analysis.IMPROVED) %}<br>
@@ -57,7 +57,7 @@<br>
   {% else %}<br>
     <td>-</td><br>
   {% endif %}<br>
-<br>
+<br>
   {% if options.show_delta %}<br>
     <td>{{ "-" if cr.delta is none else "%.4f" % cr.delta }}</td><br>
   {% endif %}<br>
@@ -77,7 +77,7 @@<br>
       ]<br>
     </td><br>
   {% endif %}<br>
-<br>
+<br>
   {% if options.show_sample_counts %}<br>
     <td>{{cr.get_samples()|length}}</td><br>
   {% endif %}<br>
@@ -101,7 +101,7 @@<br>
   {% for r in neighboring_runs %}<br>
     <li><br>
       {{ "<b>"|safe if <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a> == <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=" target="_blank">run.id</a> else "" }}<br>
-      <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a>)}}">{{ r.start_time }}</a><br>
+      <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a>)}}"><span class="utctime">{{ r.start_time.isoformat() }}</span></a><br>
       {{ "</b>"|safe if <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a> == <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=" target="_blank">run.id</a> else "" }}<br>
   {% endfor %}<br>
   </ul><br>
@@ -112,7 +112,7 @@<br>
     {% for r in comparison_neighboring_runs %}<br>
       <li><br>
         {{ "<b>"|safe if compare_to and <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a> == <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__compare-5Fto.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=GVsqrKoAcXKzLG7xlwBEDpW_nL4AKZji1iHO2w7NK7k&e=" target="_blank">compare_to.id</a> else "" }}<br>
-        <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=" target="_blank">run.id</a>, compare_to=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a>)}}">{{ r.start_time}}</a><br>
+        <a href="{{v4_url_for('v4_run', id=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=" target="_blank">run.id</a>, compare_to=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a>)}}"><span class="utctime">{{ run.start_time.isoformat() }}</span></a><br>
         {{ "</b>"|safe if compare_to and <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__r.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=57IQPSWF1SqaaBpUhIqwqu8LOD6gPv5UrOAMLayPZNQ&e=" target="_blank">r.id</a> == <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__compare-5Fto.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=GVsqrKoAcXKzLG7xlwBEDpW_nL4AKZji1iHO2w7NK7k&e=" target="_blank">compare_to.id</a> else "" }}<br>
     {% endfor %}<br>
     </ul><br>
@@ -274,7 +274,7 @@<br>
         {% if baseline %}<br>
           <input type="hidden" name="baseline" value="{{<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__baseline.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=1YErGezeaVSAgcN9dd2NkBaL7Y3C8Zq6Fy5p9XXrEas&e=" target="_blank">baseline.id</a>}}"><br>
         {% endif %}<br>
-<br>
+<br>
         <input type="submit" name="submit" value="Update"><br>
       </td><br>
     </tr><br>
@@ -290,7 +290,7 @@<br>
<br>
   {% set graph_base=v4_url_for('v4_graph', highlight_run=<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__run.id&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=Uxw0vBlLOiXMR0u23XwgdlG9IOMiaF-CXx_04Cvh8vM&e=" target="_blank">run.id</a>) %}<br>
   <form method="GET" action="{{ graph_base }}"><br>
-<br>
+<br>
     {# Report one table for each primary field. #}<br>
     {% for field in primary_fields %}<br>
       <section id="{{ <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__field.name&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=mpnMshEp0TuOPT35p7V3bGNbniQXp3rC25aLrl0fg9E&s=b9fbTZRejtPOYM1tx1YjQuMI8odYJ3U7H7xV9xbquHo&e=" target="_blank">field.name</a> }}" /><br>
@@ -310,7 +310,7 @@<br>
             {% if options.show_sample_counts %}<th>N</th>{% endif %}<br>
           </tr><br>
         </thead><br>
-        <tbody><br>
+        <tbody><br>
           {% set tests = [] %}<br>
           {% set (runs, compare_runs) = request_info.sri.get_sliding_runs(run, compare_to, request_info.num_comparison_runs) %}<br>
           {% for test_name,test_id in test_info %}<br>
@@ -342,7 +342,7 @@<br>
     {% endfor %}<br>
     <p><input type="submit" value="Graph"><br>
   </form><br>
-<br>
+<br>
   {% if options.show_data_table %}<br>
     <h3>Test Data</h3><br>
     <table class="table table-striped table-condensed table-hover"><br>
@@ -375,5 +375,5 @@<br>
       </tbody><br>
     </table><br>
   {% endif %}<br>
-<br>
+<br>
 {% endblock %}<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>