Skip to content

runtime/pprof,cmd/compile: simplified symbol names for generics break PGO matching #58712

@prattmic

Description

@prattmic

For functab, and thus stack traces and symbol names in pprof profile outputs, the compiler simplifies symbol names like foo[go.shape.int64] to just foo[...].

When reading a profile for PGO, the compiler will attempt to match symbols and fail because the profile symbol name does not match the actual symbol name.

This could be addressed from either end:

  • The profile could contain the full symbol name (Function.name = "foo[...]", Function.system_name = "foo[go.shape.int64]" perhaps?).
  • Or, the compiler could match foo[...] to any instantiation of foo.

cc @cherrymui @aclements

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeNeedsDecisionFeedback is required from experts, contributors, and/or the community before a change can be made.compiler/runtimeIssues related to the Go compiler and/or runtime.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions