diff --git a/processmanager/ebpf/ebpf.go b/processmanager/ebpf/ebpf.go index 9f9dc90b..bb07da91 100644 --- a/processmanager/ebpf/ebpf.go +++ b/processmanager/ebpf/ebpf.go @@ -135,6 +135,8 @@ var outerMapsName = [...]string{ "exe_id_to_19_stack_deltas", "exe_id_to_20_stack_deltas", "exe_id_to_21_stack_deltas", + "exe_id_to_22_stack_deltas", + "exe_id_to_23_stack_deltas", } // Compile time check to make sure ebpfMapsImpl satisfies the interface . diff --git a/processmanager/ebpf/ebpf_test.go b/processmanager/ebpf/ebpf_test.go index d80a78fd..97b64b11 100644 --- a/processmanager/ebpf/ebpf_test.go +++ b/processmanager/ebpf/ebpf_test.go @@ -38,6 +38,6 @@ func TestMapID(t *testing.T) { }) } - _, err := getMapID(1 << 22) + _, err := getMapID(1 << 24) require.Error(t, err) } diff --git a/support/ebpf/extmaps.h b/support/ebpf/extmaps.h index 76a83f57..5922d9ed 100644 --- a/support/ebpf/extmaps.h +++ b/support/ebpf/extmaps.h @@ -38,6 +38,8 @@ extern bpf_map_def exe_id_to_18_stack_deltas; extern bpf_map_def exe_id_to_19_stack_deltas; extern bpf_map_def exe_id_to_20_stack_deltas; extern bpf_map_def exe_id_to_21_stack_deltas; +extern bpf_map_def exe_id_to_22_stack_deltas; +extern bpf_map_def exe_id_to_23_stack_deltas; extern bpf_map_def hotspot_procs; extern bpf_map_def kernel_stackmap; extern bpf_map_def dotnet_procs; diff --git a/support/ebpf/native_stack_trace.ebpf.c b/support/ebpf/native_stack_trace.ebpf.c index 0012e30e..959099cb 100644 --- a/support/ebpf/native_stack_trace.ebpf.c +++ b/support/ebpf/native_stack_trace.ebpf.c @@ -37,6 +37,8 @@ STACK_DELTA_BUCKET(18); STACK_DELTA_BUCKET(19); STACK_DELTA_BUCKET(20); STACK_DELTA_BUCKET(21); +STACK_DELTA_BUCKET(22); +STACK_DELTA_BUCKET(23); // Unwind info value for invalid stack delta #define STACK_DELTA_INVALID (STACK_DELTA_COMMAND_FLAG | UNWIND_COMMAND_INVALID) @@ -154,6 +156,8 @@ void *get_stack_delta_map(int mapID) { case 19: return &exe_id_to_19_stack_deltas; case 20: return &exe_id_to_20_stack_deltas; case 21: return &exe_id_to_21_stack_deltas; + case 22: return &exe_id_to_22_stack_deltas; + case 23: return &exe_id_to_23_stack_deltas; default: return NULL; } } diff --git a/support/ebpf/tracer.ebpf.release.amd64 b/support/ebpf/tracer.ebpf.release.amd64 index 9ff3eabb..2a8cbb2f 100644 Binary files a/support/ebpf/tracer.ebpf.release.amd64 and b/support/ebpf/tracer.ebpf.release.amd64 differ diff --git a/support/ebpf/tracer.ebpf.release.arm64 b/support/ebpf/tracer.ebpf.release.arm64 index 41971640..ecac9895 100644 Binary files a/support/ebpf/tracer.ebpf.release.arm64 and b/support/ebpf/tracer.ebpf.release.arm64 differ diff --git a/support/ebpf/types.h b/support/ebpf/types.h index bbf6882d..e5592ff8 100644 --- a/support/ebpf/types.h +++ b/support/ebpf/types.h @@ -831,8 +831,8 @@ void decode_bias_and_unwind_program(u64 bias_and_unwind_program, u64* bias, int* // Smallest stack delta bucket that holds up to 2^8 entries #define STACK_DELTA_BUCKET_SMALLEST 8 -// Largest stack delta bucket that holds up to 2^21 entries -#define STACK_DELTA_BUCKET_LARGEST 21 +// Largest stack delta bucket that holds up to 2^23 entries +#define STACK_DELTA_BUCKET_LARGEST 23 // Struct of the `system_config` map. Contains various configuration variables // determined and set by the host agent.