Added services figure view.
This commit is contained in:
parent
94f807dfad
commit
b1e841c787
3 changed files with 88 additions and 5 deletions
|
@ -497,6 +497,40 @@ public class Service extends PathPropertyList
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the month database bytes.
|
||||
*
|
||||
* @param month
|
||||
* the month
|
||||
* @return the month database bytes
|
||||
*/
|
||||
public long getMonthDatabaseBytes(final YearMonth month)
|
||||
{
|
||||
long result;
|
||||
|
||||
result = getMonthCount("metrics.service.database.bytes", month);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the month datafiles bytes.
|
||||
*
|
||||
* @param month
|
||||
* the month
|
||||
* @return the month datafiles bytes
|
||||
*/
|
||||
public long getMonthDatafilesBytes(final YearMonth month)
|
||||
{
|
||||
long result;
|
||||
|
||||
result = getMonthCount("metrics.service.datafiles.bytes", month);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the month hit count.
|
||||
*
|
||||
|
|
|
@ -62,6 +62,8 @@ public class ServiceFigureView
|
|||
TagDataManager data = new TagDataManager();
|
||||
|
||||
data.setContent("serviceCount", services.size());
|
||||
YearMonth month = YearMonth.now();
|
||||
data.setContent("currentMonth", month.format(DateTimeFormatter.ofPattern("MMMM yyyy")));
|
||||
|
||||
if (services.isEmpty())
|
||||
{
|
||||
|
@ -98,13 +100,14 @@ public class ServiceFigureView
|
|||
data.setEscapedContent("serviceListLine", index, "serviceListLineSoftwareLink", service.getSoftwareName());
|
||||
data.setAttribute("serviceListLine", index, "serviceListLineSoftwareLink", "href", "software-" + service.getSoftwareTechnicalName() + ".xhtml");
|
||||
|
||||
YearMonth month = YearMonth.now();
|
||||
data.setContent("serviceListLine", index, "serviceListLineHitCount", StatoolInfosUtils.defaultIfZero(service.getMonthHitCount(month), "😢"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineVisitCount", StatoolInfosUtils.defaultIfZero(service.getMonthVisitCount(month), "😞"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineVisitorCount", StatoolInfosUtils.defaultIfZero(service.getMonthVisitorCount(month), "😞"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineUserCount", StatoolInfosUtils.defaultIfZero(service.getMonthUserCount(month), "😢"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineAccountCount", StatoolInfosUtils.defaultIfZero(service.getMonthAccountCount(month), "😇"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineActiveAccountCount", StatoolInfosUtils.defaultIfZero(service.getMonthActiveAccountCount(month), "😇"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineDatabaseBytes", StatoolInfosUtils.defaultIfZero(service.getMonthDatabaseBytes(month), "😇"));
|
||||
data.setContent("serviceListLine", index, "serviceListLineDatafilesBytes", StatoolInfosUtils.defaultIfZero(service.getMonthDatafilesBytes(month), "😇"));
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
<body>
|
||||
<div class="center_table" style="width: 1500px;">
|
||||
<br/>
|
||||
<div class="center">Nombre de services : <span id="serviceCount">n/a</span></div>
|
||||
|
||||
<div id="currentMonth" class="center">n/a</div>
|
||||
<div class="center"><span id="serviceCount">n/a</span> services</div>
|
||||
<table id="serviceListTable" class="center_table table_classic left">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -26,6 +26,8 @@
|
|||
<th id="userCountHeaderColumn" class="" style="width: 10px;">Utilisateurs</th>
|
||||
<th id="accountCountHeaderColumn" class="" style="width: 10px;">Comptes</th>
|
||||
<th id="activeAccountHeaderColumn" class="" style="width: 10px;">Comptes actifs</th>
|
||||
<th id="databaseBytesHeaderColumn" class="" style="width: 10px;">Base (octets)</th>
|
||||
<th id="datafilesBytesHeaderColumn" class="" style="width: 10px;">Fichiers (octets)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -49,8 +51,13 @@
|
|||
<td id="serviceListLineUserCount" class="td_number">n/a</td>
|
||||
<td id="serviceListLineAccountCount" class="td_number">n/a</td>
|
||||
<td id="serviceListLineActiveAccountCount" class="td_number">n/a</td>
|
||||
<td id="serviceListLineDatabaseBytes" class="td_number">n/a</td>
|
||||
<td id="serviceListLineDatafilesBytes" class="td_number">n/a</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot align="right">
|
||||
<tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
@ -97,8 +104,47 @@
|
|||
{ targets: 4, "type": 'custom-sort' },
|
||||
{ targets: 5, "type": 'custom-sort' },
|
||||
{ targets: 6, "type": 'custom-sort' },
|
||||
{ targets: 7, "type": 'custom-sort' }
|
||||
]
|
||||
{ targets: 7, "type": 'custom-sort' },
|
||||
{ targets: 8, "type": 'custom-sort' },
|
||||
{ targets: 9, "type": 'custom-sort' }
|
||||
],
|
||||
"footerCallback": function (row, data, start, end, display)
|
||||
{
|
||||
var api = this.api(), data;
|
||||
|
||||
// converting to interger to find total
|
||||
var intVal = function (i)
|
||||
{
|
||||
return typeof i === 'string' ?
|
||||
i.replace(/[\$,]/g, '')*1 :
|
||||
typeof i === 'number' ?
|
||||
i : 0;
|
||||
};
|
||||
|
||||
// computing column Total of the complete result
|
||||
var hits = api.column(2).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var visits = api.column(3).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var visitors = api.column(4).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var users = api.column(5).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var accounts = api.column(6).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var activeAccounts = api.column(7).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var databaseBytes = api.column(8).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
var datafilesBytes = api.column(9).data().reduce(function(a, b) {return intVal(isNaN(a)?0:a) + intVal(isNaN(b)?0:b);}, 0);
|
||||
|
||||
|
||||
// Update footer by showing the total with the reference of the column index
|
||||
$( api.column(1).footer()).html('Total');
|
||||
$( api.column(2).footer()).html(hits);
|
||||
$( api.column(3).footer()).html(visits);
|
||||
$( api.column(4).footer()).html(visitors);
|
||||
$( api.column(5).footer()).html(users);
|
||||
$( api.column(6).footer()).html(accounts);
|
||||
$( api.column(7).footer()).html(activeAccounts);
|
||||
$( api.column(8).footer()).html(databaseBytes);
|
||||
$( api.column(9).footer()).html(datafilesBytes);
|
||||
},
|
||||
"processing": true,
|
||||
"serverSide": false,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
Loading…
Reference in a new issue