Home
last modified time | relevance | path

Searched refs:callchain (Results 1 – 25 of 27) sorted by relevance

12

/system/extras/simpleperf/scripts/purgatorio/templates/
Dmain.js84 let callchains = graph_source.data.callchain
104 let callchain = callchains[graph_selection[i]].split("<br>")
106 for (let e = 0; e < callchain.length; e ++) {
107 if (callchain[e] != "") { // last entry is apparently always an empty string
108 entry = callchain[e]
132 function should_insert_callchain(callchain, items, filter_index, inverted) { argument
134 if (callchain[0] === items[filter_index[t]]) {
147 function insert_callchain(root, callchain, inverted) { argument
153 for (let e = 0; e < callchain.length; e ++) {
154 let entry = callchain[e].replace(/^\s+|\s+$/g, '')
[all …]
/system/extras/simpleperf/
Dsample_tree.h120 std::vector<EntryT*> callchain; in ProcessSampleRecord() local
121 callchain.push_back(sample); in ProcessSampleRecord()
145 CreateCallChainSample(thread, sample, ip, in_kernel, callchain, acc_info); in ProcessSampleRecord()
149 callchain.push_back(callchain_sample); in ProcessSampleRecord()
156 std::reverse(callchain.begin(), callchain.end()); in ProcessSampleRecord()
159 while (callchain.size() >= 2) { in ProcessSampleRecord()
160 EntryT* sample = callchain[0]; in ProcessSampleRecord()
161 callchain.erase(callchain.begin()); in ProcessSampleRecord()
167 InsertCallChainForSample(sample, callchain, acc_info); in ProcessSampleRecord()
189 const std::vector<EntryT*>& callchain,
[all …]
Dreport_utils.cpp133 void CallChainReportBuilder::MarkArtFrame(std::vector<CallChainReportEntry>& callchain) { in MarkArtFrame() argument
138 for (size_t i = 0; i < callchain.size(); ++i) { in MarkArtFrame()
139 auto& entry = callchain[i]; in MarkArtFrame()
146 if (!IsArtEntry(callchain[j], &is_jni_trampoline)) { in MarkArtFrame()
149 callchain[j].execution_type = CallChainExecutionType::ART_METHOD; in MarkArtFrame()
165 if (i > 0 && callchain[i - 1].execution_type == CallChainExecutionType::ART_METHOD) { in MarkArtFrame()
166 callchain[i - 1].execution_type = CallChainExecutionType::NATIVE_METHOD; in MarkArtFrame()
171 void CallChainReportBuilder::ConvertJITFrame(std::vector<CallChainReportEntry>& callchain) { in ConvertJITFrame() argument
173 for (size_t i = 0; i < callchain.size();) { in ConvertJITFrame()
174 auto& entry = callchain[i]; in ConvertJITFrame()
[all …]
Dcallchain.h51 void AddCallChain(const std::vector<EntryT*>& callchain, uint64_t period, in AddCallChain()
54 NodeT* p = FindMatchingNode(children, callchain[0], is_same_sample); in AddCallChain()
56 std::unique_ptr<NodeT> new_node = AllocateNode(callchain, 0, period, 0); in AddCallChain()
62 size_t match_length = GetMatchingLengthInNode(p, callchain, callchain_pos, is_same_sample); in AddCallChain()
70 if (callchain_pos == callchain.size()) { in AddCallChain()
76 NodeT* np = FindMatchingNode(p->children, callchain[callchain_pos], is_same_sample); in AddCallChain()
82 std::unique_ptr<NodeT> new_node = AllocateNode(callchain, callchain_pos, period, 0); in AddCallChain()
Dreport_utils.h76 void MarkArtFrame(std::vector<CallChainReportEntry>& callchain);
77 void ConvertJITFrame(std::vector<CallChainReportEntry>& callchain);
79 void DeObfuscateJavaMethods(std::vector<CallChainReportEntry>& callchain);
Dcmd_report_sample.cpp396 const proto::Sample_CallChainEntry& callchain = sample.callchain(i); in DumpProtobufReport() local
397 FprintIndented(report_fp_, 2, "vaddr_in_file: %" PRIx64 "\n", callchain.vaddr_in_file()); in DumpProtobufReport()
398 FprintIndented(report_fp_, 2, "file_id: %u\n", callchain.file_id()); in DumpProtobufReport()
399 int32_t symbol_id = callchain.symbol_id(); in DumpProtobufReport()
406 max_symbol_id_map[callchain.file_id()] = in DumpProtobufReport()
407 std::max(max_symbol_id_map[callchain.file_id()], symbol_id); in DumpProtobufReport()
409 if (callchain.has_execution_type()) { in DumpProtobufReport()
411 ProtoExecutionTypeToString(callchain.execution_type())); in DumpProtobufReport()
590 proto::Sample_CallChainEntry* callchain = sample->add_callchain(); in PrintSampleRecordInProtobuf() local
601 callchain->set_vaddr_in_file(node.vaddr_in_file); in PrintSampleRecordInProtobuf()
[all …]
DSampleDisplayer.h116 if (sample->callchain.children.empty()) { in operator()
120 if (brief_callgraph_ && sample->callchain.duplicated) { in operator()
127 for (size_t i = 0; i < sample->callchain.children.size(); ++i) { in operator()
128 DisplayCallGraphEntry(fp, 1, prefix, sample->callchain.children[i], in operator()
129 sample->callchain.children_period + sample->GetPeriod(), in operator()
130 (i + 1 == sample->callchain.children.size())); in operator()
DSampleComparator.h63 BUILD_COMPARE_VALUE_FUNCTION(CompareCallGraphDuplicated, callchain.duplicated);
Dcmd_report_sample.proto49 repeated CallChainEntry callchain = 3; field
90 // Unwinding result is provided for samples without a complete callchain, when recorded with
Drecord.cpp1258 MoveFromBinaryFormat(callchain.length, p); in UnwindingResultRecord()
1259 callchain.ips = reinterpret_cast<uint64_t*>(p); in UnwindingResultRecord()
1260 p += callchain.length * sizeof(uint64_t); in UnwindingResultRecord()
1261 callchain.sps = reinterpret_cast<uint64_t*>(p); in UnwindingResultRecord()
1262 p += callchain.length * sizeof(uint64_t); in UnwindingResultRecord()
1340 if (callchain.length > 0) { in DumpData()
1341 PrintIndented(indent, "callchain length=%" PRIu64 ":\n", callchain.length); in DumpData()
1342 for (uint64_t i = 0; i < callchain.length; i++) { in DumpData()
1343 PrintIndented(indent + 1, "ip_%" PRIu64 ": 0x%" PRIx64 "\n", i + 1, callchain.ips[i]); in DumpData()
1344 PrintIndented(indent + 1, "sp_%" PRIu64 ": 0x%" PRIx64 "\n", i + 1, callchain.sps[i]); in DumpData()
Dcmd_kmem.cpp44 CallChainRoot<SlabSample> callchain; // a callchain tree representing all member
204 bool in_kernel, const std::vector<SlabSample*>& callchain, in CreateCallChainSample() argument
213 callchain); in CreateCallChainSample()
Dcmd_debug_unwind.cpp539 if (i < unwinding_r.callchain.length) { in ReportUnwindingResult()
540 fprintf(out_fp_, "unwinding_ip_%zu: 0x%" PRIx64 "\n", id, unwinding_r.callchain.ips[i]); in ReportUnwindingResult()
541 fprintf(out_fp_, "unwinding_sp_%zu: 0x%" PRIx64 "\n", id, unwinding_r.callchain.sps[i]); in ReportUnwindingResult()
Dcmd_report.cpp79 CallChainRoot<SampleEntry> callchain; member
197 const std::vector<SampleEntry*>& callchain, in CreateCallChainSample() argument
210 return InsertCallChainSample(std::move(callchain_sample), callchain); in CreateCallChainSample()
/system/extras/simpleperf/scripts/test/
Dreport_lib_test.py58 callchain = self.report_lib.GetCallChainOfCurrentSample()
59 self.assertEqual(callchain.nr, 0)
96 callchain = self.report_lib.GetCallChainOfCurrentSample()
97 for i in range(callchain.nr):
98 if callchain.entries[i].symbol.symbol_name == sleep_function_name:
110 callchain = report_lib.GetCallChainOfCurrentSample()
111 for i in range(callchain.nr):
112 if callchain.entries[i].symbol.symbol_name == 'artMterpAsmInstructionStart':
133 callchain = report_lib.GetCallChainOfCurrentSample()
134 for i in range(callchain.nr):
[all …]
/system/extras/simpleperf/scripts/inferno/
Ddata_types.py36 def add_callchain(self, callchain, symbol, sample): argument
41 for j in range(callchain.nr):
42 entry = callchain.entries[callchain.nr - j - 1]
72 def add_sample(self, sample, symbol, callchain): argument
74 thread.add_callchain(callchain, symbol, sample)
Dinferno.py137 callchain = lib.GetCallChainOfCurrentSample()
138 if sample_filter_fn and not sample_filter_fn(sample, symbol, callchain):
140 process.add_sample(sample, symbol, callchain)
/system/extras/simpleperf/scripts/
Ddebug_unwind_reporter.py58 self.callchain: List[CallChainNode] = []
77 if callchain_id == len(self.callchain):
78 self.callchain.append(CallChainNode())
79 return self.callchain[callchain_id]
89 for node in sample.callchain:
108 return sample.callchain[-1].dso in self.end_dso
116 return sample.callchain[-1].symbol in self.end_symbol
203 symbol_key = (sample.callchain[-1].dso, sample.callchain[-1].symbol)
Dreport_sample.py45 callchain = lib.GetCallChainOfCurrentSample()
53 for i in range(callchain.nr):
54 entry = callchain.entries[i]
Dannotate.py213 callchain = lib.GetCallChainOfCurrentSample()
214 for i in range(callchain.nr):
215 symbols.append(callchain.entries[i].symbol)
268 callchain = lib.GetCallChainOfCurrentSample()
269 for i in range(callchain.nr):
270 symbols.append(callchain.entries[i].symbol)
Dbinary_cache_builder.py72 callchain = lib.GetCallChainOfCurrentSample()
73 for i in range(callchain.nr):
74 symbols.append(callchain.entries[i].symbol)
Dsimpleperf_report_lib.py356 callchain = self._GetCallChainOfCurrentSampleFunc(self.getInstance())
357 assert not _is_null(callchain)
358 return callchain[0]
Dpprof_proto_generator.py305 callchain = self.lib.GetCallChainOfCurrentSample()
317 for i in range(max(0, callchain.nr - self.max_chain_length), callchain.nr):
318 entry = callchain.entries[i]
Dreport_html.py644 callchain = lib.GetCallChainOfCurrentSample()
660 for i in range(callchain.nr):
661 symbol = callchain.entries[i].symbol
/system/extras/simpleperf/scripts/purgatorio/
Dpurgatorio.py199 callchain = lib.GetCallChainOfCurrentSample()
220 for i in range(callchain.nr):
221 symbol = callchain.entries[i].symbol # SymbolStruct
232 if i < callchain.nr - 1:
/system/extras/simpleperf/doc/
DREADME.md27 - [Fix broken callchain stopped at C functions](#fix-broken-callchain-stopped-at-c-functions)
161 2. Download unstripped native libraries on device, as [here](#fix-broken-callchain-stopped-at-c-fun…
167 a callchain. But the thread stack can be much longer than 64KB. In that case, we can't unwind to
198 ### Fix broken callchain stopped at C functions

12