INNER CODE UNIT · Go
MultiQueueRxTx
deepflowio/deepflow · server/libs/xdppacket/cmd/xdp/main.go:187
func MultiQueueRxTx() {
xp, err := NewXDPMultiQueue(*Ifname, OptQueueCount(*queueCount),
actualXdpMode, actualIOMode, actualPollTimeOut, OptNumFrames(*FrameNum))
if err != nil {
log.Errorf("new xdp socket failed as %v", err)
return
}
defer xp.Close()
if *StatsInterval > 0 {
go func() {
oldStats := XDPStats{}
stats := xp.GetStats()
for range time.NewTicker(time.Duration(*StatsInterval) * time.Second).C {
fmt.Println(stats.Minus(oldStats))
oldStats, stats = stats, xp.GetStats()
}
}()