|
NOCOMMIT PROTOTYPE [GRC] Tab CPU Usage Observer
This is a CoordinationUnitGraphObserver implementation that performs tab-level CPU usage attribution.
Each process is given a namespace via a ProcessObserver class which
itself holds onto a collection of TabObserver class instances that
correspond to the tabs that are contained within it.
Currently the implementation makes some naive assumptions:
- Process CPU is evenly attributable among the tabs within it.
For example, if a process with two CPU tabs has 50% utilization then
each tab is attributed with 25%.
- Any parentless-frame is assumed to correspond to a tab. In reality
a tab (e.g. WebContents) can have have multiple parentless-frames
because multiple navigations can exist within a single instance.
R=*oysteine@chromium.org,*zhenw@chromium.org,lpy@google.com,fmeawad@chromium.org
BUG= 724306
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+374 lines, -22 lines) |
Patch |
|
M |
chrome/browser/resource_coordinator/DEPS
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc
|
View
|
1
2
3
4
5
6
|
2 chunks |
+52 lines, -0 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/coordination_unit_impl.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/coordination_unit_impl.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+0 lines, -7 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/coordination_unit_manager.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/coordination_unit_provider_impl.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/process_coordination_unit_impl.h
|
View
|
1
2
3
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/process_coordination_unit_impl.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+3 lines, -6 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/coordination_unit/process_coordination_unit_impl_unittest.cc
|
View
|
1
2
3
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
A |
services/resource_coordinator/coordination_unit/tab_cpu_usage_observer.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+97 lines, -0 lines |
0 comments
|
Download
|
|
A |
services/resource_coordinator/coordination_unit/tab_cpu_usage_observer.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+192 lines, -0 lines |
1 comment
|
Download
|
|
M |
services/resource_coordinator/public/cpp/resource_coordinator_interface.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
services/resource_coordinator/public/cpp/resource_coordinator_interface.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
Depends on Patchset:
Total messages: 10 (7 generated)
|