nakarte

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

commit f18f3a7f739f78b6d4e3d526e8efb934f94425d0
parent 7ecf4d12c40271db84f2f59e2d3556b1c576481d
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Sun, 24 Dec 2017 02:49:40 +0300

send stats with string sizes of encoded tracks copied to clipboard

Diffstat:
Msrc/lib/leaflet.control.track-list/track-list.js | 3+++
Msrc/lib/logging/index.js | 15+++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/track-list.js b/src/lib/leaflet.control.track-list/track-list.js @@ -512,6 +512,7 @@ L.Control.TrackList = L.Control.extend({ var s = this.trackToString(track, true); var url = window.location + '&nktk=' + s; copyToClipboard(url, mouseEvent); + logging.logEvent('copyLink', {'encodedSize': s.length}); }, saveTrackAsFile: function(track, exporter, extension) { @@ -1024,6 +1025,7 @@ L.Control.TrackList = L.Control.extend({ } var url = window.location + '&nktk=' + serialized.join('/'); copyToClipboard(url, mouseEvent); + logging.logEvent('copyAllTracks', {'encodedSizes': serialized.map((s) => s.length)}); }, copyVisibleTracks: function(mouseEvent) { @@ -1040,6 +1042,7 @@ L.Control.TrackList = L.Control.extend({ } var url = window.location + '&nktk=' + serialized.join('/'); copyToClipboard(url, mouseEvent); + logging.logEvent('copyAllTracks', {'encodedSizes': serialized.map((s) => s.length)}); }, exportTracks: function(minTicksIntervalMeters) { diff --git a/src/lib/logging/index.js b/src/lib/logging/index.js @@ -26,7 +26,18 @@ function captureBreadcrumbWithUrl(crumb) { const data = Object.assign(crumb.data || {}, {'url': window.location.toString()}); crumb = Object.assign({}, crumb, {data}); captureBreadcrumb(crumb); +} +function logEvent(eventName, extra) { + const data = {event: eventName.toString()}; + if (extra) { + data['data'] = extra; + } + const s = JSON.stringify(data); + const xhr = new XMLHttpRequest(); + xhr.open('POST', 'http://nakarte.tk/event'); + xhr.send(s); } -export default {captureMessage, captureException, setExtraContext, captureBreadcrumbWithUrl, captureBreadcrumb, captureMessageWithUrl} -\ No newline at end of file +export default {captureMessage, captureException, setExtraContext, captureBreadcrumbWithUrl, captureBreadcrumb, + captureMessageWithUrl, logEvent} +\ No newline at end of file