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

Side by Side Diff: components/metrics/proto/memory_leak_report.proto

Issue 2158583002: Add build ID field to MemoryLeakReportProto (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | 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 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 // Next tag: 6 11 // Next tag: 7
12 message MemoryLeakReportProto { 12 message MemoryLeakReportProto {
13 // The call stack at which the leak was found. This is a list of offsets 13 // The call stack at which the leak was found. This is a list of offsets
14 // within the program binary. The first entry is the deepest level of the call 14 // within the program binary. The first entry is the deepest level of the call
15 // stack. 15 // stack.
16 // 16 //
17 // Some call stack entries may not be within the Chrome binary (e.g. 17 // Some call stack entries may not be within the Chrome binary (e.g.
18 // JavaScript code). Those entries are given as the absolute offset in memory. 18 // JavaScript code). Those entries are given as the absolute offset in memory.
19 // 19 //
20 // The offsets within Chrome are determined by whether the original call stack 20 // The offsets within Chrome are determined by whether the original call stack
21 // address was within the executable region of the Chrome binary's mapping in 21 // address was within the executable region of the Chrome binary's mapping in
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 optional Params params = 3; 62 optional Params params = 3;
63 63
64 // The type of Chrome process on which this leak report was generated. 64 // The type of Chrome process on which this leak report was generated.
65 enum ProcessType { 65 enum ProcessType {
66 UNKNOWN_PROCESS = 0; 66 UNKNOWN_PROCESS = 0;
67 BROWSER_PROCESS = 1; 67 BROWSER_PROCESS = 1;
68 RENDERER_PROCESS = 2; 68 RENDERER_PROCESS = 2;
69 } 69 }
70 optional ProcessType source_process = 5; 70 optional ProcessType source_process = 5;
71 71
72 // The build ID of the Chrome binary from which this leak report was obtained.
73 // The build ID is typically a 16- or 20-byte hash that is generated by the
74 // compiler that built the binary. This value will be read directly from the
75 // GNU build notes section of the Chrome binary.
76 optional bytes build_id = 6;
77
72 ////////////////////////////////////////////////////////////////////////////// 78 //////////////////////////////////////////////////////////////////////////////
73 79
74 // Represents a single snapshot of the internal bookkeeping of the Runtime 80 // Represents a single snapshot of the internal bookkeeping of the Runtime
75 // Memory Leak Detector, which tracks the number of extant allocations (a 81 // Memory Leak Detector, which tracks the number of extant allocations (a
76 // block of heap memory that has been allocated but not yet freed). 82 // block of heap memory that has been allocated but not yet freed).
77 // 83 //
78 // Next tag: 3 84 // Next tag: 3
79 message AllocationBreakdown { 85 message AllocationBreakdown {
80 // Table of number of extant allocations for each allocation size. The i-th 86 // Table of number of extant allocations for each allocation size. The i-th
81 // entry in the vector is the net number of allocations for sizes in the 87 // entry in the vector is the net number of allocations for sizes in the
82 // range [i * 4, i * 4 + 3]. 88 // range [i * 4, i * 4 + 3].
83 repeated uint32 counts_by_size = 1; 89 repeated uint32 counts_by_size = 1;
84 90
85 // The number of extant allocations with size = |size_bytes| and made from 91 // The number of extant allocations with size = |size_bytes| and made from
86 // the call site given by |call_stack|. If it is not set, it means tracking 92 // the call site given by |call_stack|. If it is not set, it means tracking
87 // of allocs per call site for allocation size = |size_bytes| has not yet 93 // of allocs per call site for allocation size = |size_bytes| has not yet
88 // begun at the time of this entry. 94 // begun at the time of this entry.
89 optional uint32 count_for_call_stack = 2; 95 optional uint32 count_for_call_stack = 2;
90 } 96 }
91 97
92 // A record of past allocation data leading up to the circumstances that 98 // A record of past allocation data leading up to the circumstances that
93 // generated the current leak report. 99 // generated the current leak report.
94 // 100 //
95 // A new snapshot is taken every |analysis_interval_bytes| of memory 101 // A new snapshot is taken every |analysis_interval_bytes| of memory
96 // allocation. The oldest record is at the beginning. The most recent record, 102 // allocation. The oldest record is at the beginning. The most recent record,
97 // taken at the time the report was generated, is at the end. 103 // taken at the time the report was generated, is at the end.
98 repeated AllocationBreakdown alloc_breakdown_history = 4; 104 repeated AllocationBreakdown alloc_breakdown_history = 4;
99 } 105 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698