| 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
|
| deleted file mode 100644
|
| index 18c7e642495eca6b318819b6ca6e6afef10d97d1..0000000000000000000000000000000000000000
|
| --- a/remoting/webapp/crd/js/log_to_server.js
|
| +++ /dev/null
|
| @@ -1,289 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -/**
|
| - * @fileoverview
|
| - * Module for sending log entries to the server.
|
| - */
|
| -
|
| -'use strict';
|
| -
|
| -/** @suppress {duplicate} */
|
| -var remoting = remoting || {};
|
| -
|
| -/**
|
| - * @param {remoting.SignalStrategy} signalStrategy Signal strategy.
|
| - * @constructor
|
| - */
|
| -remoting.LogToServer = function(signalStrategy) {
|
| - /** @private */
|
| - this.statsAccumulator_ = new remoting.StatsAccumulator();
|
| - /** @private */
|
| - this.sessionId_ = '';
|
| - /** @private */
|
| - this.sessionIdGenerationTime_ = 0;
|
| - /** @private */
|
| - this.sessionStartTime_ = new Date().getTime();
|
| - /** @private */
|
| - this.signalStrategy_ = signalStrategy;
|
| - /** @private {string} */
|
| - this.connectionType_ = '';
|
| - /** @private */
|
| - this.authTotalTime_ = 0;
|
| - /** @private {string} */
|
| - this.hostVersion_ = '';
|
| - /** @private */
|
| - this.logEntryMode_ = remoting.ServerLogEntry.VALUE_MODE_UNKNOWN;
|
| -
|
| - this.setSessionId_();
|
| - signalStrategy.sendConnectionSetupResults(this);
|
| -};
|
| -
|
| -// Constants used for generating a session ID.
|
| -/** @private */
|
| -remoting.LogToServer.SESSION_ID_ALPHABET_ =
|
| - 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
|
| -/** @private */
|
| -remoting.LogToServer.SESSION_ID_LEN_ = 20;
|
| -
|
| -// The maximum age of a session ID, in milliseconds.
|
| -remoting.LogToServer.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.LogToServer.CONNECTION_STATS_ACCUMULATE_TIME = 60 * 1000;
|
| -
|
| -/**
|
| - * Logs a client session state change.
|
| - *
|
| - * @param {remoting.ClientSession.State} state
|
| - * @param {!remoting.Error} connectionError
|
| - */
|
| -remoting.LogToServer.prototype.logClientSessionStateChange =
|
| - function(state, connectionError) {
|
| - this.maybeExpireSessionId_();
|
| - // Log the session state change.
|
| - var entry = remoting.ServerLogEntry.makeClientSessionStateChange(
|
| - state, connectionError, this.logEntryMode_);
|
| - entry.addClientOSFields();
|
| - entry.addChromeVersionField();
|
| - entry.addWebappVersionField();
|
| - entry.addSessionIdField(this.sessionId_);
|
| - this.log_(entry);
|
| - // Don't accumulate connection statistics across state changes.
|
| - this.logAccumulatedStatistics_();
|
| - this.statsAccumulator_.empty();
|
| - // Maybe clear the session ID.
|
| - if (remoting.LogToServer.isEndOfSession_(state)) {
|
| - this.clearSessionId_();
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * Set the connection type (direct, stun relay).
|
| - *
|
| - * @param {string} connectionType
|
| - */
|
| -remoting.LogToServer.prototype.setConnectionType = function(connectionType) {
|
| - this.connectionType_ = connectionType;
|
| -};
|
| -
|
| -/**
|
| - * @param {string} mode String indicating the connection mode. This should be
|
| - * one of the remoting.ServerLogEntry.VALUE_MODE_* values.
|
| - */
|
| -remoting.LogToServer.prototype.setLogEntryMode = function(mode) {
|
| - this.logEntryMode_ = mode;
|
| -}
|
| -
|
| -/**
|
| - * @param {remoting.SignalStrategy.Type} strategyType
|
| - * @param {remoting.FallbackSignalStrategy.Progress} progress
|
| - */
|
| -remoting.LogToServer.prototype.logSignalStrategyProgress =
|
| - function(strategyType, progress) {
|
| - this.maybeExpireSessionId_();
|
| - var entry = remoting.ServerLogEntry.makeSignalStrategyProgress(
|
| - this.sessionId_, strategyType, progress);
|
| - this.log_(entry);
|
| -};
|
| -
|
| -/**
|
| - * Whether a session state is one of the states that occurs at the start of
|
| - * a session.
|
| - *
|
| - * @private
|
| - * @param {remoting.ClientSession.State} state
|
| - * @return {boolean}
|
| - */
|
| -remoting.LogToServer.isStartOfSession_ = function(state) {
|
| - return ((state == remoting.ClientSession.State.CONNECTING) ||
|
| - (state == remoting.ClientSession.State.INITIALIZING) ||
|
| - (state == remoting.ClientSession.State.AUTHENTICATED) ||
|
| - (state == remoting.ClientSession.State.CONNECTED));
|
| -};
|
| -
|
| -/**
|
| - * Whether a session state is one of the states that occurs at the end of
|
| - * a session.
|
| - *
|
| - * @private
|
| - * @param {remoting.ClientSession.State} state
|
| - * @return {boolean}
|
| - */
|
| -remoting.LogToServer.isEndOfSession_ = function(state) {
|
| - return ((state == remoting.ClientSession.State.CLOSED) ||
|
| - (state == remoting.ClientSession.State.FAILED) ||
|
| - (state == remoting.ClientSession.State.CONNECTION_DROPPED) ||
|
| - (state == remoting.ClientSession.State.CONNECTION_CANCELED));
|
| -};
|
| -
|
| -
|
| -/**
|
| - * Logs connection statistics.
|
| - * @param {Object<string, number>} stats The connection statistics
|
| - */
|
| -remoting.LogToServer.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.LogToServer.CONNECTION_STATS_ACCUMULATE_TIME) {
|
| - this.logAccumulatedStatistics_();
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * 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.LogToServer.prototype.logAccumulatedStatistics_ = function() {
|
| - var entry = remoting.ServerLogEntry.makeStats(this.statsAccumulator_,
|
| - this.connectionType_,
|
| - this.logEntryMode_);
|
| - if (entry) {
|
| - entry.addClientOSFields();
|
| - entry.addChromeVersionField();
|
| - entry.addWebappVersionField();
|
| - entry.addSessionIdField(this.sessionId_);
|
| - this.log_(entry);
|
| - }
|
| - this.statsAccumulator_.empty();
|
| -};
|
| -
|
| -/**
|
| - * Sends a log entry to the server.
|
| - *
|
| - * @private
|
| - * @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.
|
| - // Exclude time taken for authorization.
|
| - var sessionDurationInSeconds =
|
| - (new Date().getTime() - this.sessionStartTime_ -
|
| - this.authTotalTime_) / 1000.0;
|
| - entry.addSessionDuration(sessionDurationInSeconds);
|
| - entry.addApplicationId();
|
| - // The host-version will be blank for logs before a session has been created.
|
| - // For example, the signal-strategy log-entries won't have host version info.
|
| - entry.addHostVersion(this.hostVersion_);
|
| -
|
| - // Send the stanza to the debug log.
|
| - console.log('Enqueueing log entry:');
|
| - entry.toDebugLog(1);
|
| -
|
| - var stanza = '<cli:iq to="' + remoting.settings.DIRECTORY_BOT_JID + '" ' +
|
| - 'type="set" xmlns:cli="jabber:client">' +
|
| - '<gr:log xmlns:gr="google:remoting">' +
|
| - entry.toStanza() +
|
| - '</gr:log>' +
|
| - '</cli:iq>';
|
| - this.signalStrategy_.sendMessage(stanza);
|
| -};
|
| -
|
| -/**
|
| - * Sets the session ID to a random string.
|
| - *
|
| - * @private
|
| - */
|
| -remoting.LogToServer.prototype.setSessionId_ = function() {
|
| - this.sessionId_ = remoting.LogToServer.generateSessionId_();
|
| - this.sessionIdGenerationTime_ = new Date().getTime();
|
| -};
|
| -
|
| -/**
|
| - * Clears the session ID.
|
| - *
|
| - * @private
|
| - */
|
| -remoting.LogToServer.prototype.clearSessionId_ = function() {
|
| - this.sessionId_ = '';
|
| - this.sessionIdGenerationTime_ = 0;
|
| -};
|
| -
|
| -/**
|
| - * Sets a new session ID, if the current session ID has reached its maximum age.
|
| - *
|
| - * This method also logs the old and new session IDs to the server, in separate
|
| - * log entries.
|
| - *
|
| - * @private
|
| - */
|
| -remoting.LogToServer.prototype.maybeExpireSessionId_ = function() {
|
| - if ((this.sessionId_ != '') &&
|
| - (new Date().getTime() - this.sessionIdGenerationTime_ >=
|
| - remoting.LogToServer.MAX_SESSION_ID_AGE)) {
|
| - // Log the old session ID.
|
| - var entry = remoting.ServerLogEntry.makeSessionIdOld(this.sessionId_,
|
| - this.logEntryMode_);
|
| - this.log_(entry);
|
| - // Generate a new session ID.
|
| - this.setSessionId_();
|
| - // Log the new session ID.
|
| - entry = remoting.ServerLogEntry.makeSessionIdNew(this.sessionId_,
|
| - this.logEntryMode_);
|
| - this.log_(entry);
|
| - }
|
| -};
|
| -
|
| -/**
|
| - * Generates a string that can be used as a session ID.
|
| - *
|
| - * @private
|
| - * @return {string} a session ID
|
| - */
|
| -remoting.LogToServer.generateSessionId_ = function() {
|
| - var idArray = [];
|
| - for (var i = 0; i < remoting.LogToServer.SESSION_ID_LEN_; i++) {
|
| - var index =
|
| - Math.random() * remoting.LogToServer.SESSION_ID_ALPHABET_.length;
|
| - idArray.push(
|
| - remoting.LogToServer.SESSION_ID_ALPHABET_.slice(index, index + 1));
|
| - }
|
| - return idArray.join('');
|
| -};
|
| -
|
| -/**
|
| - * @param {number} totalTime The value of time taken to complete authorization.
|
| - * @return {void} Nothing.
|
| - */
|
| -remoting.LogToServer.prototype.setAuthTotalTime = function(totalTime) {
|
| - this.authTotalTime_ = totalTime;
|
| -};
|
| -
|
| -/**
|
| - * @param {string} hostVersion Version of the host for current session.
|
| - * @return {void} Nothing.
|
| - */
|
| -remoting.LogToServer.prototype.setHostVersion = function(hostVersion) {
|
| - this.hostVersion_ = hostVersion;
|
| -};
|
| -
|
|
|