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

Side by Side Diff: components/metrics/leak_detector/leak_detector.mojom

Issue 2403223002: Leak reports collect information about the last uptrend (Closed)
Patch Set: Added a test case Created 4 years, 2 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 module metrics.mojom; 5 module metrics.mojom;
6 6
7 struct LeakDetectorParams { 7 struct LeakDetectorParams {
8 float sampling_rate; 8 float sampling_rate;
9 uint32 max_stack_depth; 9 uint32 max_stack_depth;
10 uint64 analysis_interval_bytes; 10 uint64 analysis_interval_bytes;
11 uint32 size_suspicion_threshold; 11 uint32 size_suspicion_threshold;
12 uint32 call_stack_suspicion_threshold; 12 uint32 call_stack_suspicion_threshold;
13 }; 13 };
14 14
15 struct AllocationBreakdown { 15 struct AllocationBreakdown {
16 array<uint32> counts_by_size; 16 array<uint32> counts_by_size;
17 uint32 count_for_call_stack; 17 uint32 count_for_call_stack;
18 }; 18 };
19 19
20 struct MemoryLeakReport { 20 struct MemoryLeakReport {
21 uint32 size_bytes; 21 uint32 size_bytes;
22 array<uint64> call_stack; 22 array<uint64> call_stack;
23 uint32 num_rising_intervals;
24 uint32 num_allocs_increase;
23 25
24 array<AllocationBreakdown> alloc_breakdown_history; 26 array<AllocationBreakdown> alloc_breakdown_history;
25 }; 27 };
26 28
27 // Provides a remote interface for enabling LeakDetector on remote processes. 29 // Provides a remote interface for enabling LeakDetector on remote processes.
28 interface LeakDetector { 30 interface LeakDetector {
29 // Returns a LeakDetectorParams struct. Used to indicate to the remote process 31 // Returns a LeakDetectorParams struct. Used to indicate to the remote process
30 // what parameters to use when initializing LeakDetector. Can also return 32 // what parameters to use when initializing LeakDetector. Can also return
31 // |params.sampling_rate| == 0 to indicate that LeakDetector should not be 33 // |params.sampling_rate| == 0 to indicate that LeakDetector should not be
32 // initialized on a particular process. 34 // initialized on a particular process.
33 GetParams() => (LeakDetectorParams params); 35 GetParams() => (LeakDetectorParams params);
34 36
35 // When a remote process running LeakDetector gets some leak reports, it 37 // When a remote process running LeakDetector gets some leak reports, it
36 // should call this function to return the leak reports back to the main 38 // should call this function to return the leak reports back to the main
37 // process that implements this function. The reports should be sent back as 39 // process that implements this function. The reports should be sent back as
38 // an array of serialized MemoryLeakReportProtos. 40 // an array of serialized MemoryLeakReportProtos.
39 SendLeakReports(array<MemoryLeakReport> reports); 41 SendLeakReports(array<MemoryLeakReport> reports);
40 }; 42 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698