| Index: webrtc/tools/loopback_test/stat_tracker.js
|
| diff --git a/webrtc/tools/loopback_test/stat_tracker.js b/webrtc/tools/loopback_test/stat_tracker.js
|
| deleted file mode 100644
|
| index 49f46c39f68b30d955078c101c49ef4479533014..0000000000000000000000000000000000000000
|
| --- a/webrtc/tools/loopback_test/stat_tracker.js
|
| +++ /dev/null
|
| @@ -1,94 +0,0 @@
|
| -/**
|
| - * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -// StatTracker is a helper class to keep track of stats on a RTCPeerConnection
|
| -// object. It uses google visualization datatables to keep the recorded samples
|
| -// and simplify plugging them into graphs later.
|
| -//
|
| -// Usage example:
|
| -// var tracker = new StatTracker(pc, pollInterval);
|
| -// tracker.recordStat("EstimatedSendBitrate",
|
| -// "bweforvideo", "googAvailableSendBandwidth");
|
| -// ...
|
| -// tracker.stop();
|
| -// tracker.dataTable(); // returns the recorded values. In this case
|
| -// a table with 2 columns { Time, EstimatedSendBitrate } and a row for each
|
| -// sample taken until stop() was called.
|
| -//
|
| -function StatTracker(pc, pollInterval) {
|
| - pollInterval = pollInterval || 250;
|
| -
|
| - var dataTable = new google.visualization.DataTable();
|
| - var timeColumnIndex = dataTable.addColumn('datetime', 'Time');
|
| - var recording = true;
|
| -
|
| - // Set of sampling functions. Functions registered here are called
|
| - // once per getStats with the given report and a rowIndex for the
|
| - // sample period so they can extract and record the tracked variables.
|
| - var samplingFunctions = {};
|
| -
|
| - // Accessor to the current recorded stats.
|
| - this.dataTable = function() { return dataTable; }
|
| -
|
| - // recordStat(varName, recordName, statName) adds a samplingFunction that
|
| - // records namedItem(recordName).stat(statName) from RTCStatsReport for each
|
| - // sample into a column named varName in the dataTable.
|
| - this.recordStat = function (varName, recordName, statName) {
|
| - var columnIndex = dataTable.addColumn('number', varName);
|
| - samplingFunctions[varName] = function (report, rowIndex) {
|
| - var sample;
|
| - var record = report.namedItem(recordName);
|
| - if (record) sample = record.stat(statName);
|
| - dataTable.setCell(rowIndex, columnIndex, sample);
|
| - }
|
| - }
|
| -
|
| - // Stops the polling of stats from the peer connection.
|
| - this.stop = function() {
|
| - recording = false;
|
| - }
|
| -
|
| - // RTCPeerConnection.getStats is asynchronous. In order to avoid having
|
| - // too many pending getStats requests going, this code only queues the
|
| - // next getStats with setTimeout after the previous one returns, instead
|
| - // of using setInterval.
|
| - function poll() {
|
| - pc.getStats(function (report) {
|
| - if (!recording) return;
|
| - setTimeout(poll, pollInterval);
|
| - var result = report.result();
|
| - if (result.length < 1) return;
|
| -
|
| - var rowIndex = dataTable.addRow();
|
| - dataTable.setCell(rowIndex, timeColumnIndex, result[0].timestamp);
|
| - for (var v in samplingFunctions)
|
| - samplingFunctions[v](report, rowIndex);
|
| - });
|
| - }
|
| - setTimeout(poll, pollInterval);
|
| -}
|
| -
|
| -/**
|
| - * Utility method to perform a full join between data tables from StatTracker.
|
| - */
|
| -function mergeDataTable(dataTable1, dataTable2) {
|
| - function allColumns(cols) {
|
| - var a = [];
|
| - for (var i = 1; i < cols; ++i) a.push(i);
|
| - return a;
|
| - }
|
| - return google.visualization.data.join(
|
| - dataTable1,
|
| - dataTable2,
|
| - 'full',
|
| - [[0, 0]],
|
| - allColumns(dataTable1.getNumberOfColumns()),
|
| - allColumns(dataTable2.getNumberOfColumns()));
|
| -}
|
|
|