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:
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};