[all-commits] [llvm/llvm-project] fb2549: Add breakpoint resolving stats to each target.

Greg Clayton via All-commits all-commits at lists.llvm.org
Wed Oct 27 16:50:27 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fb2549683260b137f1bd62a5145ddff6d2403e64
      https://github.com/llvm/llvm-project/commit/fb2549683260b137f1bd62a5145ddff6d2403e64
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2021-10-27 (Wed, 27 Oct 2021)

  Changed paths:
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Target/Statistics.cpp
    M lldb/test/API/commands/statistics/basic/TestStats.py

  Log Message:
  -----------
  Add breakpoint resolving stats to each target.

This patch adds breakpoints to each target's statistics so we can track how long it takes to resolve each breakpoint. It also includes the structured data for each breakpoint so the exact breakpoint details are logged to allow for reproduction of slow resolving breakpoints. Each target gets a new "breakpoints" array that contains breakpoint details. Each breakpoint has "details" which is the JSON representation of a serialized breakpoint resolver and filter, "id" which is the breakpoint ID, and "resolveTime" which is the time in seconds it took to resolve the breakpoint. A snippet of the new data is shown here:

  "targets": [
    {
      "breakpoints": [
        {
          "details": {...},
          "id": 1,
          "resolveTime": 0.00039291599999999999
        },
        {
          "details": {...},
          "id": 2,
          "resolveTime": 0.00022679199999999999
        }
      ],
      "totalBreakpointResolveTime": 0.00061970799999999996
    }
  ]

This provides full details on exactly how breakpoints were set and how long it took to resolve them.

Differential Revision: https://reviews.llvm.org/D112587




More information about the All-commits mailing list