blob: e0d8cc0b62e32da105170902a66a06a67534d2c1 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE,NO-STORE" />
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="EXPIRES" content="-1">
<title>Pulse</title>
<link href="css/common.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<!-- fix IE Ui issues-->
<!--[if IE 7]>
<link href="css/ie/ie7.css" type="text/css" rel="stylesheet"/>
<![endif]-->
<!--[if IE 8]>
<link href="css/ie/ie8.css" type="text/css" rel="stylesheet"/>
<![endif]-->
<!--[if IE 9]>
<link href="css/ie/ie9.css" type="text/css" rel="stylesheet"/>
<![endif]-->
<!-- IE Fix for HTML5 Tags -->
<!--[if lt IE 9]>
<script src='scripts/lib/html5.js'></script>
<script type="text/javascript" src="scripts/lib/excanvas.js"></script>
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
<![endif]-->
<!-- Rgraph and TreeMap-->
<link type="text/css" href="css/base.css" rel="stylesheet" />
<link type="text/css" href="css/Treemap.css" rel="stylesheet" />
<!--Custom Scroll Bar-->
<!-- styles needed by jScrollPane - include in your own sites -->
<link type="text/css" href="css/jquery.jscrollpane.css" rel="stylesheet" media="all" />
<!--Grid View-->
<link rel="stylesheet" type="text/css" media="screen" href="css/grid/ui.jqgrid.css" />
<!-- JavaScripts -->
<!-- Start: JQuery plugins JS -->
<script type="text/javascript" src='scripts/lib/jquery-1.7.2.js'></script>
<script type="text/javascript" src="scripts/lib/jit.js"></script>
<script type="text/javascript" src="scripts/lib/jquery.sparkline.js"></script>
<script type="text/javascript" src="scripts/lib/jquery.i18n.properties.js"></script>
<!-- End: JQuery plugins JS -->
<!-- Start: Common JS -->
<script type="text/javascript" src='scripts/lib/common.js'></script>
<!-- End: Common JS -->
<!-- the mousewheel plugin -->
<script type="text/javascript" src="scripts/lib/jquery.mousewheel.js"></script>
<!-- the jScrollPane script -->
<script type="text/javascript" src="scripts/lib/jquery.jscrollpane.js"></script>
<!--Place Holder tag-->
<script type="text/javascript" src="scripts/lib/jquery.placeholder.js"></script>
<!--Grid View-->
<script src="scripts/lib/grid.locale-en.js" type="text/javascript"></script>
<script src="scripts/lib/jquery.jqGrid.src.js" type="text/javascript"></script>
<script src="scripts/lib/jquery.tablednd.js" type="text/javascript"></script>
<!-- jQuery plugin to support automatically updating fuzzy timestamps
(e.g. "4 minutes ago" or "about 1 day ago") -->
<script type="text/javascript" src="scripts/lib/jquery.timeago.js"></script>
<!-- Start: Members Widgets JS -->
<script type="text/javascript" src="scripts/pulsescript/PulseCallbacks.js"></script>
<script type="text/javascript" src="scripts/pulsescript/PulseFunctions.js"></script>
<script type="text/javascript" src='scripts/pulsescript/common.js'></script>
<script type="text/javascript" src="scripts/pulsescript/MemberDetails.js"></script>
</head>
<body onload="return checkMedia();">
<!-- Connection lost-->
<div class="connectionLostMasterBlock hide" id="connectionStatusDiv" >
<div class="connectionLostInnerBlock">
<label class="left">Connecting ...</label>
<div class="clear"></div>
<div id="connectionErrorMsgDiv"></div>
</div>
</div>
<div id="canvasWidth">
<!--Top Links-->
<div class="headerTopLinksMaster">
<div class="right">
<div class="left position-relative"><a href="#."class="left headerTopLinks aboutClicked-Off">About</a>
<!-- About Dropdown-->
<div id="detailsAbout" class="aboutBlock display-none">
<div class="aboutDetailsBlock">
<div class="left widthfull-100per marginBottom30">
<div class="left"><img data-prod-custom="pulse-aboutimg-custom" src="images/about.png">
<div>
<div class="aboutVersionBlock left" id="pulseVersion"></div>
<div class="left termsBlock">&nbsp;<a id="pulseVersionDetailsLink" href="#dialog1" class="display-none" >Version Details</a></div>
</div>
</div>
<div data-prod-custom="pulse-about-custom" class="right aboutText">The Pulse tool monitors Pivotal&#0153; GemFire&#0169; system in real time. It provides health information, detailed operational and configuration data, system alerts, throughput performance and statistics for system members and connected clients.</div>
</div>
<div class="left widthfull-100per">
<div class="left copyright">
Copyright &#0169; 2012-2014 Pivotal Software, Inc. All Rights Reserved.
This product is protected by U.S. and international copyright
and intellectual property laws. Pivotal products are covered by
one or more patents listed at <a href="http://www.pivotal.io/patents"
target="_blank" class="termsBlockLink text-center">http://www.pivotal.io/patents</a>.
</div>
<div class="left copyright">Pivotal is a registered
trademark or trademark of Pivotal Software, Inc. in the United States and
other jurisdictions. All other marks and names mentioned herein
may be trademarks of their respective companies.</div>
<div class="left termsBlock">
<a href="oslicenses.txt" target="_blank">Open Source
Licenses</a>
</div>
<!-- <div class="right termsBlock">
Pulse <a href="#.">Terms of Service</a>
</div>-->
</div>
</div>
</div>
</div>
<div class="left headerTopSeperator"></div>
<div class="left"><a data-prod-custom="pulse-help-custom" target="_blank" href="http://gemfire.docs.pivotal.io/latest/userguide/index.html#tools_modules/pulse/chapter_overview.html" class="left headerTopLinks" class="left headerTopLinks">Help</a></div>
<div class="left headerTopSeperator"></div>
<div class="left headerTopLinks welcomeLabelPRZero">Welcome</div>
<div class="left headerTopLinks textbold font-size12" id="userName"></div>
<div class="left headerTopSeperator"></div>
<div class="left"><a href="pulse/clusterLogout" class="left headerTopLinks">Sign Out</a></div>
</div>
</div>
<!-- Header block-->
<header>
<div class="left">
<a id="clusterNameLink" href="#." class="left textbold HeaderLink HeaderLinkActive" onclick="openClusterDetail();"></a>
</div>
<div class="textbold right logoBlock">
<a href="#.">[LOGO]</a>
</div>
</header>
<div class="clear"></div>
<div class="subHeader">
<ul>
<li><a href="#." class="active" onclick="openClusterDetail();">Cluster View</a></li>
<!-- Hide Data Browser tab for gemfirexd (Pulse-Cheetah Release) -->
<li><a href="#." onclick="openDataBrowser();">Data Browser</a></li>
<!-- Hide Query Statistics tab for gemfire -->
<li id="subTabQueryStatistics"><a href="#." onclick="openQueryStatistics();">Query Statistics</a></li>
</ul>
<div class="clear"></div>
</div>
<!-- Middle block-->
<div class="left widthfull-100per">
<!--Top Right Block 1-->
<div class="right widthfull-100per marginTB10">
<!-- Tab-->
<div id="notificationsPanel" class="right marginL10 TabTopPanel position-relative"
data-role="widget" data-widgetid="CluserAlertNotification" data-active ="yes" data-timeline="5000">
</div>
<!-- <div class="right marginL10">
<a href="#." class="left linkButton" onclick="openDataView();">Data View</a>
</div> -->
<div class="left position-relative membersNameTopMargin" data-role="widget" data-widgetid="MembersList" data-active ="yes" data-timeline="5000">
<a href="#." class="memberClicked-Off" id="userLink">
<span id="memberName" class="member_txt">Member Name</span>
</a>
<!-- Setting Dropdown-->
<div id="setting" class="settingBlock" style="display: none">
<div class="memeberNameSearch position-relative">
<div class="searchBlockMaster">
<input type="button" class="searchButton">
<input type="text" class="searchBox" placeholder="Search"
id="filterMembersBox" >
</div>
</div>
<div id="clusterMembersList" class="jsonSuggestScrollFilter">
<div id="clusterMembersContainer"> </div>
</div>
</div>
</div>
</div>
<!--Middle Block 1-->
<div class="left leftBlockCanvas">
<!-- Status Block-->
<div class="statusmasterBlock left" data-role="widget" data-widgetid="MemberDetails" data-active ="yes" data-timeline="5000">
<!--Status Block Normal-->
<div class="statusFirstBlock left">
<div class="statusMasterBlock" id="memberStatusIcon">
<div id="memberStatus" class="textbold"> </div>
<div class="labeltext">Member Status</div>
</div>
</div>
<!-- Deails B1-->
<!-- <div class="borderRightDarkBlue detailsBlock">
<div id="memberDiskStorageUsed" class="color-d2d5d7 font-size23"> </div>
<span class="labeltext">Disk Storage Used</span>
</div> -->
<!-- Deails B2-->
<div class=" detailsBlock">
<div id="memberRegionsCount" class="color-d2d5d7 font-size23"> </div>
<span data-prod-custom="pulse-regionstableCaps-custom" class="labeltext">Regions</span>
</div>
<!-- Deails B3-->
<div class=" detailsBlock">
<div id="threads" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Threads</span>
</div>
<!-- Deails B4-->
<div class=" detailsBlock">
<div id="sockets" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Sockets</span>
</div>
<!-- Deails B5-->
<div class=" detailsBlock">
<div id="loadAverage" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Load Avg.</span>
</div>
<!-- Deails B6-->
<div class=" detailsBlock display-none">
<div id="offHeapFreeSize" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Off-Heap Free Size</span>
</div>
<!-- Deails B7-->
<div class=" detailsBlock display-none">
<div id="offHeapUsedSize" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Off-Heap Used Size</span>
</div>
<!-- Deails B8-->
<div class=" detailsBlock">
<div id="numClients" class="color-d2d5d7 font-size23"></div>
<span class="labeltext">Clients</span>
</div>
</div>
<div class="clear"></div>
<div>
<div class="middleTopologyBlock">
<!-- Large Block-->
<div class="canvasBlockLarge marginBR10-11 left">
<div class="left widthfull-100per canvasBlockInnerBlock">
<span data-prod-custom="pulse-memberRegionsTables-custom" class="left marginL10 canvasHeading">Member Regions</span>
<a id="btnLargeBlock_1" class="minusIcon borderLeftToggleBlock" onClick="toggleDiv('LargeBlock_1');"></a>
<a id="btngridIcon" class="gridIcon " onClick="tabGridNew('gview_memberRegionsList');"></a>
<a id="btnchartIcon" class="chartIconActive " onClick="tabChart();"></a>
</div>
<div class="left canvasInnerBlock" id="LargeBlock_1">
<div class="left widthfull-100per canvasBlockInnerBlock regionHeading">
<!-- Search-->
<div class="left marginBottom6 marginL10 marginTop6">
<div class="searchBlockMaster">
<input type="button" class="searchButton">
<input type="text" placeholder="Search"
onkeyup="applyFilterOnMemberRegions();" class="searchBox"
id="filterMemberRegionsBox">
</div>
</div>
</div>
<!--Grid Block-->
<div class="gridBlocksPanel left display-none canvasBlockLargeGridContent"
id="gridBlocks_Panel">
<div class="left widthfull-100per">
<table id="memberRegionsList">
</table>
</div>
</div>
<!--chart Block-->
<div class="chartBlocksPanel left canvasBlockLargeContent membersTreeViewHeight" id="chartBlocks_Panel">
<div class="left widthfull-100per" >
<div class="marginB11 left widthfull-100per" >
<!-- <div class="left marginL10">
<span class="left colorCodeBlock managerCode"></span><span
class="left marginL10">Managers</span>
</div>
<div class="left marginL10">
<span class="left colorCodeBlock colorCode-ffae00"></span><span
class="left marginL10">Locators</span>
</div> -->
<!-- <div class="searchBlockMaster">
<input type="button" class="searchButton"> <input
type="text" class="searchBox" id="searchRegionName"
placeholder="Search" onKeydown="Javascript: if (event.keyCode==13) searchName();">
</div>-->
</div>
<div class="treeViewGraph position-relative" data-role="widget" data-widgetid="MemberRegionSummary" data-active ="yes" data-timeline="5000">
<!-- tree view Control-->
<div id="center-containerTree">
<!-- <div id="TreeMap"></div> -->
<div id="memberRegionSummary" style="width:100%; height:410px; overflow:hidden;"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Member Clients -->
<div class="canvasBlockLarge marginBR10-11 left" id="memberClientsWidget" data-role="widget" data-widgetid="MemberClients" data-active ="yes" data-timeline="5000">
<div class="left widthfull-100per canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">Member Clients</span>
<a id="btnLargeBlock_2" class="minusIcon borderLeftToggleBlock" onClick="toggleDiv('LargeBlock_2');"></a>
</div>
<div
class="left canvasInnerBlock canvasBlockLargeGridContent"
id="LargeBlock_2" >
<!--Grid Block-->
<div class="gridBlocksPanel left"
id="gridBlocks_Panel" >
<div class="left widthfull-100per" >
<table id="memberClientsList">
</table>
</div>
</div>
</div>
</div>
<!-- Block 4-->
<div class="canvasBlockKeyStats marginBR10-11 left" data-role="widget" data-widgetid="MemberKeyStatistics" data-active ="yes" data-timeline="5000">
<div class="left width495 canvasBlockInnerBlock" >
<span class="left marginL10 canvasHeading">Key Statistics</span><a
id="btnSmallBlock_4" class="minusIcon"
onClick="toggleDiv('SmallBlock_4');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlockKeyStats"
id="SmallBlock_4" >
<div class="graphBlocksContent left" >
<span class="marginB11 left widthfull-100per">Last 15
Minutes</span>
<!--Line 1-->
<div class="left widthfull-100per marginB10" >
<span id="memberCPUUsageSparkLine" class="left lineGraphKeyStats"> </span>
<span id="memberCPUUsageValue" class="color-d2d5d7 font-size23"> </span>
<span class="paddingL5">% CPU Usage</span>
</div>
<!--Line 2-->
<!-- <div class="left widthfull-100per ">
<span id="memberMemoryUsageSparkLine" class="left lineGraphKeyStats"> </span>
<span id="memberMemoryUsageValue" class="color-d2d5d7 font-size23"> </span>
<span class="paddingL5">MB</span>
</div> -->
<!--Line 3-->
<div class="left widthfull-100per marginB10" >
<span id="memberGetsPerSecSparkLine" class="left lineGraphKeyStats"> </span>
<span id="memberGetsPerSecValue" class="color-d2d5d7 font-size23">345.12</span>
<span data-prod-custom="pulse-readgetpersec-custom" class="paddingL5">Read/Sec</span>
</div>
<!--Line 4-->
<div class="left widthfull-100per marginB10" >
<span id="memberPutsPerSecSparkLineBar" class="left lineGraphKeyStats"> </span>
<span id="memberPutsPerSecValue" class="color-d2d5d7 font-size23">678.34</span>
<span data-prod-custom="pulse-writeputpersec-custom" class="paddingL5">Write/Sec</span>
</div>
</div>
</div>
</div>
<!-- Block 5-->
<!-- <div class="canvasBlock marginBR10-11 left">
<div class="left width242 canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">Memory Usage</span><a
id="btnSmallBlock_5" class="minusIcon"
onClick="toggleDiv('SmallBlock_5');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock"
id="SmallBlock_5">
<div class="graphBlocksContent">
<div id="memberHeapUsageAvg" class="color-d2d5d7 font-size40"> </div>
<span>Last 15 Minutes</span>
</div>
<div class="left graphChart">
<span class="left lineGraph" id="memberHeapUsage"></span>
</div>
</div>
</div>-->
<!-- Block 6-->
<div class="canvasBlock marginBR10-11 left" data-role="widget" data-widgetid="MemberGCPauses" data-active ="yes" data-timeline="5000">
<div class="left width242 canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">No. of JVM
pauses</span><a id="btnSmallBlock_6" class="minusIcon"
onClick="toggleDiv('SmallBlock_6');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock"
id="SmallBlock_6">
<div class="graphBlocksContent">
<div id="memberGcPausesAvg" class="color-d2d5d7 font-size40"> </div>
<span>Last 15 Minutes</span>
</div>
<div class="left graphChart">
<span class="left lineGraph" id="memberGCPauses"></span>
</div>
</div>
</div>
</div>
<!-- Right Block-->
<div class="rightBlockCanvas">
<!-- Block 1-->
<div id="MemberGatewayHubWidget" class="canvasBlock marginB10 left "
data-role="widget" data-widgetid="MemberGatewayHub" data-active ="yes" data-timeline="5000">
<div class="left width242 canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">Gateway Receiver</span><a
id="btnSmallBlock_1" class="minusIcon"
onClick="toggleDiv('SmallBlock_1');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock"
id="SmallBlock_1">
<div class="graphBlocksContent">
<div class="detailsBlock-member firstPaddingLeftZero">
<div id="receiverListeningPort" class="color-d2d5d7 font-size20"> </div>
<span class="labeltext">Listening Port</span>
</div>
<div class="detailsBlock-member">
<div id="receiverLinkThroughput" class="color-d2d5d7 font-size20"> </div>
<span class="labeltext">Link Throughput</span>
</div>
<div class="detailsBlock-member lastPaddingLeftZero">
<div id="receiverAvgBatchLatency" class="color-d2d5d7 font-size20"> </div>
<span class="labeltext">AVG Batch Latency</span>
</div>
</div>
<!-- End Point Master-->
<div class="left endPointMasterBlock">
<!--End point-->
<div class="pointHeading">
<label class="pointTextHeading">Gateway Senders</label>
</div>
<div class="pointGridHeading">
<span class="pointHeadingPadding pointC1">ID</span><span
class="pointHeadingPadding pointC2">Queue Size</span><span
class="pointHeadingPadding pointC3">Status</span>
</div>
<div class="pointGridData">
<div id="gatewaySendersList" > </div>
</div>
</div>
<div class="clearButton">
<a id="idGatewaySenderMoreDetailsLink" class="right linkButton" onclick="showGatewaySenderPopup(this)" href="#">More Details</a>
</div>
<!-- Regions Involved-->
<div class="left endPointMasterBlock">
<!--Regions Involved-->
<img src="images/spacer.png" height="1" border="0"
class="pointHeading">
<div class="pointGridHeading">
<span data-prod-custom="pulse-regionstableInvolved-custom" class="pointHeadingPadding textUpper">Regions
Involved</span>
</div>
<div class="pointGridData" >
<div id="regionInvolvedList"></div>
</div>
</div>
</div>
</div>
<div class="clear"></div>
<!-- Block 2-->
<div id="MemberAsynchEventQueuesWidget" class="canvasBlock marginB10 left "
data-role="widget" data-widgetid="MemberAsynchEventQueues" data-active ="yes" data-timeline="5000">
<div class="left width242 canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">Asynch Event Queues</span>
<a id="btnSmallBlock_2" class="minusIcon" onClick="toggleDiv('SmallBlock_2');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock" id="SmallBlock_2">
<div class="left endPointMasterBlock">
<!-- asynch event queue -->
<div class="pointGridHeading">
<span class="pointHeadingPadding pointC1">ID</span>
<span class="pointHeadingPadding pointC2">Queue Size</span>
<span class="pointHeadingPadding pointC3">Type</span>
</div>
<div class="pointGridData">
<div id="asynchList"> </div>
</div>
</div>
<div class="clearButton">
<a id="idAsynchMoreDetailsLink" class="right linkButton" onclick="showAsyncEventQueuePopup(this)" href="#">More Details</a>
</div>
</div>
</div>
<div class="clear"></div>
<!-- Block 5-->
<div class="canvasBlock marginBR10-11 left" data-role="widget" data-widgetid="MemberHeapUsage" data-active ="yes" data-timeline="5000">
<div class="left width242 canvasBlockInnerBlock" >
<span class="left marginL10 canvasHeading">Memory Usage</span><a
id="btnSmallBlock_5" class="minusIcon"
onClick="toggleDiv('SmallBlock_5');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock"
id="SmallBlock_5" >
<div class="graphBlocksContent" >
<div id="memberHeapUsageAvg" class="color-d2d5d7 font-size40">
</div>
<span>Last 15 Minutes</span>
</div>
<div class="left graphChart" >
<span class="left lineGraph" id="memberHeapUsage"></span>
</div>
</div>
</div>
<!-- Block 3-->
<div class="canvasBlock marginB10 left" data-role="widget" data-widgetid="MemberDiskThroughput" data-active ="yes" data-timeline="5000">
<div class="left width242 canvasBlockInnerBlock">
<span class="left marginL10 canvasHeading">Disk Throughput</span>
<a id="btnSmallBlock_3" class="minusIcon"
onClick="toggleDiv('SmallBlock_3');"></a>
</div>
<div class="left canvasInnerBlock canvasContentBlock"
id="SmallBlock_3">
<div class="graphBlocksContent marginB11 left">
<div class="left">
<span class="left">Last 15 Minutes</span>
</div>
<div class="right marginL10">
<span data-prod-custom="pulse-reads-custom" class="left">Reads</span> <span
class="left marginL10 colorCodeBlock diskReadsCode"></span>
</div>
<div class="right marginL10">
<span data-prod-custom="pulse-writes-custom" class="left">Writes</span> <span
class="left marginL10 colorCodeBlock diskWritesCode"></span>
</div>
</div>
<div class="graphBlocksContent width91Per left">
<div class="color-d2d5d7 font-size20">
<span id="diskReadsThroughput"></span>
</div>
<div class="width100Per left">
<span class="left">Reads</span> <span class="right"
id="currentDiskReadsThroughput"></span>
</div>
</div>
<div class="left graphChart marginB11">
<span class="left lineGraph" id="diskReadsThroughputTrend"></span>
</div>
<div class="graphBlocksContent width91Per left">
<div class="color-d2d5d7 font-size20">
<span id="diskWritesThroughput"></span>
</div>
<div class="width100Per left">
<span class="left">Writes</span> <span class="right"
id="currentDiskWritesThroughput"></span>
</div>
</div>
<div class="left graphChart">
<span class="left lineGraph" id="diskWritesThroughputTrend"></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Placeholder-->
<script>
$('input[placeholder], textarea[placeholder]').placeholder();
</script>
<!--Popups Block-->
<div id="boxes">
<!-- Version Details popup-->
<div id="dialog1" class="window width345" data-role="widget" data-widgetid="PulseVersionDetails" data-active ="yes" data-timeline="5000">
<div class="popup_heading"><span>Version Details</span><a href="#" class="closePopup">&nbsp;</a></div>
<div class="popup_contentBlock">
<div class="popup-innerblock">
<ul class="widthfull-100per left">
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Pulse Version:</label>
<label class="width-58 display-inline-block" id="pulseVer"></label>
</li>
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Build Id:</label>
<label class="width-58 display-inline-block" id="buildId"></label>
</li>
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Build Date:</label>
<label class="width-58 display-inline-block" id="buildDate"></label>
</li>
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Source Date:</label>
<label class="width-58 display-inline-block" id="sourceDate"></label>
</li>
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Source Revision:</label>
<label class="width-58 display-inline-block" id="sourceRevision"></label>
</li>
<li class="left widthfull-100per">
<label class="width-40 display-inline-block">Source Repository:</label>
<label class="width-58 display-inline-block" id="sourceRepository"></label>
</li>
</ul>
<div class="clear"></div>
</div>
</div>
</div>
<!-- Mask to cover the whole screen -->
<div id="mask"></div>
</div>
<div id="tooltip" class="tooltip"></div>
<!-- Placeholder-->
<script>
$('input[placeholder], textarea[placeholder]').placeholder();
</script>
</body>
</html>