nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit fcefeb939365b2107f4ff9d63c833631858757cd
parent 4ebd280e4eda218dfd997b422ede3507a58dcdaa
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Fri, 16 Nov 2018 00:02:10 +0100

add logging for app start and unload

Diffstat:
Msrc/App.js | 31++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/src/App.js b/src/App.js @@ -29,6 +29,8 @@ import {hashState, bindHashStateReadOnly} from 'lib/leaflet.hashState/hashState' import {LocateControl} from 'lib/leaflet.control.locate'; import {notify} from 'lib/notifications'; import ZoomDisplay from 'lib/leaflet.control.zoom-display'; +import logging from 'lib/logging'; +import safeLocalStorage from 'lib/safe-localstorage'; const locationErrorMessage = { 0: 'Your browser does not support geolocation.', @@ -37,6 +39,11 @@ const locationErrorMessage = { }; function setUp() { + const startInfo = { + href: window.location.href, + localStorageKeys: Object.keys(safeLocalStorage), + mobile: L.Browser.mobile, + }; fixAll(); const map = L.map('map', { @@ -125,12 +132,18 @@ function setUp() { /////////// controls bottom-right corner + function trackNames() { + return tracklist.tracks().map((track) => track.name()); + } tracklist.addTo(map); if (!hashState.getState('nktk') && !hashState.getState('nktl')) { tracklist.loadTracksFromStorage(); } + startInfo.tracksAfterLoadFromStorage = trackNames(); bindHashStateReadOnly('nktk', tracklist.loadNktkFromHash.bind(tracklist)); + startInfo.tracksAfterLoadFromNktk = trackNames(); bindHashStateReadOnly('nktl', tracklist.loadNktlFromHash.bind(tracklist)); + startInfo.tracksAfterLoadFromNktl = trackNames(); ////////// adaptive layout @@ -150,7 +163,22 @@ function setUp() { //////////// save state at unload - L.DomEvent.on(window, 'beforeunload', () => tracklist.saveTracksToStorage()); + L.DomEvent.on(window, 'beforeunload', () => { + logging.logEvent('saveTracksToStorage begin', {localStorageKeys: Object.keys(safeLocalStorage)}); + const t = Date.now(); + let localStorageKeys; + try { + tracklist.saveTracksToStorage(); + localStorageKeys = Object.keys(safeLocalStorage); + } catch (e) { + logging.logEvent('saveTracksToStorage failed', {error: e}); + return; + } + logging.logEvent('saveTracksToStorage done', { + time: Date.now() - t, + localStorageKeys + }); + }); ////////// track list and azimuth measure interaction @@ -160,6 +188,7 @@ function setUp() { tracklist.stopEditLine(); }); azimuthControl.on('elevation-shown', () => tracklist.hideElevationProfile()); + logging.logEvent('start', startInfo); } export default {setUp};