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

Unified Diff: tracing/tracing/extras/importer/battor_importer.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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
Index: tracing/tracing/extras/importer/battor_importer.html
diff --git a/tracing/tracing/extras/importer/battor_importer.html b/tracing/tracing/extras/importer/battor_importer.html
index 381bf0f86872c86e3ac014ddec1ba372ce689b16..8dfc999cb2f3ba281f104d223a3ba5343fdb4d0f 100644
--- a/tracing/tracing/extras/importer/battor_importer.html
+++ b/tracing/tracing/extras/importer/battor_importer.html
@@ -27,7 +27,13 @@ tr.exportTo('tr.e.importer.battor', function() {
function BattorImporter(model, events) {
this.importPriority = 3; // runs after the linux_perf importer
this.model_ = model;
- this.samples_ = this.linesToSamples_(events.split('\n'));
+
+ // The list of power samples contained within the trace.
+ this.samples_ = [];
+ // The clock sync markers contained within the trace.
+ this.syncTimestampsById_ = new Map();
+
+ this.parseTrace_(events);
}
var battorDataLineRE = new RegExp(
@@ -61,20 +67,17 @@ tr.exportTo('tr.e.importer.battor', function() {
},
/**
- * Imports clock sync markers in this.events_ into model_.
+ * Imports clock sync markers from the trace into into this.model_.
*/
importClockSyncMarkers: function() {
- for (var i = 0; i < this.samples_.length; i++) {
- var sample = this.samples_[i];
- if (sample.syncId) {
- this.model_.clockSyncManager.addClockSyncMarker(
- tr.model.ClockDomainId.BATTOR, sample.syncId, sample.ts);
- }
+ for (var [syncId, ts] of this.syncTimestampsById_) {
+ this.model_.clockSyncManager.addClockSyncMarker(
+ tr.model.ClockDomainId.BATTOR, syncId, ts);
}
},
/**
- * Imports the data in this.events_ into model_.
+ * Imports the events from the trace into this.model_.
*/
importEvents: function() {
if (this.model_.device.powerSeries) {
@@ -99,14 +102,13 @@ tr.exportTo('tr.e.importer.battor', function() {
},
/**
- * Given an array of strings that make up the lines of a BattOr trace,
- * returns an array of samples contained within those lines.
+ * Given the BattOr trace as a string, parse it and store the results in
+ * this.samples_ and this.syncTimestampsById_.
*/
- linesToSamples_: function(lines) {
- var samples = [];
+ parseTrace_: function(trace) {
+ var lines = trace.split('\n');
- for (var i = 0; i < lines.length; i++) {
- var line = lines[i];
+ for (var line of lines) {
line = line.trim();
if (line.length === 0)
@@ -130,6 +132,9 @@ tr.exportTo('tr.e.importer.battor', function() {
var current = parseFloat(groups[3]) / 1000;
var syncId = groups[4];
+ if (syncId)
+ this.syncTimestampsById_.set(syncId, ts);
+
if (voltage < 0 || current < 0) {
this.model_.importWarning({
type: 'parse_error',
@@ -141,10 +146,8 @@ tr.exportTo('tr.e.importer.battor', function() {
continue;
}
- samples.push(new Sample(ts, voltage, current, syncId));
+ this.samples_.push(new Sample(ts, voltage, current));
}
-
- return samples;
}
};
@@ -154,16 +157,13 @@ tr.exportTo('tr.e.importer.battor', function() {
* @param {number} ts The timestamp (in milliseconds) of the sample.
* @param {number} voltage The voltage (in volts) at the specified time.
* @param {number} current The current (in amps) at the specified time.
- * @param {string=} opt_syncId The sync ID of the sync that happened at this
- * sample.
*
* @constructor
*/
- function Sample(ts, voltage, current, opt_syncId) {
+ function Sample(ts, voltage, current) {
this.ts = ts;
this.voltage = voltage;
this.current = current;
- this.syncId = opt_syncId;
}
Sample.prototype = {
@@ -174,7 +174,7 @@ tr.exportTo('tr.e.importer.battor', function() {
tr.importer.Importer.register(BattorImporter);
return {
- BattorImporter: BattorImporter,
+ BattorImporter: BattorImporter
};
});
« no previous file with comments | « tracing/tracing/extras/chrome/chrome_test_utils.html ('k') | tracing/tracing/extras/importer/battor_importer_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698