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

Side by Side Diff: remoting/webapp/crd/js/server_log_entry.js

Issue 855003008: Log signal strategy progress to server. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 11 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 unified diff | Download patch
« no previous file with comments | « remoting/webapp/crd/js/log_to_server.js ('k') | remoting/webapp/crd/js/signal_strategy.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * A class of server log entries. 7 * A class of server log entries.
8 * 8 *
9 * Any changes to the values here need to be coordinated with the host and 9 * Any changes to the values here need to be coordinated with the host and
10 * server/log proto code. 10 * server/log proto code.
(...skipping 11 matching lines...) Expand all
22 */ 22 */
23 remoting.ServerLogEntry = function() { 23 remoting.ServerLogEntry = function() {
24 /** @type Object.<string, string> */ this.dict = {}; 24 /** @type Object.<string, string> */ this.dict = {};
25 }; 25 };
26 26
27 /** @private */ 27 /** @private */
28 remoting.ServerLogEntry.KEY_EVENT_NAME_ = 'event-name'; 28 remoting.ServerLogEntry.KEY_EVENT_NAME_ = 'event-name';
29 /** @private */ 29 /** @private */
30 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_STATE_ = 'session-state'; 30 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_STATE_ = 'session-state';
31 /** @private */ 31 /** @private */
32 remoting.ServerLogEntry.VALUE_EVENT_NAME_SIGNAL_STRATEGY_PROGRESS_ =
33 'signal-strategy-progress';
34 /** @private */
32 remoting.ServerLogEntry.KEY_SESSION_ID_ = 'session-id'; 35 remoting.ServerLogEntry.KEY_SESSION_ID_ = 'session-id';
33 /** @private */ 36 /** @private */
34 remoting.ServerLogEntry.KEY_ROLE_ = 'role'; 37 remoting.ServerLogEntry.KEY_ROLE_ = 'role';
35 /** @private */ 38 /** @private */
36 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_ = 'client'; 39 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_ = 'client';
37 /** @private */ 40 /** @private */
38 remoting.ServerLogEntry.KEY_SESSION_STATE_ = 'session-state'; 41 remoting.ServerLogEntry.KEY_SESSION_STATE_ = 'session-state';
39 /** @private */ 42 /** @private */
40 remoting.ServerLogEntry.KEY_CONNECTION_TYPE_ = 'connection-type'; 43 remoting.ServerLogEntry.KEY_CONNECTION_TYPE_ = 'connection-type';
44 /** @private */
45 remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_TYPE_ = 'signal-strategy-type';
46 /** @private */
47 remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_PROGRESS_ =
48 'signal-strategy-progress';
49 /** @private */
50 remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_ELAPSED_TIME_ =
51 'signal-strategy-elapsed-time';
41 52
42 /** 53 /**
43 * @private 54 * @private
44 * @param {remoting.ClientSession.State} state 55 * @param {remoting.ClientSession.State} state
45 * @return {string} 56 * @return {string}
46 */ 57 */
47 remoting.ServerLogEntry.getValueForSessionState = function(state) { 58 remoting.ServerLogEntry.getValueForSessionState_ = function(state) {
48 switch(state) { 59 switch(state) {
49 case remoting.ClientSession.State.UNKNOWN: 60 case remoting.ClientSession.State.UNKNOWN:
50 return 'unknown'; 61 return 'unknown';
51 case remoting.ClientSession.State.CREATED: 62 case remoting.ClientSession.State.CREATED:
52 return 'created'; 63 return 'created';
53 case remoting.ClientSession.State.CONNECTING: 64 case remoting.ClientSession.State.CONNECTING:
54 return 'connecting'; 65 return 'connecting';
55 case remoting.ClientSession.State.INITIALIZING: 66 case remoting.ClientSession.State.INITIALIZING:
56 return 'initializing'; 67 return 'initializing';
57 case remoting.ClientSession.State.CONNECTED: 68 case remoting.ClientSession.State.CONNECTED:
(...skipping 12 matching lines...) Expand all
70 }; 81 };
71 82
72 /** @private */ 83 /** @private */
73 remoting.ServerLogEntry.KEY_CONNECTION_ERROR_ = 'connection-error'; 84 remoting.ServerLogEntry.KEY_CONNECTION_ERROR_ = 'connection-error';
74 85
75 /** 86 /**
76 * @private 87 * @private
77 * @param {remoting.Error} connectionError 88 * @param {remoting.Error} connectionError
78 * @return {string} 89 * @return {string}
79 */ 90 */
80 remoting.ServerLogEntry.getValueForError = 91 remoting.ServerLogEntry.getValueForError_ = function(connectionError) {
81 function(connectionError) {
82 // Directory service should be updated if a new string is added here as 92 // Directory service should be updated if a new string is added here as
83 // otherwise the error code will be ignored (i.e. recorded as 0 instead). 93 // otherwise the error code will be ignored (i.e. recorded as 0 instead).
84 switch(connectionError) { 94 switch(connectionError) {
85 case remoting.Error.NONE: 95 case remoting.Error.NONE:
86 return 'none'; 96 return 'none';
87 case remoting.Error.INVALID_ACCESS_CODE: 97 case remoting.Error.INVALID_ACCESS_CODE:
88 return 'invalid-access-code'; 98 return 'invalid-access-code';
89 case remoting.Error.MISSING_PLUGIN: 99 case remoting.Error.MISSING_PLUGIN:
90 return 'missing_plugin'; 100 return 'missing_plugin';
91 case remoting.Error.AUTHENTICATION_FAILED: 101 case remoting.Error.AUTHENTICATION_FAILED:
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 /** @private */ 178 /** @private */
169 remoting.ServerLogEntry.VALUE_MODE_UNKNOWN_ = 'unknown'; 179 remoting.ServerLogEntry.VALUE_MODE_UNKNOWN_ = 'unknown';
170 180
171 /** 181 /**
172 * Sets one field in this log entry. 182 * Sets one field in this log entry.
173 * 183 *
174 * @private 184 * @private
175 * @param {string} key 185 * @param {string} key
176 * @param {string} value 186 * @param {string} value
177 */ 187 */
178 remoting.ServerLogEntry.prototype.set = function(key, value) { 188 remoting.ServerLogEntry.prototype.set_ = function(key, value) {
179 this.dict[key] = value; 189 this.dict[key] = value;
180 }; 190 };
181 191
182 /** 192 /**
183 * Converts this object into an XML stanza. 193 * Converts this object into an XML stanza.
184 * 194 *
185 * @return {string} 195 * @return {string}
186 */ 196 */
187 remoting.ServerLogEntry.prototype.toStanza = function() { 197 remoting.ServerLogEntry.prototype.toStanza = function() {
188 var stanza = '<gr:entry '; 198 var stanza = '<gr:entry ';
(...skipping 21 matching lines...) Expand all
210 * Makes a log entry for a change of client session state. 220 * Makes a log entry for a change of client session state.
211 * 221 *
212 * @param {remoting.ClientSession.State} state 222 * @param {remoting.ClientSession.State} state
213 * @param {remoting.Error} connectionError 223 * @param {remoting.Error} connectionError
214 * @param {remoting.ClientSession.Mode} mode 224 * @param {remoting.ClientSession.Mode} mode
215 * @return {remoting.ServerLogEntry} 225 * @return {remoting.ServerLogEntry}
216 */ 226 */
217 remoting.ServerLogEntry.makeClientSessionStateChange = function(state, 227 remoting.ServerLogEntry.makeClientSessionStateChange = function(state,
218 connectionError, mode) { 228 connectionError, mode) {
219 var entry = new remoting.ServerLogEntry(); 229 var entry = new remoting.ServerLogEntry();
220 entry.set(remoting.ServerLogEntry.KEY_ROLE_, 230 entry.set_(remoting.ServerLogEntry.KEY_ROLE_,
221 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_); 231 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_);
222 entry.set(remoting.ServerLogEntry.KEY_EVENT_NAME_, 232 entry.set_(remoting.ServerLogEntry.KEY_EVENT_NAME_,
223 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_STATE_); 233 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_STATE_);
224 entry.set(remoting.ServerLogEntry.KEY_SESSION_STATE_, 234 entry.set_(remoting.ServerLogEntry.KEY_SESSION_STATE_,
225 remoting.ServerLogEntry.getValueForSessionState(state)); 235 remoting.ServerLogEntry.getValueForSessionState_(state));
226 if (connectionError != remoting.Error.NONE) { 236 if (connectionError != remoting.Error.NONE) {
227 entry.set(remoting.ServerLogEntry.KEY_CONNECTION_ERROR_, 237 entry.set_(remoting.ServerLogEntry.KEY_CONNECTION_ERROR_,
228 remoting.ServerLogEntry.getValueForError(connectionError)); 238 remoting.ServerLogEntry.getValueForError_(connectionError));
229 } 239 }
230 entry.addModeField(mode); 240 entry.addModeField(mode);
231 return entry; 241 return entry;
232 }; 242 };
233 243
234 /** 244 /**
235 * Adds a session duration to a log entry. 245 * Adds a session duration to a log entry.
236 * 246 *
237 * @param {number} sessionDuration 247 * @param {number} sessionDuration
238 */ 248 */
239 remoting.ServerLogEntry.prototype.addSessionDurationField = function( 249 remoting.ServerLogEntry.prototype.addSessionDurationField = function(
240 sessionDuration) { 250 sessionDuration) {
241 this.set(remoting.ServerLogEntry.KEY_SESSION_DURATION_, 251 this.set_(remoting.ServerLogEntry.KEY_SESSION_DURATION_,
242 sessionDuration.toString()); 252 sessionDuration.toString());
243 }; 253 };
244 254
245 /** 255 /**
246 * Makes a log entry for a set of connection statistics. 256 * Makes a log entry for a set of connection statistics.
247 * Returns null if all the statistics were zero. 257 * Returns null if all the statistics were zero.
248 * 258 *
249 * @param {remoting.StatsAccumulator} statsAccumulator 259 * @param {remoting.StatsAccumulator} statsAccumulator
250 * @param {string} connectionType 260 * @param {string} connectionType
251 * @param {remoting.ClientSession.Mode} mode 261 * @param {remoting.ClientSession.Mode} mode
252 * @return {?remoting.ServerLogEntry} 262 * @return {?remoting.ServerLogEntry}
253 */ 263 */
254 remoting.ServerLogEntry.makeStats = function(statsAccumulator, 264 remoting.ServerLogEntry.makeStats = function(statsAccumulator,
255 connectionType, 265 connectionType,
256 mode) { 266 mode) {
257 var entry = new remoting.ServerLogEntry(); 267 var entry = new remoting.ServerLogEntry();
258 entry.set(remoting.ServerLogEntry.KEY_ROLE_, 268 entry.set_(remoting.ServerLogEntry.KEY_ROLE_,
259 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_); 269 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_);
260 entry.set(remoting.ServerLogEntry.KEY_EVENT_NAME_, 270 entry.set_(remoting.ServerLogEntry.KEY_EVENT_NAME_,
261 remoting.ServerLogEntry.VALUE_EVENT_NAME_CONNECTION_STATISTICS_); 271 remoting.ServerLogEntry.VALUE_EVENT_NAME_CONNECTION_STATISTICS_);
262 if (connectionType) { 272 if (connectionType) {
263 entry.set(remoting.ServerLogEntry.KEY_CONNECTION_TYPE_, 273 entry.set_(remoting.ServerLogEntry.KEY_CONNECTION_TYPE_,
264 connectionType); 274 connectionType);
265 } 275 }
266 entry.addModeField(mode); 276 entry.addModeField(mode);
267 var nonZero = false; 277 var nonZero = false;
268 nonZero |= entry.addStatsField( 278 nonZero |= entry.addStatsField_(
269 remoting.ServerLogEntry.KEY_VIDEO_BANDWIDTH_, 279 remoting.ServerLogEntry.KEY_VIDEO_BANDWIDTH_,
270 remoting.ClientSession.STATS_KEY_VIDEO_BANDWIDTH, statsAccumulator); 280 remoting.ClientSession.STATS_KEY_VIDEO_BANDWIDTH, statsAccumulator);
271 nonZero |= entry.addStatsField( 281 nonZero |= entry.addStatsField_(
272 remoting.ServerLogEntry.KEY_CAPTURE_LATENCY_, 282 remoting.ServerLogEntry.KEY_CAPTURE_LATENCY_,
273 remoting.ClientSession.STATS_KEY_CAPTURE_LATENCY, statsAccumulator); 283 remoting.ClientSession.STATS_KEY_CAPTURE_LATENCY, statsAccumulator);
274 nonZero |= entry.addStatsField( 284 nonZero |= entry.addStatsField_(
275 remoting.ServerLogEntry.KEY_ENCODE_LATENCY_, 285 remoting.ServerLogEntry.KEY_ENCODE_LATENCY_,
276 remoting.ClientSession.STATS_KEY_ENCODE_LATENCY, statsAccumulator); 286 remoting.ClientSession.STATS_KEY_ENCODE_LATENCY, statsAccumulator);
277 nonZero |= entry.addStatsField( 287 nonZero |= entry.addStatsField_(
278 remoting.ServerLogEntry.KEY_DECODE_LATENCY_, 288 remoting.ServerLogEntry.KEY_DECODE_LATENCY_,
279 remoting.ClientSession.STATS_KEY_DECODE_LATENCY, statsAccumulator); 289 remoting.ClientSession.STATS_KEY_DECODE_LATENCY, statsAccumulator);
280 nonZero |= entry.addStatsField( 290 nonZero |= entry.addStatsField_(
281 remoting.ServerLogEntry.KEY_RENDER_LATENCY_, 291 remoting.ServerLogEntry.KEY_RENDER_LATENCY_,
282 remoting.ClientSession.STATS_KEY_RENDER_LATENCY, statsAccumulator); 292 remoting.ClientSession.STATS_KEY_RENDER_LATENCY, statsAccumulator);
283 nonZero |= entry.addStatsField( 293 nonZero |= entry.addStatsField_(
284 remoting.ServerLogEntry.KEY_ROUNDTRIP_LATENCY_, 294 remoting.ServerLogEntry.KEY_ROUNDTRIP_LATENCY_,
285 remoting.ClientSession.STATS_KEY_ROUNDTRIP_LATENCY, statsAccumulator); 295 remoting.ClientSession.STATS_KEY_ROUNDTRIP_LATENCY, statsAccumulator);
286 if (nonZero) { 296 if (nonZero) {
287 return entry; 297 return entry;
288 } 298 }
289 return null; 299 return null;
290 }; 300 };
291 301
292 /** 302 /**
293 * Adds one connection statistic to a log entry. 303 * Adds one connection statistic to a log entry.
294 * 304 *
295 * @private 305 * @private
296 * @param {string} entryKey 306 * @param {string} entryKey
297 * @param {string} statsKey 307 * @param {string} statsKey
298 * @param {remoting.StatsAccumulator} statsAccumulator 308 * @param {remoting.StatsAccumulator} statsAccumulator
299 * @return {boolean} whether the statistic is non-zero 309 * @return {boolean} whether the statistic is non-zero
300 */ 310 */
301 remoting.ServerLogEntry.prototype.addStatsField = function( 311 remoting.ServerLogEntry.prototype.addStatsField_ = function(
302 entryKey, statsKey, statsAccumulator) { 312 entryKey, statsKey, statsAccumulator) {
303 var val = statsAccumulator.calcMean(statsKey); 313 var val = statsAccumulator.calcMean(statsKey);
304 this.set(entryKey, val.toFixed(2)); 314 this.set_(entryKey, val.toFixed(2));
305 return (val != 0); 315 return (val != 0);
306 }; 316 };
307 317
308 /** 318 /**
309 * Makes a log entry for a "this session ID is old" event. 319 * Makes a log entry for a "this session ID is old" event.
310 * 320 *
311 * @param {string} sessionId 321 * @param {string} sessionId
312 * @param {remoting.ClientSession.Mode} mode 322 * @param {remoting.ClientSession.Mode} mode
313 * @return {remoting.ServerLogEntry} 323 * @return {remoting.ServerLogEntry}
314 */ 324 */
315 remoting.ServerLogEntry.makeSessionIdOld = function(sessionId, mode) { 325 remoting.ServerLogEntry.makeSessionIdOld = function(sessionId, mode) {
316 var entry = new remoting.ServerLogEntry(); 326 var entry = new remoting.ServerLogEntry();
317 entry.set(remoting.ServerLogEntry.KEY_ROLE_, 327 entry.set_(remoting.ServerLogEntry.KEY_ROLE_,
318 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_); 328 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_);
319 entry.set(remoting.ServerLogEntry.KEY_EVENT_NAME_, 329 entry.set_(remoting.ServerLogEntry.KEY_EVENT_NAME_,
320 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_ID_OLD_); 330 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_ID_OLD_);
321 entry.addSessionIdField(sessionId); 331 entry.addSessionIdField(sessionId);
322 entry.addModeField(mode); 332 entry.addModeField(mode);
323 return entry; 333 return entry;
324 }; 334 };
325 335
326 /** 336 /**
327 * Makes a log entry for a "this session ID is new" event. 337 * Makes a log entry for a "this session ID is new" event.
328 * 338 *
329 * @param {string} sessionId 339 * @param {string} sessionId
330 * @param {remoting.ClientSession.Mode} mode 340 * @param {remoting.ClientSession.Mode} mode
331 * @return {remoting.ServerLogEntry} 341 * @return {remoting.ServerLogEntry}
332 */ 342 */
333 remoting.ServerLogEntry.makeSessionIdNew = function(sessionId, mode) { 343 remoting.ServerLogEntry.makeSessionIdNew = function(sessionId, mode) {
334 var entry = new remoting.ServerLogEntry(); 344 var entry = new remoting.ServerLogEntry();
335 entry.set(remoting.ServerLogEntry.KEY_ROLE_, 345 entry.set_(remoting.ServerLogEntry.KEY_ROLE_,
336 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_); 346 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_);
337 entry.set(remoting.ServerLogEntry.KEY_EVENT_NAME_, 347 entry.set_(remoting.ServerLogEntry.KEY_EVENT_NAME_,
338 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_ID_NEW_); 348 remoting.ServerLogEntry.VALUE_EVENT_NAME_SESSION_ID_NEW_);
339 entry.addSessionIdField(sessionId); 349 entry.addSessionIdField(sessionId);
340 entry.addModeField(mode); 350 entry.addModeField(mode);
341 return entry; 351 return entry;
342 }; 352 };
343 353
344 /** 354 /**
355 * Makes a log entry for a "signal strategy fallback" event.
356 *
357 * @param {string} sessionId
358 * @param {remoting.SignalStrategy.Type} strategyType
359 * @param {remoting.FallbackSignalStrategy.Progress} progress
360 * @param {number} elapsedTimeInMs
361 * @return {remoting.ServerLogEntry}
362 */
363 remoting.ServerLogEntry.makeSignalStrategyProgress =
364 function(sessionId, strategyType, progress, elapsedTimeInMs) {
365 var entry = new remoting.ServerLogEntry();
366 entry.set_(remoting.ServerLogEntry.KEY_ROLE_,
367 remoting.ServerLogEntry.VALUE_ROLE_CLIENT_);
368 entry.set_(
369 remoting.ServerLogEntry.KEY_EVENT_NAME_,
370 remoting.ServerLogEntry.VALUE_EVENT_NAME_SIGNAL_STRATEGY_PROGRESS_);
371 entry.addSessionIdField(sessionId);
372 entry.set_(remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_TYPE_, strategyType);
373 entry.set_(remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_PROGRESS_, progress);
374 entry.set_(remoting.ServerLogEntry.KEY_SIGNAL_STRATEGY_ELAPSED_TIME_,
375 String(elapsedTimeInMs));
376
377 return entry;
378 };
379
380 /**
345 * Adds a session ID field to this log entry. 381 * Adds a session ID field to this log entry.
346 * 382 *
347 * @param {string} sessionId 383 * @param {string} sessionId
348 */ 384 */
349 remoting.ServerLogEntry.prototype.addSessionIdField = function(sessionId) { 385 remoting.ServerLogEntry.prototype.addSessionIdField = function(sessionId) {
350 this.set(remoting.ServerLogEntry.KEY_SESSION_ID_, sessionId); 386 this.set_(remoting.ServerLogEntry.KEY_SESSION_ID_, sessionId);
351 } 387 }
352 388
353 /** 389 /**
354 * Adds fields describing the host to this log entry. 390 * Adds fields describing the host to this log entry.
355 */ 391 */
356 remoting.ServerLogEntry.prototype.addHostFields = function() { 392 remoting.ServerLogEntry.prototype.addHostFields = function() {
357 var host = remoting.ServerLogEntry.getHostData(); 393 var host = remoting.ServerLogEntry.getHostData_();
358 if (host) { 394 if (host) {
359 if (host.os_name.length > 0) { 395 if (host.os_name.length > 0) {
360 this.set(remoting.ServerLogEntry.KEY_OS_NAME_, host.os_name); 396 this.set_(remoting.ServerLogEntry.KEY_OS_NAME_, host.os_name);
361 } 397 }
362 if (host.os_version.length > 0) { 398 if (host.os_version.length > 0) {
363 this.set(remoting.ServerLogEntry.KEY_OS_VERSION_, host.os_version); 399 this.set_(remoting.ServerLogEntry.KEY_OS_VERSION_, host.os_version);
364 } 400 }
365 if (host.cpu.length > 0) { 401 if (host.cpu.length > 0) {
366 this.set(remoting.ServerLogEntry.KEY_CPU_, host.cpu); 402 this.set_(remoting.ServerLogEntry.KEY_CPU_, host.cpu);
367 } 403 }
368 } 404 }
369 }; 405 };
370 406
371 /** 407 /**
372 * Extracts host data from the userAgent string. 408 * Extracts host data from the userAgent string.
373 * 409 *
374 * @private 410 * @private
375 * @return {{os_name:string, os_version:string, cpu:string} | null} 411 * @return {{os_name:string, os_version:string, cpu:string} | null}
376 */ 412 */
377 remoting.ServerLogEntry.getHostData = function() { 413 remoting.ServerLogEntry.getHostData_ = function() {
378 return remoting.ServerLogEntry.extractHostDataFrom(navigator.userAgent); 414 return remoting.ServerLogEntry.extractHostDataFrom_(navigator.userAgent);
379 }; 415 };
380 416
381 /** 417 /**
382 * Extracts host data from the given userAgent string. 418 * Extracts host data from the given userAgent string.
383 * 419 *
384 * @private 420 * @private
385 * @param {string} s 421 * @param {string} s
386 * @return {{os_name:string, os_version:string, cpu:string} | null} 422 * @return {{os_name:string, os_version:string, cpu:string} | null}
387 */ 423 */
388 remoting.ServerLogEntry.extractHostDataFrom = function(s) { 424 remoting.ServerLogEntry.extractHostDataFrom_ = function(s) {
389 // Sample userAgent strings: 425 // Sample userAgent strings:
390 // 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 ' + 426 // 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 ' +
391 // '(KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2' 427 // '(KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2'
392 // 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.8 ' + 428 // 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.8 ' +
393 // '(KHTML, like Gecko) Chrome/17.0.933.0 Safari/535.8' 429 // '(KHTML, like Gecko) Chrome/17.0.933.0 Safari/535.8'
394 // 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 ' + 430 // 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 ' +
395 // '(KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1' 431 // '(KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1'
396 // 'Mozilla/5.0 (X11; CrOS i686 14.811.154) AppleWebKit/535.1 ' + 432 // 'Mozilla/5.0 (X11; CrOS i686 14.811.154) AppleWebKit/535.1 ' +
397 // '(KHTML, like Gecko) Chrome/14.0.835.204 Safari/535.1' 433 // '(KHTML, like Gecko) Chrome/14.0.835.204 Safari/535.1'
398 var match = new RegExp('Windows NT ([0-9\\.]*)').exec(s); 434 var match = new RegExp('Windows NT ([0-9\\.]*)').exec(s);
(...skipping 30 matching lines...) Expand all
429 } 465 }
430 return null; 466 return null;
431 }; 467 };
432 468
433 /** 469 /**
434 * Adds a field specifying the browser version to this log entry. 470 * Adds a field specifying the browser version to this log entry.
435 */ 471 */
436 remoting.ServerLogEntry.prototype.addChromeVersionField = function() { 472 remoting.ServerLogEntry.prototype.addChromeVersionField = function() {
437 var version = remoting.getChromeVersion(); 473 var version = remoting.getChromeVersion();
438 if (version != null) { 474 if (version != null) {
439 this.set(remoting.ServerLogEntry.KEY_BROWSER_VERSION_, version); 475 this.set_(remoting.ServerLogEntry.KEY_BROWSER_VERSION_, version);
440 } 476 }
441 }; 477 };
442 478
443 /** 479 /**
444 * Adds a field specifying the webapp version to this log entry. 480 * Adds a field specifying the webapp version to this log entry.
445 */ 481 */
446 remoting.ServerLogEntry.prototype.addWebappVersionField = function() { 482 remoting.ServerLogEntry.prototype.addWebappVersionField = function() {
447 var manifest = chrome.runtime.getManifest(); 483 var manifest = chrome.runtime.getManifest();
448 if (manifest && manifest.version) { 484 if (manifest && manifest.version) {
449 this.set(remoting.ServerLogEntry.KEY_WEBAPP_VERSION_, manifest.version); 485 this.set_(remoting.ServerLogEntry.KEY_WEBAPP_VERSION_, manifest.version);
450 } 486 }
451 }; 487 };
452 488
453 /** 489 /**
454 * Adds a field specifying the mode to this log entry. 490 * Adds a field specifying the mode to this log entry.
455 * 491 *
456 * @param {remoting.ClientSession.Mode} mode 492 * @param {remoting.ClientSession.Mode} mode
457 */ 493 */
458 remoting.ServerLogEntry.prototype.addModeField = function(mode) { 494 remoting.ServerLogEntry.prototype.addModeField = function(mode) {
459 this.set(remoting.ServerLogEntry.KEY_MODE_, 495 this.set_(remoting.ServerLogEntry.KEY_MODE_,
460 remoting.ServerLogEntry.getModeField(mode)); 496 remoting.ServerLogEntry.getModeField_(mode));
461 }; 497 };
462 498
463 /** 499 /**
464 * Gets the value of the mode field to be put in a log entry. 500 * Gets the value of the mode field to be put in a log entry.
465 * 501 *
466 * @private 502 * @private
467 * @param {remoting.ClientSession.Mode} mode 503 * @param {remoting.ClientSession.Mode} mode
468 * @return {string} 504 * @return {string}
469 */ 505 */
470 remoting.ServerLogEntry.getModeField = function(mode) { 506 remoting.ServerLogEntry.getModeField_ = function(mode) {
471 switch(mode) { 507 switch(mode) {
472 case remoting.ClientSession.Mode.IT2ME: 508 case remoting.ClientSession.Mode.IT2ME:
473 return remoting.ServerLogEntry.VALUE_MODE_IT2ME_; 509 return remoting.ServerLogEntry.VALUE_MODE_IT2ME_;
474 case remoting.ClientSession.Mode.ME2ME: 510 case remoting.ClientSession.Mode.ME2ME:
475 return remoting.ServerLogEntry.VALUE_MODE_ME2ME_; 511 return remoting.ServerLogEntry.VALUE_MODE_ME2ME_;
476 case remoting.ClientSession.Mode.APP_REMOTING: 512 case remoting.ClientSession.Mode.APP_REMOTING:
477 return remoting.ServerLogEntry.VALUE_MODE_APP_REMOTING_; 513 return remoting.ServerLogEntry.VALUE_MODE_APP_REMOTING_;
478 default: 514 default:
479 return remoting.ServerLogEntry.VALUE_MODE_UNKNOWN_; 515 return remoting.ServerLogEntry.VALUE_MODE_UNKNOWN_;
480 } 516 }
481 }; 517 };
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/log_to_server.js ('k') | remoting/webapp/crd/js/signal_strategy.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698