Index: remoting/webapp/crd/js/log_to_server.js |
diff --git a/remoting/webapp/crd/js/log_to_server.js b/remoting/webapp/crd/js/log_to_server.js |
index 8b87f1b5c4efc7273b3cb4ce5f43f36ae5926294..26a3f86e8c78b2046c35aa4f70dac5ceb271b937 100644 |
--- a/remoting/webapp/crd/js/log_to_server.js |
+++ b/remoting/webapp/crd/js/log_to_server.js |
@@ -25,7 +25,7 @@ remoting.LogToServer = function(signalStrategy, mode) { |
/** @private */ |
this.sessionIdGenerationTime_ = 0; |
/** @private */ |
- this.sessionStartTime_ = 0; |
+ this.sessionStartTime_ = new Date().getTime(); |
/** @private */ |
this.signalStrategy_ = signalStrategy; |
/** @private */ |
@@ -60,12 +60,6 @@ remoting.LogToServer.CONNECTION_STATS_ACCUMULATE_TIME = 60 * 1000; |
remoting.LogToServer.prototype.logClientSessionStateChange = |
function(state, connectionError) { |
this.maybeExpireSessionId_(); |
- // Set the session start time if we haven't done so already. |
- if (remoting.LogToServer.isStartOfSession_(state)) { |
- if (this.sessionStartTime_ == 0) { |
- this.sessionStartTime_ = new Date().getTime(); |
- } |
- } |
// Log the session state change. |
var entry = remoting.ServerLogEntry.makeClientSessionStateChange( |
state, connectionError, this.mode_); |
@@ -74,14 +68,11 @@ remoting.LogToServer.prototype.logClientSessionStateChange = |
entry.addWebappVersionField(); |
entry.addSessionIdField(this.sessionId_); |
// Maybe clear the session start time, and log the session duration. |
- if (remoting.LogToServer.shouldAddDuration_(state) && |
- (this.sessionStartTime_ != 0)) { |
+ if (remoting.LogToServer.shouldAddDuration_(state)) { |
entry.addSessionDurationField( |
(new Date().getTime() - this.sessionStartTime_) / 1000.0); |
- if (remoting.LogToServer.isEndOfSession_(state)) { |
- this.sessionStartTime_ = 0; |
- } |
} |
+ |
this.log_(entry); |
// Don't accumulate connection statistics across state changes. |
this.logAccumulatedStatistics_(); |
@@ -90,6 +81,7 @@ remoting.LogToServer.prototype.logClientSessionStateChange = |
if (remoting.LogToServer.isEndOfSession_(state)) { |
this.clearSessionId_(); |
} |
+ |
}; |
/** |
@@ -104,13 +96,12 @@ remoting.LogToServer.prototype.setConnectionType = function(connectionType) { |
/** |
* @param {remoting.SignalStrategy.Type} strategyType |
* @param {remoting.FallbackSignalStrategy.Progress} progress |
- * @param {number} elapsedTimeInMs |
*/ |
remoting.LogToServer.prototype.logSignalStrategyProgress = |
- function(strategyType, progress, elapsedTimeInMs) { |
+ function(strategyType, progress) { |
this.maybeExpireSessionId_(); |
var entry = remoting.ServerLogEntry.makeSignalStrategyProgress( |
- this.sessionId_, strategyType, progress, elapsedTimeInMs); |
+ this.sessionId_, strategyType, progress); |
this.log_(entry); |
}; |
@@ -203,6 +194,10 @@ remoting.LogToServer.prototype.logAccumulatedStatistics_ = function() { |
* @param {remoting.ServerLogEntry} entry |
*/ |
remoting.LogToServer.prototype.log_ = function(entry) { |
+ // Log the time taken to get to this point from the time this session started. |
+ var elapsedTimeInMs = new Date().getTime() - this.sessionStartTime_; |
+ entry.addElapsedTimeMs(elapsedTimeInMs); |
+ |
// Send the stanza to the debug log. |
console.log('Enqueueing log entry:'); |
entry.toDebugLog(1); |