blob: 81463859280d7bc0b25c7dccf866defe7b9db567 [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/base.html">
<script>
'use strict';
tr.exportTo('tr.v', function() {
// This information is used to convert results from chart-json format to
// Histograms.
// Improvement directions are copied from
// telemetry/telemetry/value/unit-info.json
// but can be overridden by 'improvement_direction' in chart-json.
const LEGACY_UNIT_INFO = new Map();
LEGACY_UNIT_INFO.set('%', {
name: 'normalizedPercentage',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.DONT_CARE,
});
LEGACY_UNIT_INFO.set('Celsius', {
name: 'unitlessNumber',
// Colder machines are faster.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('Hz', {
name: 'unitlessNumber',
// Higher frequencies are faster.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('KB', {
name: 'sizeInBytes',
conversionFactor: 1024,
// Less memory usage is better.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('MB', {
name: 'sizeInBytes',
conversionFactor: 1024 * 1024,
// Less memory usage is better.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('ObjectsAt30FPS', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('available_kB', {
name: 'sizeInBytes',
conversionFactor: 1024,
// More memory available is better.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('bit/s', {
name: 'unitlessNumber',
// TODO(benjhayden): Which metrics use this? It's the opposite direction
// from 'chars/s'.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('bytes', {
name: 'sizeInBytes',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('chars/s', {
name: 'unitlessNumber',
// TODO(benjhayden): Which metrics use this? It's the opposite direction
// from 'bit/s'.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('commit_count', {
name: 'count',
// layer_tree_host_perftest
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('count', {
name: 'count',
// Processes
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('coverage%', {
name: 'normalizedPercentage',
// Used in alloy-perf-test/cts%/passed.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('dB', {
name: 'unitlessNumber',
// Decibels peak signal-to-noise ratio. Used by WebRTC quality tests.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('files', {
name: 'count',
// Static initializers
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('fps', {
name: 'unitlessNumber',
// Used by scirra benchmark.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('frame_count', {
name: 'count',
// layer_tree_host_perftest
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('frame_time', {
name: 'timeDurationInMs',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('frames', {
name: 'count',
// Dropped frames.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('frames-per-second', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('garbage_collections', {
name: 'count',
// Number of GCs needed to collect an object. Less is better.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('idle%', {
name: 'normalizedPercentage',
// Percentage of work done in idle time.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('janks', {
name: 'count',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('kb', {
name: 'sizeInBytes',
conversionFactor: 1024,
// Less memory usage is better.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('lines', {
name: 'count',
// More test coverage is better.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('mWh', {
name: 'energyInJoules',
conversionFactor: 3.6,
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('milliseconds', {
name: 'timeDurationInMs',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('milliseconds-per-frame', {
name: 'timeDurationInMs',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('minutes', {
name: 'timeDurationInMs',
conversionFactor: 60e3,
// Used for NaCl build time.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('mips', {
name: 'unitlessNumber',
// More instructions processed per time unit.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('mpixels_sec', {
name: 'unitlessNumber',
// More pixels processed per time unit.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('ms', {
name: 'timeDurationInMs',
// Used in many Telemetry measurements. Fewer ms of time means faster.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('mtri_sec', {
name: 'unitlessNumber',
// More triangles processed per time unit.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('mvtx_sec', {
name: 'unitlessNumber',
// More vertices processed per time unit.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('objects (bigger is better)', {
name: 'count',
// Used in spaceport benchmark.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('packets', {
name: 'count',
// Monitors how many packets we use to accomplish something.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('percent', {
name: 'normalizedPercentage',
// Synonym for %, used in memory metric for percent fragmentation.
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('points', {
name: 'unitlessNumber',
// Synonym for score, used in ChromeOS touchpad tests.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('ports', {
name: 'count',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('reduction%', {
name: 'normalizedPercentage',
// Used in draw_property measurement to indicate relative improvement.
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('relocs', {
name: 'count',
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('runs/s', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('runs_per_s', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('runs_per_second', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('score (bigger is better)', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('score', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('score_(bigger_is_better)', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('seconds', {
name: 'timeDurationInMs',
conversionFactor: 1e3,
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('tokens/s', {
name: 'unitlessNumber',
defaultImprovementDirection: tr.b.ImprovementDirection.BIGGER_IS_BETTER,
});
LEGACY_UNIT_INFO.set('us', {
name: 'timeDurationInMs',
conversionFactor: 1e-3,
defaultImprovementDirection: tr.b.ImprovementDirection.SMALLER_IS_BETTER,
});
return {
LEGACY_UNIT_INFO,
};
});
</script>