Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1380)

Unified Diff: remoting/webapp/base/js/session_logger.js

Issue 2913073002: Stops accumulating performance statistics on the Chrome App. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/webapp/base/js/client_session.js ('k') | remoting/webapp/base/js/session_logger_unittest.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/base/js/session_logger.js
diff --git a/remoting/webapp/base/js/session_logger.js b/remoting/webapp/base/js/session_logger.js
index 616b663c8526a29c00492e6c712048157c1e7406..e2a34561b15bcd951af5679c4b7881441f07a1f5 100644
--- a/remoting/webapp/base/js/session_logger.js
+++ b/remoting/webapp/base/js/session_logger.js
@@ -25,8 +25,6 @@ remoting.SessionLogger = function(role, writeLogEntry) {
/** @private */
this.writeLogEntry_ = writeLogEntry;
/** @private */
- this.statsAccumulator_ = new remoting.StatsAccumulator();
- /** @private */
this.sessionId_ = '';
/** @private */
this.sessionIdGenerationTime_ = 0;
@@ -235,11 +233,7 @@ remoting.SessionLogger.prototype.logSessionStateChange =
this.sessionEndTime_ = Date.now();
}
- // Don't accumulate connection statistics across state changes.
- this.logAccumulatedStatistics_();
- this.statsAccumulator_.empty();
-
- if (state == remoting.ChromotingEvent.SessionState.CLOSED ||
+ if (state == remoting.ChromotingEvent.SessionState.CLOSED ||
state == remoting.ChromotingEvent.SessionState.CONNECTION_DROPPED) {
this.flushFeatureTracker();
}
@@ -248,17 +242,13 @@ remoting.SessionLogger.prototype.logSessionStateChange =
/**
* Logs connection statistics.
*
- * @param {Object<number>} stats The connection statistics
+ * @param {remoting.ClientSession.PerfStats} stats The connection statistics
*/
remoting.SessionLogger.prototype.logStatistics = function(stats) {
- this.maybeExpireSessionId_();
- // Store the statistics.
- this.statsAccumulator_.add(stats);
- // Send statistics to the server if they've been accumulating for at least
- // 60 seconds.
- if (this.statsAccumulator_.getTimeSinceFirstValue() >=
- remoting.SessionLogger.CONNECTION_STATS_ACCUMULATE_TIME) {
- this.logAccumulatedStatistics_();
+ if (stats && remoting.ClientSession.PerfStats.hasValidField(stats)) {
+ this.maybeExpireSessionId_();
+ var entry = this.makeStats_(stats);
+ this.log_(entry);
}
};
@@ -266,7 +256,9 @@ remoting.SessionLogger.prototype.logStatistics = function(stats) {
* Logs host and client dimensions.
*
* @param {{width: number, height: number}} hostSize
+ * @param {number} hostDpi
* @param {{width: number, height: number}} clientPluginSize
+ * @param {number} clientDpi
* @param {{width: number, height: number}} clientWindowSize
* @param {boolean} clientFullscreen
*/
@@ -309,8 +301,10 @@ remoting.SessionLogger.prototype.makeSessionStateChange_ =
/**
* @param {{width: number, height: number}} hostSize
+ * @param {number} hostDpi
* @param {{width: number, height: number}} clientPluginSize
* @param {{width: number, height: number}} clientWindowSize
+ * @param {number} clientDpi
* @param {boolean} clientFullscreen
* @return {remoting.ChromotingEvent}
* @private
@@ -354,46 +348,28 @@ remoting.SessionLogger.prototype.makeSessionIdOld_ = function() {
};
/**
- * @return {remoting.ChromotingEvent}
+ * @param {!remoting.ClientSession.PerfStats} perfStats
+ * @return {!remoting.ChromotingEvent}
* @private
*/
-remoting.SessionLogger.prototype.makeStats_ = function() {
- var perfStats = this.statsAccumulator_.getPerfStats();
- if (Boolean(perfStats)) {
- var entry = new remoting.ChromotingEvent(
- remoting.ChromotingEvent.Type.CONNECTION_STATISTICS);
- this.fillEvent_(entry);
- entry.video_bandwidth = perfStats.videoBandwidth;
- entry.capture_latency = perfStats.captureLatency;
- entry.encode_latency = perfStats.encodeLatency;
- entry.decode_latency = perfStats.decodeLatency;
- entry.render_latency = perfStats.renderLatency;
- entry.roundtrip_latency = perfStats.roundtripLatency;
- entry.max_capture_latency = perfStats.maxCaptureLatency;
- entry.max_encode_latency = perfStats.maxEncodeLatency;
- entry.max_decode_latency = perfStats.maxDecodeLatency;
- entry.max_render_latency = perfStats.maxRenderLatency;
- entry.max_roundtrip_latency = perfStats.maxRoundtripLatency;
- return entry;
- }
- return null;
+remoting.SessionLogger.prototype.makeStats_ = function(perfStats) {
+ var entry = new remoting.ChromotingEvent(
+ remoting.ChromotingEvent.Type.CONNECTION_STATISTICS);
+ this.fillEvent_(entry);
+ entry.video_bandwidth = perfStats.videoBandwidth;
+ entry.capture_latency = perfStats.captureLatency;
+ entry.encode_latency = perfStats.encodeLatency;
+ entry.decode_latency = perfStats.decodeLatency;
+ entry.render_latency = perfStats.renderLatency;
+ entry.roundtrip_latency = perfStats.roundtripLatency;
+ entry.max_capture_latency = perfStats.maxCaptureLatency;
+ entry.max_encode_latency = perfStats.maxEncodeLatency;
+ entry.max_decode_latency = perfStats.maxDecodeLatency;
+ entry.max_render_latency = perfStats.maxRenderLatency;
+ entry.max_roundtrip_latency = perfStats.maxRoundtripLatency;
+ return entry;
};
-/**
- * Moves connection statistics from the accumulator to the log server.
- *
- * If all the statistics are zero, then the accumulator is still emptied,
- * but the statistics are not sent to the log server.
- *
- * @private
- */
-remoting.SessionLogger.prototype.logAccumulatedStatistics_ = function() {
- var entry = this.makeStats_();
- if (entry) {
- this.log_(entry);
- }
- this.statsAccumulator_.empty();
-};
/**
* @param {remoting.ChromotingEvent} entry
@@ -558,8 +534,4 @@ function toConnectionType(type) {
// The maximum age of a session ID, in milliseconds.
remoting.SessionLogger.MAX_SESSION_ID_AGE = 24 * 60 * 60 * 1000;
-// The time over which to accumulate connection statistics before logging them
-// to the server, in milliseconds.
-remoting.SessionLogger.CONNECTION_STATS_ACCUMULATE_TIME = 60 * 1000;
-
})();
« no previous file with comments | « remoting/webapp/base/js/client_session.js ('k') | remoting/webapp/base/js/session_logger_unittest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698