llvm-project/lldb
Walter Erquinigo d52ba48821 [trace] Introduce Hierarchical Trace Representation (HTR) and add command for Intel PT trace visualization
This diff introduces Hierarchical Trace Representation (HTR) and creates the `thread trace export ctf  -f <filename> -t <thread_id>` command to export an Intel PT trace's HTR to Chrome Trace Format (CTF) for visualization.

See `lldb/docs/htr.rst` for context/documentation on HTR.

**Overview of Changes**
    - Add HTR documentation (see `lldb/docs/htr.rst`)
    - Add HTR structures (layer, block, block metadata)
    - Implement "Basic Super Block" HTR pass
    - Add 'thread trace export ctf' command to export the HTR of an Intel PT
      trace to Chrome Trace Format (CTF)

As this diff is the first iteration of HTR and trace visualization, future diffs will build on this work by generalizing the internal design of HTR and implementing new HTR passes that provide better trace summarization/visualization.

See attached video for an example of Intel PT trace visualization:
{F17851042}

Original Author: jj10306

Submitted by: wallace

Reviewed By: wallace, clayborg

Differential Revision: https://reviews.llvm.org/D105741
2021-07-28 13:56:45 -07:00
..
bindings [lldb] Add AllocateMemory/DeallocateMemory to the SBProcess API 2021-07-16 00:45:22 +02:00
cmake [lldb] add LLDB_SKIP_DSYM option 2021-05-26 09:32:59 -07:00
docs [trace] Introduce Hierarchical Trace Representation (HTR) and add command for Intel PT trace visualization 2021-07-28 13:56:45 -07:00
examples [lldb/Plugins] Add ScriptedProcess Process Plugin 2021-07-22 14:47:33 +02:00
include/lldb Create synthetic symbol names on demand to improve memory consumption and startup times. 2021-07-27 16:51:12 -07:00
packages/Python [lldb][NFC] Delete unused and commented out DWARF constants 2021-07-26 12:26:35 -07:00
resources [lldb] Remove stale LLDB-Info.plist 2021-01-08 10:12:16 -08:00
scripts Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
source [trace] Introduce Hierarchical Trace Representation (HTR) and add command for Intel PT trace visualization 2021-07-28 13:56:45 -07:00
test [trace] Introduce Hierarchical Trace Representation (HTR) and add command for Intel PT trace visualization 2021-07-28 13:56:45 -07:00
third_party/Python/module Revert "[lldb] Temporarily bump the max length of the pexpect error message to diagnose an lldb-aarch64 test failure" 2021-07-28 18:11:52 +02:00
tools Remove the DarwinLog functionality from debguserver 2021-07-20 00:36:56 -07:00
unittests [lldb][AArch64] Add memory tag writing to lldb 2021-07-27 15:18:42 +01:00
utils [lldb] Match test dependencies name to other LLVM projects. 2021-05-21 00:10:27 -07:00
.clang-format
.clang-tidy [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
.gitignore
CMakeLists.txt [LLDB] Don't use the local python to set a default for LLDB_PYTHON_RELATIVE_PATH when cross compiling. 2021-05-11 14:04:41 +03:00
CODE_OWNERS.txt
LICENSE.TXT
use_lldb_suite_root.py