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

Side by Side Diff: components/metrics/public/cpp/call_stack_profile_struct_traits.h

Issue 2927593002: Make stack sampling profiler sample beyond startup. (Closed)
Patch Set: Address comments. Created 3 years, 5 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 // Defines StructTraits specializations for translating between mojo types and 5 // Defines StructTraits specializations for translating between mojo types and
6 // base::StackSamplingProfiler types, with data validity checks. 6 // base::StackSamplingProfiler types, with data validity checks.
7 7
8 #ifndef COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_ 8 #ifndef COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_
9 #define COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_ 9 #define COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_
10 10
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 metrics::CallStackProfileParams::Trigger trigger) { 300 metrics::CallStackProfileParams::Trigger trigger) {
301 switch (trigger) { 301 switch (trigger) {
302 case metrics::CallStackProfileParams::Trigger::UNKNOWN: 302 case metrics::CallStackProfileParams::Trigger::UNKNOWN:
303 return metrics::mojom::Trigger::UNKNOWN; 303 return metrics::mojom::Trigger::UNKNOWN;
304 case metrics::CallStackProfileParams::Trigger::PROCESS_STARTUP: 304 case metrics::CallStackProfileParams::Trigger::PROCESS_STARTUP:
305 return metrics::mojom::Trigger::PROCESS_STARTUP; 305 return metrics::mojom::Trigger::PROCESS_STARTUP;
306 case metrics::CallStackProfileParams::Trigger::JANKY_TASK: 306 case metrics::CallStackProfileParams::Trigger::JANKY_TASK:
307 return metrics::mojom::Trigger::JANKY_TASK; 307 return metrics::mojom::Trigger::JANKY_TASK;
308 case metrics::CallStackProfileParams::Trigger::THREAD_HUNG: 308 case metrics::CallStackProfileParams::Trigger::THREAD_HUNG:
309 return metrics::mojom::Trigger::THREAD_HUNG; 309 return metrics::mojom::Trigger::THREAD_HUNG;
310 case metrics::CallStackProfileParams::Trigger::PERIODIC_COLLECTION:
311 return metrics::mojom::Trigger::PERIODIC_COLLECTION;
310 } 312 }
311 NOTREACHED(); 313 NOTREACHED();
312 return metrics::mojom::Trigger::UNKNOWN; 314 return metrics::mojom::Trigger::UNKNOWN;
313 } 315 }
314 316
315 static bool FromMojom(metrics::mojom::Trigger trigger, 317 static bool FromMojom(metrics::mojom::Trigger trigger,
316 metrics::CallStackProfileParams::Trigger* out) { 318 metrics::CallStackProfileParams::Trigger* out) {
317 switch (trigger) { 319 switch (trigger) {
318 case metrics::mojom::Trigger::UNKNOWN: 320 case metrics::mojom::Trigger::UNKNOWN:
319 *out = metrics::CallStackProfileParams::Trigger::UNKNOWN; 321 *out = metrics::CallStackProfileParams::Trigger::UNKNOWN;
320 return true; 322 return true;
321 case metrics::mojom::Trigger::PROCESS_STARTUP: 323 case metrics::mojom::Trigger::PROCESS_STARTUP:
322 *out = metrics::CallStackProfileParams::Trigger::PROCESS_STARTUP; 324 *out = metrics::CallStackProfileParams::Trigger::PROCESS_STARTUP;
323 return true; 325 return true;
324 case metrics::mojom::Trigger::JANKY_TASK: 326 case metrics::mojom::Trigger::JANKY_TASK:
325 *out = metrics::CallStackProfileParams::Trigger::JANKY_TASK; 327 *out = metrics::CallStackProfileParams::Trigger::JANKY_TASK;
326 return true; 328 return true;
327 case metrics::mojom::Trigger::THREAD_HUNG: 329 case metrics::mojom::Trigger::THREAD_HUNG:
328 *out = metrics::CallStackProfileParams::Trigger::THREAD_HUNG; 330 *out = metrics::CallStackProfileParams::Trigger::THREAD_HUNG;
329 return true; 331 return true;
332 case metrics::mojom::Trigger::PERIODIC_COLLECTION:
333 *out = metrics::CallStackProfileParams::Trigger::PERIODIC_COLLECTION;
334 return true;
330 } 335 }
331 return false; 336 return false;
332 } 337 }
333 }; 338 };
334 339
335 template <> 340 template <>
336 struct StructTraits<metrics::mojom::CallStackProfileParamsDataView, 341 struct StructTraits<metrics::mojom::CallStackProfileParamsDataView,
337 metrics::CallStackProfileParams> { 342 metrics::CallStackProfileParams> {
338 static metrics::CallStackProfileParams::Process process( 343 static metrics::CallStackProfileParams::Process process(
339 const metrics::CallStackProfileParams& params) { 344 const metrics::CallStackProfileParams& params) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 metrics::CallStackProfileParams::SampleOrderingSpec::PRESERVE_ORDER; 401 metrics::CallStackProfileParams::SampleOrderingSpec::PRESERVE_ORDER;
397 return true; 402 return true;
398 } 403 }
399 return false; 404 return false;
400 } 405 }
401 }; 406 };
402 407
403 } // mojo 408 } // mojo
404 409
405 #endif // COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_ 410 #endif // COMPONENTS_METRICS_CALL_STACK_PROFILE_STRUCT_TRAITS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698