mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-11-03 10:41:00 +08:00
Add debug logger
This commit is contained in:
58
pkg/debug/debug.go
Normal file
58
pkg/debug/debug.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package debug
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/pion/rtp"
|
||||
)
|
||||
|
||||
func Logger(include func(packet *rtp.Packet) bool) func(packet *rtp.Packet) {
|
||||
var lastTime = time.Now()
|
||||
var lastTS uint32
|
||||
|
||||
var secCnt int
|
||||
var secSize int
|
||||
var secTS uint32
|
||||
var secTime time.Time
|
||||
|
||||
return func(packet *rtp.Packet) {
|
||||
if include != nil && !include(packet) {
|
||||
return
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
|
||||
fmt.Printf(
|
||||
"%s: size:%6d, ts:%10d, type:%2d, ssrc:%d, seq:%5d, mark:%t, dts:%4d, dtime:%3d\n",
|
||||
now.Format("15:04:05.000"),
|
||||
len(packet.Payload), packet.Timestamp, packet.PayloadType, packet.SSRC, packet.SequenceNumber, packet.Marker,
|
||||
packet.Timestamp-lastTS, now.Sub(lastTime).Milliseconds(),
|
||||
)
|
||||
|
||||
lastTS = packet.Timestamp
|
||||
lastTime = now
|
||||
|
||||
if secTS == 0 {
|
||||
secTS = lastTS
|
||||
secTime = now
|
||||
return
|
||||
}
|
||||
|
||||
if dt := now.Sub(secTime); dt > time.Second {
|
||||
fmt.Printf(
|
||||
"%s: size:%6d, cnt:%d, dts: %d, dtime:%d\n",
|
||||
now.Format("15:04:05.000"),
|
||||
secSize, secCnt, lastTS-secTS, dt.Milliseconds(),
|
||||
)
|
||||
|
||||
secCnt = 0
|
||||
secSize = 0
|
||||
secTS = lastTS
|
||||
secTime = now
|
||||
}
|
||||
|
||||
secCnt++
|
||||
secSize += len(packet.Payload)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user