Bug 962808 - [Session Restore] Better telemetry for _writeState. r=ttaubert

This commit is contained in:
David Rajchenbach-Teller 2014-01-27 08:27:35 -05:00
parent fd5479d445
commit 45d0e29573
2 changed files with 25 additions and 2 deletions

View File

@ -242,7 +242,7 @@ let SessionSaverInternal = {
* Write the given state object to disk.
*/
_writeState: function (state) {
stopWatchStart("SERIALIZE_DATA_MS", "SERIALIZE_DATA_LONGEST_OP_MS");
stopWatchStart("SERIALIZE_DATA_MS", "SERIALIZE_DATA_LONGEST_OP_MS", "WRITE_STATE_LONGEST_OP_MS");
let data = JSON.stringify(state);
stopWatchFinish("SERIALIZE_DATA_MS", "SERIALIZE_DATA_LONGEST_OP_MS");
@ -251,6 +251,7 @@ let SessionSaverInternal = {
// Don't touch the file if an observer has deleted all state data.
if (!data) {
stopWatchCancel("WRITE_STATE_LONGEST_OP_MS");
return Promise.resolve();
}
@ -263,10 +264,16 @@ let SessionSaverInternal = {
// Write (atomically) to a session file, using a tmp file. Once the session
// file is successfully updated, save the time stamp of the last save and
// notify the observers.
return SessionFile.write(data).then(() => {
stopWatchStart("SEND_SERIALIZED_STATE_LONGEST_OP_MS");
let promise = SessionFile.write(data);
stopWatchFinish("WRITE_STATE_LONGEST_OP_MS",
"SEND_SERIALIZED_STATE_LONGEST_OP_MS");
promise = promise.then(() => {
this.updateLastSaveTime();
notify(null, "sessionstore-state-write-complete");
}, console.error);
return promise;
},
/**

View File

@ -3317,6 +3317,22 @@
"extended_statistics_ok": true,
"description": "Session restore: Time to read the session data from the file on disk (ms)"
},
"FX_SESSION_RESTORE_SEND_SERIALIZED_STATE_LONGEST_OP_MS": {
"expires_in_version": "never",
"kind": "exponential",
"high": "3000",
"n_buckets": 10,
"extended_statistics_ok": true,
"description": "Session restore: Time spent on the main thread sending the session data off the main thread for writing (ms)"
},
"FX_SESSION_RESTORE_WRITE_STATE_LONGEST_OP_MS": {
"expires_in_version": "never",
"kind": "exponential",
"high": "3000",
"n_buckets": 10,
"extended_statistics_ok": true,
"description": "Session restore: Time spent on the main thread serializing, broadcasting and sending the session data for writing (ms)"
},
"FX_SESSION_RESTORE_WRITE_FILE_MS": {
"expires_in_version": "never",
"kind": "exponential",