|
|
|
@ -31,6 +31,7 @@ export class PanelCtrl { |
|
|
|
|
height: any; |
|
|
|
|
containerHeight: any; |
|
|
|
|
events: Emitter; |
|
|
|
|
timing: any; |
|
|
|
|
|
|
|
|
|
constructor($scope, $injector) { |
|
|
|
|
this.$injector = $injector; |
|
|
|
@ -38,6 +39,7 @@ export class PanelCtrl { |
|
|
|
|
this.$timeout = $injector.get('$timeout'); |
|
|
|
|
this.editorTabIndex = 0; |
|
|
|
|
this.events = new Emitter(); |
|
|
|
|
this.timing = {}; |
|
|
|
|
|
|
|
|
|
var plugin = config.panels[this.panel.type]; |
|
|
|
|
if (plugin) { |
|
|
|
@ -58,6 +60,20 @@ export class PanelCtrl { |
|
|
|
|
|
|
|
|
|
renderingCompleted() { |
|
|
|
|
this.$scope.$root.performance.panelsRendered++; |
|
|
|
|
this.timing.renderEnd = new Date().getTime(); |
|
|
|
|
if (this.$scope.$root.profilingEnabled) { |
|
|
|
|
this.$scope.$root.performance.panels.push({ |
|
|
|
|
panelId: this.panel.id, |
|
|
|
|
query: this.timing.queryEnd - this.timing.queryStart, |
|
|
|
|
render: this.timing.renderEnd - this.timing.renderStart, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
if (this.$scope.$root.performance.panelsRendered === this.$scope.$root.performance.panelCount) { |
|
|
|
|
this.$scope.$root.performance.allPanelsRendered = new Date().getTime(); |
|
|
|
|
var timeTaken = this.$scope.$root.performance.allPanelsRendered - this.$scope.$root.performance.dashboardLoadStart; |
|
|
|
|
console.log("Dashboard::Performance - All panels rendered in " + timeTaken + " ms"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
refresh() { |
|
|
|
@ -169,6 +185,7 @@ export class PanelCtrl { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.calculatePanelHeight(); |
|
|
|
|
this.timing.renderStart = new Date().getTime(); |
|
|
|
|
this.events.emit('render', payload); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|