(fd *sys.FD)
| 240 | } |
| 241 | |
| 242 | func newProgramStatsFromFd(fd *sys.FD) (*ProgramStats, error) { |
| 243 | var info sys.ProgInfo |
| 244 | if err := sys.ObjInfo(fd, &info); err != nil { |
| 245 | return nil, fmt.Errorf("getting program info: %w", err) |
| 246 | } |
| 247 | |
| 248 | return &ProgramStats{ |
| 249 | Runtime: time.Duration(info.RunTimeNs), |
| 250 | RunCount: info.RunCnt, |
| 251 | RecursionMisses: info.RecursionMisses, |
| 252 | }, nil |
| 253 | } |
| 254 | |
| 255 | // programJitedInfo holds information about JITed info of a program. |
| 256 | type programJitedInfo struct { |