When profiling your applications with Polar Signals Cloud, you might occasionally see memory addresses instead of human-readable function names in your flamegraphs. This happens when debug information (debuginfo) hasn't been uploaded or processed yet. But how do you know what's going on with your debuginfo?
In our previous blog post, we talked about how to check debuginfo processing lifecycle on Polar Signals Cloud. Since then, we've made some improvements to simplify this experience.
How to Check Debuginfo Status
Checking debuginfo status is now as simple as right-clicking on a frame:
- Open a profile in the Profile Explorer as a flamgraph
- Find the frame you want to investigate (e.g., one showing memory addresses instead of a function names)
- Right-click on the frame and select "Check debuginfo status"
- A sidebar drawer slides in showing the debuginfo details
Understanding the Debuginfo Status
When you click "Check debuginfo status," a drawer slides in from the right side of the screen. It displays detailed information about the debuginfo associated with that frame's build ID:
| Field | Description |
|---|---|
| Build ID | Unique identifier of the build |
| Type | debuginfo, executable, or sources |
| Source | How it was obtained: "Uploaded at [timestamp]" or "Fetched from [debuginfod server]" |
| Hash | Content hash of the debuginfo file |
| First Seen | When the debuginfo was first discovered from the profiles |
| Last Seen | Last time this debuginfo was referenced by a profile |
| Processed Time | When we processed the debuginfo |
| Status | Current status of the debuginfo processing. More about it below. |
Statuses Explained
Here's what each status means:
Awaiting Upload
The binary is detected from a profile sample but hasn't uploaded the debuginfo yet. This typically means the binary is just discovered and agent is still uploading the debuginfo for this.
Processing Pending
The debuginfo has been uploaded but is still being processed. When a debuginfo file is uploaded, we perform a bunch of optimizations to make the debug information efficient for lookups and this may usually take a few minutes.
Success
Your debuginfo has been fully processed and symbols are available. You should see human-readable function names in your profiles.
Error
Something went wrong during the processing of the debuginfo file, could be an invalid format, corrupted debuginfo file or some internal processing error. We typically retry the processing a few times that should eventually resolve this, but if this state persists please get in touch with us.
I hope this sheds some light on how to check and interpret debuginfo processing status in Polar Signals Cloud! If you have any questions or feedback, please feel free to join our Discord.