blob: a070ba38c466f24eeaaefe66d19e42f862c047f3 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2016 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.
-->
<link rel="import" href="/tracing/base/statistics.html">
<link rel="import" href="/tracing/metrics/metric_registry.html">
<link rel="import" href="/tracing/value/histogram.html">
<script>
'use strict';
tr.exportTo('tr.metrics.sh', function() {
function scrollPowerMetric(values, model) {
if (!model.device.powerSeries)
return;
var timeHist = new tr.v.Histogram('time:scroll',
tr.b.Unit.byName.timeDurationInMs_smallerIsBetter)
timeHist.description = 'Time spent in scrolling';
var energyHist = new tr.v.Histogram('energy:scroll',
tr.b.Unit.byName.energyInJoules_smallerIsBetter)
energyHist.description = 'Energy consumed by scrolling';
var powerHist = new tr.v.Histogram('power:scroll',
tr.b.Unit.byName.powerInWatts_smallerIsBetter)
powerHist.description = 'Energy consumption rate in scrolling';
timeHist.customizeSummaryOptions({
avg: false,
count: false,
max: true,
min: true,
std: false,
sum: true,
});
energyHist.customizeSummaryOptions({
avg: false,
count: false,
max: true,
min: true,
std: false,
sum: true,
});
powerHist.customizeSummaryOptions({
avg: true,
count: false,
max: true,
min: true,
std: false,
sum: false,
});
for (var exp of model.userModel.expectations) {
if (exp.title.indexOf("Scroll") !== -1) {
var durationInMs = exp.duration;
var durationInS = tr.b.convertUnit(durationInMs,
tr.b.UnitScale.Metric.MILLI, tr.b.UnitScale.Metric.NONE);
var energyInJ = model.device.powerSeries.getEnergyConsumedInJ(
exp.start, exp.end);
var powerInW = energyInJ / durationInS;
timeHist.addSample(durationInMs);
energyHist.addSample(energyInJ);
powerHist.addSample(powerInW);
}
}
values.addHistogram(timeHist);
values.addHistogram(energyHist);
values.addHistogram(powerHist);
}
tr.metrics.MetricRegistry.register(scrollPowerMetric);
return {
scrollPowerMetric: scrollPowerMetric
};
});
</script>