================ @@ -1,33 +1,33 @@ -Hierarchical Trace Representation (HTR) -====================================== +# Hierarchical Trace Representation (HTR) + The humongous amount of data processor traces like the ones obtained with Intel PT contain is not digestible to humans in its raw form. Given this, it is useful to summarize these massive traces by extracting useful information. Hierarchical Trace Representation (HTR) is the way lldb represents a summarized trace internally. HTR efficiently stores trace data and allows the trace data to be transformed in a way akin to compiler passes. -Concepts --------- +## Concepts + **Block:** One or more contiguous units of the trace. At minimum, the unit of a trace is the load address of an instruction. **Block Metadata:** Metadata associated with each *block*. For processor traces, some metadata examples are the number of instructions in the block or information on what functions are called in the block. **Layer:** The representation of trace data between passes. For Intel PT there are two types of layers: - **Instruction Layer:** Composed of the load addresses of the instructions in the trace. In an effort to save space, - metadata is only stored for instructions that are of interest, not every instruction in the trace. HTR contains a - single instruction layer. - - **Block Layer:** Composed of blocks - a block in *layer n* refers to a sequence of blocks in *layer n - 1*. A block in - *layer 1* refers to a sequence of instructions in *layer 0* (the instruction layer). Metadata is stored for each block in - a block layer. HTR contains one or more block layers. +> **Instruction Layer:** Composed of the load addresses of the instructions in the trace. In an effort to save space, +> metadata is only stored for instructions that are of interest, not every instruction in the trace. HTR contains a +> single instruction layer. +> +> **Block Layer:** Composed of blocks - a block in *layer n* refers to a sequence of blocks in *layer n - 1*. A block in +> *layer 1* refers to a sequence of instructions in *layer 0* (the instruction layer). Metadata is stored for each block in +> a block layer. HTR contains one or more block layers. ---------------- rnk wrote:
Yeah, these docs don't seem to be covered by the Sphinx doc build, so the LLM validation pass didn't seem to have touched them. I touched it up as suggested and we'll see what the github native markdown renderer does with it to validate. https://github.com/llvm/llvm-project/pull/210209 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
