Disable symbol resolution by pprof in profile-gatherer

This commit is contained in:
Shyam Jeedigunta 2018-02-09 16:36:25 +01:00
parent aee2cff1b8
commit f9834e3cf7
No known key found for this signature in database
GPG Key ID: 745AA51D657EAD2C

View File

@ -62,10 +62,6 @@ func checkProfileGatheringPrerequisites() error {
} }
func gatherProfileOfKind(profileBaseName, kind string) error { func gatherProfileOfKind(profileBaseName, kind string) error {
// Check some prerequisites before gathering the profile.
if err := checkProfileGatheringPrerequisites(); err != nil {
return err
}
// Get the profile data over SSH. // Get the profile data over SSH.
getCommand := fmt.Sprintf("curl -s localhost:8080/debug/pprof/%s", kind) getCommand := fmt.Sprintf("curl -s localhost:8080/debug/pprof/%s", kind)
sshResult, err := SSH(getCommand, GetMasterHost()+":22", TestContext.Provider) sshResult, err := SSH(getCommand, GetMasterHost()+":22", TestContext.Provider)
@ -91,10 +87,10 @@ func gatherProfileOfKind(profileBaseName, kind string) error {
switch { switch {
// TODO: Support other profile kinds if needed (e.g inuse_space, alloc_objects, mutex, etc) // TODO: Support other profile kinds if needed (e.g inuse_space, alloc_objects, mutex, etc)
case kind == "heap": case kind == "heap":
cmd = exec.Command("go", "tool", "pprof", "-pdf", "--alloc_space", tmpfile.Name()) cmd = exec.Command("go", "tool", "pprof", "-pdf", "-symbolize=none", "--alloc_space", tmpfile.Name())
profilePrefix = "ApiserverMemoryProfile_" profilePrefix = "ApiserverMemoryProfile_"
case strings.HasPrefix(kind, "profile"): case strings.HasPrefix(kind, "profile"):
cmd = exec.Command("go", "tool", "pprof", "-pdf", tmpfile.Name()) cmd = exec.Command("go", "tool", "pprof", "-pdf", "-symbolize=none", tmpfile.Name())
profilePrefix = "ApiserverCPUProfile_" profilePrefix = "ApiserverCPUProfile_"
default: default:
return fmt.Errorf("Unknown profile kind provided: %s", kind) return fmt.Errorf("Unknown profile kind provided: %s", kind)
@ -141,6 +137,10 @@ func GatherApiserverCPUProfileForNSeconds(wg *sync.WaitGroup, profileBaseName st
if wg != nil { if wg != nil {
defer wg.Done() defer wg.Done()
} }
if err := checkProfileGatheringPrerequisites(); err != nil {
Logf("Profile gathering pre-requisite failed: %v", err)
return
}
if profileBaseName == "" { if profileBaseName == "" {
profileBaseName = time.Now().Format(time.RFC3339) profileBaseName = time.Now().Format(time.RFC3339)
} }
@ -153,6 +153,10 @@ func GatherApiserverMemoryProfile(wg *sync.WaitGroup, profileBaseName string) {
if wg != nil { if wg != nil {
defer wg.Done() defer wg.Done()
} }
if err := checkProfileGatheringPrerequisites(); err != nil {
Logf("Profile gathering pre-requisite failed: %v", err)
return
}
if profileBaseName == "" { if profileBaseName == "" {
profileBaseName = time.Now().Format(time.RFC3339) profileBaseName = time.Now().Format(time.RFC3339)
} }