Boundary represents the position in a source file of the beginning or end of a block as reported by the coverage profile. In HTML mode, it will correspond to the opening or closing of a <span> tag and will be used to colorize the source
type Boundary struct {
Offset int // Location as a byte offset in the source file.
Start bool // Is this the start of a block?
Count int // Event count from the cover profile.
Norm float64 // Count normalized to [0..1].
Index int // Order in input file.
}
Profile represents the profiling data for a specific file.
type Profile struct {
FileName string
Mode string
Blocks []ProfileBlock
}
func ParseProfiles(fileName string) ([]*Profile, error)
ParseProfiles parses profile data in the specified file and returns a Profile for each source file described therein.
func ParseProfilesFromReader(rd io.Reader) ([]*Profile, error)
ParseProfilesFromReader parses profile data from the Reader and returns a Profile for each source file described therein.
func (p *Profile) Boundaries(src []byte) (boundaries []Boundary)
Boundaries returns a Profile as a set of Boundary objects within the provided src.
ProfileBlock represents a single block of profiling data.
type ProfileBlock struct {
StartLine, StartCol int
EndLine, EndCol int
NumStmt, Count int
}