OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 syntax = "proto2"; | 5 syntax = "proto2"; |
6 | 6 |
7 option optimize_for = LITE_RUNTIME; | 7 option optimize_for = LITE_RUNTIME; |
8 | 8 |
9 package metrics; | 9 package metrics; |
10 | 10 |
| 11 import "call_stack_profile.proto"; |
11 import "perf_data.proto"; | 12 import "perf_data.proto"; |
12 | 13 |
13 // Protocol buffer for collected sample-based profiling data. | 14 // Protocol buffer for collected sample-based profiling data. |
14 // Contains the parameters and data from a single profile collection event. | 15 // Contains the parameters and data from a single profile collection event. |
15 | 16 |
16 // Next tag: 9 | 17 // Next tag: 10 |
17 message SampledProfile { | 18 message SampledProfile { |
18 // Indicates the event that triggered this collection. | 19 // Indicates the event that triggered this collection. |
19 enum TriggerEvent { | 20 enum TriggerEvent { |
20 UNKNOWN_TRIGGER_EVENT = 0; | 21 UNKNOWN_TRIGGER_EVENT = 0; |
21 | 22 |
22 // The profile was triggered by periodic sampling. Periodically sampled | 23 // The profile was triggered by periodic sampling. Periodically sampled |
23 // profiles are collected once per uniformly sized period interval. Within | 24 // profiles are collected once per uniformly sized period interval. Within |
24 // each interval, the sampled data is collected at a random time. For | 25 // each interval, the sampled data is collected at a random time. For |
25 // example, if the interval is 60 s, then data would be collected at a | 26 // example, if the interval is 60 s, then data would be collected at a |
26 // random point in each of the intervals [0, 60 s), [60 s, 120 s), etc. | 27 // random point in each of the intervals [0, 60 s), [60 s, 120 s), etc. |
(...skipping 25 matching lines...) Expand all Loading... |
52 optional int64 ms_after_resume = 6; | 53 optional int64 ms_after_resume = 6; |
53 | 54 |
54 // Number of tabs restored during a session restore. Only set when | 55 // Number of tabs restored during a session restore. Only set when |
55 // |trigger_event| is RESTORE_SESSION. | 56 // |trigger_event| is RESTORE_SESSION. |
56 optional int32 num_tabs_restored = 7; | 57 optional int32 num_tabs_restored = 7; |
57 | 58 |
58 // Number of milliseconds after a session restore that a profile was | 59 // Number of milliseconds after a session restore that a profile was |
59 // collected. Only set when |trigger_event| is RESTORE_SESSION. | 60 // collected. Only set when |trigger_event| is RESTORE_SESSION. |
60 optional int64 ms_after_restore = 8; | 61 optional int64 ms_after_restore = 8; |
61 | 62 |
62 // The actual perf data that was collected. | 63 // Sampled profile data collected from Linux perf tool. |
63 optional PerfDataProto perf_data = 4; | 64 optional PerfDataProto perf_data = 4; |
| 65 |
| 66 // Sampled profile data collected by periodic sampling of call stacks. |
| 67 optional CallStackProfile call_stack_profile = 9; |
64 } | 68 } |
OLD | NEW |