| 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/metrics_log.h" | 5 #include "chrome/browser/metrics/metrics_log.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 PrefService* pref, | 294 PrefService* pref, |
| 295 base::TimeDelta incremental_uptime, | 295 base::TimeDelta incremental_uptime, |
| 296 base::TimeDelta uptime) { | 296 base::TimeDelta uptime) { |
| 297 // Update the stats which are critical for real-time stability monitoring. | 297 // Update the stats which are critical for real-time stability monitoring. |
| 298 // Since these are "optional," only list ones that are non-zero, as the counts | 298 // Since these are "optional," only list ones that are non-zero, as the counts |
| 299 // are aggregated (summed) server side. | 299 // are aggregated (summed) server side. |
| 300 | 300 |
| 301 SystemProfileProto::Stability* stability = | 301 SystemProfileProto::Stability* stability = |
| 302 uma_proto()->mutable_system_profile()->mutable_stability(); | 302 uma_proto()->mutable_system_profile()->mutable_stability(); |
| 303 | 303 |
| 304 int count = pref->GetInteger(prefs::kStabilityChildProcessCrashCount); | |
| 305 if (count) { | |
| 306 stability->set_child_process_crash_count(count); | |
| 307 pref->SetInteger(prefs::kStabilityChildProcessCrashCount, 0); | |
| 308 } | |
| 309 | |
| 310 const uint64 incremental_uptime_sec = incremental_uptime.InSeconds(); | 304 const uint64 incremental_uptime_sec = incremental_uptime.InSeconds(); |
| 311 if (incremental_uptime_sec) | 305 if (incremental_uptime_sec) |
| 312 stability->set_incremental_uptime_sec(incremental_uptime_sec); | 306 stability->set_incremental_uptime_sec(incremental_uptime_sec); |
| 313 const uint64 uptime_sec = uptime.InSeconds(); | 307 const uint64 uptime_sec = uptime.InSeconds(); |
| 314 if (uptime_sec) | 308 if (uptime_sec) |
| 315 stability->set_uptime_sec(uptime_sec); | 309 stability->set_uptime_sec(uptime_sec); |
| 316 } | 310 } |
| 317 | 311 |
| 318 void MetricsLog::RecordEnvironment( | 312 void MetricsLog::RecordEnvironment( |
| 319 const std::vector<metrics::MetricsProvider*>& metrics_providers, | 313 const std::vector<metrics::MetricsProvider*>& metrics_providers, |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 profile = uma_proto()->add_profiler_event(); | 423 profile = uma_proto()->add_profiler_event(); |
| 430 profile->set_profile_type(ProfilerEventProto::STARTUP_PROFILE); | 424 profile->set_profile_type(ProfilerEventProto::STARTUP_PROFILE); |
| 431 profile->set_time_source(ProfilerEventProto::WALL_CLOCK_TIME); | 425 profile->set_time_source(ProfilerEventProto::WALL_CLOCK_TIME); |
| 432 } else { | 426 } else { |
| 433 // For the remaining calls, re-use the existing field. | 427 // For the remaining calls, re-use the existing field. |
| 434 profile = uma_proto()->mutable_profiler_event(0); | 428 profile = uma_proto()->mutable_profiler_event(0); |
| 435 } | 429 } |
| 436 | 430 |
| 437 WriteProfilerData(process_data, process_type, profile); | 431 WriteProfilerData(process_data, process_type, profile); |
| 438 } | 432 } |
| OLD | NEW |