Explorar el Código

dashboard: Fix issue of memory leak in real-time monitoring page (#1905)

* Fix issue of memory leak in metric.js
master
zhangkai253 GitHub hace 3 años
padre
commit
63aeb49c45
No se encontró ninguna clave conocida en la base de datos para esta firma ID de clave GPG: 4AEE18F83AFDEB23
Se han modificado 1 ficheros con 7 adiciones y 1 borrados
  1. +7
    -1
      sentinel-dashboard/src/main/webapp/resources/app/scripts/controllers/metric.js

+ 7
- 1
sentinel-dashboard/src/main/webapp/resources/app/scripts/controllers/metric.js Ver fichero

@@ -2,7 +2,7 @@ var app = angular.module('sentinelDashboardApp');

app.controller('MetricCtl', ['$scope', '$stateParams', 'MetricService', '$interval', '$timeout',
function ($scope, $stateParams, MetricService, $interval, $timeout) {
$scope.charts = [];
$scope.endTime = new Date();
$scope.startTime = new Date();
$scope.startTime.setMinutes($scope.endTime.getMinutes() - 30);
@@ -59,6 +59,11 @@ app.controller('MetricCtl', ['$scope', '$stateParams', 'MetricService', '$interv
$interval.cancel(intervalId);
});
$scope.initAllChart = function () {
//revoke useless charts positively
while($scope.charts.length > 0) {
let chart = $scope.charts.pop();
chart.destroy();
}
$.each($scope.metrics, function (idx, metric) {
if (idx == $scope.metrics.length - 1) {
return;
@@ -70,6 +75,7 @@ app.controller('MetricCtl', ['$scope', '$stateParams', 'MetricService', '$interv
height: 250,
padding: [10, 30, 70, 50]
});
$scope.charts.push(chart);
var maxQps = 0;
for (var i in metric.data) {
var item = metric.data[i];


Cargando…
Cancelar
Guardar