symbolz

Imports

Imports #

"bytes"
"fmt"
"io"
"net/url"
"path"
"regexp"
"strconv"
"strings"
"github.com/google/pprof/internal/plugin"
"github.com/google/pprof/profile"

Constants & Variables

symbolzRE var #

var symbolzRE = *ast.CallExpr

Functions

Symbolize function #

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. Does not skip unsymbolizable files since the symbolz handler can be flexible enough to handle some of those cases such as JIT locations in //anon.

func Symbolize(p *profile.Profile, force bool, sources plugin.MappingSources, syms func(string, string) ([]byte, error), ui plugin.UI) error

adjust function #

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)

hasGperftoolsSuffix function #

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

symbolizeMapping function #

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

symbolz function #

symbolz returns the corresponding symbolz source for a profile URL.

func symbolz(source string) string

Generated with Arrow