Title: [138118] trunk/Source/WebCore
- Revision
- 138118
- Author
- commit-qu...@webkit.org
- Date
- 2012-12-18 22:42:06 -0800 (Tue, 18 Dec 2012)
Log Message
Web Inspector: [Chromium] profiler - differentiate between native code (program) and idle time
https://bugs.webkit.org/show_bug.cgi?id=88446
Patch by Eugene Klyuchnikov <eus...@chromium.org> on 2012-12-18
Reviewed by Pavel Feldman.
Now idleTime is supplied in profile object. In this patch, idleTime,
if any, is subtracted from "(program)" node, and new node "(idle)" is
injected as a top level node to profile.
* inspector/front-end/CPUProfileView.js:
(WebInspector.CPUProfileView.profileCallback): Call _injectIdleTimeNode
if non-zero idleTime is specified.
(WebInspector.CPUProfileView.prototype._injectIdleTimeNode): Lookup for
"(program)" node, modify it, add "(idle)" node.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (138117 => 138118)
--- trunk/Source/WebCore/ChangeLog 2012-12-19 06:34:08 UTC (rev 138117)
+++ trunk/Source/WebCore/ChangeLog 2012-12-19 06:42:06 UTC (rev 138118)
@@ -1,3 +1,20 @@
+2012-12-18 Eugene Klyuchnikov <eus...@chromium.org>
+
+ Web Inspector: [Chromium] profiler - differentiate between native code (program) and idle time
+ https://bugs.webkit.org/show_bug.cgi?id=88446
+
+ Reviewed by Pavel Feldman.
+
+ Now idleTime is supplied in profile object. In this patch, idleTime,
+ if any, is subtracted from "(program)" node, and new node "(idle)" is
+ injected as a top level node to profile.
+
+ * inspector/front-end/CPUProfileView.js:
+ (WebInspector.CPUProfileView.profileCallback): Call _injectIdleTimeNode
+ if non-zero idleTime is specified.
+ (WebInspector.CPUProfileView.prototype._injectIdleTimeNode): Lookup for
+ "(program)" node, modify it, add "(idle)" node.
+
2012-12-18 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r138097.
Modified: trunk/Source/WebCore/inspector/front-end/CPUProfileView.js (138117 => 138118)
--- trunk/Source/WebCore/inspector/front-end/CPUProfileView.js 2012-12-19 06:34:08 UTC (rev 138117)
+++ trunk/Source/WebCore/inspector/front-end/CPUProfileView.js 2012-12-19 06:42:06 UTC (rev 138118)
@@ -94,6 +94,10 @@
return;
}
this.profile.head = profile.head;
+
+ if (profile.idleTime)
+ this._injectIdleTimeNode();
+
this._assignParentsInProfile();
this._changeView();
this._updatePercentButton();
@@ -536,6 +540,39 @@
}
},
+ _injectIdleTimeNode: function()
+ {
+ var profile = ""
+ var idleTime = profile.idleTime;
+ var nodes = profile.head.children;
+
+ var programNode = {selfTime: 0};
+ for (var i = nodes.length - 1; i >= 0; --i) {
+ if (nodes[i].functionName === "(program)") {
+ programNode = nodes[i];
+ break;
+ }
+ }
+ var programTime = programNode.selfTime;
+ if (idleTime > programTime)
+ idleTime = programTime;
+ programTime = programTime - idleTime;
+ programNode.selfTime = programTime;
+ programNode.totalTime = programTime;
+ var idleNode = {
+ functionName: "(idle)",
+ url: null,
+ lineNumber: 0,
+ totalTime: idleTime,
+ selfTime: idleTime,
+ numberOfCalls: 0,
+ visible: true,
+ callUID: 0,
+ children: []
+ };
+ nodes.push(idleNode);
+ },
+
__proto__: WebInspector.View.prototype
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes