diff --git a/bpf/go_sarama.h b/bpf/go_sarama.h index fd6bb7601..515353939 100644 --- a/bpf/go_sarama.h +++ b/bpf/go_sarama.h @@ -18,7 +18,7 @@ struct { __uint(type, BPF_MAP_TYPE_LRU_HASH); - __type(key, u32); // key: correlation id + __type(key, go_addr_key_t); // key: correlation id __type(value, kafka_client_req_t); __uint(max_entries, MAX_CONCURRENT_REQUESTS); } kafka_requests SEC(".maps"); @@ -121,7 +121,9 @@ int uprobe_sarama_broker_write(struct pt_regs *ctx) { bpf_dbg_printk("correlation_id = %d", correlation_id); bpf_probe_read(req.buf, KAFKA_MAX_LEN, buf_ptr); - bpf_map_update_elem(&kafka_requests, &correlation_id, &req, BPF_ANY); + go_addr_key_t k_key = {}; + go_addr_key_from_id(&k_key, (void *)(uintptr_t)correlation_id); + bpf_map_update_elem(&kafka_requests, &k_key, &req, BPF_ANY); } } @@ -147,7 +149,9 @@ int uprobe_sarama_response_promise_handle(struct pt_regs *ctx) { bpf_dbg_printk("correlation_id = %d", correlation_id); if (correlation_id) { - kafka_client_req_t *req = bpf_map_lookup_elem(&kafka_requests, &correlation_id); + go_addr_key_t k_key = {}; + go_addr_key_from_id(&k_key, (void *)(uintptr_t)correlation_id); + kafka_client_req_t *req = bpf_map_lookup_elem(&k_key, &correlation_id); if (req) { req->end_monotime_ns = bpf_ktime_get_ns(); @@ -162,8 +166,7 @@ int uprobe_sarama_response_promise_handle(struct pt_regs *ctx) { bpf_ringbuf_submit(trace, get_flags()); } } - - bpf_map_delete_elem(&kafka_requests, &correlation_id); + bpf_map_delete_elem(&kafka_requests, &k_key); } } diff --git a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o index aa7b371f5..684dbaae5 100644 --- a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f092e8d9a88f8caa8ec37326c9e38529c0e3efff1107a51821347355214f0c10 -size 382600 +oid sha256:7c4fde0fed28422b67084a17a10bce035f115115b7b3e3667207fd1c6973910d +size 382824 diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o index bf0bdf4d1..feff9794b 100644 --- a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73fed46939840d5bbf5d7a5aa75761952dac82145f210392ca71b8fac1f28ce1 -size 861744 +oid sha256:3095502f8cb6a14e1c4aa677edd0a34a2903a57676228ec1b1697c7d7828132d +size 861952 diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o index 6d1bf24bc..d92e0d811 100644 --- a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:54d28a6e07df9912c38ec0d92c3cfd788286feee6c2acda2c57f07c0dcbba834 -size 863552 +oid sha256:9ad618de4f7124fe96e8f220347d613fe637533df7abe77ece718a4952197698 +size 863752 diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o index 77efb3f76..4f8e41104 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1aa5eb2edbd8fce23519b2a34456fc4300eb8934f0530378c3ed3a54e9672e3 -size 429088 +oid sha256:951af354fb561935c9feca6fa9f79fdabc7a3e4f4f77088b1c74654b00da4684 +size 429320 diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o index edadd9129..ec280c99c 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a6ae18ad3a80810f1e8c69a6000c11b805924bcb7b28e91eee8874f7a5a916e -size 959368 +oid sha256:5f9d51d94266c2de9649451c28bf8d722b963d730dc0e9a1a19b987165373ade +size 959576 diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o index 2a7520e77..649cc7fdc 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad9d6236ec760a691e37c9f94e48d06e123517bb6d5746cd5783d7ffbfd42125 -size 961168 +oid sha256:5b72805610ea047e761915a540c6b83a5a20704bec1ab8bf0510b9264bb01a31 +size 961376 diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o index 562d83538..4ecf0fba1 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5a5f70835c4625be4d99f40fe714127afb16978ff6ac86604af475b39f21146 -size 430832 +oid sha256:e1c7df192d5ffe31fbb59d22c76a91b5d6d25486323cbfd1831ff587f2c275f9 +size 431056 diff --git a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o index d4b98e608..d0a64d2b9 100644 --- a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o +++ b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7c5fb43899f5487ef20d6bb05f230ce6faf22205bb9ddcde4c2e85d4ca5ea80 -size 384400 +oid sha256:09793cf4ff17416430f4827808ea4f914ff84ecf07799e6cc115e98e4fd3f00a +size 384632