var symbolzRE … // Symbolize symbolizes profile p by parsing data returned by a symbolz // handler. syms receives the symbolz query (hex addresses separated by '+') // and returns the symbolz output in a string. If force is false, it will only // symbolize locations from mappings not already marked as HasFunctions. Never // attempts symbolization of addresses from unsymbolizable system // mappings as those may look negative - e.g. "[vsyscall]". func Symbolize(p *profile.Profile, force bool, sources plugin.MappingSources, syms func(string, string) ([]byte, error), ui plugin.UI) error { … } // hasGperftoolsSuffix checks whether path ends with one of the suffixes listed in // pprof_remote_servers.html from the gperftools distribution func hasGperftoolsSuffix(path string) bool { … } // symbolz returns the corresponding symbolz source for a profile URL. func symbolz(source string) string { … } // symbolizeMapping symbolizes locations belonging to a Mapping by querying // a symbolz handler. An offset is applied to all addresses to take care of // normalization occurred for merged Mappings. func symbolizeMapping(source string, offset int64, syms func(string, string) ([]byte, error), m *profile.Mapping, p *profile.Profile) error { … } // adjust shifts the specified address by the signed offset. It returns the // adjusted address. It signals that the address cannot be adjusted without an // overflow by returning true in the second return value. func adjust(addr uint64, offset int64) (uint64, bool) { … }