sniffing: full websocket frame recording
This commit is contained in:
+19
-8
@@ -673,12 +673,9 @@ func (h *httpHandler) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
errc := make(chan error, 1)
|
||||
|
||||
sampleRate := h.md.sniffingWebsocketSampleRate
|
||||
if sampleRate <= 0 {
|
||||
if sampleRate == 0 {
|
||||
sampleRate = sniffing.DefaultSampleRate
|
||||
}
|
||||
if sampleRate > sniffing.MaxSampleRate {
|
||||
sampleRate = sniffing.MaxSampleRate
|
||||
}
|
||||
d := time.Duration(1 / sampleRate * 1e9)
|
||||
|
||||
go func() {
|
||||
@@ -686,8 +683,15 @@ func (h *httpHandler) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
*ro2 = *ro
|
||||
ro = ro2
|
||||
|
||||
ticker := time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
ticker := &time.Ticker{}
|
||||
if d > 0 {
|
||||
ticker = time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
} else {
|
||||
tc := make(chan time.Time)
|
||||
close(tc)
|
||||
ticker.C = tc
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
for {
|
||||
@@ -719,8 +723,15 @@ func (h *httpHandler) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
*ro2 = *ro
|
||||
ro = ro2
|
||||
|
||||
ticker := time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
ticker := &time.Ticker{}
|
||||
if d > 0 {
|
||||
ticker = time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
} else {
|
||||
tc := make(chan time.Time)
|
||||
close(tc)
|
||||
ticker.C = tc
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
for {
|
||||
|
||||
@@ -413,12 +413,9 @@ func (ep *entrypoint) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
errc := make(chan error, 1)
|
||||
|
||||
sampleRate := ep.websocketSampleRate
|
||||
if sampleRate <= 0 {
|
||||
if sampleRate == 0 {
|
||||
sampleRate = sniffing.DefaultSampleRate
|
||||
}
|
||||
if sampleRate > sniffing.MaxSampleRate {
|
||||
sampleRate = sniffing.MaxSampleRate
|
||||
}
|
||||
d := time.Duration(1 / sampleRate * 1e9)
|
||||
|
||||
go func() {
|
||||
@@ -426,8 +423,15 @@ func (ep *entrypoint) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
*ro2 = *ro
|
||||
ro = ro2
|
||||
|
||||
ticker := time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
ticker := &time.Ticker{}
|
||||
if d > 0 {
|
||||
ticker = time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
} else {
|
||||
tc := make(chan time.Time)
|
||||
close(tc)
|
||||
ticker.C = tc
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
for {
|
||||
@@ -459,8 +463,15 @@ func (ep *entrypoint) sniffingWebsocketFrame(ctx context.Context, rw, cc io.Read
|
||||
*ro2 = *ro
|
||||
ro = ro2
|
||||
|
||||
ticker := time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
ticker := &time.Ticker{}
|
||||
if d > 0 {
|
||||
ticker = time.NewTicker(d)
|
||||
defer ticker.Stop()
|
||||
} else {
|
||||
tc := make(chan time.Time)
|
||||
close(tc)
|
||||
ticker.C = tc
|
||||
}
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
for {
|
||||
|
||||
Reference in New Issue
Block a user