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

Side by Side Diff: Source/devtools/front_end/timeline/MemoryCountersGraph.js

Issue 344443007: Encapsulate implementation-specific timeline record handling in TimelineUIUtils (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 16 matching lines...) Expand all
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @constructor 32 * @constructor
33 * @extends {WebInspector.CountersGraph} 33 * @extends {WebInspector.CountersGraph}
34 * @implements {WebInspector.TimelineModeView} 34 * @implements {WebInspector.TimelineModeView}
35 * @param {!WebInspector.TimelineModeViewDelegate} delegate 35 * @param {!WebInspector.TimelineModeViewDelegate} delegate
36 * @param {!WebInspector.TimelineModel} model 36 * @param {!WebInspector.TimelineModel} model
37 * @param {!WebInspector.TimelineUIUtils} uiUtils
37 */ 38 */
38 WebInspector.MemoryCountersGraph = function(delegate, model) 39 WebInspector.MemoryCountersGraph = function(delegate, model, uiUtils)
39 { 40 {
40 WebInspector.CountersGraph.call(this, WebInspector.UIString("MEMORY"), deleg ate, model); 41 WebInspector.CountersGraph.call(this, WebInspector.UIString("MEMORY"), deleg ate, model);
42 this._uiUtils = uiUtils;
41 this._countersByName = {}; 43 this._countersByName = {};
42 this._countersByName["jsHeapSizeUsed"] = this.createCounter(WebInspector.UIS tring("Used JS Heap"), WebInspector.UIString("JS Heap Size: %d"), "hsl(220, 90%, 43%)"); 44 this._countersByName["jsHeapSizeUsed"] = this.createCounter(WebInspector.UIS tring("Used JS Heap"), WebInspector.UIString("JS Heap Size: %d"), "hsl(220, 90%, 43%)");
43 this._countersByName["documents"] = this.createCounter(WebInspector.UIString ("Documents"), WebInspector.UIString("Documents: %d"), "hsl(0, 90%, 43%)"); 45 this._countersByName["documents"] = this.createCounter(WebInspector.UIString ("Documents"), WebInspector.UIString("Documents: %d"), "hsl(0, 90%, 43%)");
44 this._countersByName["nodes"] = this.createCounter(WebInspector.UIString("No des"), WebInspector.UIString("Nodes: %d"), "hsl(120, 90%, 43%)"); 46 this._countersByName["nodes"] = this.createCounter(WebInspector.UIString("No des"), WebInspector.UIString("Nodes: %d"), "hsl(120, 90%, 43%)");
45 this._countersByName["jsEventListeners"] = this.createCounter(WebInspector.U IString("Listeners"), WebInspector.UIString("Listeners: %d"), "hsl(38, 90%, 43%) "); 47 this._countersByName["jsEventListeners"] = this.createCounter(WebInspector.U IString("Listeners"), WebInspector.UIString("Listeners: %d"), "hsl(38, 90%, 43%) ");
46 if (WebInspector.experimentsSettings.gpuTimeline.isEnabled()) { 48 if (WebInspector.experimentsSettings.gpuTimeline.isEnabled()) {
47 this._gpuMemoryCounter = this.createCounter(WebInspector.UIString("GPU M emory"), WebInspector.UIString("GPU Memory [KB]: %d"), "hsl(300, 90%, 43%)"); 49 this._gpuMemoryCounter = this.createCounter(WebInspector.UIString("GPU M emory"), WebInspector.UIString("GPU Memory [KB]: %d"), "hsl(300, 90%, 43%)");
48 this._countersByName["gpuMemoryUsedKB"] = this._gpuMemoryCounter; 50 this._countersByName["gpuMemoryUsedKB"] = this._gpuMemoryCounter;
49 } 51 }
50 } 52 }
(...skipping 11 matching lines...) Expand all
62 * @param {!WebInspector.TimelineModel.Record} record 64 * @param {!WebInspector.TimelineModel.Record} record
63 */ 65 */
64 addRecord: function(record) 66 addRecord: function(record)
65 { 67 {
66 /** 68 /**
67 * @param {!WebInspector.TimelineModel.Record} record 69 * @param {!WebInspector.TimelineModel.Record} record
68 * @this {!WebInspector.MemoryCountersGraph} 70 * @this {!WebInspector.MemoryCountersGraph}
69 */ 71 */
70 function addStatistics(record) 72 function addStatistics(record)
71 { 73 {
72 var counters = record.counters(); 74 var counters = this._uiUtils.countersForRecord(record);
73 if (!counters) 75 if (!counters)
74 return; 76 return;
75 for (var name in counters) { 77 for (var name in counters) {
76 var counter = this._countersByName[name]; 78 var counter = this._countersByName[name];
77 if (counter) 79 if (counter)
78 counter.appendSample(record.endTime() || record.startTime(), counters[name]); 80 counter.appendSample(record.endTime() || record.startTime(), counters[name]);
79 } 81 }
80 82
81 var gpuMemoryLimitCounterName = "gpuMemoryLimitKB"; 83 var gpuMemoryLimitCounterName = "gpuMemoryLimitKB";
82 if (this._gpuMemoryCounter && (gpuMemoryLimitCounterName in counters )) 84 if (this._gpuMemoryCounter && (gpuMemoryLimitCounterName in counters ))
83 this._gpuMemoryCounter.setLimit(counters[gpuMemoryLimitCounterNa me]); 85 this._gpuMemoryCounter.setLimit(counters[gpuMemoryLimitCounterNa me]);
84 } 86 }
85 WebInspector.TimelineModel.forAllRecords([record], null, addStatistics.b ind(this)); 87 WebInspector.TimelineModel.forAllRecords([record], null, addStatistics.b ind(this));
86 this.scheduleRefresh(); 88 this.scheduleRefresh();
87 }, 89 },
88 90
89 refreshRecords: function() 91 refreshRecords: function()
90 { 92 {
91 this.reset(); 93 this.reset();
92 var records = this._model.records(); 94 var records = this._model.records();
93 for (var i = 0; i < records.length; ++i) 95 for (var i = 0; i < records.length; ++i)
94 this.addRecord(records[i]); 96 this.addRecord(records[i]);
95 }, 97 },
96 98
97 __proto__: WebInspector.CountersGraph.prototype 99 __proto__: WebInspector.CountersGraph.prototype
98 } 100 }
OLDNEW
« no previous file with comments | « Source/devtools/devtools.gypi ('k') | Source/devtools/front_end/timeline/TimelineEventOverview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698