Documentation
¶
Overview ¶
Package pgo contains the compiler-agnostic portions of PGO profile handling. Notably, parsing pprof profiles and serializing/deserializing from a custom intermediate representation.
Package pgo contains the compiler-agnostic portions of PGO profile handling. Notably, parsing pprof profiles and serializing/deserializing from a custom intermediate representation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsSerialized ¶
IsSerialized returns true if r is a serialized Profile.
IsSerialized only peeks at r, so seeking back after calling is not necessary.
func WeightInPercentage ¶
WeightInPercentage converts profile weights to a percentage.
Types ¶
type NamedCallEdge ¶
type NamedCallEdge struct {
CallerName string
CalleeName string
CallSiteOffset int // Line offset from function start line.
}
NamedCallEdge identifies a call edge by linker symbol names and call site offset.
type NamedEdgeMap ¶
type NamedEdgeMap struct {
Weight map[NamedCallEdge]int64
// ByWeight lists all keys in Weight, sorted by edge weight from
// highest to lowest.
ByWeight []NamedCallEdge
}
NamedEdgeMap contains all unique call edges in the profile and their edge weight.
type Profile ¶
type Profile struct {
// TotalWeight is the aggregated edge weights across the profile. This
// helps us determine the percentage threshold for hot/cold
// partitioning.
TotalWeight int64
// NamedEdgeMap contains all unique call edges in the profile and their
// edge weight.
NamedEdgeMap NamedEdgeMap
}
Profile contains the processed data from the PGO profile.
func FromSerialized ¶
FromSerialized parses a profile from serialization output of Profile.WriteTo.