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.