소스 검색

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

* Fix issue of memory leak in metric.js
master
zhangkai253 GitHub 3 년 전
부모
커밋
63aeb49c45
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  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 파일 보기

@@ -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];


Loading…
취소
저장