You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.2 KiB
113 lines
4.2 KiB
|
|
# Custom data sources that are generally useful, so we ship them |
|
# with Bloaty. |
|
|
|
## |
|
# class_or_namespace: grabs everything up until the last "::". |
|
# |
|
# This is especially useful when paired with shortsymbols, eg. |
|
# |
|
# VM SIZE FILE SIZE |
|
# -------------- -------------- |
|
# 37.6% 4.18Mi [None] 4.17Mi 37.6% |
|
# 30.9% 3.44Mi [Other] 3.44Mi 30.9% |
|
# 5.7% 648Ki insns 648Ki 5.7% |
|
# 2.9% 330Ki printAliasInstr 330Ki 2.9% |
|
# 2.9% 326Ki __cxxabiv1::(anonymous namespace) 326Ki 2.9% |
|
# 23.6% 77.1Ki [Other] 77.1Ki 23.6% |
|
# 12.7% 41.5Ki __cxxabiv1::(anonymous namespace)::parse_type<>() 41.5Ki 12.7% |
|
# 10.1% 32.9Ki __cxxabiv1::(anonymous namespace)::parse_expression<>() 32.9Ki 10.1% |
|
# <...> |
|
# 2.7% 306Ki std::__1::__tree<> 306Ki 2.7% |
|
# 27.2% 83.3Ki std::__1::__tree<>::__find_equal<>() 83.3Ki 27.2% |
|
# 20.9% 64.0Ki std::__1::__tree<>::__construct_node() 64.0Ki 20.9% |
|
# 12.6% 38.8Ki std::__1::__tree<>::find<>() 38.8Ki 12.6% |
|
# <...> |
|
# 2.2% 247Ki std::__1::__hash_table<> 247Ki 2.2% |
|
# 23.6% 58.5Ki std::__1::__hash_table<>::__rehash() 58.5Ki 23.6% |
|
# 20.3% 50.2Ki std::__1::__hash_table<>::__construct_node_hash() 50.2Ki 20.3% |
|
# 15.4% 38.2Ki std::__1::__hash_table<>::find<>() 38.2Ki 15.4% |
|
# <...> |
|
# 1.8% 208Ki google::protobuf 207Ki 1.8% |
|
# 35.2% 73.2Ki google::protobuf::InsertIfNotPresent<>() 73.2Ki 35.2% |
|
# 25.8% 53.7Ki [Other] 53.4Ki 25.7% |
|
# 6.1% 12.7Ki google::protobuf::StrCat() 12.7Ki 6.1% |
|
# <...> |
|
# |
|
# etc. |
|
|
|
custom_data_source: { |
|
name: "class_or_namespace" |
|
base_data_source: "shortsymbols" |
|
|
|
rewrite: { |
|
pattern: "^(.*)::[^:]+$" |
|
replacement: "\\1" |
|
} |
|
} |
|
|
|
## |
|
# stripped_sections: the base section name |
|
# |
|
# This is useful when you are profiling object files that you have compiled |
|
# with -ffunction-sections/-fdata-sections. Normally this makes "-d sections" |
|
# very noisy, because every function has a distinct section name. This |
|
# removes the noise and gives you a base section name. |
|
custom_data_source: { |
|
name: "stripped_sections" |
|
base_data_source: "sections" |
|
|
|
rewrite: { |
|
pattern: "^\\.text" |
|
replacement: ".text" |
|
} |
|
rewrite: { |
|
pattern: "^\\.data.rel.ro" |
|
replacement: ".data.rel.ro" |
|
} |
|
rewrite: { |
|
pattern: "^\\.data" |
|
replacement: ".data" |
|
} |
|
rewrite: { |
|
pattern: "^\\.rela\\.text" |
|
replacement: ".rela.text" |
|
} |
|
rewrite: { |
|
pattern: "^.rela.data.rel.ro" |
|
replacement: ".rela.data.rel.ro" |
|
} |
|
rewrite: { |
|
pattern: "^.rela.rodata" |
|
replacement: ".rela.rodata" |
|
} |
|
rewrite: { |
|
pattern: "^.rela.data" |
|
replacement: ".rela.data" |
|
} |
|
rewrite: { |
|
pattern: "^.tdata" |
|
replacement: ".tdata" |
|
} |
|
rewrite: { |
|
pattern: "^.rodata" |
|
replacement: ".rodata" |
|
} |
|
rewrite: { |
|
pattern: "^.bss" |
|
replacement: ".bss" |
|
} |
|
rewrite: { |
|
pattern: "^.tbss" |
|
replacement: ".tbss" |
|
} |
|
} |
|
|
|
custom_data_source: { |
|
name: "section_prefix" |
|
base_data_source: "sections" |
|
rewrite: { |
|
pattern: "^(\\.[^.]+)" |
|
replacement: "\\1" |
|
} |
|
}
|
|
|