zrthxn created this revision. zrthxn added a reviewer: wallace. Herald added a project: All. zrthxn requested review of this revision. Herald added a project: LLDB. Herald added a subscriber: lldb-commits.
Added a line to `thread trace dump info` results which shows total number of instructions executed until now. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D122076 Files: lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp lldb/test/API/commands/trace/TestTraceDumpInfo.py Index: lldb/test/API/commands/trace/TestTraceDumpInfo.py =================================================================== --- lldb/test/API/commands/trace/TestTraceDumpInfo.py +++ lldb/test/API/commands/trace/TestTraceDumpInfo.py @@ -38,4 +38,5 @@ substrs=['''Trace technology: intel-pt thread #1: tid = 3842849 - Raw trace size: 4096 bytes''']) + Raw trace size: 4096 bytes + Total number of instructions: 25''']) Index: lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp =================================================================== --- lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp +++ lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp @@ -105,12 +105,15 @@ void TraceIntelPT::DumpTraceInfo(Thread &thread, Stream &s, bool verbose) { Optional<size_t> raw_size = GetRawTraceSize(thread); + size_t inst_size = (*Decode(thread)).GetInstructions().size(); s.Printf("\nthread #%u: tid = %" PRIu64, thread.GetIndexID(), thread.GetID()); if (!raw_size) { s.Printf(", not traced\n"); return; } - s.Printf("\n Raw trace size: %zu bytes\n", *raw_size); + s.Printf("\n"); + s.Printf(" Raw trace size: %zu bytes\n", *raw_size); + s.Printf(" Total number of instructions: %zu\n", inst_size); return; }
Index: lldb/test/API/commands/trace/TestTraceDumpInfo.py =================================================================== --- lldb/test/API/commands/trace/TestTraceDumpInfo.py +++ lldb/test/API/commands/trace/TestTraceDumpInfo.py @@ -38,4 +38,5 @@ substrs=['''Trace technology: intel-pt thread #1: tid = 3842849 - Raw trace size: 4096 bytes''']) + Raw trace size: 4096 bytes + Total number of instructions: 25''']) Index: lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp =================================================================== --- lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp +++ lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp @@ -105,12 +105,15 @@ void TraceIntelPT::DumpTraceInfo(Thread &thread, Stream &s, bool verbose) { Optional<size_t> raw_size = GetRawTraceSize(thread); + size_t inst_size = (*Decode(thread)).GetInstructions().size(); s.Printf("\nthread #%u: tid = %" PRIu64, thread.GetIndexID(), thread.GetID()); if (!raw_size) { s.Printf(", not traced\n"); return; } - s.Printf("\n Raw trace size: %zu bytes\n", *raw_size); + s.Printf("\n"); + s.Printf(" Raw trace size: %zu bytes\n", *raw_size); + s.Printf(" Total number of instructions: %zu\n", inst_size); return; }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits