This is an archive of the discontinued LLVM Phabricator instance.

Add new key/value pairs to the module statistics for "statistics dump".
ClosedPublic

Authored by clayborg on Oct 25 2021, 6:08 PM.

Details

Summary

The new key/value pairs that are added to each module's stats are:
"debugInfoByteSize": The size in bytes of debug info for each module.
"debugInfoIndexTime": The time in seconds that it took to index the debug info.
"debugInfoParseTime": The time in seconds that debug info had to be parsed.

At the top level we add up all of the debug info size, parse time and index time with the following keys:
"totalDebugInfoByteSize": The size in bytes of all debug info in all modules.
"totalDebugInfoIndexTime": The time in seconds that it took to index all debug info if it was indexed for all modules.
"totalDebugInfoParseTime": The time in seconds that debug info was parsed for all modules.

Diff Detail

Event Timeline

clayborg created this revision.Oct 25 2021, 6:08 PM
clayborg requested review of this revision.Oct 25 2021, 6:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 25 2021, 6:08 PM

New output looks like:

(lldb) statistics dump
{
  "modules": [
    {
      "debugInfoByteSize": 876,
      "debugInfoIndexTime": 0,
      "debugInfoParseTime": 0.00011866800000000002,
      "identifier": 5224745544,
      "path": "/Users/gclayton/Documents/src/args/build/a.out",
      "symbolTableIndexTime": 1.4334e-05,
      "symbolTableParseTime": 0.00019666700000000001,
      "triple": "arm64-apple-macosx11.0.0",
      "uuid": "B7F60DCD-68BF-3F2D-AE27-85253725636A"
    },
    ...
  ],
  "targets": [
    {
      "expressionEvaluation": {
        "failures": 0,
        "successes": 0
      },
      "firstStopTime": 0.34491650000000001,
      "frameVariable": {
        "failures": 0,
        "successes": 0
      },
      "launchOrAttachTime": 0.32443250000000001,
      "moduleIdentifiers": [
        5224745544,
        ...
      ],
      "targetCreateTime": 0.16623558299999999
    }
  ],
  "totalDebugInfoByteSize": 16989,
  "totalDebugInfoIndexTime": 0,
  "totalDebugInfoParseTime": 0.00023733600000000005,
  "totalSymbolTableIndexTime": 0.047756334999999997,
  "totalSymbolTableParseTime": 0.075083796999999994
}
clayborg updated this revision to Diff 382159.Oct 25 2021, 6:12 PM

Fix headerdoc that mentioned llvm::None.

clayborg updated this revision to Diff 382160.Oct 25 2021, 6:14 PM

Added newlines to files that needed them at the end of the file.

wallace accepted this revision.Oct 25 2021, 6:48 PM

looks good

lldb/include/lldb/Symbol/SymbolFile.h
309

Symbols the symbol tables -> fix that :)

lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
1463–1464

missing braces

This revision is now accepted and ready to land.Oct 25 2021, 6:48 PM