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

Side by Side Diff: components/metrics/public/interfaces/call_stack_profile_collector.mojom

Issue 2444143002: Add process lifetime annotations to stack samples. (Closed)
Patch Set: abandon generator for on-the-fly Profiles creation Created 4 years 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
« no previous file with comments | « components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 module metrics.mojom; 5 module metrics.mojom;
6 6
7 import "mojo/common/common_custom_types.mojom"; 7 import "mojo/common/common_custom_types.mojom";
8 8
9 // These structs mirror the corresponding types in base::StackSamplingProfiler. 9 // These structs mirror the corresponding types in base::StackSamplingProfiler.
10 10
11 struct CallStackModule { 11 struct CallStackModule {
12 uint64 base_address; 12 uint64 base_address;
13 string id; 13 string id;
14 mojo.common.mojom.FilePath filename; 14 mojo.common.mojom.FilePath filename;
15 }; 15 };
16 16
17 struct CallStackFrame { 17 struct CallStackFrame {
18 uint64 instruction_pointer; 18 uint64 instruction_pointer;
19 uint64 module_index; 19 uint64 module_index;
20 }; 20 };
21 21
22 struct CallStackSample {
23 array<CallStackFrame> frames;
24 uint32 process_phases;
25 };
26
22 struct CallStackProfile { 27 struct CallStackProfile {
23 array<CallStackModule> modules; 28 array<CallStackModule> modules;
24 array<array<CallStackFrame>> samples; 29 array<CallStackSample> samples;
25 mojo.common.mojom.TimeDelta profile_duration; 30 mojo.common.mojom.TimeDelta profile_duration;
26 mojo.common.mojom.TimeDelta sampling_period; 31 mojo.common.mojom.TimeDelta sampling_period;
27 }; 32 };
28 33
29 enum Process { 34 enum Process {
30 UNKNOWN_PROCESS, 35 UNKNOWN_PROCESS,
31 BROWSER_PROCESS, 36 BROWSER_PROCESS,
32 RENDERER_PROCESS, 37 RENDERER_PROCESS,
33 GPU_PROCESS, 38 GPU_PROCESS,
34 UTILITY_PROCESS, 39 UTILITY_PROCESS,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 Thread thread; 77 Thread thread;
73 Trigger trigger; 78 Trigger trigger;
74 SampleOrderingSpec ordering_spec; 79 SampleOrderingSpec ordering_spec;
75 }; 80 };
76 81
77 interface CallStackProfileCollector { 82 interface CallStackProfileCollector {
78 Collect(CallStackProfileParams params, 83 Collect(CallStackProfileParams params,
79 mojo.common.mojom.TimeTicks start_timestamp, 84 mojo.common.mojom.TimeTicks start_timestamp,
80 array<CallStackProfile> profiles); 85 array<CallStackProfile> profiles);
81 }; 86 };
OLDNEW
« no previous file with comments | « components/metrics/public/cpp/call_stack_profile_struct_traits_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698