Skip to content

Commit

Permalink
dashboard: Fix issue of memory leak in real-time monitoring page (ali…
Browse files Browse the repository at this point in the history
…baba#1905)

* Fix issue of memory leak in metric.js
  • Loading branch information
zhangkai253 authored and shenbaoyong committed Feb 5, 2021
1 parent 24e89cf commit 3469fd9
Showing 1 changed file with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand All @@ -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];
Expand Down

0 comments on commit 3469fd9

Please sign in to comment.