| OLD | NEW |
| 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> | 7 #include <stddef.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 return cmds; | 183 return cmds; |
| 184 } | 184 } |
| 185 | 185 |
| 186 // Unknown CPUs | 186 // Unknown CPUs |
| 187 cmds.push_back(WeightAndValue(1.0, kPerfRecordCyclesCmd)); | 187 cmds.push_back(WeightAndValue(1.0, kPerfRecordCyclesCmd)); |
| 188 return cmds; | 188 return cmds; |
| 189 } | 189 } |
| 190 | 190 |
| 191 } // namespace internal | 191 } // namespace internal |
| 192 | 192 |
| 193 PerfProvider::CollectionParams::CollectionParams() |
| 194 : CollectionParams( |
| 195 base::TimeDelta::FromSeconds(2) /* collection_duration */, |
| 196 base::TimeDelta::FromHours(3) /* periodic_interval */, |
| 197 PerfProvider::CollectionParams::TriggerParams( /* resume_from_suspend */ |
| 198 10 /* sampling_factor */, |
| 199 base::TimeDelta::FromSeconds(5)) /* max_collection_delay */, |
| 200 PerfProvider::CollectionParams::TriggerParams( /* restore_session */ |
| 201 10 /* sampling_factor */, |
| 202 base::TimeDelta::FromSeconds(10)) /* max_collection_delay */) { |
| 203 } |
| 204 |
| 193 PerfProvider::CollectionParams::CollectionParams( | 205 PerfProvider::CollectionParams::CollectionParams( |
| 194 base::TimeDelta collection_duration, | 206 base::TimeDelta collection_duration, |
| 195 base::TimeDelta periodic_interval, | 207 base::TimeDelta periodic_interval, |
| 196 TriggerParams resume_from_suspend, | 208 TriggerParams resume_from_suspend, |
| 197 TriggerParams restore_session) | 209 TriggerParams restore_session) |
| 198 : collection_duration_(collection_duration.ToInternalValue()), | 210 : collection_duration_(collection_duration.ToInternalValue()), |
| 199 periodic_interval_(periodic_interval.ToInternalValue()), | 211 periodic_interval_(periodic_interval.ToInternalValue()), |
| 200 resume_from_suspend_(resume_from_suspend), | 212 resume_from_suspend_(resume_from_suspend), |
| 201 restore_session_(restore_session) { | 213 restore_session_(restore_session) { |
| 202 } | 214 } |
| 203 | 215 |
| 204 PerfProvider::CollectionParams::TriggerParams::TriggerParams( | 216 PerfProvider::CollectionParams::TriggerParams::TriggerParams( |
| 205 int64_t sampling_factor, | 217 int64_t sampling_factor, |
| 206 base::TimeDelta max_collection_delay) | 218 base::TimeDelta max_collection_delay) |
| 207 : sampling_factor_(sampling_factor), | 219 : sampling_factor_(sampling_factor), |
| 208 max_collection_delay_(max_collection_delay.ToInternalValue()) {} | 220 max_collection_delay_(max_collection_delay.ToInternalValue()) {} |
| 209 | 221 |
| 210 const PerfProvider::CollectionParams PerfProvider::kDefaultParameters( | |
| 211 /* collection_duration = */ base::TimeDelta::FromSeconds(2), | |
| 212 /* periodic_interval = */ base::TimeDelta::FromHours(3), | |
| 213 /* resume_from_suspend = */ PerfProvider::CollectionParams::TriggerParams( | |
| 214 /* sampling_factor = */ 10, | |
| 215 /* max_collection_delay = */ base::TimeDelta::FromSeconds(5)), | |
| 216 /* restore_session = */ PerfProvider::CollectionParams::TriggerParams( | |
| 217 /* sampling_factor = */ 10, | |
| 218 /* max_collection_delay = */ base::TimeDelta::FromSeconds(10))); | |
| 219 | |
| 220 PerfProvider::PerfProvider() | 222 PerfProvider::PerfProvider() |
| 221 : collection_params_(kDefaultParameters), | 223 : login_observer_(this), |
| 222 login_observer_(this), | |
| 223 next_profiling_interval_start_(base::TimeTicks::Now()), | 224 next_profiling_interval_start_(base::TimeTicks::Now()), |
| 224 weak_factory_(this) { | 225 weak_factory_(this) { |
| 225 } | 226 } |
| 226 | 227 |
| 227 PerfProvider::~PerfProvider() { | 228 PerfProvider::~PerfProvider() { |
| 228 chromeos::LoginState::Get()->RemoveObserver(&login_observer_); | 229 chromeos::LoginState::Get()->RemoveObserver(&login_observer_); |
| 229 } | 230 } |
| 230 | 231 |
| 231 void PerfProvider::Init() { | 232 void PerfProvider::Init() { |
| 232 CHECK(command_selector_.SetOdds( | 233 CHECK(command_selector_.SetOdds( |
| (...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 scoped_ptr<SampledProfile> sampled_profile(new SampledProfile); | 622 scoped_ptr<SampledProfile> sampled_profile(new SampledProfile); |
| 622 sampled_profile->set_trigger_event(SampledProfile::RESTORE_SESSION); | 623 sampled_profile->set_trigger_event(SampledProfile::RESTORE_SESSION); |
| 623 sampled_profile->set_ms_after_restore(time_after_restore.InMilliseconds()); | 624 sampled_profile->set_ms_after_restore(time_after_restore.InMilliseconds()); |
| 624 sampled_profile->set_num_tabs_restored(num_tabs_restored); | 625 sampled_profile->set_num_tabs_restored(num_tabs_restored); |
| 625 | 626 |
| 626 CollectIfNecessary(std::move(sampled_profile)); | 627 CollectIfNecessary(std::move(sampled_profile)); |
| 627 last_session_restore_collection_time_ = base::TimeTicks::Now(); | 628 last_session_restore_collection_time_ = base::TimeTicks::Now(); |
| 628 } | 629 } |
| 629 | 630 |
| 630 } // namespace metrics | 631 } // namespace metrics |
| OLD | NEW |