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

Issue 888193002: ProcessMetrics::GetCPUUsage() is Slow (Closed)

Created:
5 years, 10 months ago by afakhry
Modified:
5 years, 10 months ago
Reviewers:
danakj, oshima
CC:
chromium-reviews, erikwright+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ProcessMetrics::GetCPUUsage() is Slow Instead of parsing the whole proc stats just to extract two values, we skim through it just to extract the two values we're interested in. BUG=453871 TEST=base_unittests --gtest_filter=ProcessMetricsTest.* Committed: https://crrev.com/597a85175a34512b09b95cb241842ebadebd77ae Cr-Commit-Position: refs/heads/master@{#314691}

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Total comments: 1

Patch Set 4 : This is probably a more readable version #

Total comments: 21

Patch Set 5 : #

Total comments: 4

Patch Set 6 : #

Patch Set 7 : #

Total comments: 2

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+37 lines, -7 lines) Patch
M base/process/process_metrics_linux.cc View 1 2 3 4 5 6 7 1 chunk +26 lines, -7 lines 0 comments Download
M base/process/process_metrics_unittest.cc View 1 1 chunk +11 lines, -0 lines 0 comments Download

Messages

Total messages: 38 (2 generated)
afakhry
I left the old implementation as a reference. I also added a unit test.
5 years, 10 months ago (2015-01-31 00:43:41 UTC) #2
danakj
https://codereview.chromium.org/888193002/diff/1/base/process/process_metrics.h File base/process/process_metrics.h (right): https://codereview.chromium.org/888193002/diff/1/base/process/process_metrics.h#newcode256 base/process/process_metrics.h:256: BASE_EXPORT int GetCpuFromProcStats(const std::string& input); why are you adding ...
5 years, 10 months ago (2015-02-03 18:51:09 UTC) #3
danakj
do you have some performance measurements to justify the change?
5 years, 10 months ago (2015-02-03 18:52:07 UTC) #4
afakhry
On 2015/02/03 18:52:07, danakj wrote: > do you have some performance measurements to justify the ...
5 years, 10 months ago (2015-02-03 19:32:32 UTC) #5
afakhry
https://codereview.chromium.org/888193002/diff/1/base/process/process_metrics.h File base/process/process_metrics.h (right): https://codereview.chromium.org/888193002/diff/1/base/process/process_metrics.h#newcode256 base/process/process_metrics.h:256: BASE_EXPORT int GetCpuFromProcStats(const std::string& input); On 2015/02/03 18:51:09, danakj ...
5 years, 10 months ago (2015-02-03 20:23:54 UTC) #6
danakj
https://codereview.chromium.org/888193002/diff/20001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/20001/base/process/process_metrics_linux.cc#newcode418 base/process/process_metrics_linux.cc:418: // Restart the counter, we're looking to count from ...
5 years, 10 months ago (2015-02-03 20:35:51 UTC) #7
afakhry
https://codereview.chromium.org/888193002/diff/20001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/20001/base/process/process_metrics_linux.cc#newcode418 base/process/process_metrics_linux.cc:418: // Restart the counter, we're looking to count from ...
5 years, 10 months ago (2015-02-03 21:21:59 UTC) #8
danakj
On Tue, Feb 3, 2015 at 1:21 PM, <afakhry@chromium.org> wrote: > > https://codereview.chromium.org/888193002/diff/20001/base/ > process/process_metrics_linux.cc ...
5 years, 10 months ago (2015-02-03 21:53:56 UTC) #9
afakhry
On 2015/02/03 21:53:56, danakj wrote: > On Tue, Feb 3, 2015 at 1:21 PM, <mailto:afakhry@chromium.org> ...
5 years, 10 months ago (2015-02-03 22:22:33 UTC) #10
danakj
On Tue, Feb 3, 2015 at 2:22 PM, <afakhry@chromium.org> wrote: > On 2015/02/03 21:53:56, danakj ...
5 years, 10 months ago (2015-02-03 22:25:08 UTC) #11
afakhry
On 2015/02/03 22:25:08, danakj wrote: > On Tue, Feb 3, 2015 at 2:22 PM, <mailto:afakhry@chromium.org> ...
5 years, 10 months ago (2015-02-03 22:30:24 UTC) #12
afakhry
The results of the tracing showed that the improvement of not using rfind() is negligible, ...
5 years, 10 months ago (2015-02-04 00:14:37 UTC) #13
danakj
https://codereview.chromium.org/888193002/diff/40001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/40001/base/process/process_metrics_linux.cc#newcode409 base/process/process_metrics_linux.cc:409: auto start = input.rfind(')'); Thanks. Did you consider a ...
5 years, 10 months ago (2015-02-04 00:19:11 UTC) #14
afakhry
I submitted a third patch. It's probably much simpler than the previous one. No, I ...
5 years, 10 months ago (2015-02-04 01:16:29 UTC) #15
danakj
https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc#newcode403 base/process/process_metrics_linux.cc:403: if (input.empty()) Can you leave a comment like ParseProcStats? ...
5 years, 10 months ago (2015-02-04 01:29:18 UTC) #16
oshima
https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc#newcode409 base/process/process_metrics_linux.cc:409: int utime_start_index = 0; move these variable after next ...
5 years, 10 months ago (2015-02-04 01:49:46 UTC) #17
danakj
https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc#newcode416 base/process/process_metrics_linux.cc:416: if (input[j] != ' ' && input[j - 1] ...
5 years, 10 months ago (2015-02-04 01:52:54 UTC) #18
oshima
https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc#newcode416 base/process/process_metrics_linux.cc:416: if (input[j] != ' ' && input[j - 1] ...
5 years, 10 months ago (2015-02-04 02:28:37 UTC) #19
afakhry
https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc#newcode403 base/process/process_metrics_linux.cc:403: if (input.empty()) On 2015/02/04 01:29:18, danakj wrote: > Can ...
5 years, 10 months ago (2015-02-04 02:31:22 UTC) #20
danakj
On Feb 3, 2015 6:28 PM, <oshima@chromium.org> wrote: > > > https://codereview.chromium.org/888193002/diff/60001/base/process/process_metrics_linux.cc > File base/process/process_metrics_linux.cc ...
5 years, 10 months ago (2015-02-04 02:35:54 UTC) #21
oshima
On 2015/02/04 02:35:54, danakj wrote: > On Feb 3, 2015 6:28 PM, <mailto:oshima@chromium.org> wrote: > ...
5 years, 10 months ago (2015-02-04 18:17:35 UTC) #22
danakj
On Wed, Feb 4, 2015 at 10:17 AM, <oshima@chromium.org> wrote: > On 2015/02/04 02:35:54, danakj ...
5 years, 10 months ago (2015-02-04 18:21:05 UTC) #23
afakhry
On 2015/02/04 18:21:05, danakj wrote: > On Wed, Feb 4, 2015 at 10:17 AM, <mailto:oshima@chromium.org> ...
5 years, 10 months ago (2015-02-04 18:28:31 UTC) #24
danakj
https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc#newcode419 base/process/process_metrics_linux.cc:419: if (input[i - 1] != ' ' && --num_spaces_remaining ...
5 years, 10 months ago (2015-02-04 18:33:06 UTC) #25
afakhry
https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc#newcode419 base/process/process_metrics_linux.cc:419: if (input[i - 1] != ' ' && --num_spaces_remaining ...
5 years, 10 months ago (2015-02-04 19:05:21 UTC) #26
danakj
On 2015/02/04 19:05:21, afakhry wrote: > https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc > File base/process/process_metrics_linux.cc (right): > > https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc#newcode419 > ...
5 years, 10 months ago (2015-02-04 19:10:17 UTC) #27
afakhry
On 2015/02/04 19:10:17, danakj wrote: > On 2015/02/04 19:05:21, afakhry wrote: > > > https://codereview.chromium.org/888193002/diff/80001/base/process/process_metrics_linux.cc ...
5 years, 10 months ago (2015-02-04 19:20:43 UTC) #28
danakj
Yes, feel free to add a dcheck if youre worried this may change in the ...
5 years, 10 months ago (2015-02-04 19:21:53 UTC) #29
afakhry
Agreed, Done!
5 years, 10 months ago (2015-02-04 19:37:50 UTC) #30
danakj
https://codereview.chromium.org/888193002/diff/120001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/120001/base/process/process_metrics_linux.cc#newcode423 base/process/process_metrics_linux.cc:423: utime_start_index = i; cool thanks. one more comment, i ...
5 years, 10 months ago (2015-02-04 19:52:44 UTC) #31
afakhry
https://codereview.chromium.org/888193002/diff/120001/base/process/process_metrics_linux.cc File base/process/process_metrics_linux.cc (right): https://codereview.chromium.org/888193002/diff/120001/base/process/process_metrics_linux.cc#newcode423 base/process/process_metrics_linux.cc:423: utime_start_index = i; On 2015/02/04 19:52:44, danakj wrote: > ...
5 years, 10 months ago (2015-02-04 20:07:05 UTC) #32
danakj
LGTM
5 years, 10 months ago (2015-02-04 20:52:59 UTC) #33
oshima
lgtm
5 years, 10 months ago (2015-02-04 22:38:11 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/888193002/140001
5 years, 10 months ago (2015-02-04 22:41:34 UTC) #36
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years, 10 months ago (2015-02-05 00:52:28 UTC) #37
commit-bot: I haz the power
5 years, 10 months ago (2015-02-05 00:55:30 UTC) #38
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/597a85175a34512b09b95cb241842ebadebd77ae
Cr-Commit-Position: refs/heads/master@{#314691}

Powered by Google App Engine
This is Rietveld 408576698