Commit graph

13 commits

Author SHA1 Message Date
lilia
86d703bc87
Fix debug log 2017-09-14 16:53:35 -07:00
Scott Nonnenberg
1e694fe8d7 Log entry max to 2k, remove logging in hot codepaths (#1459)
On a recent trip through a CPU profile taken while Signal Desktop
churned through a large backlog of messages, it was clear that
console.log was a major source of time spent, primarily the sort
operation required after every new entry is added to the Backbone
collection. So, three different techniques to combat this:

1) Reduce the maximum number of entries in the collection from 5k to 2k
2) No more logging of add/update/remove queue in MessageReceiver
3) No more log entries in Message.handleDataMessage main codepath

FREEBIE
2017-09-12 09:34:49 -07:00
Scott Nonnenberg
c6bc167975 Increase log length to 5000, since we're logging so much now
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
bd0050b6c6 Cache messages on receipt, remove from cache when processed
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
3fbd1ab618 Use error.stack instead of error for console log
Chrome/V8 give you the error name, message and callstack at that
property, where toString() gives you [object NavigatorUserMediaError]

FREEBIE
2017-06-20 16:57:11 -07:00
lilia
173e037fa6 Fix minor style errors
And keep it that way, by making jscs config more opinionated.

// FREEBIE
2016-02-18 13:45:22 -08:00
lilia
6154dbb8db Fix debug log growing uncontrollably
Races between adding new log entries and fetching old ones can cause an
overage of more than one entry.

// FREEBIE
2016-02-12 18:34:58 -08:00
lilia
87ddcef333 Make debug log persistent
Save log entries in indexedDB rather than just in memory. Reload them
whenever the background page is refreshed.

// FREEBIE
2016-02-03 13:30:55 -08:00
Felix Epp
62af9ff678 Add user-agent string to DebugLog // fixes WhisperSystems/Signal-Desktop#404
The user-agent string includes the information needed (OS + Chrome version) and the console.get() function seems just right. The debugLog itself is not manipulated.
2016-01-02 04:28:45 -08:00
lilia
ae3a834b4c Log global errors
Use the global error handler, window.onerror, to catch miscellaneous
exceptions and pipe them into the debug log.

Fixes #456

// FREEBIE
2015-12-07 13:54:51 -08:00
lilia
ea87062d92 Post debug logs as non public gists
// FREEBIE
2015-11-25 10:28:30 -08:00
lilia
b60d3d0b97 Make debug log handle multiple arguments
Ex: console.log('delivery receipt', phone_number, timestamp)

// FREEBIE
2015-09-16 11:29:01 -07:00
lilia
f74a7b9621 Add code for submitting debug logs
We keep the last 1000 log messages in memory and dump them to an
anonymous public gist if console.post is called.

// FREEBIE
2015-09-15 18:48:50 -07:00