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

Side by Side Diff: tracing/tracing/metrics/cpu_process_metric.html

Issue 2293533002: Refactor NumericBuilder to HistogramBinBoundaries. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: rebase Created 4 years, 3 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright 2016 The Chromium Authors. All rights reserved. 3 Copyright 2016 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/tracing/metrics/metric_registry.html"> 8 <link rel="import" href="/tracing/metrics/metric_registry.html">
9 <link rel="import" href="/tracing/value/histogram.html"> 9 <link rel="import" href="/tracing/value/histogram.html">
10 <link rel="import" href="/tracing/value/value.html"> 10 <link rel="import" href="/tracing/value/value.html">
11 11
12 <script> 12 <script>
13 'use strict'; 13 'use strict';
14 14
15 tr.exportTo('tr.metrics.sh', function() { 15 tr.exportTo('tr.metrics.sh', function() {
16
17 var CPU_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
18 tr.v.Unit.byName.normalizedPercentage_smallerIsBetter,
19 tr.b.Range.fromExplicitRange(0, 100), 20);
20
21 function getCpuSnapshotsFromModel(model) { 16 function getCpuSnapshotsFromModel(model) {
22 var snapshots = []; 17 var snapshots = [];
23 for (var pid in model.processes) { 18 for (var pid in model.processes) {
24 var snapshotInstances = model.processes[pid].objects.getAllInstancesNamed( 19 var snapshotInstances = model.processes[pid].objects.getAllInstancesNamed(
25 'CPUSnapshots'); 20 'CPUSnapshots');
26 if (!snapshotInstances) 21 if (!snapshotInstances)
27 continue; 22 continue;
28 for (var object of snapshotInstances[0].snapshots) 23 for (var object of snapshotInstances[0].snapshots)
29 snapshots.push(object.args.processes); 24 snapshots.push(object.args.processes);
30 } 25 }
(...skipping 15 matching lines...) Expand all
46 return processSums; 41 return processSums;
47 } 42 }
48 43
49 function buildNumericsFromSnapshots(snapshots) { 44 function buildNumericsFromSnapshots(snapshots) {
50 var processNumerics = new Map(); 45 var processNumerics = new Map();
51 for (var snapshot of snapshots) { 46 for (var snapshot of snapshots) {
52 var processSums = getProcessSumsFromSnapshot(snapshot); 47 var processSums = getProcessSumsFromSnapshot(snapshot);
53 for (var [processName, processData] of processSums.entries()) { 48 for (var [processName, processData] of processSums.entries()) {
54 if (!(processNumerics.has(processName))) { 49 if (!(processNumerics.has(processName))) {
55 processNumerics.set(processName, { 50 processNumerics.set(processName, {
56 numeric: CPU_NUMERIC_BUILDER.build(), 51 numeric: new tr.v.Histogram(
52 tr.v.Unit.byName.normalizedPercentage_smallerIsBetter),
57 paths: new Set() 53 paths: new Set()
58 }); 54 });
59 } 55 }
60 processNumerics.get(processName).numeric.add( 56 processNumerics.get(processName).numeric.add(
61 processData.sum); 57 processData.sum / 100.0);
62 for (var path of processData.paths) 58 for (var path of processData.paths)
63 processNumerics.get(processName).paths.add(path); 59 processNumerics.get(processName).paths.add(path);
64 } 60 }
65 } 61 }
66 return processNumerics; 62 return processNumerics;
67 } 63 }
68 64
69 function cpuProcessMetric(values, model) { 65 function cpuProcessMetric(values, model) {
70 var snapshots = getCpuSnapshotsFromModel(model); 66 var snapshots = getCpuSnapshotsFromModel(model);
71 var processNumerics = buildNumericsFromSnapshots(snapshots); 67 var processNumerics = buildNumericsFromSnapshots(snapshots);
(...skipping 12 matching lines...) Expand all
84 } 80 }
85 } 81 }
86 82
87 tr.metrics.MetricRegistry.register(cpuProcessMetric); 83 tr.metrics.MetricRegistry.register(cpuProcessMetric);
88 84
89 return { 85 return {
90 cpuProcessMetric: cpuProcessMetric 86 cpuProcessMetric: cpuProcessMetric
91 }; 87 };
92 }); 88 });
93 </script> 89 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/metrics/blink/gc_metric.html ('k') | tracing/tracing/metrics/cpu_process_metric_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698