From 4772c0f6c29ec07ce7cc7562e8e0c627a62c7fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 22 Jan 2024 20:31:20 +0000 Subject: [PATCH] Related: cool#8063 add a debugging metric for 'new tiles %' of all tiles+deltas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https: //github.com/CollaboraOnline/online/pull/8063 Signed-off-by: Caolán McNamara Change-Id: Ia754df62b697251e76076f39f4780784b3289dfc --- browser/src/layer/tile/CanvasTileLayer.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/browser/src/layer/tile/CanvasTileLayer.js b/browser/src/layer/tile/CanvasTileLayer.js index dc4a5755d9..f0c95214dc 100644 --- a/browser/src/layer/tile/CanvasTileLayer.js +++ b/browser/src/layer/tile/CanvasTileLayer.js @@ -5140,8 +5140,11 @@ L.CanvasTileLayer = L.Layer.extend({ this._debugInvalidateCount + ', recv-tiles: ' + this._debugLoadTile + ', recv-delta: ' + this._debugLoadDelta + ', recv-update: ' + this._debugLoadUpdate); + var allDeltas = this._debugLoadDelta + this._debugLoadUpdate; this._debugData['nullUpdateMetric'].setPrefix('Tile update waste: ' + - Math.round(100.0 * this._debugLoadUpdate / (this._debugLoadDelta + this._debugLoadUpdate)) + '%'); + Math.round(100.0 * this._debugLoadUpdate / allDeltas) + '%'); + this._debugData['newTileMetric'].setPrefix('New Tile ratio: ' + + Math.round(100.0 * this._debugLoadTile / (allDeltas + this._debugLoadTile)) + '%'); }, _addDebugTool: function (tool) { @@ -5184,14 +5187,17 @@ L.CanvasTileLayer = L.Layer.extend({ startsOn: true, onAdd: function () { self._debugData = {}; - self._debugDataNames = ['canonicalViewId', 'tileCombine', 'fromKeyInputToInvalidate', 'ping', 'loadCount', 'postMessage']; - for (var i = 0; i < self._debugDataNames.length; i++) { - self._debugData[self._debugDataNames[i]] = L.control.attribution({prefix: '', position: 'bottomleft'}).addTo(self._map); - self._debugData[self._debugDataNames[i]].addTo(self._map); + var _debugDataNames = ['canonicalViewId', 'tileCombine', 'fromKeyInputToInvalidate', 'ping', 'loadCount', 'postMessage']; + for (var i = 0; i < _debugDataNames.length; i++) { + self._debugData[_debugDataNames[i]] = L.control.attribution({prefix: '', position: 'bottomleft'}).addTo(self._map); + self._debugData[_debugDataNames[i]].addTo(self._map); + } + _debugDataNames = ['nullUpdateMetric', 'newTileMetric']; + for (var i = 0; i < _debugDataNames.length; i++) { + self._debugData[_debugDataNames[i]] = L.control.attribution({prefix: '', position: 'topleft'}).addTo(self._map); + self._debugData[_debugDataNames[i]].addTo(self._map); + self._debugData[_debugDataNames[i]]._container.style.fontSize = '14px'; } - self._debugData['nullUpdateMetric'] = L.control.attribution({prefix: '', position: 'topleft'}).addTo(self._map); - self._debugData['nullUpdateMetric'].addTo(self._map); - self._debugData['nullUpdateMetric']._container.style.fontSize = '14px'; }, onRemove: function () { for (var i in self._debugData) {