Lines Matching refs:sample
95 EntryT* sample = CreateSample(r, in_kernel, &acc_info); in ProcessSampleRecord() local
96 if (sample == nullptr) { in ProcessSampleRecord()
104 const ThreadEntry* thread = GetThreadOfSample(sample); in ProcessSampleRecord()
121 callchain.push_back(sample); in ProcessSampleRecord()
145 CreateCallChainSample(thread, sample, ip, in_kernel, callchain, acc_info); in ProcessSampleRecord()
160 EntryT* sample = callchain[0]; in ProcessSampleRecord() local
163 if (added_set.find(sample) != added_set.end()) { in ProcessSampleRecord()
166 added_set.insert(sample); in ProcessSampleRecord()
167 InsertCallChainForSample(sample, callchain, acc_info); in ProcessSampleRecord()
168 UpdateCallChainParentInfo(sample, parent); in ProcessSampleRecord()
169 parent = sample; in ProcessSampleRecord()
187 virtual EntryT* CreateCallChainSample(const ThreadEntry* thread, const EntryT* sample,
199 EntryT* InsertSample(std::unique_ptr<EntryT> sample) { in InsertSample() argument
200 if (sample == nullptr || !FilterSample(sample.get())) { in InsertSample()
203 UpdateSummary(sample.get()); in InsertSample()
205 auto it = sample_set_.find(sample.get()); in InsertSample()
207 result = sample.get(); in InsertSample()
208 sample_set_.insert(sample.get()); in InsertSample()
209 sample_storage_.push_back(std::move(sample)); in InsertSample()
212 MergeSample(*it, sample.get()); in InsertSample()
217 EntryT* InsertCallChainSample(std::unique_ptr<EntryT> sample, in InsertCallChainSample() argument
219 if (sample == nullptr) { in InsertCallChainSample()
222 if (!FilterSample(sample.get())) { in InsertCallChainSample()
224 auto it = callchain_sample_set_.find(sample.get()); in InsertCallChainSample()
228 EntryT* result = sample.get(); in InsertCallChainSample()
229 callchain_sample_set_.insert(sample.get()); in InsertCallChainSample()
230 sample_storage_.push_back(std::move(sample)); in InsertCallChainSample()
234 auto it = sample_set_.find(sample.get()); in InsertCallChainSample()
236 EntryT* sample = *it; in InsertCallChainSample() local
238 if (std::find(callchain.begin(), callchain.end(), sample) != callchain.end()) { in InsertCallChainSample()
239 return sample; in InsertCallChainSample()
242 return InsertSample(std::move(sample)); in InsertCallChainSample()
245 void InsertCallChainForSample(EntryT* sample, const std::vector<EntryT*>& callchain, in InsertCallChainForSample() argument
248 sample->callchain.AddCallChain(callchain, period, [&](const EntryT* s1, const EntryT* s2) { in InsertCallChainForSample()
255 for (EntryT* sample : sample_set_) { in AddCallChainDuplicateInfo()
256 auto it = callchain_parent_map_.find(sample); in AddCallChainDuplicateInfo()
258 sample->callchain.duplicated = true; in AddCallChainDuplicateInfo()
268 void UpdateCallChainParentInfo(EntryT* sample, EntryT* parent) { in UpdateCallChainParentInfo() argument
272 auto it = callchain_parent_map_.find(sample); in UpdateCallChainParentInfo()
277 callchain_parent_map_[sample] = info; in UpdateCallChainParentInfo()
310 for (auto& sample : v) { in Sort()
311 SortCallChain(sample); in Sort()
321 void SortCallChain(EntryT* sample) { sample->callchain.SortByPeriod(); } in SortCallChain() argument
336 for (const auto& sample : samples) { in DisplaySamples() local
337 displayer_.AdjustWidth(sample); in DisplaySamples()
340 for (const auto& sample : samples) { in DisplaySamples() local
341 displayer_.PrintSample(fp, sample); in DisplaySamples()