Kaynağa Gözat

Feature #TASK_QT-19234 EBPF-euspace 抓取不到Java应用的Mysql数据

Tom 1 yıl önce
ebeveyn
işleme
da80e9c71d
3 değiştirilmiş dosya ile 41 ekleme ve 20 silme
  1. 2 2
      containers/registry.go
  2. 6 18
      ebpftracer/tracer.go
  3. 33 0
      utils/modelse/bpf_struct.go

+ 2 - 2
containers/registry.go

@@ -594,8 +594,8 @@ func (r *Registry) updateTrafficStatsIfNecessary() {
 		return
 	}
 	iter := r.tracer.ActiveConnectionsIterator()
-	cid := ebpftracer.ConnectionId{}
-	stats := ebpftracer.Connection{}
+	cid := ConnectionId{}
+	stats := Connection{}
 	for iter.Next(&cid, &stats) {
 		r.trafficStatsUpdateCh <- &TrafficStatsUpdate{
 			Pid:           cid.PID,

+ 6 - 18
ebpftracer/tracer.go

@@ -253,18 +253,6 @@ func (t *Tracer) ActiveAcceptsIterator() *ebpf.MapIterator {
 	return t.collection.Maps["active_accepts"].Iterate()
 }
 
-type ConnectionId struct {
-	FD  uint64
-	PID uint32
-	_   uint32
-}
-
-type Connection struct {
-	Timestamp     uint64
-	BytesSent     uint64
-	BytesReceived uint64
-}
-
 type perfMap struct {
 	name                  string
 	perCPUBufferSizePages int
@@ -494,10 +482,10 @@ type l7Event struct {
 	TraceStart          uint32
 	TraceEnd            uint32
 	EventCount          uint32
-	Sport				uint16
-    Dport				uint16
-    SAddr          		[16]byte
-	DAddr          		[16]byte
+	Sport               uint16
+	Dport               uint16
+	SAddr               [16]byte
+	DAddr               [16]byte
 	AssumedAppId        HashByte
 	SpanId              HashByte
 	TraceIdFrom         HashByte16
@@ -738,8 +726,8 @@ func runEventsReader(name string, r *perf.Reader, ch chan<- Event, typ perfMapTy
 				req.ParentSpanContext.InstanceIdFrom = hex.EncodeToString(v.InstanceIdFrom[:])
 				req.ParentSpanContext.AppIdFrom = hex.EncodeToString(v.AppIdFrom[:])
 				req.ParentSpanContext.SpanIdFrom = hex.EncodeToString(v.SpanIdFrom[:])
-				req.SAddr = ipPort(v.SAddr,v.Sport)
-				req.DAddr = ipPort(v.DAddr,v.Dport)
+				req.SAddr = ipPort(v.SAddr, v.Sport)
+				req.DAddr = ipPort(v.DAddr, v.Dport)
 				klog.Infof("runEventsReader SAddr.String %s", req.SAddr.String())
 				klog.Infof("runEventsReader DAddr.String %s", req.DAddr.String())
 			}

+ 33 - 0
utils/modelse/bpf_struct.go

@@ -201,3 +201,36 @@ type EbpfProcInfo struct {
 type allowPortBitmap struct {
 	Bitmap [65536 / 8]uint8
 }
+
+/*
+struct connection_id {
+    __u64 fd;
+    __u32 pid;
+};
+*/
+
+type ConnectionId struct {
+	FD  uint64
+	PID uint32
+	_   uint32
+}
+
+/*
+struct connection {
+    __u64 timestamp;
+    __u64 bytes_sent;
+    __u64 bytes_received;
+    __u64 first_read_time;
+    __u64 first_write_time;
+    __u64 new_read_time;
+};
+*/
+
+type Connection struct {
+	Timestamp      uint64
+	BytesSent      uint64
+	BytesReceived  uint64
+	FirstReadTime  uint64
+	FirstWriteTime uint64
+	NewReadTime    uint64
+}