traffic

package
v0.0.0-...-7c47631 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2019 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PROMETHEUS_DURATION_NAME = "request_duration_seconds"
	PROMETHEUS_COUNT_NAME    = "requests_total"
	SOURCE                   = "source"
	DESTINATION              = "destination"
	SOURCE_NAMESPACE         = "source_ns"
	DESTINATION_NAMESPACE    = "destination_ns"
	HTTP_METHOD              = "method"
	HTTP_STATUS              = "response_code"
	DESTINATION_PORT         = "destination_port"
)
View Source
const TIME_RANGE = 60 * 1000 //miliseconds

Variables

This section is empty.

Functions

func SavePacket

func SavePacket(info *TrafficInfo)

Types

type PCapManager

type PCapManager struct {
	// contains filtered or unexported fields
}

func NewPCapManager

func NewPCapManager(k8sIp string, aPodIp net.IP) *PCapManager

func (*PCapManager) InsideLocalPodIPRange

func (manager *PCapManager) InsideLocalPodIPRange(dstIp string) bool

func (*PCapManager) Run

func (manager *PCapManager) Run(handler PacketHandler)

type PacketHandler

type PacketHandler func(packet *PacketInfo)

type PacketInfo

type PacketInfo struct {
	SrcPort       uint32
	DstPort       uint32
	SrcIp         string
	DstIp         string
	TimestampNano int64
	TcpTimestamp  []byte
	// contains filtered or unexported fields
}

func NewPacket

func NewPacket(packet gopacket.Packet) *PacketInfo

func (*PacketInfo) GetApplicationPayload

func (packet *PacketInfo) GetApplicationPayload() string

func (*PacketInfo) String

func (info *PacketInfo) String() string

type PacketManager

type PacketManager struct {
	// contains filtered or unexported fields
}

func NewPacketManager

func NewPacketManager(k8sManager *kubernetes.K8sResourceManager) (*PacketManager, error)

func (*PacketManager) Handle

func (manager *PacketManager) Handle(packet *PacketInfo)

func (*PacketManager) Run

func (manager *PacketManager) Run()

type TrafficInfo

type TrafficInfo struct {
	SrcPort              uint32
	DstPort              uint32
	SrcIP                string
	DstIP                string
	Src                  string
	Dst                  string
	SrcNS                string
	DstNS                string
	Url                  string
	Method               string
	Status               string
	TcpRequestTimestamp  []byte
	TcpResponseTimestamp []byte

	Next *TrafficInfo
	// contains filtered or unexported fields
}

func NewTrafficInfo

func NewTrafficInfo(packet *PacketInfo, url string, method string) *TrafficInfo

func (*TrafficInfo) GetDurationTimeMiliSeconds

func (info *TrafficInfo) GetDurationTimeMiliSeconds() float64

func (*TrafficInfo) SetResponse

func (info *TrafficInfo) SetResponse(status string, responseTimestampNano int64, tcpResponseTimestamp []byte)

func (*TrafficInfo) String

func (info *TrafficInfo) String() string

type TrafficManager

type TrafficManager struct {
	// contains filtered or unexported fields
}

func (*TrafficManager) AddRequest

func (manager *TrafficManager) AddRequest(info *TrafficInfo)

func (*TrafficManager) GetRequest

func (manager *TrafficManager) GetRequest(srcIp string, srcPort uint32, dstIp string, dstPort uint32, tcpResponseTimestamp []byte) (*TrafficInfo, bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL