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

Side by Side Diff: chrome/browser/metrics/perf/perf_provider_chromeos.cc

Issue 1550593002: Switch to standard integer types in chrome/browser/, part 2 of 4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/metrics/perf/perf_provider_chromeos.h" 5 #include "chrome/browser/metrics/perf/perf_provider_chromeos.h"
6 6
7 #include <stddef.h>
8
7 #include <algorithm> 9 #include <algorithm>
8 #include <map> 10 #include <map>
9 #include <string> 11 #include <string>
10 12
11 #include "base/bind.h" 13 #include "base/bind.h"
12 #include "base/callback.h" 14 #include "base/callback.h"
13 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
14 #include "base/metrics/field_trial.h" 16 #include "base/metrics/field_trial.h"
15 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
16 #include "base/rand_util.h" 18 #include "base/rand_util.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // Returns a random TimeDelta between zero and |max|. 74 // Returns a random TimeDelta between zero and |max|.
73 base::TimeDelta RandomTimeDelta(base::TimeDelta max) { 75 base::TimeDelta RandomTimeDelta(base::TimeDelta max) {
74 return base::TimeDelta::FromMicroseconds( 76 return base::TimeDelta::FromMicroseconds(
75 base::RandGenerator(max.InMicroseconds())); 77 base::RandGenerator(max.InMicroseconds()));
76 } 78 }
77 79
78 // Gets parameter named by |key| from the map. If it is present and is an 80 // Gets parameter named by |key| from the map. If it is present and is an
79 // integer, stores the result in |out| and return true. Otherwise return false. 81 // integer, stores the result in |out| and return true. Otherwise return false.
80 bool GetInt64Param(const std::map<std::string, std::string>& params, 82 bool GetInt64Param(const std::map<std::string, std::string>& params,
81 const std::string& key, 83 const std::string& key,
82 int64* out) { 84 int64_t* out) {
83 auto it = params.find(key); 85 auto it = params.find(key);
84 if (it == params.end()) 86 if (it == params.end())
85 return false; 87 return false;
86 int64 value; 88 int64_t value;
87 // NB: StringToInt64 will set value even if the conversion fails. 89 // NB: StringToInt64 will set value even if the conversion fails.
88 if (!base::StringToInt64(it->second, &value)) 90 if (!base::StringToInt64(it->second, &value))
89 return false; 91 return false;
90 *out = value; 92 *out = value;
91 return true; 93 return true;
92 } 94 }
93 95
94 // Parses the key. e.g.: "PerfCommand::arm::0" returns "arm" 96 // Parses the key. e.g.: "PerfCommand::arm::0" returns "arm"
95 bool ExtractPerfCommandCpuSpecifier(const std::string& key, 97 bool ExtractPerfCommandCpuSpecifier(const std::string& key,
96 std::string* cpu_specifier) { 98 std::string* cpu_specifier) {
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 base::TimeDelta periodic_interval, 195 base::TimeDelta periodic_interval,
194 TriggerParams resume_from_suspend, 196 TriggerParams resume_from_suspend,
195 TriggerParams restore_session) 197 TriggerParams restore_session)
196 : collection_duration_(collection_duration.ToInternalValue()), 198 : collection_duration_(collection_duration.ToInternalValue()),
197 periodic_interval_(periodic_interval.ToInternalValue()), 199 periodic_interval_(periodic_interval.ToInternalValue()),
198 resume_from_suspend_(resume_from_suspend), 200 resume_from_suspend_(resume_from_suspend),
199 restore_session_(restore_session) { 201 restore_session_(restore_session) {
200 } 202 }
201 203
202 PerfProvider::CollectionParams::TriggerParams::TriggerParams( 204 PerfProvider::CollectionParams::TriggerParams::TriggerParams(
203 int64 sampling_factor, 205 int64_t sampling_factor,
204 base::TimeDelta max_collection_delay) 206 base::TimeDelta max_collection_delay)
205 : sampling_factor_(sampling_factor), 207 : sampling_factor_(sampling_factor),
206 max_collection_delay_(max_collection_delay.ToInternalValue()) { 208 max_collection_delay_(max_collection_delay.ToInternalValue()) {}
207 }
208 209
209 const PerfProvider::CollectionParams PerfProvider::kDefaultParameters( 210 const PerfProvider::CollectionParams PerfProvider::kDefaultParameters(
210 /* collection_duration = */ base::TimeDelta::FromSeconds(2), 211 /* collection_duration = */ base::TimeDelta::FromSeconds(2),
211 /* periodic_interval = */ base::TimeDelta::FromHours(3), 212 /* periodic_interval = */ base::TimeDelta::FromHours(3),
212 /* resume_from_suspend = */ PerfProvider::CollectionParams::TriggerParams( 213 /* resume_from_suspend = */ PerfProvider::CollectionParams::TriggerParams(
213 /* sampling_factor = */ 10, 214 /* sampling_factor = */ 10,
214 /* max_collection_delay = */ base::TimeDelta::FromSeconds(5)), 215 /* max_collection_delay = */ base::TimeDelta::FromSeconds(5)),
215 /* restore_session = */ PerfProvider::CollectionParams::TriggerParams( 216 /* restore_session = */ PerfProvider::CollectionParams::TriggerParams(
216 /* sampling_factor = */ 10, 217 /* sampling_factor = */ 10,
217 /* max_collection_delay = */ base::TimeDelta::FromSeconds(10))); 218 /* max_collection_delay = */ base::TimeDelta::FromSeconds(10)));
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 ret = cpu_specifier; 301 ret = cpu_specifier;
301 } 302 }
302 } 303 }
303 return ret; 304 return ret;
304 } 305 }
305 306
306 } // namespace internal 307 } // namespace internal
307 308
308 void PerfProvider::SetCollectionParamsFromVariationParams( 309 void PerfProvider::SetCollectionParamsFromVariationParams(
309 const std::map<std::string, std::string>& params) { 310 const std::map<std::string, std::string>& params) {
310 int64 value; 311 int64_t value;
311 if (GetInt64Param(params, "ProfileCollectionDurationSec", &value)) { 312 if (GetInt64Param(params, "ProfileCollectionDurationSec", &value)) {
312 collection_params_.set_collection_duration( 313 collection_params_.set_collection_duration(
313 base::TimeDelta::FromSeconds(value)); 314 base::TimeDelta::FromSeconds(value));
314 } 315 }
315 if (GetInt64Param(params, "PeriodicProfilingIntervalMs", &value)) { 316 if (GetInt64Param(params, "PeriodicProfilingIntervalMs", &value)) {
316 collection_params_.set_periodic_interval( 317 collection_params_.set_periodic_interval(
317 base::TimeDelta::FromMilliseconds(value)); 318 base::TimeDelta::FromMilliseconds(value));
318 } 319 }
319 if (GetInt64Param(params, "ResumeFromSuspend::SamplingFactor", &value)) { 320 if (GetInt64Param(params, "ResumeFromSuspend::SamplingFactor", &value)) {
320 collection_params_.mutable_resume_from_suspend() 321 collection_params_.mutable_resume_from_suspend()
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 cached_perf_data_.clear(); 376 cached_perf_data_.clear();
376 377
377 AddToPerfHistogram(SUCCESS); 378 AddToPerfHistogram(SUCCESS);
378 return true; 379 return true;
379 } 380 }
380 381
381 void PerfProvider::ParseOutputProtoIfValid( 382 void PerfProvider::ParseOutputProtoIfValid(
382 scoped_ptr<WindowedIncognitoObserver> incognito_observer, 383 scoped_ptr<WindowedIncognitoObserver> incognito_observer,
383 scoped_ptr<SampledProfile> sampled_profile, 384 scoped_ptr<SampledProfile> sampled_profile,
384 int result, 385 int result,
385 const std::vector<uint8>& perf_data, 386 const std::vector<uint8_t>& perf_data,
386 const std::vector<uint8>& perf_stat) { 387 const std::vector<uint8_t>& perf_stat) {
387 DCHECK(CalledOnValidThread()); 388 DCHECK(CalledOnValidThread());
388 389
389 if (incognito_observer->incognito_launched()) { 390 if (incognito_observer->incognito_launched()) {
390 AddToPerfHistogram(INCOGNITO_LAUNCHED); 391 AddToPerfHistogram(INCOGNITO_LAUNCHED);
391 return; 392 return;
392 } 393 }
393 394
394 if (result != 0 || (perf_data.empty() && perf_stat.empty())) { 395 if (result != 0 || (perf_data.empty() && perf_stat.empty())) {
395 AddToPerfHistogram(PROTOBUF_NOT_PARSED); 396 AddToPerfHistogram(PROTOBUF_NOT_PARSED);
396 return; 397 return;
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 scoped_ptr<SampledProfile> sampled_profile(new SampledProfile); 614 scoped_ptr<SampledProfile> sampled_profile(new SampledProfile);
614 sampled_profile->set_trigger_event(SampledProfile::RESTORE_SESSION); 615 sampled_profile->set_trigger_event(SampledProfile::RESTORE_SESSION);
615 sampled_profile->set_ms_after_restore(time_after_restore.InMilliseconds()); 616 sampled_profile->set_ms_after_restore(time_after_restore.InMilliseconds());
616 sampled_profile->set_num_tabs_restored(num_tabs_restored); 617 sampled_profile->set_num_tabs_restored(num_tabs_restored);
617 618
618 CollectIfNecessary(sampled_profile.Pass()); 619 CollectIfNecessary(sampled_profile.Pass());
619 last_session_restore_collection_time_ = base::TimeTicks::Now(); 620 last_session_restore_collection_time_ = base::TimeTicks::Now();
620 } 621 }
621 622
622 } // namespace metrics 623 } // namespace metrics
OLDNEW
« no previous file with comments | « chrome/browser/metrics/perf/perf_provider_chromeos.h ('k') | chrome/browser/metrics/perf/perf_provider_chromeos_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698