Lines Matching full:tsc

337   ///   Any of this PSB's data occurring after this TSC will be excluded.
341 std::optional<DecodedThread::TSC> tsc_upper_bound) in PSBBlockDecoder()
375 std::optional<DecodedThread::TSC> tsc_upper_bound) { in Create()
391 // We emit a TSC before a sync event to more easily associate a timestamp to in DecodePSBBlock()
392 // the sync event. If present, the current block's TSC would be the first in DecodePSBBlock()
393 // TSC we'll see when processing events. in DecodePSBBlock()
394 if (m_psb_block.tsc) in DecodePSBBlock()
395 m_decoded_thread.NotifyTsc(*m_psb_block.tsc); in DecodePSBBlock()
464 /// Process the TSC of a decoded PT event. Specifically, check if this TSC
465 /// is below the TSC upper bound for this PSB. If the TSC exceeds the upper
469 /// \param[in] tsc
470 /// The TSC of the a decoded event.
471 Error ProcessPTEventTSC(DecodedThread::TSC tsc) { in ProcessPTEventTSC() argument
472 if (m_tsc_upper_bound && tsc >= *m_tsc_upper_bound) { in ProcessPTEventTSC()
473 // This event and all the remaining events of this PSB have a TSC in ProcessPTEventTSC()
478 std::string err_msg = formatv("decoding truncated: TSC {0} exceeds " in ProcessPTEventTSC()
479 "maximum TSC value {1}, will skip decoding" in ProcessPTEventTSC()
481 tsc, *m_tsc_upper_bound) in ProcessPTEventTSC()
494 m_decoded_thread.NotifyTsc(tsc); in ProcessPTEventTSC()
520 if (Error err = ProcessPTEventTSC(event.tsc)) { in ProcessPTEvents()
558 std::optional<DecodedThread::TSC> m_tsc_upper_bound;
596 // We emit the first valid tsc in DecodeSystemWideTraceForThread()
600 assert(execution.psb_blocks.front().tsc && in DecodeSystemWideTraceForThread()
604 *execution.psb_blocks.front().tsc)); in DecodeSystemWideTraceForThread()
607 // We then emit the CPU, which will be correctly associated with a tsc. in DecodeSystemWideTraceForThread()
675 // PSB packet, which is a valid TSC. Otherwise, We query the thread execution in operator <()
676 // itself for some tsc. in operator <()
679 : exec.psb_blocks.front().tsc; in operator <()
716 std::optional<uint64_t> tsc; in SplitTraceIntoPSBBlock() local
717 // Now we fetch the first TSC that comes after the PSB. in SplitTraceIntoPSBBlock()
724 tsc = event.tsc; in SplitTraceIntoPSBBlock()
738 if (expect_tscs && !tsc) in SplitTraceIntoPSBBlock()
740 "Found a PSB without TSC."); in SplitTraceIntoPSBBlock()
744 tsc, in SplitTraceIntoPSBBlock()
780 return event.tsc; in FindLowestTSCInTrace()