/system/extras/simpleperf/ |
thread_tree.h | 26 #include "dso.h" 42 Dso* dso; member in struct:simpleperf::MapEntry 46 Dso* dso, bool in_kernel) 51 dso(dso), 84 unknown_dso_ = Dso::CreateDso(DSO_ELF_FILE, "unknown"); 87 kernel_dso_ = Dso::CreateDso(DSO_KERNEL, DEFAULT_KERNEL_MMAP_NAME); 104 uint64_t* pvaddr_in_file, Dso** pdso = nullptr) [all...] |
dso.cpp | 17 #include "dso.h" 45 const std::string s = Dso::Demangle(name_); 55 bool Dso::demangle_ = true; 56 std::string Dso::symfs_dir_; 57 std::string Dso::vmlinux_; 58 std::string Dso::kallsyms_; 59 bool Dso::read_kernel_symbols_from_proc_; 60 std::unordered_map<std::string, BuildId> Dso::build_id_map_; 61 size_t Dso::dso_count_; 62 uint32_t Dso::g_dump_id_ [all...] |
environment_test.cpp | 22 #include "dso.h" 42 std::unique_ptr<Dso> dso = Dso::CreateDso(DSO_ELF_FILE, "[vdso]", local 44 ASSERT_TRUE(dso != nullptr); 45 ASSERT_NE(dso->GetDebugFilePath(), "[vdso]");
|
dso.h | 74 friend class Dso; 86 class Dso { 105 static std::unique_ptr<Dso> CreateDso(DsoType dso_type, const std::string& dso_path, 108 ~Dso(); 159 Dso(DsoType type, const std::string& path, bool force_64bit); 182 // Used to identify current dso if it needs to be dumped. 184 // Used to assign dump_id for symbols in current dso.
|
thread_tree.cpp | 108 Dso* dso = FindKernelDsoOrNew(filename); local 110 AllocateMap(MapEntry(start_addr, len, pgoff, time, dso, true)); 116 Dso* ThreadTree::FindKernelDsoOrNew(const std::string& filename) { 123 module_dso_tree_[filename] = Dso::CreateDso(DSO_KERNEL_MODULE, filename); 133 Dso* dso = FindUserDsoOrNew(filename, start_addr); local 135 AllocateMap(MapEntry(start_addr, len, pgoff, time, dso, false)); 142 Dso* ThreadTree::FindUserDsoOrNew(const std::string& filename, uint64_t start_addr) { 146 user_dso_tree_[filename] = Dso::CreateDso(DSO_ELF_FILE, filename, force_64bit) 227 Dso* dso = map->dso; local 284 Dso* dso = nullptr; local [all...] |
cmd_report_sample.cpp | 97 uint64_t* pvaddr_in_file, Dso** pdso, const Symbol** psymbol); 422 Dso* dso; member in struct:__anon3017::Node 439 &node.dso, &node.symbol); 466 if (!GetCallEntry(thread, in_kernel, ip, true, &node.vaddr_in_file, &node.dso, 478 if (!node.dso->GetDumpId(&file_id)) { 479 file_id = node.dso->CreateDumpId(); 484 symbol_id = node.dso->CreateSymbolDumpId(node.symbol); 496 if (node.dso->FileName() == "libc.so" && 517 uint64_t* pvaddr_in_file, Dso** pdso 601 Dso* dso; local [all...] |
report_lib_interface.cpp | 23 #include "dso.h" 128 bool SetSymfs(const char* symfs_dir) { return Dso::SetSymFsDir(symfs_dir); } 191 Dso::SetKallsyms(std::move(kallsyms)); 309 current_symbol_.dso_name = map->dso->Path().c_str(); 357 entry.symbol.dso_name = map->dso->Path().c_str(); 388 BuildId build_id = Dso::FindExpectedBuildIdForPath(path);
|
cmd_record.cpp | 725 if (!Dso::SetSymFsDir(args[i])) { 1369 Dso* dso = map->dso; local [all...] |
cmd_debug_unwind.cpp | 168 if (!Dso::SetSymFsDir(args[i])) { 281 Dso* dso = map->dso; local 282 if (!dso->HasDumpId()) { 283 dso->CreateDumpId(); 285 const Symbol* symbol = thread_tree_.FindSymbol(map, ip, nullptr, &dso); 287 dso->CreateSymbolDumpId(symbol);
|
record_file_writer.cpp | 32 #include "dso.h" 300 bool RecordFileWriter::WriteFileFeatures(const std::vector<Dso*>& files) { 301 for (Dso* dso : files) { 302 if (!dso->HasDumpId()) { 305 uint32_t dso_type = dso->type(); 306 uint64_t min_vaddr = dso->MinVirtualAddress(); 310 const std::vector<Symbol>& symbols = dso->GetSymbols(); 319 if (!WriteFileFeature(dso->Path(), dso_type, min_vaddr, dump_symbols)) {
|
cmd_report.cpp | 193 if (thread_tree_->IsUnknownDso(map->dso)) { 194 // The unwinders can give wrong ip addresses, which can't map to a valid dso. Skip them. 228 dso_filter_.find(sample->map->dso->Path()) == dso_filter_.end()) { 369 "The default options are: -i perf.data --sort comm,pid,tid,dso,symbol.\n" 400 " dso -- shared library\n" 410 " comm,pid,tid,dso,symbol\n" 515 std::vector<std::string> sort_keys = {"comm", "pid", "tid", "dso", "symbol"}; 562 Dso::SetKallsyms(kallsyms); 638 Dso::SetDemangle(demangle); 639 if (!Dso::SetSymFsDir(symfs_dir)) [all...] |
record_file.h | 31 #include "dso.h" 57 bool WriteFileFeatures(const std::vector<Dso*>& files);
|
cmd_dumprecord.cpp | 172 Dso* dso; 173 const Symbol* symbol = thread_tree.FindSymbol(map, ip, &vaddr_in_file, &dso); 174 dso_name = dso->Path();
|
environment.cpp | 494 Dso::SetVdsoFile(tmpfile->path, sizeof(size_t) == sizeof(uint64_t));
|
record_file_reader.cpp | 514 Dso::SetBuildIds(build_ids);
|
/system/extras/perfprofd/ |
perf_data_converter.cc | 58 struct Dso { 61 explicit Dso(uint64_t min_vaddr_in) : min_vaddr(min_vaddr_in) { 64 std::unordered_map<std::string, Dso> files; 90 Dso* dso_data; 100 auto it = files.emplace(dso_name, Dso(min_vaddr)); 137 const Dso& dso = file_data.second; local 138 if (dso.symbols.empty()) { 145 symbol_info->set_min_vaddr(dso.min_vaddr); 146 for (auto& aggr_sym : dso.symbols) [all...] |
/system/extras/simpleperf/scripts/ |
utils.py | 415 class Dso(object): 417 addrs: a map from address to Addr object in this dso. 439 self.dso_map = {} # map from dso_path to Dso. 447 dso = self.dso_map.get(dso_path) 448 if dso is None: 449 dso = self.dso_map[dso_path] = self.Dso() 450 if addr not in dso.addrs: 451 dso.addrs[addr] = self.Addr(func_addr) 457 def _convert_addrs_in_one_dso(self, dso_path, dso) [all...] |