feat(process_windows): Support collecting PageFault count in Windows

pull/1769/head
Mingyang Zheng 2 months ago
parent 252dcbf8a2
commit 122878c79b

@ -127,6 +127,7 @@ type PageFaultsStat struct {
MajorFaults uint64 `json:"majorFaults"`
ChildMinorFaults uint64 `json:"childMinorFaults"`
ChildMajorFaults uint64 `json:"childMajorFaults"`
TotalFaults uint64 `json:"totalFaults"`
}
// Resource limit constants are from /usr/include/x86_64-linux-gnu/bits/resource.h

@ -1135,6 +1135,7 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui
MajorFaults: majFault,
ChildMinorFaults: cMinFault,
ChildMajorFaults: cMajFault,
TotalFaults: minFault + majFault + cMinFault + cMajFault,
}
return terminal, int32(ppid), cpuTimes, createTime, uint32(rtpriority), nice, faults, nil

@ -632,7 +632,16 @@ func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExSta
}
func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) {
return nil, common.ErrNotImplementedError
mem, err := getMemoryInfo(p.Pid)
if err != nil {
return nil, err
}
ret := &PageFaultsStat{
TotalFaults: uint64(mem.PageFaultCount),
}
return ret, nil
}
func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) {

Loading…
Cancel
Save