anchor.diff:          var memory_graph, completion_graph;
           function jqueryReady() {
                   head.load(
  -                    // C3 styles
  -                    //"https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.css",
  -                    // Bootstrap Datables CSS
                       "https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css",
                       "//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
  -//                    "https://cdn.datatables.net/1.10.9/css/dataTables.bootstrap.min.css",
  -//                    "/cas/css/ssosessions.css"
                   );
   
               head.load(
                   "https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js",
                   "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js",
  -                //"https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.min.js",
                   "/cas/js/statisticsview.js",
                   function() {
   
  -                    var memory = new Gauge('#memoryGauge', ${freeMemory / (totalMemory)}, {width: 200, height: 200, label: 'Total JVM Memory', textClass: 'runtimeStatistics'});
  -                    var maxMemory = new Gauge('#maxMemoryGauge', ${totalMemory / (maxMemory)}, {width: 200, height: 200, label: 'Max Memory', textClass: 'runtimeStatistics'});
  +                    var memory = new Gauge('#memoryGauge', ${freeMemory / (totalMemory)}, {width: 200, height: 200, label: '<spring:message code="cas.statistics.section.serverstatistics.freememorygauge.label" />', textClass: 'runtimeStatistics'});
  +                    var maxMemory = new Gauge('#maxMemoryGauge', ${totalMemory / (maxMemory)}, {width: 200, height: 200, label: '<spring:message code="cas.statistics.section.serverstatistics.maxmemorygauge.label" />', textClass: 'runtimeStatistics'});
   
                       var server_uptime = upTime('${startTime}', 'uptime');
  +
  +                    /**
  +                     * Populate the Thread Dump area.
  +                     * Pass it how many characters to retrieve  Default is 400
  +                     */
  +                    getThreadDumpPreview(600);
   
                       $('#loading, .statisticsView').toggle();
                   }
  
positive.code:                         <table class="table table-striped ">
                              <thead>
                                  <tr>
                                      <th class="col-md-4">Property</th>
                                      <th class="col-md-8">Value</th>
                                  </tr>
                              </thead>
                              <tbody>
                                  <tr>
                                      <td>Server</td>
                                      <td>${serverIpAddress} (${serverHostName})</td>
                                  </tr>
                                  <tr>
                                      <td>CAS Ticket Suffix</td>
                                      <td>${casTicketSuffix}</td>
                                  </tr>
                                  <tr>
                                      <td>Server Start Time</td>
                                      <td>${startTime}</td>
                                  </tr>
                                  <tr>
                                      <td>Uptime</td>
                                      <td>${upTime}</td>
                                  </tr>
                                  <tr>
                                      <td>Memory</td>
                                      <td>${freeMemory} MB free <br/>${totalMemory} MB total</td>
  <%--
                                      <td>
                                          <c:set var="freeMem" value="${fn:substringBefore(freeMemory / (totalMemory) * 100, '.')}"/>
                                          <c:set var="maxMem" value="${fn:substringBefore((totalMemory - freeMemory) / totalMemory * 100, '.')}"/>
  
                                          <div class="progress">
                                            <div class="progress-bar" role="progressbar" aria-valuenow="${freeMem}" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;width: ${freeMem}%;">
                                                  ${freeMem}%
                                            </div>
                                          </div>
  
                                          <div class="progress">
                                            <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="maxMem" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;width: ${maxMem}%;">
                                              ${maxMem}%
                                            </div>
                                          </div>
  
                                          ${freeMemory} MB free <br> <img src="images/green.gif" width="${freeMemory / (totalMemory) * 500}" height="30" /><img src="images/red.gif" width="${(totalMemory - freeMemory) / totalMemory * 500}" height="30" /> ${totalMemory} MB total
                                      </td>
  --%>
                                  </tr>
                                  <tr>
                                      <td>Maximum Memory</td>
                                      <td>${maxMemory} MB</td>
                                  </tr>
                                  <tr>
                                      <td>Available Processors</td>
                                      <td>${availableProcessors}</td>
                                  </tr>
                              </tbody>
  
negative.code:             </div>
          </div>
  
          <div class="row">
          <%-- Thread Dump Section --%>
              <div class="col-md-12">
                  <h3><spring:message code="cas.statistics.section.threaddump.title" /></h3>
                  <div class="well clearfix">
                      <pre id="threadDumpPreview"></pre>
                      <button id="threadDumpViewButton" type="button" class="btn btn-sm btn-default pull-right" value="statistics/threads?pretty=true" data-toggle="modal" data-target="#threadDumpModal" data-remote="false"><spring:message code="cas.statistics.section.threaddump.button" /></button>
                  </div>
              </div>
          </div>
  
          <div class="row">
          <%-- Metrics Section --%>
              <div class="col-sm-12">
                  <h3><spring:message code="cas.statistics.section.metrics.title" /></h3>
                  <a href="statistics/metrics?pretty=true" class="btn btn-default"><spring:message code="cas.statistics.section.metrics.button" /></a>
              </div>
          </div>
      </div>
  
  <div class="modal fade" id="threadDumpModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
          <h4 class="modal-title" id="myModalLabel"><spring:message code="cas.statistics.section.threaddump.modal.title" /></h4>
        </div>
        <div class="modal-body"><pre class="thread-dump-view"></pre></div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal"><spring:message code="cas.statistics.modal.close.button" /></button>
        </div>
      </div>
    </div>
  