You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by li...@apache.org on 2025/06/05 13:20:24 UTC

(skywalking-rover) branch increase-buffer updated (90183c1 -> bb7c505)

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

liuhan pushed a change to branch increase-buffer
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git


 discard 90183c1  Increase the transmit buffer size
 discard 6f78af5  Increase the transmit buffer size
     new bb7c505  Increase the transmit buffer size

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (90183c1)
            \
             N -- N -- N   refs/heads/increase-buffer (bb7c505)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:


(skywalking-rover) 01/01: Increase the transmit buffer size

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liuhan pushed a commit to branch increase-buffer
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git

commit bb7c5057dca582362d5ebcdcf73472fc3b3d3af4
Author: mrproliu <74...@qq.com>
AuthorDate: Thu Jun 5 21:17:44 2025 +0800

    Increase the transmit buffer size
---
 CHANGES.md                                        | 1 +
 bpf/include/queue.h                               | 2 +-
 bpf/include/socket_opts.h                         | 2 +-
 pkg/accesslog/collector/protocols/http1.go        | 4 ++--
 pkg/accesslog/events/data.go                      | 6 +++---
 pkg/profiling/task/network/analyze/events/data.go | 4 ++--
 pkg/tools/buffer/buffer.go                        | 8 ++++----
 7 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 3781e06..ddcb4d5 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -25,6 +25,7 @@ Release Notes.
 * Downgrade the protocol of connection when protocol break in the access log module.
 * Bump up go version to `1.24` and eBPF library to `0.18.0`.
 * Support detect ztunnel environment in the inbound request.
+* Increase the transmit buffer size in the network profiling and access log module.
 
 #### Bug Fixes
 * Fix the base image cannot run in the arm64.
diff --git a/bpf/include/queue.h b/bpf/include/queue.h
index 559aeb4..c964c97 100644
--- a/bpf/include/queue.h
+++ b/bpf/include/queue.h
@@ -28,7 +28,7 @@ struct {
 	__uint(type, BPF_MAP_TYPE_PERCPU_ARRAY);
 	__uint(max_entries, 1);
 	__uint(key_size, sizeof(__u32));
-	__uint(value_size, 10240); // all events are less than 10KB
+	__uint(value_size, 30960); // all events are less than 30KB
 } rover_data_heap SEC(".maps");
 
 static __always_inline void *rover_reserve_buf(void *map, __u64 size) {
diff --git a/bpf/include/socket_opts.h b/bpf/include/socket_opts.h
index d506302..d66a0b3 100644
--- a/bpf/include/socket_opts.h
+++ b/bpf/include/socket_opts.h
@@ -43,7 +43,7 @@
 // for protocol analyze need to read
 #define MAX_PROTOCOL_SOCKET_READ_LENGTH 31
 // for transmit to the user space
-#define MAX_TRANSMIT_SOCKET_READ_LENGTH 2048
+#define MAX_TRANSMIT_SOCKET_READ_LENGTH 20480
 
 // unknown the connection type, not trigger the syscall connect,accept
 #define AF_UNKNOWN 0xff
diff --git a/pkg/accesslog/collector/protocols/http1.go b/pkg/accesslog/collector/protocols/http1.go
index 96064ff..b975d23 100644
--- a/pkg/accesslog/collector/protocols/http1.go
+++ b/pkg/accesslog/collector/protocols/http1.go
@@ -112,8 +112,8 @@ func (p *HTTP1Protocol) Analyze(connection *PartitionConnection, _ *AnalyzeHelpe
 			result = enums.ParseResultSkipPackage
 		}
 		if err != nil {
-			http1Log.Warnf("failed to handle HTTP/1.x protocol, connection ID: %d, random ID: %d, data id: %d, error: %v",
-				metrics.ConnectionID, metrics.RandomID, buf.Position().DataID(), err)
+			http1Log.Warnf("failed to handle HTTP/1.x protocol, connection ID: %d, random ID: %d, data id: %d, type: %d, error: %v",
+				metrics.ConnectionID, metrics.RandomID, buf.Position().DataID(), messageType, err)
 		}
 
 		http1Log.Debugf("readed message, messageType: %v, buf: %p, data id: %d, "+
diff --git a/pkg/accesslog/events/data.go b/pkg/accesslog/events/data.go
index 85bbd76..71b1a7e 100644
--- a/pkg/accesslog/events/data.go
+++ b/pkg/accesslog/events/data.go
@@ -38,10 +38,10 @@ type SocketDataUploadEvent struct {
 	DataID0      uint64
 	PrevDataID0  uint64
 	TotalSize0   uint64
-	Buffer       [2048]byte
+	Buffer       [20480]byte
 }
 
-func (s *SocketDataUploadEvent) ReleaseBuffer() *[2048]byte {
+func (s *SocketDataUploadEvent) ReleaseBuffer() *[20480]byte {
 	return &s.Buffer
 }
 
@@ -59,7 +59,7 @@ func (s *SocketDataUploadEvent) ReadFrom(r btf.Reader) {
 	s.DataID0 = r.ReadUint64()
 	s.PrevDataID0 = r.ReadUint64()
 	s.TotalSize0 = r.ReadUint64()
-	r.ReadUint8Array(s.Buffer[:], 2048)
+	r.ReadUint8Array(s.Buffer[:], 20480)
 }
 
 func (s *SocketDataUploadEvent) Protocol() enums.ConnectionProtocol {
diff --git a/pkg/profiling/task/network/analyze/events/data.go b/pkg/profiling/task/network/analyze/events/data.go
index 3c59378..7aede33 100644
--- a/pkg/profiling/task/network/analyze/events/data.go
+++ b/pkg/profiling/task/network/analyze/events/data.go
@@ -37,10 +37,10 @@ type SocketDataUploadEvent struct {
 	DataID0      uint64
 	PrevDataID0  uint64
 	TotalSize0   uint64
-	Buffer       [2048]byte
+	Buffer       [20480]byte
 }
 
-func (s *SocketDataUploadEvent) ReleaseBuffer() *[2048]byte {
+func (s *SocketDataUploadEvent) ReleaseBuffer() *[20480]byte {
 	return &s.Buffer
 }
 
diff --git a/pkg/tools/buffer/buffer.go b/pkg/tools/buffer/buffer.go
index 5a2ed13..60ff2ab 100644
--- a/pkg/tools/buffer/buffer.go
+++ b/pkg/tools/buffer/buffer.go
@@ -40,13 +40,13 @@ var (
 
 	PooledBuffer = sync.Pool{
 		New: func() any {
-			return &[2048]byte{}
+			return &[20480]byte{}
 		},
 	}
 )
 
-func BorrowNewBuffer() *[2048]byte {
-	return PooledBuffer.Get().(*[2048]byte)
+func BorrowNewBuffer() *[20480]byte {
+	return PooledBuffer.Get().(*[20480]byte)
 }
 
 type SocketDataBuffer interface {
@@ -82,7 +82,7 @@ type SocketDataBuffer interface {
 	// EndTime the data end timestamp
 	EndTime() uint64
 
-	ReleaseBuffer() *[2048]byte
+	ReleaseBuffer() *[20480]byte
 }
 
 type SocketDataDetail interface {