forked from OSchip/llvm-project
![]() I'm adding two new classes that can be used to measure the duration of long tasks as process and thread level, e.g. decoding, fetching data from lldb-server, etc. In this first patch, I'm using it to measure the time it takes to decode each thread, which is printed out with the `dump info` command. In a later patch I'll start adding process-level tasks and I might move these classes to the upper Trace level, instead of having them in the intel-pt plugin. I might need to do that anyway in the future when we have to measure HTR. For now, I want to keep the impact of this change minimal. With it, I was able to generate the following info of a very big trace: ``` (lldb) thread trace dump info Trace technology: intel-pt thread #1: tid = 616081 Total number of instructions: 9729366 Memory usage: Raw trace size: 1024 KiB Total approximate memory usage (excluding raw trace): 123517.34 KiB Average memory usage per instruction (excluding raw trace): 13.00 bytes Timing: Decoding instructions: 1.62s Errors: Number of TSC decoding errors: 0 ``` As seen above, it took 1.62 seconds to decode 9.7M instructions. This is great news, as we don't need to do any optimization work in this area. Differential Revision: https://reviews.llvm.org/D123357 |
||
---|---|---|
.. | ||
add-dsym/uuid | ||
apropos | ||
breakpoint | ||
command | ||
disassemble/basic | ||
expression | ||
frame | ||
gui | ||
help | ||
log | ||
memory | ||
platform | ||
process | ||
quit | ||
register/register | ||
reproducer/invalid-args | ||
session | ||
settings | ||
source/info | ||
statistics/basic | ||
target | ||
thread | ||
trace | ||
version | ||
watchpoints |