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
3 # found in the LICENSE file.
5 # This is a generic rule-tree for classifying native heaps on Android. It is a
6 # simple hierarchical python data structure (list of dictionaries). Some rules:
7 # - Order matters: what is caught by a node is not caught by its siblings.
8 # - Hierarchy matters: what is caught by a node is propagated to its children
9 # (if any). Only one of its children, though, will get the data.
10 # - Non leaf nodes have an extra implicit node called {node-name}-other: if
11 # something is caught by a non leaf node, but none of its children, it is
12 # appended to implicit {node-name}-other catch-all children.
14 # See memory_inspector/classification/native_heap_classifier.py for more docs.
16 # TODO(primiano): This is just a quick sample. Enrich looking at DMP.
20 'stacktrace': r
'WTF::|WebCore::|WebKit::',
23 'name': 'SharedBuffer',
24 'stacktrace': r
'WebCore::SharedBuffer',
27 'name': 'XMLHttpRequest',
28 'stacktrace': r
'WebCore::XMLHttpRequest',
31 'name': 'DocumentWriter',
32 'stacktrace': r
'WebCore::DocumentWriter',
36 'stacktrace': r
'WebCore::\w+::create',
43 'stacktrace': r
'sk\w+::',
47 'stacktrace': r
'v8::',
50 'name': 'heap-newspace',
51 'stacktrace': r
'v8::internal::NewSpace',
54 'name': 'heap-coderange',
55 'stacktrace': r
'v8::internal::CodeRange',
58 'name': 'heap-pagedspace',
59 'stacktrace': r
'v8::internal::PagedSpace',