This is an automated email from the ASF dual-hosted git repository.
liuhan pushed a commit to branch tmp_disable_reading
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git
The following commit(s) were added to refs/heads/tmp_disable_reading by this
push:
new 8b038b1 update
8b038b1 is described below
commit 8b038b141421ffb1e4d3874d63aea546db3c89dc
Author: mrproliu <[email protected]>
AuthorDate: Sat Dec 21 16:45:42 2024 +0800
update
---
pkg/tools/ip/conntrack.go | 46 +++-------------------------------------------
1 file changed, 3 insertions(+), 43 deletions(-)
diff --git a/pkg/tools/ip/conntrack.go b/pkg/tools/ip/conntrack.go
index 4e2e408..fff1ec2 100644
--- a/pkg/tools/ip/conntrack.go
+++ b/pkg/tools/ip/conntrack.go
@@ -18,12 +18,9 @@
package ip
import (
+ "github.com/apache/skywalking-rover/pkg/logger"
"net"
- "sync/atomic"
"syscall"
- "time"
-
- "github.com/apache/skywalking-rover/pkg/logger"
"github.com/florianl/go-conntrack"
@@ -41,35 +38,15 @@ var numberStrategies = []struct {
}}
type ConnTrack struct {
- tracker *conntrack.Nfct
- getTotalCount *int64
- getSuccessCount *int64
- dumpTotalCount *int64
- dumpSuccessCount *int64
+ tracker *conntrack.Nfct
}
func NewConnTrack() (*ConnTrack, error) {
nfct, err := conntrack.Open(&conntrack.Config{})
- var getTotalCount, getSuccessCount, dumpTotalCount, dumpSuccessCount
int64 = 0, 0, 0, 0
if err != nil {
return nil, err
}
-
- go func() {
- for {
- log.Infof("conntrack get total count: %d, success
count: %d, dump total count: %d, success count: %d",
- atomic.LoadInt64(&getTotalCount),
atomic.LoadInt64(&getSuccessCount),
- atomic.LoadInt64(&dumpTotalCount),
atomic.LoadInt64(&dumpSuccessCount))
- time.Sleep(30 * time.Second)
- }
- }()
- return &ConnTrack{
- tracker: nfct,
- getTotalCount: &getTotalCount,
- getSuccessCount: &getSuccessCount,
- dumpTotalCount: &dumpTotalCount,
- dumpSuccessCount: &dumpSuccessCount,
- }, nil
+ return &ConnTrack{tracker: nfct}, nil
}
func (c *ConnTrack) UpdateRealPeerAddress(addr *SocketPair) bool {
@@ -79,7 +56,6 @@ func (c *ConnTrack) UpdateRealPeerAddress(addr *SocketPair)
bool {
}
tuple := c.parseSocketToTuple(addr)
- atomic.AddInt64(c.getTotalCount, 1)
for _, info := range numberStrategies {
tuple.Proto.Number = &(info.proto)
@@ -94,25 +70,9 @@ func (c *ConnTrack) UpdateRealPeerAddress(addr *SocketPair)
bool {
if res := c.filterValidateReply(session, tuple); res != nil {
addr.DestIP = res.Src.String()
- atomic.AddInt64(c.getSuccessCount, 1)
return true
}
}
-
- // using dump to query protocol
- dump, e := c.tracker.Dump(conntrack.Conntrack, family)
- atomic.AddInt64(c.dumpTotalCount, 1)
- if e != nil {
- log.Debug("cannot dump the conntrack session, error: ", e)
- return false
- }
- if res := c.filterValidateReply(dump, tuple); res != nil {
- addr.DestIP = res.Src.String()
- log.Debugf("found the connection from the dump all conntrack,
src: %s:%d, dst: %s:%d, proto number: %d",
- tuple.Src, *tuple.Proto.SrcPort, tuple.Dst,
*tuple.Proto.DstPort, *tuple.Proto.Number)
- atomic.AddInt64(c.dumpSuccessCount, 1)
- return true
- }
return false
}