This is an automated email from the ASF dual-hosted git repository.

liuhan pushed a commit to branch reduce-handle-connect-time
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git


The following commit(s) were added to refs/heads/reduce-handle-connect-time by 
this push:
     new 98d711a  remove test code
98d711a is described below

commit 98d711adb09ad2da41f496f52db445938471bf31
Author: mrproliu <[email protected]>
AuthorDate: Mon Dec 30 12:18:34 2024 +0800

    remove test code
---
 bpf/accesslog/common/connection.h          |  5 ++---
 bpf/accesslog/common/data_args.h           |  2 --
 bpf/accesslog/syscalls/connect.c           |  7 ++-----
 bpf/accesslog/syscalls/connect_conntrack.c | 32 ------------------------------
 bpf/accesslog/syscalls/connect_conntrack.h |  9 +--------
 pkg/accesslog/collector/connection.go      |  3 ---
 pkg/accesslog/events/connect.go            |  2 +-
 pkg/accesslog/events/data.go               |  2 +-
 pkg/accesslog/events/events_test.go        |  2 +-
 pkg/process/finders/kubernetes/finder.go   |  2 +-
 pkg/tools/btf/linker.go                    |  5 +++--
 pkg/tools/ip/conntrack.go                  | 18 +++++++----------
 12 files changed, 19 insertions(+), 70 deletions(-)

diff --git a/bpf/accesslog/common/connection.h 
b/bpf/accesslog/common/connection.h
index 0a75214..834737a 100644
--- a/bpf/accesslog/common/connection.h
+++ b/bpf/accesslog/common/connection.h
@@ -200,7 +200,6 @@ static __always_inline void submit_new_connection(void* 
ctx, bool success, __u32
         event->conntrack_upstream_iph = (__u64)conntrack->iph;
         event->conntrack_upstream_ipl = (__u64)conntrack->ipl;
         event->conntrack_upstream_port = conntrack->port;
-        bpf_printk("update conntrack, conid: %lld, port: %d", conid, 
conntrack->port);
     }
     event->success = success;
 
@@ -287,7 +286,7 @@ static __inline struct active_connection_t* 
get_or_create_active_conn(void *ctx,
     if (conn != NULL) {
         return conn;
     }
-    submit_new_connection(ctx, true, func_name, tgid, fd, 0, 0, NULL, NULL, 
NULL, role, 0);
+    submit_new_connection(ctx, true, func_name, tgid, fd, 0, NULL, NULL, NULL, 
role);
     return bpf_map_lookup_elem(&active_connection_map, &conid);
 }
 
