1 # Categorization rules for spacetrace
3 # This file defines the stack frame rules that will categorize
4 # allocations that spacetrace processes. The format of this file is
7 # initial string match for stack frame n
8 # initial string match for stack frame n+1
9 # initial string match for stack frame n+2
11 # The key in the matching rule is that for every rule, we provide a
12 # snippet of the stack frame - contiguous substring matches.
13 # categorynames and rules substring matches are case sensitive
15 # Predefined Categories
16 # "All" - All allocations [default]
17 # "uncategorized" - All allocations that don't match any category
20 # Suresh Duddi <dp@netscape.com>
21 ###########################################################################
22 # NOTE: This is still under definition
23 ###########################################################################
24 # General principle of categorization:
26 # - Each category, in general, denotes a module or feature.
28 # - We assign each allocation to the module/feature that directly
29 # caused the allocation irrespective of which higher level module
30 # caused the allocation. There are very few exceptions usually when
31 # an allocation belongs both to a feature-category and to a
35 # Bookmarks. Mainly initialization. Does not include menu cost.
37 # Cascading style sheets
44 # html parsing and layout
46 # reflow, frames, line, view
54 # All protocol and uri stuff. All urls created accounted here
56 # Preferences stuff. All js cost for preferences is included here.
58 # Most of the rdf allocations. rdf cost from xul, chromeregistry,
65 # xbl stuff. Includes js in xbl.
67 # xpcom, xpt. Allocations for creations of objects are assigned
68 # onto the respective modules
70 # XUL parsing and layout. Includes rdf overhead from xul like
77 # ===========================================================================
78 # Leaf rules. We categorize them out first.
79 # All allocations matching these rules DO belong to the category.
80 # ===========================================================================
83 nsXULPrototypeScript::Deserialize
89 /usr/X11R6/lib/libX11.so
101 imgRequest::OnDataAvailable
107 jinit_master_decompress
113 jinit_marker_decompress
122 nsZipArchive::BuildFileList
125 nsZipArchive::ReadInit
135 xptiInterfaceInfoManager::LoadFile
138 nsGenericModule::Initialize
147 nsCharsetConverterManager::
150 nsDiskCacheDevice::Init
153 nsCacheEntryDescriptor::nsTransportWrapper::OpenOutputStream
162 nsDiskCacheStreamIO::
174 nsXULAttribute::Create
177 nsXULDocument::AddElementToMap
180 XULContentSinkImpl::AddAttributes
183 XULContentSinkImpl::CreateElement
186 nsXULElement::SetAttr
189 nsXULDocument::InsertElement
192 NS_NewXULContentBuilder
195 nsXULElement::AppendChildTo
198 nsXBLPrototypeHandler::AppendHandlerText(
201 FrameArena::AllocateFrame
204 nsGlobalHistory::OpenDB
216 RDFServiceImpl::GetResource
219 RDFContentSinkImpl::AddProperties
222 RDFContainerImpl::AppendElement
225 RDFXMLDataSourceImpl::Assert
228 NS_NewRDFInMemoryDataSource
231 CSSLoaderImpl::ParseSheet
234 CSSParserImpl::Parse(
243 nsRuleNode::GetStyleData
249 CSSRuleProcessor::RulesMatching
252 CSSStyleSheetImpl::Clone
285 IncrementalReflow::AddCommand
306 nsReflowPath::EnsureSubtreeFor
321 nsTableRowGroupFrame::
327 PresShell::ProcessReflowCommands
330 # ======================================================================
331 # Rules that match higher up on the stack
333 # ======================================================================
342 nsXBLService::LoadBindings
345 nsXBLBinding::ExecuteAttachedHandler
348 nsXULDocument::LoadScript
351 nsXULDocument::ExecuteScript
354 XULContentSinkImpl::Open
357 RDFContentSinkImpl::HandleEndElement
360 HTMLContentSink::AddAttributes
363 HTMLContentSink::OpenContainer
366 HTMLContentSink::CloseContainer
368 # XXX whom to account LoadImage to? I am going with images.
375 # ======================================================================
376 # Even more genralized rules. There could be lots of activity that
377 # happens below them in the stack. But we are sure we have categorized
378 # a lot of them by using the rules above and know the category of the
380 # ======================================================================
386 nsGenericDOMDataNode::
395 nsXULTemplateBuilder::
398 XULContentSinkImpl::HandleEndElement
404 nsJSContext::EvaluateString
406 # Almost all of what is left with XULContentSink belongs to xul
407 # Also, this was roughly 0.3% of startup memory
411 # XXX this is a wild guess -> html What remains here is about
412 # XXX 1.5% of startup footprint
420 nsXBLStreamListener::OnDataAvailable
426 nsIOService::NewChannelFromURI
429 nsSegmentedBuffer::AppendNewSegment
434 # Catchalls to help categorize
435 # ----------------------------------------------------------------------
440 # ----------------------------------------------------------------------
442 # This is a predefined category. Don't create it yourself.