server-status.html #3

  • //
  • guest/
  • matt_albrecht/
  • server-status/
  • server-status.html
  • View
  • Commits
  • Open Download .zip Download (3 KB)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Perforce Server Status</title>
    
    <link rel="stylesheet" type="text/css" href="server-status.css" />

    <script language="javascript" type="text/javascript" src="common_js.js"></script>
    
    <!-- I/O -->
    <script language="javascript" type="text/javascript" src="tajax.js"></script>
    <script langaage="javascript" type="text/javascript" src="tajax_messages.js"></script>
    
    <script language="javascript" type="text/javascript" src="mvc.js"></script>
    
    <!-- server info object model -->
    <script language="javascript" type="text/javascript" src="serverinfo.js"></script>
    <script language="javascript" type="text/javascript" src="serverinfo_messages.js"></script>
    
    <script language="javascript">
js.log.DEBUG.enabled = false;
js.log.WARN.enabled = false;
js.log.ERROR.enabled = false;
js.log.FAILURE.enabled = true;

var servers = new sinfo.list(
        // list out each of the status files here
        // each file that we reference must be viewable by the web server
        sinfo.createController('Current Server Performance', 'vmstat.xml', 'serverinfo-base'),
        sinfo.createController('Perforce Cron Status', '../p4status.txt', 'serverinfo-base'),
        
        // filler - will be ignored
        null
    );

function body_onload() {
    servers.update();
    document.getElementById('lastRefresh').innerHTML = (new Date()).toString();
}
    </script>
  </head>
  <body onload="body_onload();">
<!-- Header data - used by script infrastructure -->
    <script language="javascript">
if (js.log.DEBUG.enabled) {
    js.log.inlineConsole();
}
    </script>
    
    <!-- view template for serverinfo -->
    <div id='serverinfo-base' class='template'>
        <div class='server-info-title'>{title}</div>
        <div class='server-info-update'>Last updated <span id='{model.id}_updated'>{model.lastUpdate}</span></div>
        <div id='{model.id}_data'>No data pulled.</div>
    </div>
<!-- End Header Section -->
    
    
    <h1 class='title'>Server Health</h1>
    <div class='refresh'>
        <button class='refresh' onclick="body_onload();">Refresh</button>
        <p>Last refresh on <span id='lastRefresh'>Never</span></p>
    </div>
    
    <div class='server-list' id='server-list'>
    <script language="javascript">
servers.bodyShow();
    </script>
    </div>
  </body>
</html>
# Change User Description Committed
#3 5925 Matt Albrecht Updates to the server status page
#2 5816 Matt Albrecht Add / update the server status with a much better AJAX model.
#1 5810 Matt Albrecht New version of logDaemon that has better bug fixes.
 Also added server-status web page for a pure client-side AJAX app that pulls together different server-side statistics.