mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-28 17:19:44 +00:00
create tapper modes for debugging using env vars
This commit is contained in:
parent
f6f06b4b27
commit
7515d18f88
@ -292,9 +292,12 @@ func pipeTapChannelToSocket(connection *websocket.Conn, messageDataChannel <-cha
|
||||
continue
|
||||
}
|
||||
|
||||
if os.Getenv("MIZU_TAPPER_NO_SENDING") == "true" {
|
||||
continue
|
||||
}
|
||||
|
||||
// NOTE: This is where the `*tapApi.OutputChannelItem` leaves the code
|
||||
// and goes into the intermediate WebSocket.
|
||||
// (DEBUG_PERF 7) Comment out to disable writing to WebSocket
|
||||
err = connection.WriteMessage(websocket.TextMessage, marshaledData)
|
||||
if err != nil {
|
||||
logger.Log.Errorf("error sending message through socket server %v, err: %s, (%v,%+v)", messageData, err, err, err)
|
||||
|
@ -149,7 +149,10 @@ type Emitter interface {
|
||||
}
|
||||
|
||||
func (e *Emitting) Emit(item *OutputChannelItem) {
|
||||
// (DEBUG_PERF 6) Comment out to disable emitting from tapper to api-server
|
||||
if os.Getenv("MIZU_TAPPER_NO_EMITTER") == "true" {
|
||||
return
|
||||
}
|
||||
|
||||
e.OutputChannel <- item
|
||||
e.AppStats.IncMatchedPairs()
|
||||
}
|
||||
|
@ -44,7 +44,6 @@ func NewPacketSourceManager(procfs string, filename string, interfaceName string
|
||||
behaviour: behaviour,
|
||||
}
|
||||
|
||||
// (DEBUG_PERF 1) Comment out to disable host pcap (do not pass --tls or --service-mesh)
|
||||
go hostSource.readPackets(ipdefrag, packets)
|
||||
return sourceManager, nil
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package source
|
||||
|
||||
import (
|
||||
"os"
|
||||
"fmt"
|
||||
"io"
|
||||
"time"
|
||||
@ -116,6 +117,10 @@ func (source *tcpPacketSource) close() {
|
||||
}
|
||||
|
||||
func (source *tcpPacketSource) readPackets(ipdefrag bool, packets chan<- TcpPacketInfo) {
|
||||
if os.Getenv("MIZU_TAPPER_NO_PCAP") == "true" {
|
||||
return
|
||||
}
|
||||
|
||||
logger.Log.Infof("Start reading packets from %v", source.name)
|
||||
|
||||
for {
|
||||
|
@ -78,7 +78,6 @@ func (a *tcpAssembler) processPackets(dumpPacket bool, packets <-chan source.Tcp
|
||||
logger.Log.Debugf("Packet content (%d/0x%x) - %s", len(data), len(data), hex.Dump(data))
|
||||
}
|
||||
|
||||
// (DEBUG_PERF 2) Comment out to disable assembler
|
||||
tcp := packet.Layer(layers.LayerTypeTCP)
|
||||
if tcp != nil {
|
||||
diagnose.AppStats.IncTcpPacketsCount()
|
||||
@ -90,7 +89,9 @@ func (a *tcpAssembler) processPackets(dumpPacket bool, packets <-chan source.Tcp
|
||||
}
|
||||
diagnose.InternalStats.Totalsz += len(tcp.Payload)
|
||||
a.assemblerMutex.Lock()
|
||||
a.AssembleWithContext(packet.NetworkLayer().NetworkFlow(), tcp, &c)
|
||||
if os.Getenv("MIZU_TAPPER_NO_ASSEMBLER") != "true" {
|
||||
a.AssembleWithContext(packet.NetworkLayer().NetworkFlow(), tcp, &c)
|
||||
}
|
||||
a.assemblerMutex.Unlock()
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package tap
|
||||
|
||||
import (
|
||||
"os"
|
||||
"bufio"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
@ -55,8 +56,12 @@ func NewTcpReader(msgQueue chan api.TcpReaderDataMsg, progress *api.ReadProgress
|
||||
func (reader *tcpReader) run(options *api.TrafficFilteringOptions, wg *sync.WaitGroup) {
|
||||
defer wg.Done()
|
||||
b := bufio.NewReader(reader)
|
||||
// (DEBUG_PERF 4) Swap with next line to disable dissectors
|
||||
// _, _ = io.ReadAll(b)
|
||||
|
||||
if os.Getenv("MIZU_TAPPER_NO_DISSECTORS") == "true" {
|
||||
io.ReadAll(b)
|
||||
return
|
||||
}
|
||||
|
||||
err := reader.extension.Dissector.Dissect(b, reader, options)
|
||||
if err != nil {
|
||||
_, err = io.Copy(ioutil.Discard, reader)
|
||||
|
@ -1,6 +1,7 @@
|
||||
package tap
|
||||
|
||||
import (
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@ -132,7 +133,10 @@ func (t *tcpStream) GetReqResMatchers() []api.RequestResponseMatcher {
|
||||
}
|
||||
|
||||
func (t *tcpStream) GetIsTapTarget() bool {
|
||||
// (DEBUG_PERF 3) Return false to disable Dissecting
|
||||
if os.Getenv("MIZU_TAPPER_NO_TAP_TARGET") == "true" {
|
||||
return false
|
||||
}
|
||||
|
||||
return t.isTapTarget
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user