OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // Call stack sample data for a given profiling session. |
| 6 |
| 7 syntax = "proto2"; |
| 8 |
| 9 option optimize_for = LITE_RUNTIME; |
| 10 |
| 11 package metrics; |
| 12 |
| 13 // Next tag: 5 |
| 14 message CallStackProfile { |
| 15 // Describes an entry in the callstack. |
| 16 message Entry { |
| 17 // Instruction pointer subtracted by module base. |
| 18 optional uint64 address = 1; |
| 19 |
| 20 // Index to the module identifier in |module_ids| of CallStackProfile. |
| 21 optional int32 module_id_index = 2; |
| 22 } |
| 23 |
| 24 // A sample consisting of one or more callstacks with the same stack frames |
| 25 // and instruction pointers. |
| 26 message Sample { |
| 27 // The callstack. Sample.entries[0] represents the call on the top of the |
| 28 // stack. |
| 29 repeated Entry entry = 1; |
| 30 |
| 31 // Number of times this stack signature occurs. |
| 32 optional int64 count = 2; |
| 33 } |
| 34 |
| 35 // Uniquely identifies a module. |
| 36 message ModuleIdentifier { |
| 37 // A hash that uniquely identifies a particular program version with high |
| 38 // probability. This is parsed from headers of the loaded module. |
| 39 // For binaries generated by GNU tools: |
| 40 // Contents of the .note.gnu.build-id field. |
| 41 // On Windows: |
| 42 // GUID + AGE in the debug image headers of a module. |
| 43 optional bytes build_id = 1; |
| 44 |
| 45 // MD5Sum Prefix of the module name. This is the same hashing scheme as used |
| 46 // to hash UMA histogram names. |
| 47 optional fixed64 name_md5_prefix = 2; |
| 48 } |
| 49 |
| 50 // The callstack and counts. |
| 51 repeated Sample sample = 1; |
| 52 |
| 53 // List of module ids found in this sample. |
| 54 repeated ModuleIdentifier module_id = 2; |
| 55 |
| 56 // Duration of this profile. |
| 57 optional int32 profile_duration_ms = 3; |
| 58 |
| 59 // Time between samples. |
| 60 optional int32 sampling_period_ms = 4; |
| 61 } |
OLD | NEW |