@@ -301,7 +300,7 @@ static __inline void submit_connection_when_not_exists(void 
*ctx, __u64 id, stru
     if (conn != NULL) {
        return;
     }
-    submit_new_connection(ctx, true, func_name, tgid, connect_args->fd, 
connect_args->start_nacs, connect_args->randomid, connect_args->addr, NULL, 
&connect_args->remote, role, connect_args->has_remote);
+    submit_new_connection(ctx, true, func_name, tgid, connect_args->fd, 
connect_args->start_nacs, connect_args->addr, NULL, &connect_args->remote, 
role);
 }
 
 static __inline void notify_close_connection(void* ctx, __u64 conid, struct 
active_connection_t* con, __u64 start_time, __u64 end_time, int ret) {
diff --git a/bpf/accesslog/common/data_args.h b/bpf/accesslog/common/data_args.h
index e19d0bc..33eeea6 100644
--- a/bpf/accesslog/common/data_args.h
+++ b/bpf/accesslog/common/data_args.h
@@ -93,7 +93,6 @@ static __inline __u64 generate_socket_data_id(__u64 id, __u32 
fd, __u32 func_nam
     __u64 key = ((__u64)tgid << 32) | fd;
     if (check) {
         if (tgid_should_trace(tgid) == false) {
-            bpf_printk("---test11111");
             return 0;
         }
     }
@@ -103,7 +102,6 @@ static __inline __u64 generate_socket_data_id(__u64 id, 
__u32 fd, __u32 func_nam
         bpf_map_update_elem(&socket_data_id_generate_map, &key, &tmp, 
BPF_NOEXIST);
         data_id = bpf_map_lookup_elem(&socket_data_id_generate_map, &key);
         if (!data_id) {
-            bpf_printk("---test222222222");
             return 0;
         }
     }
diff --git a/bpf/accesslog/syscalls/connect.c b/bpf/accesslog/syscalls/connect.c
index d3db9c8..406829a 100644
--- a/bpf/accesslog/syscalls/connect.c
+++ b/bpf/accesslog/syscalls/connect.c
@@ -33,14 +33,14 @@ static __inline void process_connect(void *ctx, __u64 id, 
struct connect_args_t
     struct sock *sock = connect_args->sock;
     struct socket *s = _(sock->sk_socket);
     submit_new_connection(ctx, success, SOCKET_OPTS_TYPE_CONNECT, tgid, 
connect_args->fd, connect_args->start_nacs,
-        connect_args->randomid, connect_args->addr, s, &connect_args->remote, 
0, connect_args->has_remote);
+        connect_args->addr, s, &connect_args->remote, 0);
 }
 
 static __inline void process_accept(void *ctx, __u64 id, struct accept_args_t 
*accept_args, long ret) {
     int fd = (int) ret;
     __u32 tgid = id >> 32;
     struct socket *s = accept_args->socket;
-    submit_new_connection(ctx, true, SOCKET_OPTS_TYPE_ACCEPT, tgid, fd, 
accept_args->start_nacs, 0, accept_args->addr, s, NULL, 0, 0);
+    submit_new_connection(ctx, true, SOCKET_OPTS_TYPE_ACCEPT, tgid, fd, 
accept_args->start_nacs, accept_args->addr, s, NULL, 0);
 }
 
 SEC("tracepoint/syscalls/sys_enter_connect")
@@ -54,9 +54,7 @@ int tracepoint_enter_connect(struct syscall_trace_enter *ctx) 
{
     connect_args.fd = (__u32)ctx->args[0];
     connect_args.addr = (struct sockaddr *)ctx->args[1];
     connect_args.start_nacs = bpf_ktime_get_ns();
-    connect_args.randomid = bpf_get_prandom_u32();
     bpf_map_update_elem(&conecting_args, &id, &connect_args, 0);
-    bpf_printk("start sys connect: %lld, %lld", id, connect_args.randomid);
        return 0;
 }
 
@@ -68,7 +66,6 @@ int tracepoint_exit_connect(struct syscall_trace_exit *ctx) {
     connect_args = bpf_map_lookup_elem(&conecting_args, &id);
     if (connect_args) {
         process_connect(ctx, id, connect_args, ctx->ret);
-        bpf_printk("--finish sys connect: %lld, %lld", id, 
connect_args->randomid);
     }
 
     bpf_map_delete_elem(&conecting_args, &id);
diff --git a/bpf/accesslog/syscalls/connect_conntrack.c 
b/bpf/accesslog/syscalls/connect_conntrack.c
index 63d434c..8f1f5cb 100644
--- a/bpf/accesslog/syscalls/connect_conntrack.c
+++ b/bpf/accesslog/syscalls/connect_conntrack.c
@@ -94,28 +94,23 @@ static __always_inline int nf_conn_aware(struct pt_regs* 
ctx, struct nf_conn *ct
 
     // already contains the remote address
     if (connect_args->has_remote && &(connect_args->remote) != NULL) {
-        bpf_printk("---test2222, %lld, %lld", id, connect_args->randomid);
         return 0;
     }
 
     __u32 status;
     if (bpf_probe_read(&status, sizeof(status), &(ct->status)) != 0) {
-        bpf_printk("---test3333, %lld, %lld", id, connect_args->randomid);
         return 0; // Invalid ct pointer
     }
 
     if (!(status & IPS_CONFIRMED)) {
-        bpf_printk("---test4444, %lld, %lld", id, connect_args->randomid);
         return 0;
     }
     if (!(status & IPS_NAT_MASK)) {
-        bpf_printk("---test5555, %lld, %lld", id, connect_args->randomid);
         return 0;
     }
 
     struct nf_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX];
     if (bpf_probe_read(&tuplehash, sizeof(tuplehash), &(ct->tuplehash)) != 0) {
-        bpf_printk("---test6666, %lld, %lld", id, connect_args->randomid);
         return 0; // Invalid ct pointer
     }
 
@@ -123,7 +118,6 @@ static __always_inline int nf_conn_aware(struct pt_regs* 
ctx, struct nf_conn *ct
 
     conntrack_tuple_t reply_conn = {};
     if (!nf_conntrack_tuple_to_conntrack_tuple(connect_args, &reply_conn, 
&reply)) {
-        bpf_printk("---test7777, %lld, %lld", id, connect_args->randomid);
         return 0;
     }
 
@@ -134,7 +128,6 @@ static __always_inline int nf_conn_aware(struct pt_regs* 
ctx, struct nf_conn *ct
     connect_args->remote = remote;
     connect_args->has_remote = 1;
     bpf_map_update_elem(&conecting_args, &id, connect_args, 0);
-    bpf_printk("---test success!!!!!!!!!!!!!!!!!!!!, %lld, %lld", id, 
connect_args->randomid);
 
     return 0;
 }
@@ -152,29 +145,4 @@ int nf_confirm(struct pt_regs* ctx) {
 SEC("kprobe/ctnetlink_fill_info")
 int nf_ctnetlink_fill_info(struct pt_regs* ctx) {
     return nf_conn_aware(ctx, (struct nf_conn*)PT_REGS_PARM5(ctx));
-}
-
-SEC("kprobe/__nf_ct_refresh_acct")
-int nf_ct_refresh_acct(struct pt_regs *ctx) {
-    struct nf_conn *ct = (struct nf_conn *) PT_REGS_PARM1(ctx);
-    __u64 pid = bpf_get_current_pid_tgid();
-    bpf_map_update_elem(&conntrack_refreshing, &pid, &ct, BPF_ANY);
-    return 0;
-}
-
-// Bottom half of the update sampler. Extract accounting data from the nf_conn.
-SEC("kretprobe/__nf_ct_refresh_acct")
-int nf_ct_refresh_acct_ret(struct pt_regs *ctx) {
-    __u64 pid = bpf_get_current_pid_tgid();
-    struct nf_conn **ctp;
-    ctp = bpf_map_lookup_elem(&conntrack_refreshing, &pid);
-    if (ctp == 0) {
-        bpf_printk("nf_ct_refresh_acct_ret: ctp is null");
-        return 0;
-    }
-    struct nf_conn *ct = *ctp;
-    bpf_map_delete_elem(&conntrack_refreshing, &pid);
-    int ret = nf_conn_aware(ctx, ct);
-    bpf_printk("nf_ct_refresh_acct_ret: %p, ret: %d", ct, ret);
-    return ret;
 }
\ No newline at end of file
diff --git a/bpf/accesslog/syscalls/connect_conntrack.h 
b/bpf/accesslog/syscalls/connect_conntrack.h
index 4b3024c..06e5072 100644
--- a/bpf/accesslog/syscalls/connect_conntrack.h
+++ b/bpf/accesslog/syscalls/connect_conntrack.h
@@ -96,11 +96,4 @@ struct nf_conn {
        struct nf_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX];
        long unsigned int status;
        __u32 mark;
-} __attribute__((preserve_access_index));
-
-struct {
-       __uint(type, BPF_MAP_TYPE_PERCPU_HASH);
-       __uint(max_entries, 5000);
-       __type(key, __u64);
-       __type(value, sizeof(struct nf_conn *));
-} conntrack_refreshing SEC(".maps");
\ No newline at end of file
+} __attribute__((preserve_access_index));
\ No newline at end of file
diff --git a/pkg/accesslog/collector/connection.go 
b/pkg/accesslog/collector/connection.go
index 5cc2176..7550a0d 100644
--- a/pkg/accesslog/collector/connection.go
+++ b/pkg/accesslog/collector/connection.go
@@ -23,7 +23,6 @@ import (
        "fmt"
        "net"
        "os"
-       "time"
 
        "github.com/docker/go-units"
 
@@ -51,8 +50,6 @@ var connectionLogger = logger.GetLogger("access_log", 
"collector", "connection")
 
 var connectionCollectInstance = NewConnectionCollector()
 
-var connectionAnalyzeRetryTime = time.Second * 3
-
 type ConnectCollector struct {
        eventQueue *btf.EventQueue
 }
diff --git a/pkg/accesslog/events/connect.go b/pkg/accesslog/events/connect.go
index ab10338..daf6458 100644
--- a/pkg/accesslog/events/connect.go
+++ b/pkg/accesslog/events/connect.go
@@ -18,9 +18,9 @@
 package events
 
 import (
-       "github.com/apache/skywalking-rover/pkg/tools/btf"
        "time"
 
+       "github.com/apache/skywalking-rover/pkg/tools/btf"
        "github.com/apache/skywalking-rover/pkg/tools/host"
 )
 
diff --git a/pkg/accesslog/events/data.go b/pkg/accesslog/events/data.go
index 7d759e4..85bbd76 100644
--- a/pkg/accesslog/events/data.go
+++ b/pkg/accesslog/events/data.go
@@ -19,8 +19,8 @@ package events
 
 import (
        "fmt"
-       "github.com/apache/skywalking-rover/pkg/tools/btf"
 
+       "github.com/apache/skywalking-rover/pkg/tools/btf"
        "github.com/apache/skywalking-rover/pkg/tools/enums"
 )
 
diff --git a/pkg/accesslog/events/events_test.go 
b/pkg/accesslog/events/events_test.go
index 70348a0..ee3144d 100644
--- a/pkg/accesslog/events/events_test.go
+++ b/pkg/accesslog/events/events_test.go
@@ -21,11 +21,11 @@ import (
        "bytes"
        "encoding/binary"
        "encoding/hex"
-       "github.com/apache/skywalking-rover/pkg/tools/btf"
        "reflect"
        "strings"
        "testing"
 
+       "github.com/apache/skywalking-rover/pkg/tools/btf"
        "github.com/stretchr/testify/assert"
 )
 
diff --git a/pkg/process/finders/kubernetes/finder.go 
b/pkg/process/finders/kubernetes/finder.go
index 8396590..5b22fb4 100644
--- a/pkg/process/finders/kubernetes/finder.go
+++ b/pkg/process/finders/kubernetes/finder.go
@@ -22,7 +22,6 @@ import (
        "context"
        "fmt"
        "hash/fnv"
-       "k8s.io/apimachinery/pkg/util/rand"
        "os"
        "regexp"
        "strconv"
@@ -41,6 +40,7 @@ import (
 
        "k8s.io/apimachinery/pkg/fields"
        "k8s.io/apimachinery/pkg/util/cache"
+       "k8s.io/apimachinery/pkg/util/rand"
 
        "k8s.io/client-go/kubernetes"
        "k8s.io/client-go/rest"
diff --git a/pkg/tools/btf/linker.go b/pkg/tools/btf/linker.go
index 690a89f..3abb43b 100644
--- a/pkg/tools/btf/linker.go
+++ b/pkg/tools/btf/linker.go
@@ -22,13 +22,14 @@ import (
        "encoding/binary"
        "errors"
        "fmt"
-       "golang.org/x/arch/arm64/arm64asm"
-       "golang.org/x/arch/x86/x86asm"
        "io"
        "os"
        "runtime"
        "sync"
 
+       "golang.org/x/arch/arm64/arm64asm"
+       "golang.org/x/arch/x86/x86asm"
+
        "github.com/apache/skywalking-rover/pkg/tools/elf"
        "github.com/apache/skywalking-rover/pkg/tools/process"
 
diff --git a/pkg/tools/ip/conntrack.go b/pkg/tools/ip/conntrack.go
index bc410c7..9c2bf37 100644
--- a/pkg/tools/ip/conntrack.go
+++ b/pkg/tools/ip/conntrack.go
@@ -19,20 +19,18 @@ package ip
 
 import (
        "fmt"
-       "github.com/florianl/go-conntrack"
-       "golang.org/x/sys/unix"
        "net"
        "syscall"
-       "time"
+
+       "github.com/florianl/go-conntrack"
+
+       "golang.org/x/sys/unix"
 
        "github.com/apache/skywalking-rover/pkg/logger"
 )
 
 var (
        log = logger.GetLogger("tools", "ip")
-
-       // monitorExpireTime is the time to expire the conntrack session
-       monitorExpireTime = time.Second * 20
 )
 
 var numberStrategies = []struct {
@@ -44,7 +42,7 @@ var numberStrategies = []struct {
 }}
 
 type ConnTrack struct {
-       nfct *conntrack.Nfct
+       tracker *conntrack.Nfct
 }
 
 func NewConnTrack() (*ConnTrack, error) {
@@ -53,9 +51,7 @@ func NewConnTrack() (*ConnTrack, error) {
                return nil, err
        }
 
-       return &ConnTrack{
-               nfct: nfct,
-       }, nil
+       return &ConnTrack{tracker: nfct}, nil
 }
 
 func (c *ConnTrack) UpdateRealPeerAddress(addr *SocketPair) error {
@@ -69,7 +65,7 @@ func (c *ConnTrack) UpdateRealPeerAddress(addr *SocketPair) 
error {
                tuple.Proto.Number = &(info.proto)
 
                // using get to query protocol
-               session, e := c.nfct.Get(conntrack.Conntrack, family, 
conntrack.Con{Origin: tuple})
+               session, e := c.tracker.Get(conntrack.Conntrack, family, 
conntrack.Con{Origin: tuple})
                if e != nil {
                        // try to get the reply session, if the info not exists 
or from accept events, have error is normal
                        return fmt.Errorf("cannot get the conntrack session, 
type: %s, family: %d, origin src: %s:%d, origin dest: %s:%d, error: %v", 
info.name,

Reply via email to