cas-service-ja/overlays/org.apereo.cas.cas-server-w.../WEB-INF/classes/templates/monitoring/viewStatistics.html

161 lines
7.8 KiB
HTML

<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{monitoring/layout}">
<head>
<title th:text="#{cas.statistics.pagetitle}"></title>
<script type="text/javascript" th:src="@{#{webjars.d3js.d3min.js}}"></script>
<script type="text/javascript" th:inline="javascript">
var messages = {
memoryGaugeTitle: /*[[#{cas.statistics.section.serverstatistics.freememorygauge.label}]]*/
};
var urls = {
availability: /*[[@{/status/stats/getAvailability}]]*/,
memory: /*[[@{/status/stats/getMemStats}]]*/,
tickets: /*[[@{/status/stats/getTicketStats}]]*/
};
function jqueryReady() {
head.load(
/*[[@{/js/statisticsview.js}]]*/
,
function () {
var server_uptime = upTime([[${upTime}]], 'uptime');
casStatistics(urls, messages);
}
);
};
</script>
</head>
<body>
<div layout:fragment="content">
<div id="loading" th:text="#{cas.statistics.loading}"></div>
<div class="statisticsView">
<h2 th:text="#{cas.statistics.pagetitle}">cas.statistics.pagetitle</h2>
<div class="section adminPanels">
<h3 th:text="#{cas.statistics.section.ticket.title}">cas.statistics.section.ticket.title</h3>
<div class="card-deck">
<div class="card" id="card-unexpired-tgts">
<div class="card-body">
<h4 class="card-title semi-huge"
th:text="#{cas.statistics.section.ticket.panel.unexpiredtgts.title}"></h4>
<p id="unexpiredTgts" class="card-text huge">--</p>
</div>
</div>
<div class="card" id="card-unexpired-sts">
<div class="card-body">
<h4 class="card-title semi-huge" th:text="#{cas.statistics.section.ticket.panel.unexpiredsts.title}"/>
<p id="unexpiredSts" class="card-text huge">--</p>
</div>
</div>
<div class="card" id="card-expired-tgts">
<div class="card-body">
<h4 class="card-title semi-huge" th:text="#{cas.statistics.section.ticket.panel.expiredtgts.title}"/>
<p id="expiredTgts" class="card-text huge">--</p>
</div>
</div>
<div class="card" id="card-expired-sts">
<div class="card-body">
<h4 class="card-title semi-huge" th:text="#{cas.statistics.section.ticket.panel.expiredsts.title}"/>
<p id="expiredSts" class="card-text huge">--</p>
</div>
</div>
</div>
</div>
<section class="runtimePanels">
<h3 th:text="#{cas.statistics.section.serverstatistics.title}"></h3>
<div class="row">
<div class="col-md-4">
<div class="text-center">
<div class="section" id="memoryUsageWrapper">
<div id="memoryGauge"></div>
</div>
<div id="maxMemoryWrapper">
<div id="maxMemoryGauge"></div>
</div>
</div>
</div>
<div class="col-md-8">
<div id="card-uptime" class="card">
<div class="card-header">
<div class="row">
<div class="col-auto mr-auto">
<i class="far fa-clock fa-4x"></i>
</div>
<div class="col-auto text-right">
<div class="huge" th:text="#{cas.statistics.section.serverstatistics.panel.uptime.title}"></div>
<div id="uptime"></div>
</div>
</div>
</div>
</div>
<div id="card-server-info" class="card">
<div class="card-header d-flex">
<div class="fas fa-server fa-4x"></div>
<div class="ml-auto huge" th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.title}"></div>
</div>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th class="w-25"
th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.label}"/>
<th class="w-75"
th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.value.label}"/>
</tr>
</thead>
<tbody>
<tr>
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.server.label}"/>
<td th:text="${#httpServletRequest.getServerName() + '-' + #httpServletRequest.getLocalAddr()}"/>
</tr>
<tr th:if="${casTicketSuffix}">
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.casticketsuffix.label}"/>
<td th:text="${casTicketSuffix}"/>
</tr>
<tr>
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.starttime.label}"/>
<td th:text="${startTime}"/>
</tr>
<tr>
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.memory.label}"/>
<td><span id="freeMemory" th:text="${freeMemory}"/> MB
<span th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.free}"/>
<br/>
<span id="totalMemory" th:text="${totalMemory}"/> MB
<span th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.total}"/>
</td>
</tr>
<tr>
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.maxmemory.label}"/>
<td>
<span id="maxMemory" th:text="${maxMemory}"/> MB
</td>
</tr>
<tr>
<td th:text="#{cas.statistics.section.serverstatistics.panel.serverinfo.table.property.availprocessors.label}"/>
<td id="availableProcessors" th:text="${availableProcessors}"/>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
<div th:replace="monitoring/fragments/footerButtons"/>
</div>
</div>
</body>
</html>