Commit 0ca6b671 by Torkel Ödegaard

Added some performance profiling code

parent 9390b1ee
......@@ -98,7 +98,6 @@ function (angular, _, moment) {
$httpProvider.interceptors.push('mupp');
});
module.controller('ConsoleCtrl', function($scope) {
$scope.events = events;
......
......@@ -26,9 +26,9 @@ function (angular, $, config, _) {
$scope.setupDashboard = function(event, dashboardData) {
timer.cancel_all();
$scope.performance.dashboardLoadStart = new Date().getTime();
$scope.performance.panelsInitialized = 0;
$scope.performance.panelsRendered= 0;
$rootScope.performance.dashboardLoadStart = new Date().getTime();
$rootScope.performance.panelsInitialized = 0;
$rootScope.performance.panelsRendered= 0;
$scope.dashboard = dashboardSrv.create(dashboardData);
$scope.dashboardViewState = dashboardViewStateSrv.create($scope);
......
......@@ -12,29 +12,21 @@ function (angular, config, _, $) {
module.controller('GrafanaCtrl', function($scope, alertSrv, grafanaVersion, $rootScope) {
$scope.grafanaVersion = grafanaVersion[0] === '@' ? 'master' : grafanaVersion;
$scope.performance = { loadStart: new Date().getTime() };
var count = 0;
$scope.$watch(function() {
console.log(1);
count++;
}, function() {
});
$scope.consoleEnabled = (window.localStorage && window.localStorage.grafanaConsole === 'true');
setTimeout(function() {
console.log("Dashboard::Performance Total Digests: " + count);
console.log("Dashboard::Performance Total Watchers: " + $scope.getTotalWatcherCount());
console.log("Dashboard::Performance Total ScopeCount: " + $scope.performance.scopeCount);
}, 3000);
$rootScope.profilingEnabled = (window.localStorage && window.localStorage.profilingEnabled === 'true');
$rootScope.performance = { loadStart: new Date().getTime() };
$scope.init = function() {
$scope._ = _;
if ($rootScope.profilingEnabled) {
$scope.initProfiling();
}
$scope.dashAlerts = alertSrv;
$scope.grafana = {
style: 'dark'
};
$scope.consoleEnabled = (window.localStorage && window.localStorage.grafanaConsole === 'true');
};
$scope.toggleConsole = function() {
......@@ -80,10 +72,26 @@ function (angular, config, _, $) {
};
f(root);
$scope.performance.scopeCount = scopes;
$rootScope.performance.scopeCount = scopes;
return count;
};
$scope.initProfiling = function() {
var count = 0;
$scope.$watch(function() {
console.log(1);
count++;
}, function() {
});
setTimeout(function() {
console.log("Dashboard::Performance Total Digests: " + count);
console.log("Dashboard::Performance Total Watchers: " + $scope.getTotalWatcherCount());
console.log("Dashboard::Performance Total ScopeCount: " + $scope.performance.scopeCount);
}, 3000);
};
$scope.init();
});
......
......@@ -130,11 +130,13 @@ function (angular, _) {
}
}
$scope.performance.panelsInitialized++;
if ($scope.performance.panelsInitialized === $scope.dashboard.rows.length) {
if ($rootScope.profilingEnabled) {
$rootScope.performance.panelsInitialized++;
if ($rootScope.performance.panelsInitialized === $scope.dashboard.rows.length) {
var timeTaken = new Date().getTime() - $scope.performance.dashboardLoadStart;
console.log("Dashboard::Performance - All panels initialized in " + timeTaken + " ms");
}
}
};
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment