From 890ebbf7e4d33519829ac7abc4f2abb8384f76d7 Mon Sep 17 00:00:00 2001 From: Nikola Grcevski <6207777+grcevski@users.noreply.github.com> Date: Thu, 11 Jul 2024 09:35:18 -0400 Subject: [PATCH] Add support for segment.io kafka-go library (#1006) --- .gitignore | 6 +- README.md | 1 + bpf/go_kafka_go.c | 290 ++++++++++++++++++ bpf/{go_kafka.c => go_sarama.c} | 0 bpf/http_trace.c | 1 + bpf/http_trace.h | 12 + bpf/ringbuf.h | 1 + configs/offsets/kafkago/go.mod | 10 + configs/offsets/kafkago/go.sum | 68 ++++ configs/offsets/kafkago/inspect.go | 70 +++++ configs/offsets/tracker_input.json | 17 +- pkg/internal/discover/finder.go | 8 +- pkg/internal/ebpf/common/bpf_bpfel_arm64.go | 24 ++ pkg/internal/ebpf/common/bpf_bpfel_arm64.o | Bin 4160 -> 4432 bytes pkg/internal/ebpf/common/bpf_bpfel_x86.go | 24 ++ pkg/internal/ebpf/common/bpf_bpfel_x86.o | Bin 4160 -> 4432 bytes pkg/internal/ebpf/common/common.go | 24 +- .../ebpf/common/go_kafka_transform.go | 59 +++- pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.o | Bin 50344 -> 0 bytes pkg/internal/ebpf/gokafka/bpf_bpfel_x86.o | Bin 51816 -> 0 bytes .../ebpf/gokafka/bpf_debug_bpfel_arm64.o | Bin 67200 -> 0 bytes .../ebpf/gokafka/bpf_debug_bpfel_x86.o | Bin 68680 -> 0 bytes pkg/internal/ebpf/goredis/bpf_bpfel_arm64.o | Bin 56048 -> 56048 bytes pkg/internal/ebpf/goredis/bpf_bpfel_x86.o | Bin 57536 -> 57536 bytes .../ebpf/goredis/bpf_debug_bpfel_arm64.o | Bin 75904 -> 75904 bytes .../ebpf/goredis/bpf_debug_bpfel_x86.o | Bin 77392 -> 77392 bytes pkg/internal/ebpf/grpc/bpf_bpfel_arm64.o | Bin 127880 -> 127880 bytes pkg/internal/ebpf/grpc/bpf_bpfel_x86.o | Bin 129352 -> 129352 bytes .../ebpf/grpc/bpf_debug_bpfel_arm64.o | Bin 184312 -> 184312 bytes pkg/internal/ebpf/grpc/bpf_debug_bpfel_x86.o | Bin 185784 -> 185784 bytes pkg/internal/ebpf/grpc/bpf_tp_bpfel_arm64.o | Bin 144984 -> 144984 bytes pkg/internal/ebpf/grpc/bpf_tp_bpfel_x86.o | Bin 146448 -> 146448 bytes .../ebpf/grpc/bpf_tp_debug_bpfel_arm64.o | Bin 215720 -> 215720 bytes .../ebpf/grpc/bpf_tp_debug_bpfel_x86.o | Bin 217192 -> 217192 bytes pkg/internal/ebpf/httpfltr/bpf_bpfel_arm64.o | Bin 306392 -> 306392 bytes pkg/internal/ebpf/httpfltr/bpf_bpfel_x86.o | Bin 306080 -> 306080 bytes .../ebpf/httpfltr/bpf_debug_bpfel_arm64.o | Bin 403192 -> 403192 bytes .../ebpf/httpfltr/bpf_debug_bpfel_x86.o | Bin 403000 -> 403000 bytes .../ebpf/httpfltr/bpf_tp_bpfel_arm64.o | Bin 320792 -> 320792 bytes pkg/internal/ebpf/httpfltr/bpf_tp_bpfel_x86.o | Bin 320488 -> 320488 bytes .../ebpf/httpfltr/bpf_tp_debug_bpfel_arm64.o | Bin 420192 -> 420192 bytes .../ebpf/httpfltr/bpf_tp_debug_bpfel_x86.o | Bin 420000 -> 420000 bytes pkg/internal/ebpf/httpssl/bpf_bpfel_arm64.o | Bin 255600 -> 255600 bytes pkg/internal/ebpf/httpssl/bpf_bpfel_x86.o | Bin 256768 -> 256768 bytes .../ebpf/httpssl/bpf_debug_bpfel_arm64.o | Bin 338896 -> 338896 bytes .../ebpf/httpssl/bpf_debug_bpfel_x86.o | Bin 340064 -> 340064 bytes .../ebpf/httpssl/bpf_tp_bpfel_arm64.o | Bin 270008 -> 270008 bytes pkg/internal/ebpf/httpssl/bpf_tp_bpfel_x86.o | Bin 271168 -> 271168 bytes .../ebpf/httpssl/bpf_tp_debug_bpfel_arm64.o | Bin 355904 -> 355904 bytes .../ebpf/httpssl/bpf_tp_debug_bpfel_x86.o | Bin 357064 -> 357064 bytes pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.go | 229 ++++++++++++++ pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.o | Bin 0 -> 70072 bytes pkg/internal/ebpf/kafkago/bpf_bpfel_x86.go | 229 ++++++++++++++ pkg/internal/ebpf/kafkago/bpf_bpfel_x86.o | Bin 0 -> 71536 bytes .../ebpf/kafkago/bpf_debug_bpfel_arm64.go | 232 ++++++++++++++ .../ebpf/kafkago/bpf_debug_bpfel_arm64.o | Bin 0 -> 97088 bytes .../ebpf/kafkago/bpf_debug_bpfel_x86.go | 232 ++++++++++++++ .../ebpf/kafkago/bpf_debug_bpfel_x86.o | Bin 0 -> 98552 bytes pkg/internal/ebpf/kafkago/kafkago.go | 162 ++++++++++ pkg/internal/ebpf/nethttp/bpf_bpfel_arm64.o | Bin 167672 -> 167672 bytes pkg/internal/ebpf/nethttp/bpf_bpfel_x86.o | Bin 169128 -> 169128 bytes .../ebpf/nethttp/bpf_debug_bpfel_arm64.o | Bin 245432 -> 245432 bytes .../ebpf/nethttp/bpf_debug_bpfel_x86.o | Bin 246888 -> 246888 bytes .../ebpf/nethttp/bpf_tp_bpfel_arm64.o | Bin 194128 -> 194128 bytes pkg/internal/ebpf/nethttp/bpf_tp_bpfel_x86.o | Bin 195584 -> 195584 bytes .../ebpf/nethttp/bpf_tp_debug_bpfel_arm64.o | Bin 293176 -> 293176 bytes .../ebpf/nethttp/bpf_tp_debug_bpfel_x86.o | Bin 294632 -> 294632 bytes .../{gokafka => sarama}/bpf_bpfel_arm64.go | 2 +- pkg/internal/ebpf/sarama/bpf_bpfel_arm64.o | Bin 0 -> 50344 bytes .../ebpf/{gokafka => sarama}/bpf_bpfel_x86.go | 2 +- pkg/internal/ebpf/sarama/bpf_bpfel_x86.o | Bin 0 -> 51816 bytes .../bpf_debug_bpfel_arm64.go | 2 +- .../ebpf/sarama/bpf_debug_bpfel_arm64.o | Bin 0 -> 67200 bytes .../bpf_debug_bpfel_x86.go | 2 +- .../ebpf/sarama/bpf_debug_bpfel_x86.o | Bin 0 -> 68680 bytes .../{gokafka/gokafka.go => sarama/sarama.go} | 8 +- pkg/internal/goexec/offsets.json | 42 +++ pkg/internal/goexec/structmembers.go | 18 ++ .../components/gokafka-seg/Dockerfile | 28 ++ .../integration/components/gokafka-seg/go.mod | 10 + .../integration/components/gokafka-seg/go.sum | 68 ++++ .../components/gokafka-seg/main.go | 95 ++++++ .../integration/components/gokafka-seg/run.sh | 6 + .../configs/instrumenter-config-http2.yml | 7 +- test/integration/configs/otelcol-config.yml | 2 + test/integration/docker-compose-1.16.yml | 2 +- test/integration/docker-compose-1.17.yml | 4 +- test/integration/docker-compose-client.yml | 4 +- test/integration/docker-compose-dotnet.yml | 2 +- test/integration/docker-compose-elixir.yml | 2 +- test/integration/docker-compose-http2.yml | 57 ++-- test/integration/docker-compose-java-host.yml | 2 +- test/integration/docker-compose-java-pid.yml | 2 +- .../docker-compose-java-system-wide.yml | 2 +- test/integration/docker-compose-java.yml | 2 +- test/integration/docker-compose-multiexec.yml | 4 +- .../docker-compose-netolly-direction.yml | 2 +- test/integration/docker-compose-netolly.yml | 2 +- .../integration/docker-compose-nodeclient.yml | 4 +- test/integration/docker-compose-nodejs.yml | 4 +- .../integration/docker-compose-other-grpc.yml | 4 +- .../integration/docker-compose-python-sql.yml | 4 +- test/integration/docker-compose-python.yml | 2 +- test/integration/docker-compose-ruby.yml | 2 +- test/integration/docker-compose-rust.yml | 4 +- test/integration/docker-compose.yml | 4 +- .../k8s/daemonset/k8s_daemonset_main_test.go | 4 +- .../k8s_daemonset_main_test.go | 4 +- .../k8s_disable_informers_test.go | 4 +- test/integration/k8s/manifests/03-otelcol.yml | 2 +- test/integration/k8s/manifests/04-jaeger.yml | 2 +- test/integration/k8s/otel/k8s_main_test.go | 4 +- .../k8s/owners/k8s_owners_main_test.go | 4 +- .../docker-compose-beyla-go-kafka-go.yml | 71 +++++ ... docker-compose-beyla-go-kafka-sarama.yml} | 0 test/oats/kafka/yaml/oats_go_kafka-go.yaml | 39 +++ ...o_kafka.yaml => oats_go_kafka-sarama.yaml} | 2 +- 117 files changed, 2148 insertions(+), 94 deletions(-) create mode 100644 bpf/go_kafka_go.c rename bpf/{go_kafka.c => go_sarama.c} (100%) create mode 100644 configs/offsets/kafkago/go.mod create mode 100644 configs/offsets/kafkago/go.sum create mode 100644 configs/offsets/kafkago/inspect.go delete mode 100644 pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.o delete mode 100644 pkg/internal/ebpf/gokafka/bpf_bpfel_x86.o delete mode 100644 pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.o delete mode 100644 pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.o create mode 100644 pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.go create mode 100644 pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.o create mode 100644 pkg/internal/ebpf/kafkago/bpf_bpfel_x86.go create mode 100644 pkg/internal/ebpf/kafkago/bpf_bpfel_x86.o create mode 100644 pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.go create mode 100644 pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.o create mode 100644 pkg/internal/ebpf/kafkago/bpf_debug_bpfel_x86.go create mode 100644 pkg/internal/ebpf/kafkago/bpf_debug_bpfel_x86.o create mode 100644 pkg/internal/ebpf/kafkago/kafkago.go rename pkg/internal/ebpf/{gokafka => sarama}/bpf_bpfel_arm64.go (99%) create mode 100644 pkg/internal/ebpf/sarama/bpf_bpfel_arm64.o rename pkg/internal/ebpf/{gokafka => sarama}/bpf_bpfel_x86.go (99%) create mode 100644 pkg/internal/ebpf/sarama/bpf_bpfel_x86.o rename pkg/internal/ebpf/{gokafka => sarama}/bpf_debug_bpfel_arm64.go (99%) create mode 100644 pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.o rename pkg/internal/ebpf/{gokafka => sarama}/bpf_debug_bpfel_x86.go (99%) create mode 100644 pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.o rename pkg/internal/ebpf/{gokafka/gokafka.go => sarama/sarama.go} (95%) create mode 100644 test/integration/components/gokafka-seg/Dockerfile create mode 100644 test/integration/components/gokafka-seg/go.mod create mode 100644 test/integration/components/gokafka-seg/go.sum create mode 100644 test/integration/components/gokafka-seg/main.go create mode 100755 test/integration/components/gokafka-seg/run.sh create mode 100644 test/oats/kafka/docker-compose-beyla-go-kafka-go.yml rename test/oats/kafka/{docker-compose-beyla-go-kafka.yml => docker-compose-beyla-go-kafka-sarama.yml} (100%) create mode 100644 test/oats/kafka/yaml/oats_go_kafka-go.yaml rename test/oats/kafka/yaml/{oats_go_kafka.yaml => oats_go_kafka-sarama.yaml} (97%) diff --git a/.gitignore b/.gitignore index 6d9cf638a..6ed11f4e2 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,8 @@ test/integration/components/gohttp2/client/client test/integration/components/gohttp2/server/http2srv beyla.sln test/integration/components/gokafka/gokafka -test/integration/components/gokafka/vendor -test/integration/components/goredis/vendor +test/integration/components/gokafka/vendor/* +test/integration/components/gokafka-seg/vendor/* +test/integration/components/gokafka-seg/gokafka +test/integration/components/goredis/vendor/* test/integration/components/goredis/goredis \ No newline at end of file diff --git a/README.md b/README.md index 13e1d686f..e4cc01fff 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ The Go instrumentation is limited to certain specific libraries. | [Go x/net/http2](https://golang.org/x/net/http2) | ✅ | | [Go-Redis v9](github.com/redis/go-redis) | ✅ | | [Sarama Kafka](github.com/IBM/sarama) | ✅ | +| [kafka-Go](https://github.com/segmentio/kafka-go) | ✅ | HTTPS instrumentation is limited to Go programs and libraries/languages using libssl3. diff --git a/bpf/go_kafka_go.c b/bpf/go_kafka_go.c new file mode 100644 index 000000000..f4d7a5391 --- /dev/null +++ b/bpf/go_kafka_go.c @@ -0,0 +1,290 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "utils.h" +#include "bpf_dbg.h" +#include "go_common.h" +#include "ringbuf.h" + +#define KAFKA_API_FETCH 1 +#define KAFKA_API_PRODUCE 0 + +volatile const u64 kafka_go_writer_topic_pos; +volatile const u64 kafka_go_protocol_conn_pos; +volatile const u64 kafka_go_reader_topic_pos; + +typedef struct produce_req { + u64 msg_ptr; + u64 conn_ptr; + u64 start_monotime_ns; +} produce_req_t; + +typedef struct topic { + char name[MAX_TOPIC_NAME_LEN]; + tp_info_t tp; +} topic_t; + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, void *); // w_ptr + __type(value, tp_info_t); // traceparent + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} produce_traceparents SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, void *); // goroutine + __type(value, topic_t); // topic info + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} ongoing_produce_topics SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, void *); // msg ptr + __type(value, topic_t); // topic info + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} ongoing_produce_messages SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, void *); // goroutine + __type(value, produce_req_t); // rw ptr + start time + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} produce_requests SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, void *); // goroutine + __type(value, kafka_go_req_t); // rw ptr + start time + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} fetch_requests SEC(".maps"); + +// Code for the produce messages path +SEC("uprobe/writer_write_messages") +int uprobe_writer_write_messages(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + void *w_ptr = (void *)GO_PARAM1(ctx); + bpf_dbg_printk("=== uprobe/kafka-go writer_write_messages %llx w_ptr %llx === ", goroutine_addr, w_ptr); + + tp_info_t tp = {}; + + // We don't look up in the headers, no http/grpc request, therefore 0 as last argument + client_trace_parent(goroutine_addr, &tp, 0); + + bpf_map_update_elem(&produce_traceparents, &w_ptr, &tp, BPF_ANY); + return 0; +} + +SEC("uprobe/writer_produce") +int uprobe_writer_produce(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + bpf_dbg_printk("=== uprobe/kafka-go writer_produce %llx === ", goroutine_addr); + + void *w_ptr = (void *)GO_PARAM1(ctx); + + if (w_ptr) { + void *topic_ptr = 0; + bpf_probe_read_user(&topic_ptr, sizeof(void *), w_ptr + kafka_go_writer_topic_pos); + + bpf_dbg_printk("topic_ptr %llx", topic_ptr); + if (topic_ptr) { + topic_t topic = {}; + + tp_info_t *tp = bpf_map_lookup_elem(&produce_traceparents, &w_ptr); + if (tp) { + bpf_dbg_printk("found existing traceparent %llx", tp); + __builtin_memcpy(&topic.tp, tp, sizeof(tp_info_t)); + } else { + urand_bytes(topic.tp.trace_id, TRACE_ID_SIZE_BYTES); + urand_bytes(topic.tp.span_id, SPAN_ID_SIZE_BYTES); + } + + bpf_probe_read_user(&topic.name, sizeof(topic.name), topic_ptr); + bpf_map_update_elem(&ongoing_produce_topics, &goroutine_addr, &topic, BPF_ANY); + } + bpf_map_delete_elem(&produce_traceparents, &w_ptr); + } + + return 0; +} + +SEC("uprobe/client_roundTrip") +int uprobe_client_roundTrip(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + bpf_dbg_printk("=== uprobe/kafka-go client_roundTrip %llx === ", goroutine_addr); + + topic_t *topic_ptr = bpf_map_lookup_elem(&ongoing_produce_topics, &goroutine_addr); + + if (topic_ptr) { + void *msg_ptr = (void *)GO_PARAM7(ctx); + bpf_dbg_printk("msg ptr %llx", msg_ptr); + if (msg_ptr) { + topic_t topic; + __builtin_memcpy(&topic, topic_ptr, sizeof(topic_t)); + bpf_map_update_elem(&ongoing_produce_messages, &msg_ptr, &topic, BPF_ANY); + } + } + + bpf_map_delete_elem(&ongoing_produce_topics, &goroutine_addr); + return 0; +} + +SEC("uprobe/protocol_RoundTrip") +int uprobe_protocol_roundtrip(struct pt_regs *ctx) { + bpf_dbg_printk("=== uprobe/kafka-go protocol_RoundTrip === "); + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + void *rw_ptr = (void *)GO_PARAM2(ctx); + void *msg_ptr = (void *)GO_PARAM8(ctx); + bpf_dbg_printk("goroutine_addr %lx, rw ptr %llx, msg_ptr %llx", goroutine_addr, rw_ptr, msg_ptr); + + + if (rw_ptr) { + topic_t *topic_ptr = bpf_map_lookup_elem(&ongoing_produce_messages, &msg_ptr); + bpf_dbg_printk("Found topic %llx", topic_ptr); + if (topic_ptr) { + produce_req_t p = { + .conn_ptr = ((u64)rw_ptr) + kafka_go_protocol_conn_pos, + .msg_ptr = (u64)msg_ptr, + .start_monotime_ns = bpf_ktime_get_ns(), + }; + + bpf_map_update_elem(&produce_requests, &goroutine_addr, &p, BPF_ANY); + } + } + + return 0; +} + +SEC("uprobe/protocol_RoundTrip_ret") +int uprobe_protocol_roundtrip_ret(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + bpf_dbg_printk("=== uprobe/protocol_RoundTrip ret %llx === ", goroutine_addr); + + produce_req_t *p_ptr = bpf_map_lookup_elem(&produce_requests, &goroutine_addr); + + bpf_dbg_printk("p_ptr %llx", p_ptr); + + if (p_ptr) { + void *msg_ptr = (void *)p_ptr->msg_ptr; + topic_t *topic_ptr = bpf_map_lookup_elem(&ongoing_produce_messages, &msg_ptr); + + bpf_dbg_printk("goroutine_addr %lx, conn ptr %llx, msg_ptr = %llx, topic_ptr = %llx", goroutine_addr, p_ptr->conn_ptr, p_ptr->msg_ptr, topic_ptr); + + if (topic_ptr) { + kafka_go_req_t *trace = bpf_ringbuf_reserve(&events, sizeof(kafka_go_req_t), 0); + if (trace) { + trace->type = EVENT_GO_KAFKA_SEG; + trace->op = KAFKA_API_PRODUCE; + trace->start_monotime_ns = p_ptr->start_monotime_ns; + trace->end_monotime_ns = bpf_ktime_get_ns(); + + void *conn_ptr = 0; + bpf_probe_read(&conn_ptr, sizeof(conn_ptr), (void *)(p_ptr->conn_ptr + 8)); // find conn + bpf_dbg_printk("conn ptr %llx", conn_ptr); + if (conn_ptr) { + get_conn_info(conn_ptr, &trace->conn); + } + + __builtin_memcpy(trace->topic, topic_ptr->name, MAX_TOPIC_NAME_LEN); + __builtin_memcpy(&trace->tp, &(topic_ptr->tp), sizeof(tp_info_t)); + task_pid(&trace->pid); + bpf_ringbuf_submit(trace, get_flags()); + } + } + bpf_map_delete_elem(&ongoing_produce_messages, &msg_ptr); + } + + bpf_map_delete_elem(&produce_requests, &goroutine_addr); + + return 0; +} + + +// Code for the fetch messages path +SEC("uprobe/reader_read") +int uprobe_reader_read(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + void *r_ptr = (void *)GO_PARAM1(ctx); + void *conn = (void *)GO_PARAM5(ctx); + bpf_printk("=== uprobe/kafka-go reader_read %llx r_ptr %llx=== ", goroutine_addr, r_ptr); + + if (r_ptr) { + kafka_go_req_t r = { + .type = EVENT_GO_KAFKA_SEG, + .op = KAFKA_API_FETCH, + .start_monotime_ns = 0, + }; + + void *topic_ptr = 0; + bpf_probe_read_user(&topic_ptr, sizeof(void *), r_ptr + kafka_go_reader_topic_pos); + + bpf_dbg_printk("topic_ptr %llx", topic_ptr); + if (topic_ptr) { + bpf_probe_read_user(&r.topic, sizeof(r.topic), topic_ptr); + } + + if (conn) { + void *conn_ptr = 0; + bpf_probe_read(&conn_ptr, sizeof(conn_ptr), (void *)(conn + 8)); // find conn + bpf_dbg_printk("conn ptr %llx", conn_ptr); + if (conn_ptr) { + get_conn_info(conn_ptr, &r.conn); + } + } + + bpf_map_update_elem(&fetch_requests, &goroutine_addr, &r, BPF_ANY); + } + + return 0; +} + +SEC("uprobe/reader_send_message") +int uprobe_reader_send_message(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + bpf_dbg_printk("=== uprobe/kafka-go reader_send_message %llx === ", goroutine_addr); + + kafka_go_req_t *req = (kafka_go_req_t *)bpf_map_lookup_elem(&fetch_requests, &goroutine_addr); + bpf_dbg_printk("Found req_ptr %llx", req); + + if (req) { + req->start_monotime_ns = bpf_ktime_get_ns(); + } + + return 0; +} + +SEC("uprobe/reader_read") +int uprobe_reader_read_ret(struct pt_regs *ctx) { + void *goroutine_addr = (void *)GOROUTINE_PTR(ctx); + bpf_dbg_printk("=== uprobe/kafka-go reader_read ret %llx === ", goroutine_addr); + + kafka_go_req_t *req = (kafka_go_req_t *)bpf_map_lookup_elem(&fetch_requests, &goroutine_addr); + bpf_dbg_printk("Found req_ptr %llx", req); + + if (req) { + if (req->start_monotime_ns) { + kafka_go_req_t *trace = bpf_ringbuf_reserve(&events, sizeof(kafka_go_req_t), 0); + if (trace) { + __builtin_memcpy(trace, req, sizeof(kafka_go_req_t)); + trace->end_monotime_ns = bpf_ktime_get_ns(); + task_pid(&trace->pid); + bpf_ringbuf_submit(trace, get_flags()); + } + } else { + bpf_dbg_printk("Found request with no start time, ignoring..."); + } + } + + bpf_map_delete_elem(&fetch_requests, &goroutine_addr); + + return 0; +} \ No newline at end of file diff --git a/bpf/go_kafka.c b/bpf/go_sarama.c similarity index 100% rename from bpf/go_kafka.c rename to bpf/go_sarama.c diff --git a/bpf/http_trace.c b/bpf/http_trace.c index d7e01782b..ce0a8de04 100644 --- a/bpf/http_trace.c +++ b/bpf/http_trace.c @@ -18,3 +18,4 @@ const sql_request_trace *unused_3 __attribute__((unused)); const tcp_req_t *unused_5 __attribute__((unused)); const kafka_client_req_t *unused_6 __attribute__((unused)); const redis_client_req_t *unused_7 __attribute__((unused)); +const kafka_go_req_t *unused_8 __attribute__((unused)); diff --git a/bpf/http_trace.h b/bpf/http_trace.h index c7ec949ee..8efe99318 100644 --- a/bpf/http_trace.h +++ b/bpf/http_trace.h @@ -25,6 +25,7 @@ #define SQL_MAX_LEN 500 #define KAFKA_MAX_LEN 256 #define REDIS_MAX_LEN 256 +#define MAX_TOPIC_NAME_LEN 64 // Trace of an HTTP call invocation. It is instantiated by the return uprobe and forwarded to the // user space through the events ringbuffer. @@ -63,6 +64,17 @@ typedef struct kafka_client_req { pid_info pid; } __attribute__((packed)) kafka_client_req_t; +typedef struct kafka_go_req { + u8 type; // Must be first + u64 start_monotime_ns; + u64 end_monotime_ns; + u8 topic[MAX_TOPIC_NAME_LEN]; + connection_info_t conn __attribute__ ((aligned (8))); + tp_info_t tp; + pid_info pid; + u8 op; +} __attribute__((packed)) kafka_go_req_t; + typedef struct redis_client_req { u8 type; // Must be first u64 start_monotime_ns; diff --git a/bpf/ringbuf.h b/bpf/ringbuf.h index 47352a669..3ce26fa43 100644 --- a/bpf/ringbuf.h +++ b/bpf/ringbuf.h @@ -15,6 +15,7 @@ #define EVENT_TCP_REQUEST 8 #define EVENT_GO_KAFKA 9 #define EVENT_GO_REDIS 10 +#define EVENT_GO_KAFKA_SEG 11 // the segment-io version (kafka-go) has different format // setting here the following map definitions without pinning them to a global namespace // would lead that services running both HTTP and GRPC server would duplicate diff --git a/configs/offsets/kafkago/go.mod b/configs/offsets/kafkago/go.mod new file mode 100644 index 000000000..d1b322e74 --- /dev/null +++ b/configs/offsets/kafkago/go.mod @@ -0,0 +1,10 @@ +module kafkago_off + +go 1.22.2 + +require github.com/segmentio/kafka-go v0.4.47 + +require ( + github.com/klauspost/compress v1.15.9 // indirect + github.com/pierrec/lz4/v4 v4.1.15 // indirect +) diff --git a/configs/offsets/kafkago/go.sum b/configs/offsets/kafkago/go.sum new file mode 100644 index 000000000..3c1b808d0 --- /dev/null +++ b/configs/offsets/kafkago/go.sum @@ -0,0 +1,68 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/segmentio/kafka-go v0.4.47 h1:IqziR4pA3vrZq7YdRxaT3w1/5fvIH5qpCwstUanQQB0= +github.com/segmentio/kafka-go v0.4.47/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/configs/offsets/kafkago/inspect.go b/configs/offsets/kafkago/inspect.go new file mode 100644 index 000000000..93c833c95 --- /dev/null +++ b/configs/offsets/kafkago/inspect.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "fmt" + "log" + "os" + "strings" + + kafka "github.com/segmentio/kafka-go" +) + +func producerHandler(kafkaWriter *kafka.Writer) { + msg := kafka.Message{ + Key: []byte("address-hello"), + Value: []byte("world"), + } + err := kafkaWriter.WriteMessages(context.Background(), msg) + + if err != nil { + fmt.Printf("error %v\n", err) + } +} + +func getKafkaWriter(kafkaURL, topic string) *kafka.Writer { + return &kafka.Writer{ + Addr: kafka.TCP(kafkaURL), + Topic: topic, + Balancer: &kafka.LeastBytes{}, + } +} + +func getKafkaReader(kafkaURL, topic, groupID string) *kafka.Reader { + brokers := strings.Split(kafkaURL, ",") + return kafka.NewReader(kafka.ReaderConfig{ + Brokers: brokers, + GroupID: groupID, + Topic: topic, + MinBytes: 10e3, // 10KB + MaxBytes: 10e6, // 10MB + }) +} + +func main() { + // get kafka writer using environment variables. + kafkaURL := os.Getenv("kafkaURL") + topic := os.Getenv("topic") + + kafkaWriter := getKafkaWriter(kafkaURL, topic) + defer kafkaWriter.Close() + + groupID := os.Getenv("groupID") + + reader := getKafkaReader(kafkaURL, topic, groupID) + defer reader.Close() + + go func() { + fmt.Println("start consuming ... !!") + for { + m, err := reader.ReadMessage(context.Background()) + if err != nil { + log.Fatalln(err) + } + fmt.Printf("message at topic:%v partition:%v offset:%v %s = %s\n", m.Topic, m.Partition, m.Offset, string(m.Key), string(m.Value)) + } + }() + + // Call the producer to keep the symbols + producerHandler(kafkaWriter) +} diff --git a/configs/offsets/tracker_input.json b/configs/offsets/tracker_input.json index a0a4dfecb..793056c96 100644 --- a/configs/offsets/tracker_input.json +++ b/configs/offsets/tracker_input.json @@ -150,5 +150,20 @@ "bw" ] } - } + }, + "github.com/segmentio/kafka-go": { + "inspect": "./configs/offsets/kafkago/inspect.go", + "versions": ">= v0.4.11", + "fields": { + "github.com/segmentio/kafka-go.Writer": [ + "Topic" + ], + "github.com/segmentio/kafka-go/protocol.Conn": [ + "conn" + ], + "github.com/segmentio/kafka-go.reader": [ + "topic" + ] + } + } } diff --git a/pkg/internal/discover/finder.go b/pkg/internal/discover/finder.go index 56fdd225f..2834f677e 100644 --- a/pkg/internal/discover/finder.go +++ b/pkg/internal/discover/finder.go @@ -8,14 +8,15 @@ import ( "github.com/grafana/beyla/pkg/beyla" "github.com/grafana/beyla/pkg/internal/ebpf" - "github.com/grafana/beyla/pkg/internal/ebpf/gokafka" "github.com/grafana/beyla/pkg/internal/ebpf/goredis" "github.com/grafana/beyla/pkg/internal/ebpf/goruntime" "github.com/grafana/beyla/pkg/internal/ebpf/grpc" "github.com/grafana/beyla/pkg/internal/ebpf/httpfltr" "github.com/grafana/beyla/pkg/internal/ebpf/httpssl" + "github.com/grafana/beyla/pkg/internal/ebpf/kafkago" "github.com/grafana/beyla/pkg/internal/ebpf/nethttp" "github.com/grafana/beyla/pkg/internal/ebpf/nodejs" + "github.com/grafana/beyla/pkg/internal/ebpf/sarama" "github.com/grafana/beyla/pkg/internal/imetrics" "github.com/grafana/beyla/pkg/internal/pipe/global" ) @@ -101,9 +102,10 @@ func newGoTracersGroup(cfg *beyla.Config, metrics imetrics.Reporter) []ebpf.Trac nethttp.New(cfg, metrics), grpc.New(cfg, metrics), goruntime.New(cfg, metrics), - gokafka.New(cfg, metrics), - &gokafka.ShopifyKafkaTracer{Tracer: *gokafka.New(cfg, metrics)}, + sarama.New(cfg, metrics), + &sarama.ShopifyKafkaTracer{Tracer: *sarama.New(cfg, metrics)}, goredis.New(cfg, metrics), + kafkago.New(cfg, metrics), } } diff --git a/pkg/internal/ebpf/common/bpf_bpfel_arm64.go b/pkg/internal/ebpf/common/bpf_bpfel_arm64.go index 82dba3318..85de02229 100644 --- a/pkg/internal/ebpf/common/bpf_bpfel_arm64.go +++ b/pkg/internal/ebpf/common/bpf_bpfel_arm64.go @@ -127,6 +127,30 @@ type bpfKafkaClientReqT struct { } } +type bpfKafkaGoReqT struct { + Type uint8 + StartMonotimeNs uint64 + EndMonotimeNs uint64 + Topic [64]uint8 + _ [7]byte + Conn bpfConnectionInfoT + Tp struct { + TraceId [16]uint8 + SpanId [8]uint8 + ParentId [8]uint8 + Ts uint64 + Flags uint8 + _ [7]byte + } + Pid struct { + HostPid uint32 + UserPid uint32 + Ns uint32 + } + Op uint8 + _ [7]byte +} + type bpfRedisClientReqT struct { Type uint8 StartMonotimeNs uint64 diff --git a/pkg/internal/ebpf/common/bpf_bpfel_arm64.o b/pkg/internal/ebpf/common/bpf_bpfel_arm64.o index 6bf0843ba2487c0b2e20e1a61471964f70ea1973..5d3393e139d59156528fe98be43a158ad4ea1453 100644 GIT binary patch delta 548 zcmZ8eJxIeq6n;tnE;UUeh*})1g0(10aHs`A1gB~RJGkf&6Rjcz+iDALI*DWDEnV&4 zE^aQ3yMm*mgM(v72M51viv&M-_x-$gIWFg?-lm%w)iQ7Amb8pUB+Gj!#l#}@p>7NW zD87khHq;A50hEOnL}8!!DUvR(!_FYSL9M7nI@kx_gC|fQ=(oX1)P960505ta&;@9~ z$YW7ZJMe;QVlS~Ja{vd??&GUi4K0-2qq6H9SDdp_&8bt+QoT|=IiO0F8mEo((xH>% zxSnRqh_bEQ$~C+C7&mpHSX_i^=~l9g4-ZqAQeX*rkc7w2nDBLRY4?M_&NjTs$%-+`T{EM7%a;SXJY`M(0zVK; A5&!@I delta 328 zcmcbhbUO!nXvkj!RaU=U(s5d~9 z(Sa&q0g5vLu>}$z=ne)KBtA$@01}@S$d5tdvjO=TNPKo6zXXX7WHK}Ka7@nPOPzd! zuVS)4za(b?FHjK>bWJYg-_K|<*-*fq=>+%WA^|hb4?Ga5hRGWR%$a`iPX5RvHc3!} NQvxb}W3r*3JOD@)E0h2L diff --git a/pkg/internal/ebpf/common/bpf_bpfel_x86.go b/pkg/internal/ebpf/common/bpf_bpfel_x86.go index dcac35f95..79fb03529 100644 --- a/pkg/internal/ebpf/common/bpf_bpfel_x86.go +++ b/pkg/internal/ebpf/common/bpf_bpfel_x86.go @@ -127,6 +127,30 @@ type bpfKafkaClientReqT struct { } } +type bpfKafkaGoReqT struct { + Type uint8 + StartMonotimeNs uint64 + EndMonotimeNs uint64 + Topic [64]uint8 + _ [7]byte + Conn bpfConnectionInfoT + Tp struct { + TraceId [16]uint8 + SpanId [8]uint8 + ParentId [8]uint8 + Ts uint64 + Flags uint8 + _ [7]byte + } + Pid struct { + HostPid uint32 + UserPid uint32 + Ns uint32 + } + Op uint8 + _ [7]byte +} + type bpfRedisClientReqT struct { Type uint8 StartMonotimeNs uint64 diff --git a/pkg/internal/ebpf/common/bpf_bpfel_x86.o b/pkg/internal/ebpf/common/bpf_bpfel_x86.o index 6bf0843ba2487c0b2e20e1a61471964f70ea1973..5d3393e139d59156528fe98be43a158ad4ea1453 100644 GIT binary patch delta 548 zcmZ8eJxIeq6n;tnE;UUeh*})1g0(10aHs`A1gB~RJGkf&6Rjcz+iDALI*DWDEnV&4 zE^aQ3yMm*mgM(v72M51viv&M-_x-$gIWFg?-lm%w)iQ7Amb8pUB+Gj!#l#}@p>7NW zD87khHq;A50hEOnL}8!!DUvR(!_FYSL9M7nI@kx_gC|fQ=(oX1)P960505ta&;@9~ z$YW7ZJMe;QVlS~Ja{vd??&GUi4K0-2qq6H9SDdp_&8bt+QoT|=IiO0F8mEo((xH>% zxSnRqh_bEQ$~C+C7&mpHSX_i^=~l9g4-ZqAQeX*rkc7w2nDBLRY4?M_&NjTs$%-+`T{EM7%a;SXJY`M(0zVK; A5&!@I delta 328 zcmcbhbUO!nXvkj!RaU=U(s5d~9 z(Sa&q0g5vLu>}$z=ne)KBtA$@01}@S$d5tdvjO=TNPKo6zXXX7WHK}Ka7@nPOPzd! zuVS)4za(b?FHjK>bWJYg-_K|<*-*fq=>+%WA^|hb4?Ga5hRGWR%$a`iPX5RvHc3!} NQvxb}W3r*3JOD@)E0h2L diff --git a/pkg/internal/ebpf/common/common.go b/pkg/internal/ebpf/common/common.go index 8ac567010..3bedc6abd 100644 --- a/pkg/internal/ebpf/common/common.go +++ b/pkg/internal/ebpf/common/common.go @@ -17,7 +17,7 @@ import ( "github.com/grafana/beyla/pkg/internal/request" ) -//go:generate $BPF2GO -cc $BPF_CLANG -cflags $BPF_CFLAGS -target amd64,arm64 -type http_request_trace -type sql_request_trace -type http_info_t -type connection_info_t -type http2_grpc_request_t -type tcp_req_t -type kafka_client_req_t -type redis_client_req_t bpf ../../../../bpf/http_trace.c -- -I../../../../bpf/headers +//go:generate $BPF2GO -cc $BPF_CLANG -cflags $BPF_CFLAGS -target amd64,arm64 -type http_request_trace -type sql_request_trace -type http_info_t -type connection_info_t -type http2_grpc_request_t -type tcp_req_t -type kafka_client_req_t -type kafka_go_req_t -type redis_client_req_t bpf ../../../../bpf/http_trace.c -- -I../../../../bpf/headers // HTTPRequestTrace contains information from an HTTP request as directly received from the // eBPF layer. This contains low-level C structures for accurate binary read from ring buffer. @@ -26,15 +26,17 @@ type SQLRequestTrace bpfSqlRequestTrace type BPFHTTPInfo bpfHttpInfoT type BPFConnInfo bpfConnectionInfoT type TCPRequestInfo bpfTcpReqT -type GoKafkaClientInfo bpfKafkaClientReqT +type GoSaramaClientInfo bpfKafkaClientReqT type GoRedisClientInfo bpfRedisClientReqT +type GoKafkaGoClientInfo bpfKafkaGoReqT -const EventTypeSQL = 5 // EVENT_SQL_CLIENT -const EventTypeKHTTP = 6 // HTTP Events generated by kprobes -const EventTypeKHTTP2 = 7 // HTTP2/gRPC Events generated by kprobes -const EventTypeTCP = 8 // Unknown TCP protocol to be classified by user space -const EventTypeGoKafka = 9 // Kafka client for Go -const EventTypeGoRedis = 10 // Redis client for Go +const EventTypeSQL = 5 // EVENT_SQL_CLIENT +const EventTypeKHTTP = 6 // HTTP Events generated by kprobes +const EventTypeKHTTP2 = 7 // HTTP2/gRPC Events generated by kprobes +const EventTypeTCP = 8 // Unknown TCP protocol to be classified by user space +const EventTypeGoSarama = 9 // Kafka client for Go (Shopify/IBM Sarama) +const EventTypeGoRedis = 10 // Redis client for Go +const EventTypeGoKafkaGo = 11 // Kafka-Go client from Segment-io var IntegrityModeOverride = false @@ -119,10 +121,12 @@ func ReadBPFTraceAsSpan(record *ringbuf.Record, filter ServiceFilter) (request.S return ReadHTTP2InfoIntoSpan(record, filter) case EventTypeTCP: return ReadTCPRequestIntoSpan(record, filter) - case EventTypeGoKafka: - return ReadGoKafkaRequestIntoSpan(record) + case EventTypeGoSarama: + return ReadGoSaramaRequestIntoSpan(record) case EventTypeGoRedis: return ReadGoRedisRequestIntoSpan(record) + case EventTypeGoKafkaGo: + return ReadGoKafkaGoRequestIntoSpan(record) } var event HTTPRequestTrace diff --git a/pkg/internal/ebpf/common/go_kafka_transform.go b/pkg/internal/ebpf/common/go_kafka_transform.go index b6821c24b..3603a12c2 100644 --- a/pkg/internal/ebpf/common/go_kafka_transform.go +++ b/pkg/internal/ebpf/common/go_kafka_transform.go @@ -3,31 +3,35 @@ package ebpfcommon import ( "bytes" "encoding/binary" + "fmt" "unsafe" "github.com/cilium/ebpf/ringbuf" + "go.opentelemetry.io/otel/trace" "github.com/grafana/beyla/pkg/internal/request" ) -func ReadGoKafkaRequestIntoSpan(record *ringbuf.Record) (request.Span, bool, error) { - var event GoKafkaClientInfo +func ReadGoSaramaRequestIntoSpan(record *ringbuf.Record) (request.Span, bool, error) { + var event GoSaramaClientInfo err := binary.Read(bytes.NewBuffer(record.RawSample), binary.LittleEndian, &event) if err != nil { return request.Span{}, true, err } + fmt.Printf("Event %v\n", event) + info, err := ProcessKafkaRequest(event.Buf[:]) if err == nil { - return GoKafkaToSpan(&event, info), false, nil + return GoKafkaSaramaToSpan(&event, info), false, nil } return request.Span{}, true, nil // ignore if we couldn't parse it } -func GoKafkaToSpan(event *GoKafkaClientInfo, data *KafkaInfo) request.Span { +func GoKafkaSaramaToSpan(event *GoSaramaClientInfo, data *KafkaInfo) request.Span { peer := "" hostname := "" hostPort := 0 @@ -58,3 +62,50 @@ func GoKafkaToSpan(event *GoKafkaClientInfo, data *KafkaInfo) request.Span { }, } } + +func ReadGoKafkaGoRequestIntoSpan(record *ringbuf.Record) (request.Span, bool, error) { + var event GoKafkaGoClientInfo + + err := binary.Read(bytes.NewBuffer(record.RawSample), binary.LittleEndian, &event) + if err != nil { + return request.Span{}, true, err + } + + peer := "" + hostname := "" + hostPort := 0 + + if event.Conn.S_port != 0 || event.Conn.D_port != 0 { + peer, hostname = (*BPFConnInfo)(unsafe.Pointer(&event.Conn)).reqHostInfo() + hostPort = int(event.Conn.D_port) + } + + op := Produce + if event.Op == 1 { + op = Fetch + } + + return request.Span{ + Type: request.EventTypeKafkaClient, + Method: op.String(), + OtherNamespace: "github.com/segmentio/kafka-go", + Path: cstr(event.Topic[:]), + Peer: peer, + PeerPort: int(event.Conn.S_port), + Host: hostname, + HostPort: hostPort, + ContentLength: 0, + RequestStart: int64(event.StartMonotimeNs), + Start: int64(event.StartMonotimeNs), + End: int64(event.EndMonotimeNs), + TraceID: trace.TraceID(event.Tp.TraceId), + SpanID: trace.SpanID(event.Tp.SpanId), + ParentSpanID: trace.SpanID(event.Tp.ParentId), + Status: 0, + Pid: request.PidInfo{ + HostPID: event.Pid.HostPid, + UserPID: event.Pid.UserPid, + Namespace: event.Pid.Ns, + }, + }, false, nil +} diff --git a/pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.o b/pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.o deleted file mode 100644 index a5492344616b13347785c112329eef846adb175d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50344 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 Cytd!~ diff --git a/pkg/internal/ebpf/gokafka/bpf_bpfel_x86.o b/pkg/internal/ebpf/gokafka/bpf_bpfel_x86.o deleted file mode 100644 index 63c09b1874f233a1080242c130f3243e8b6bec65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51816 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 diff --git a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.o b/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.o deleted file mode 100644 index df4f160bb218bd532421f6fd9e647cc9b1cac1ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67200 zcmeIbd7PY8ng0EBB_SOo5SBndzydKg5JD#e2*^?a0ztMI0z^fttG9HUUaGsglWv1! zsW`?Rw=pU+1_6zZOLS19;-p;0iHaH({AI>1t`m3kH;!@T{a)wXr|R_SZUV0}^LhVx z&!?Y0*L9!!?E86^dg01zugo{6yM@~85dKj(>}PTv9hC;c*b`tndJ z72m@yzQzxn(PvxQ_P&)24`+uTbK5F&cal+4CI>$SF{PSnr;y~IC#*g&wNBHW_ zcHQN<>gVUwx5|a8cj=a0y4#04f5vrAQQ>XzUfh4_hx&Bw5qJLTW`5I&4yWmuw)_7d=HhE+eR^7(TfXFs(1oIl(5!|}U(JeyBg{uf0YkB8Hh z%Z+h*X8rGshjBlwP0{aE9!gf2_r`s<&c-`5T2oH5ThtvVjEg&MT$IM<3-d1j3P)Xd z=-r>Jmw$JhUqYFyaNfW_OsEHq1Cd%bzv(3BK52Zw|CIAnz5n_J!sfS5Qy(Q4?1XW# z5=A`SxVZTh3w-_h;>Zp0p zvX1B9=gKk6XPZyh?)c^twwb-v>^scfVs_Q+F|*5N_n6&g_Byjyo4v~Hg4xT>ZZ*5b z?7Z0v%${dR+W^Xrpo7r2?J~ zGrMedkJ)WzuQPkK*{jShn7!QDDu0I1tYZCK^)`!Zm#?;L6ZUfF?)}B`RwuvIg%itL zocxkW^1PE@JW0O5$uF8DpXcOHbMnfe7dTtZM@_YI=!K4_{iwd)QJ@&PZ?U|HYyQwU znXViE+xzJ&_PBNukDGh6PADlAJ{@7ceOsJ93SaqCJ=|-yn{QtZ!PM8;7S6Qm7y`+o zANuL8t@4fkD1LFpcKt0El8eTbv)YsN z{%6YB$NPB7`KNLE{@2Rcr*r;{1Fm2i<-FVVTa{aE>f?%EMo(z(yQB3&qx>7;oJgGo zqx$}zZRbAT$5Z}`&Kz|#$V*ot`2X9eeG2J zLgyJ_918U^UA;b*@b*s;-oer{evi-3_`Q}N+EpPgZ`#9C$%@i9b$>j~Wi(B<@>RxV z(s_oJ*ZgL`&K$ohl;>Vop5u4xj=RNjubA6mY+LNYY<2w#su6O%zX0u3JjeZFC2wUGwHUDaz5yB1e zhjfnLDm!|usrW0I#R9-5e%JENd38)-@sIx;kR*ok@n9A|K!Bvj;8_3G> zz91^c&oXzFj`Vz^s2s0S6DI;^JBxLJ&v#tTw^}|FLP-BC*GsgHF#Xqg|H`k{i$O2V z*Z6kd?nC;+`1sefgJDZw+zvwhgmRy%{XBZTFLW7->%EP5(*9qckN)a*aEvRrn`jRz z=l?I%dtX%Vvohaq4qD$drvtu8x$;wc&^hI+p_rL&KOW90!a9B0agpwpC#-{>Q{LqxR5(}LI#C5Mes|ujCqsXU z&r$B9{NwXXo%f{e@1wq3yK+^wV*k^f!>A@7?VK+kmk;=C^p(D;>+Nx#gVxWt`~oiC zm+e)4r?~HNL!6#jBm|@M+-tU*$85e0{->=k^z!&S=zWh4lrZyWtf7{Cf0W&E!UK;w zUrja6JP`FGrCU{2y1Nn1mN7)Er)RW5J z>h-^?zm)Fs>73tmsw@AvU8_9PexUS7G4$K{vyXNDBqzy}&ry!kEHzQy3a=b@#3Xr( zldF|Y)X&2!$LX|jqFhr!Oax!UsSs(v? z@4}J49dSK@PsT<0|8MEH*1zUAPt$K-$kob4!-_GFOR>? zTYLCVc}MYyE8N?;#)rz31bWAMdwi(JxVOiL+KhX9d}y6 z_4fGC!^XWmKD6Jsx5tO}8Ta=1&|c%-9v|9c+}qFz)T~p)JO}Jw8-5?(OlRG2`B*{*8N^`Zw-v>fgAx zsej|%rv8n4oBB8IZR+2+x2b>Q-lqPIdz<<O(A-&Qo!-K!N{<{!jX48h!^`Y_; z{FkiX#QF01RZd9Xr1rbf$t%Z>IJ=SGQOA`&nFYifo01wMW`2`W@Aokd*uUUU>H1r) zpf9-s?ziWT#1%zYFG*kX*JD}d%s?+)zauj9$RihDd~trXJUrOmb#|pRTrdi}J(P{He>w zsCLCD{p`A{*PeaV>T4fc8vlQ-$5sMw|5=k;mq`1>>;3i8tLlDp8XMgJj-`1sU#I>6 zOJlC&I>8g$a6|F)VApWJbZcaaw-d0iA3_e)M;Ef{w+l$YyH(Ii4%Xv>#KP1+Fu= zG__Q@mU3YZ*H$R#0&~&xrxW6^EtCA@{H|2cCDQ?6&FPnV)_f%P<%Ts4UhVOueEX9$ z=Qtt0c~A8oD1(`Kpz`E*u~~LASUcbX*R!~^d#-XRui7crxZ1cdhwBb-oIjP1_P>~B zh4~6D%4FskO5*-xDa+ml)?E~p`TGp7!u}*zo@)!&r?^hxs-g5bY$bUg1@(FCGr8JG z@RzVL&8qu74ra}|oBfc-Ze~^-KQK4t;Xe#N3HuiwyP3b>vHrWVQd(UbA?=pQ=2L-3 z!BuXjfu9O~GPcZO!&UIPV7bfRMTY(EPr`}et6nch2h;o%{#|8wA^19vo7BdocdNOz zfc1JrEjW!t2597SKM#yxrD=))O`c!d#5J!j>9{9Up#jzY5 z+Nm_vPE{UN+!^9rd2jRn+9ex4wM$}pEBDk3eaUT+-r0RD(AHT*S^8eHe3M9Ojnk3aVv1C zEHCG(a!ps3U4)4_{7U|XG{yOwZv0ezRk;*y7(d4>tX0VV+OXbWVLd$x3z*Y*Df3wJ zt|d*CYr4F@-{QCqoseE&ZZ-ctfg8i}%uwggKqm7UPK@z7(vy z)@X3&8qP@1a>E6%86;kpa5BvqGI5wUc~Pb?m9`M3Yl{}9OLG#YWFgE;T`XDiEyyl6 zOx}WVlAs^tWNEJO)wte(eH}Kk!=4E~l7PX7DEw3Sr!he$_0vO#m!Dg`^Cb7nSX{{c zxwy|emUAe!v;`{fL~zOcw1Bk+sd2S}-TDPj=YhMB6~LNrq|=6dk?B{#mxGmuZQ!Sa zd%-pEO{P=8@tKC(z+K>WbgJNSaKH4yw}Y|VK>S9-s{6k;Tmau~xDCABa20%?;ceg= z*yRQM0C+%QQhs~EWns$eo8adQlhN;hZv$4DyuJq>7RLS=m(p2aBKsX!VOGJjxn2&g zVK3l%C0L8!CmSw+&j7zl@)Iae@T-MS&9ckD3a0?R&Tt!eEjWj~3ho5I7F+}OgI^EU z0%bG!b-)7nrC`-j;j}D!Gk77m3Vx5_JHQ_YE6i=+FBz_ZzXg61@_pc6f!_?yo`Npv z9sw4>M}yx2u7OWBd5uU;1HV-|3{2;MU0Jnc*-Eh1gN4(xY?a|Ecn$bYg#&&z`2Aol z{5rudZQwz}HSoCMec+cG&RC?p0o<404e^WZ(Ux2?YolCOp zw_v5Y3ZBh|MYslD0RE12SO`54{9RxHda8}5&3&1}R1g`-9 z5L^XcZMX)$*>JXkvI74HIt6eaxE-8bMp=RPOAdZ9*!2V+BWzU@b9GqJ{znwXICa;D-w6Jb^sizb1OFLV z01t!z0i;FHlQ zfMuQ(@RJyK!8PQEflmQvw@_c;CxfftlfcSj4cuaQANT^W(xwIOHDKkp0DhL?DtO5B zYv8Kkec;!EPg7jaWR3;%mleS80jvjC!8;9a13v&(Ts8353~RIVeXyQ_FMxjqUZ^yK zb9t*f@KNBSZ2A{i=N<*{Rbbr(uY#`wJALr84etZ@gHJ~%yOpyEu*yXE z6=3z{0{E@qGZYT^AHh0HsXd3b2kt^AdoE)G*!64hSHWjXAN*}_tMtJ?0xtn)MaBm3 zQt5!TUY)^8ZUIhOi@Nd$>ww9Xzc8kQtIBl7f~VQ`h}3t){e1$4AtcWns#5OURxGQH1m0sL#jRq!7S*TC~m zHGL}jWH2K4Jh;|C8^KlNry<`2u7S@qtb%L>w@V+a_4ODyJB0BFoU?LX4Q`hla|>AY zTi|L36P#;X&jYt3lerCC!7gyU)NmDSCa3(r8hOsbS6z&ngtT z*~FZL{v5(7Abcm-l^gh@h9%dYK=LZrm%vJYjq4kR_kn)|ZpT)A{nD`N<&TD|;F(Wm zt&K{}a1N2${9NRrog8a8kNk zu=@IQ!JEMau$kQR0UgN6*X{ejsuz{9Oa-~}UgP>3!x?^GVOZh3(Qp;~)}Rl*7yJVJ zsiNK&^ub|ITLpgvxzfBXmo03Zc$WkgwoU7zCMp3!Nv5qVWr`+K|iv!v%2DQyTs1FvB(E^9{@IsfG*Svw}YO zf}jt+930x&O+lYTl!88ZL(m707}ntPH$fl#x}Xn!U(g4CA?TC29|V2yfuIkbvC#Sn z_-Mn~Ec%_{0{DExRq)k8AN=f~e+c8P;R5*OhO6MWfXS*GFYW=qhH{Eb?$ZsDyQ6^* zeI58c=wq7S;4JqqC;5FAW*&S$_>In~{*RpdafU3pdi@kS6rY>hz6Aa|Q~e59V`4Dq z&y*kStJFtizKV{p#=CzrEI;2jto6lD!IeiE3>xO)QOEDLdV268ulf|nVt$-$f4A!Jr(DOk?$CFq29yb}CA z^a`eomHP+&JstTm=2RUhv;zSGk4^*TCaoH!e`oFEsrc_%-0S;jV$qr#31O7+k1@Iy;rg@vQ8twI5$JiU+Ao}@V6uEHvDc=z}fX5tq0wB5quK+3wexo(XKZ)oyr(UqZW-1_b_$Uo{u?!Mf| zzt*Gt}mjGY2L}dhYaVy`@!VP&3pgl<=J1b6p`{Z+?g@$jLlbvx^2zA`vlnG87Ip!Cmf<$=1>kn>~-jepl0wx}e}y@5152RSmgFVT87jPE_jKZ8<1n%?As8X z!-`91fGE4V2xo?J3}=P~@Bne`#;$TzES;YRzZgss-I)Gb@E4HDY&D%Pg11LHa(h7k z%n+}eGt`#W2O;*CBK+kDs~nW(4-saVKXm>U<`1b#M|u7jI;Tm1*=<;DROge*?`rUu zkUuB|%-6wM(-a8cdxqPh0Xg=sd@CIp~952gWqd1j}H#wxsoJXiImR&LKGN082*&{b}%Q^Y=y5 z(VHcb2c2(#RkxAJ{a^EgEN8C{%Q^ROB>xlmyZ9v@H<$bfto4)3&%nE}3tYbiAC7Jt z`1fG-wJO()MU6CQT#Ls|oOAQ=b38hfr@KeL2z;c)AI9+lib{jdtgGNwbX@pw-P6!;|Z$thz!!_`|hWCNrXIK;KhYjb!+~0HI z6u=LGy9l!l{2j2)H>=?K+5#M&P0>Q-2k59R6~Mm)AE7*ge{b>{c;;Ew-e`bFfR*L~ z_;|x@;M2f|D=zR-u*QQLSoaL|)?D;FL+%&?xW@Z+ef&A#FxIz&U3v&h;h^et)CYft zOr{6(qqO`qlK&k1 zHR8u|b*laR2J`f7lbG0K2l7Pun$| z2cHI3{tDowhO6Lb7y;*RF5>A2cK-X06r7^H-uXS zpBu0O^CtH++%84_bi&+;{OMqg|1vilu7W#)9DUtW7)DkF4~8_Q2f5mG8(4ek zi{%&mZRFdL*T6pkE1el*{+|pNz(=%tc@=yt_)`4Vz)u7dMOHhM`*DW%fX_3$4_p9W zfxZqubrzucMGZjnl*Zoz_;PfVhAQ}0!!__I*xe^4;V%NaGC$fsQ{wUteid?+RSm3X zwuJYAUmx`8&ssC|D}3-jSeWYP?*^}zU;6FJ7S>Wq8)4jMehc7Fg4?A7{yf;#%WD9rwt-IuyYRthf^Swh)b06TH;00+ zF#Q61v1fpl<~Hziz|TUz3Vt5=*-8&<=NEt#W)=Jzu*#|i-U_}|;h)%;qYGd?AN^eE zfVZLJ+5rFV1{aYR!0!f^z*X?a!D?eQ@YhYQhZ%nYE=wQ$OEAt^75sbfkirLR-98M~ zVPkG7`#0%>=Yn4#9U9c`ytUz{P)^8I?|QE51Tf9comrd-{uA#EuE72?_AS_a%Hoj$ zY^+CKf-Up+*oyAMo;P12g2Ae<1GGMo*@e#2vh4OMm||BmbtcTMdDvIbAsbnNOQwL| zD)u)_UITyMup;?o&~M6`erI?E_z}aGfe$&yhj}@8o?-e-(@BO`f)^RS5`4bltH4(n zUIo_kKuX)y;Hypkbnx|tuK_>X@U>vA52b${_<1J39z0_BhNdj{Lc`BM{&K_glcqNt zrVljTV|Xq2Lx$-OOoaVcKrf1%_#_O;;Fh17Bm9w%c@*;dbzI4R?V14R?ZXGu#Ef-Eeo4J2J_rH#eTY z4!PRKHfuN3p}T*D$iGLyAn_LSTL8b;a25PX^IHS!EbkWl>;r$rbTk+2Go1qXmtdNH z)&_pWa2b5qxjqe5@QH@EflmjkPHSKpf_CS3OHD3WA;LjtCg55NN3v%{SR8j3&W6Zu zCBiR^@GB!6`+Y+se`|!_8R375@F&2B5p_+0VCV*;R^Nc)d4AfXu0N2Mou;xDU z?#f{g`kL>Q36+D!rGheyp^dva^qVHnmFNUzRpe z`eNPC7wd+;SU2>=x}ne24O8aKHkig4rBmiui?;xN61W|^%5|pU8u&c0@~biDD#Lm3 zHHHgdt;40$hP@U!!lF3tCwUnzao zZ~^=Pm~qaf>8oI>@OJX))}2Zh=IEaw7e1Q3kj8&urp??hOiuc8zcb8~ct(#C*E#_Aa%fM>e1=9*T zdPX&r=XHjI4yrl5-||f4m}bW9Yy((+S%$dt>;H64tXGk%z6!>%a=%5t8tFfU4ECD4 z_U4T7uAEJjW1M#ei>;0~jQ7FhwB~s^;e|Sk&m+SbOcm{I=%@{D<1&+TFCci5V@_}; zjz?=BGr5;XSbac7x}luJcMu1rnK>eu9CL&-q_3X-5H53uGdFlk|8vY8*>1u)j`CCl z{{{|mdY;>z>;;Pv1to_=OJHL#xZ=|L{PzcG0M{9oYbNuNvYQ(@M?kC=`sP%m}$ zAuE8xnNJlQ)^#=TVd%K@kfCG2{n7{L!2{qb_zcsjfzJUCA}2T5#fGckt4v3o=@!EU zu;yQdUj>&;UIUkdJ_Dzj+)<<_;KRW$L!==fkT)&e~!c45QWLudwVnbyU;hCS)VgZ@(=&AVaA79dkrrj=DK;~2wiQRWl1(&_T0b7&ivvXjse&U48G9qo65&MAqG z)U@|L1G)62x6I;F7Av+8&dI<9 z_8gaFmJR@DbU>6Q;Y{YO4Tpt&xjN6f8 znn&?(Cb!Wrs`Y-VaAbn5w91S{{VC`9}U^BTtm>xW*ya)M_=ZsStXXhVA|0Q^k-}}M0 zgR9`rfL{u(fxiIOo>BpS2mH6#1+E`~Uxuyx{K9YzoMYp)1zU+VlRG`av0T5)5_IN7 z_{kCe6=BUIOsyZcpnNj;6$&2{&RJ{VQ<1xM4Q{RAeq>79#bC8(rEQhzC=Gg+Q~4@j zUyuCN;Hu={*GM0HEBLiwHI_~=A~(KjpM8h)kt;oFON<}c2JkDTj~NClJyovFhPQ!l zH+}WvSAxU*{08ts{N|D033h8?u$kNpMea@RfW-mLJvEX)1$+;FX?rd`?+5E_M&={n z*Ws@K{x~?KP3@rz*)}dSxz{(sKlE6_)ELHiIAlmG zu1xszjE8i;HsSx2@NXpifbo$2lL|gvfjee(5z?hHUSWD4uyl1N{FTN-{@!6cgu6T8 zzew~mZzj}}`opXh&f)NnSiEN@d@6tHr>jlxW9DyT!rx{*l=G(&K2^9J+h#vDy?<`< z8pmAb?85_JVLX(>bBu?0UX$>t;yD@NKbziXEuLQ`-2CNsn>+l_&x4?$TJot0iPvxqDZ$wA&Y7)HF!YqKz%#eK|m-_fNt}b*ihyN?- z;V+onmmB2JuYmi!Uh^LCi@;h}DG$@-|BdM62~B167VuZGTS>?9$drdx0#N>Q-~u?5 zR}~z}s|F7F)T9{l-v+MdSp%9kGh``j<*mT=4&uce{w3n(FZ+P;(1t#d@ZAZ2DB(X# zxC@>3@ox&;n>nh(M@(<8#e3ux&avLto|wO$@71)hnetF!_v9Xa0|BYCcaLuisV-t&SPH_;p+{{ z?~6&pnU;pPSlU!={{WVK8rR#wt%mOcuLWyfcn5gB;d{X{%HzAhTd*~@ZwKFL_}$X9 zz6CA(DX@&<`ZQSIP?r8@!1`XX@V|idODb--z)4iSWN0 zo{8UYg7ups%9rw_-|rCq4!8hTTmCLszr!H>iYr`ybZt^)CZn=_J#x%!{nN9{7>D%^ zZNPf(G+@1_8t^@l-}gm$SA=&*SnsI@zo(trzz;?`KZ@|5Bdm9ugJ1VS6-(#5l@0kx z5k51*tr5OB!dFE2`UpQO!W$y|{0Qs)+mN1DNAkBt_}vk{*{S=o-5JS06Jfox8p8Z? zB;Olhy}uoFejLg5erb^ZG?ME%kRbnkB%gO>Lw;(67f1N=2;UIlVuW>1IfOqL$u~w= z?=T0Qmq+q9M_BK;2A%DZT;H|`@|}_VUnBfbgnt;}-$XcfRU@3a5k4`(+K+{}&Whw0 zM0iz%*G0HH!kZ(U_3|;vVsXWqH7lN3yz%O1tt_s6=IWKjVm2~f?#lX0V?{nbINaM+ z$;!P01ALV*>+EVDU0>|lh`f@Gp0gC+`ae2Q>0Lk2)tOg-dp|nT?c5 zUS~GCT!~rUNJ~dgX*e4_Z<)mWucxt(WaahGdGG4*pX40q9wZ$-BO~RaJ}ViCvx@u7 zXV&ShO0hgRJOXpp=#ujkKL6|CS9;`5IK4hhLz(-6Bj5haD&>;C0h*Od!<3^Ch1uO# zTCZ~Mbl&PfX&S7I6kQH0U3`fVbxI>CQmc^=se)-FL0+g3#iNf%7W+$ORZ_9i`}{6n zQy#7#>?=`QIJb{>Z0H&(Rz?PgOY6Od#z#Nl<$5Ei z2T-Yt$j?Ty)F|(UlQo6dX+0HGPk(uYmP3IJ4)?Avj{6@h*wD?FU%Rrt!Hx}`U1dJ*Io#PhJVg5%>m|&N(G2gy zK5&OZOfI?#ZLK3K6V3>sx%RLB9V26z|FA6aO!}~_IZgG=*=+IIi=)5xa`)L}(^c-` z4s}oaUhP!Dwp2!jM>|INc&AHk{tQxadVX`3#}H7lvwc0EFeQu)EvHWY%ITyp-=2E< z(=vJM9v$eQO%{vAvFx(dR~E0l>H5oyl>rx0x0AMJtrxalxOBOTY2zSYvpu6;x&Di| z7w50KVa*LUt-bpCmBrO-*R&{QPn$AfiAO%Ad+H)ScN%|R*L*V0@Ilz*qpqBGDJ`v0 zQrg|eN|l1*>J@8NT(=~Oy|+8x;@m?yQB5K9{ z^fU8T&Hj72wBX@km05YPVyRV369Y=4jH_p&W?ml$rWhtlEnubCWrM1srxyK}f{Xez zaLdA}2i!&Zg%e8@!Njl^sr4LDf$+2NVHnn8NCA=2Rq!SnyCu)2^DnT;NXVQ^5ZLLNK zQCzY5>f$vkpIKae!;R1Jb*1`B$Bc%5*BXsRai|&Al`hUV!oG6l+RInvZ@aCLgxGcU znj5aT>GG9v<`n&u{X43PMna{XE*Od<`b;*}wKY!**iOIWRLa7&BzOmqX4meUty zu_s?yntt5$WL4JU#i#p0BtLl=K)o>rgz(aWRj71s{)NvfyUrd(6&11q@q6n}s70d*cDau9pj%rgyez686$y1Y-jms21>g5syahb#kcuW~r ztW&m$v^l_&mJkwLZxK=<)6p7&^#p-y8PPG=&jNaJPZoUnV(4a`N(&*)xYwy?+tWDH zp&-bxgVJE~i|V|)vmS4n*-2j+r=~56M!l$Cx}e=Mx|?sY7rQ%KLc%1pvQb%>@2L8H zUK^h!pHS!C(S5%B;AK${qh1_!Nn9d636uxG6ef2B=P;pMqA`78Jwf%D>XPYVGKI-8 zIfn@`#eJ=w1N)M@T(5GO6PQ+p!zS@n`)3l^7AWw?Vxt84o2*Q2Vat&!HtC6Cdnuh@$s z8%zb+qPBI`C4Se(QYla$T|G;d)g)aDE#dWa8Gn?t5p|L>6!2O5fMK zDncQ3vVj=sdfcnqi7WeQehMR5C+7x7t_BnNgBrXroV=xz)@@+LD?lHIY7`R71my|z1)jZTkR7W$*F`mi(E zKcitQ>k>0r0Krx^Tm(~PL`q6^+}R)XH&{Xo3ZVyk(%|W$WQ0+dwECYS=@j|orJXz7 zX9H(#sDc2UFinOwk9zRqv7jnR9 z2VOcp<9v)W!Hg+OKS;x`8FiFLvrVN93?3X7k7t2)6}$U-%N6J3F@sD;X}ri`XJ3h_ zLw>rl;jRuPL1%W2kQ4?X4-aJ=I}PgCZlt$EhgpN!z~C@jUyn7XBjX2+#(9QPH6iwdIx96gPmO-b+Co+H9XkSFCZ`W`oYj>r<&q$Hd!M@&(@oa$e%+fAZ?0*)j?0@_b zu8!VPUo4`qIN{ZSa7VFcu&hlkBp7U^ScIAyIK}8 zjh4pc3rwc_`dp~GUBY&#G{WymbxtY>@NLoeLhHUd`qyxQuML&Zr+p(g4c9w1 zs!)rag9DU|wq1&^ID+2};-Ep-IRi)UU~v=LM9fd1aga{yS1Jzqe`;%;zE&$E zAl-Y?wl^E#jKA02rQpuM#!6Se?htIO^z{3&r?RPcq@#!Zu>*K0WMEA{r9xL7>geE}2c=0bTf*oA+t?owRpMBgQIk$sABbb(25b$%GsaqI%nu2UGLN~;t1?O?DiTq6w0g!DUpj&L@v)mhi`%QZ z=hQEld4cnw(T_^gs8Qt33AdaY+$%={7dUya>8DpyW7kGaRo!mp^W){fsDA8_p~dCA z!3d~#kQ<71XD?t&Fy@5{r;AlWXHl)r>DkyyuhVp|@k9BfExIam)2P!c_pv~5zgOt% za5@9u8KR-BOnKcRR!Of-WkeZS8PyNsX zU!JZ{j`Xz`N83BN5zCa#@BH<0x7($gTZ6jC%@|(MM9z)DkzPV;Kt^O5O(utNk2{N- zdKj6NBW^O1cS|Wf zX6;gkx)lqDa*rj+X*icIVjyG<6zT!ARz}#t!G0s4;`;6~RjkE_bC+mvSaXTz1!Tg@McZmC(}`t9U~2ln$@_#k}YP%(#G}K25mDtMuzF>)Rixu`uavG zpbOIad~b=kD?*za>E+CbC1W&AKY&-1Uo921u(g}k4(q<`28z{hw0j3A%z+NZbwBrI zx;xz3xN+~E382BdHJ%UI7;}myih(XS*|^06wdG^yo_8Jk)wei9xS#F$wNCk^Y>Q0o z+_R}ra}=GMcl%uL<*X{>1SE6JI}B*p9}UBu*?!TYGA65Tu|s3<`hG#+!gM1)8D#}r zNxR&}(D%sK#^NMr>b<_OQ5#mH?C7p&9o|1)q(hAk47j!6rY_pVNTzC4I*P{4;s#cb z47dCA6^kHy-l1c#k5LxRt$P9i^mTQUdzPQY9+os3yEfVi&BdV2g5Bm+WAIUu_(pm} zSaeXh02{(I&#*Z3+6t$hdJ(5x2lO(YFLAB8Gwa&aPYd%4ixF*VRNN|QS6NB{t7Wz| z%(k6_>uv0lnC{PTqK%8w)Z}O3uvoTmK%owREPXp!nlYd-Z2O@Y)V@i)vx|pne9SJ_ zv2N&qol+d{?dt1flmZTDJEld0`wdY^!jJ(}D8o$Rwp#a8lN8Gk_mqtOHy)1ZVeFF! z*Qkn>!ER=$axcqPrm6w=&`j1|l3({ML@%wRi`6bG95iL?!3sYtx^ngHAOzu00eH5> zM}lA9VppwMd-ZiI*A%b6Va>`L*REKzHVcx#ZEr@z_K=F!HE#dmcUX+P6lhrZD{-`| z-VW_UnQMJ44r+>X!1rzMO!M(8e~M8(-iVr2rLT*}MSK7rD+FAqcDaOVbqglb^H_SW zS2_=F$`P8-+la5vO*GvlR-QcR6n2FyV7iqfsZVxOn|ABdsT_L-8M1H~9PXG9qJ)0W z<7PR7#me|VN8}VH(^%x@+*sguP_d+u+7Pan6iXu`8dxVpS!TD+&N24i%TMiQJ&nPj zyLXt*$y!bG6=SWTti6|@cwC1in%~{F^La%#K)Yvoc(8}_L@(%X&)9ABWyQ<%zwB#P z9op~K-0Gw>JlxAOQhp6%0|Bc8MjqGxbhZk>47y2iNweqz+Dm?8r*J19d9B zL5^Cm%IgQayPZFpkrNDSE8`J4WI5`0MVpw7wdgHr$n}eJdH07HAZ>fyB+czCO{3-Y zN|7G$a)9M}7v-hNZ$d^?m|^PESb~C|2+vyvbc?L|(LiaKEtpG9_kbIC{34jW+rXgf zQ#w=W%SLr8M9-t%L|Wochao%uZIns0@C0=!sOZ2A&cLMW@q9a zx2s3&sc*x+^|(q`a_`>jEdV(muJb?ulDfvu;e z35~$CWy)bwD2)zRCLNnt3(~#X$2p?P+!IfR*@|^^^=YJ!rD`oU&M~^Uu;bP;Nv37C zAI<_$M%>byg^1rP4sIG?7I)K|%h+IL$e5~RuuPS^8PY{$D|*%<^$n<k1>DwrJDwz#{G?W|4;jr$Fkt6NjFR#{gx&UEAt@ih;aj0Hr)RkOI55>5A5pTz#W{~uE6a|T#xPUrrCv)5jU9mCvVrYapUUp=dW~Qt)ARMpT=Xka8<1w zyMan8c&+RFLX{+iCLEPm@W{B%YOB-j?U`9Ad^cXQw)77O_qBKTakyF>9nj9G-JRZO zLQ@NMQ=8i;k!kj%+A?K~?8=8aMy4H{AJ}Zi#QKuV`z?g;%KiY~W+bLf^5&0|MmJ^M z9H#X91NRCiw<=&(a-fZUW^v%7HB06@mzR#HoeF!H?o8n{6p;SV5u_7yg(gsUN_QJX3tpB*x=9HH^ro< zohqU)Z^(q);y*f;$$VS)bzq0IzKi%q?6GSYBtlIh9HMwHey;G?e0V|&v*36@*&hg% znCN{-oS<=B*FUP8Aez~kX*pKlDBabjKeYAj*`K7SFR&c(xr;<$5jlcKj&TTOI8zg1 zpmc4G@iwMzL~{;3oBYu<2ZlPSnGn9688;k4EZ)J7O&+@;VsL;anz_MBdnMX(zq*Cj zbI@mn8Ob}VtGG_X$SNFqqDHzQ8me2)nlK#k2fCq`bwwan;dRb1&tZyA-Q4WzpZX7k zN5$(7Zh#36?jS1+dHviva1U_!$%n%L`cKiOrC}bjC(V(l!reGlbE6yxs*Y)(^x8r0 zBiOno(=M)?`$=r723Q{tPZHGowtF6ak~&Mb_5MJ_-vOh8`IzjWNsC7YJdTsujB8qm zhBM!qR+4vTB6Y=HWiKgKO&}&F3)Xc%P7~Zg3CndiiZWnykqFK@SqgUa za>IdWjr%0i(R9nG9+j3?fvg{OhZIUHDbzgV_5ilnt*bR0Tqcw{7RlTZ@##Pq z*2PHObWrqnKEmpR$!(K%?z(}(Ed`yHZK#a*x3hE7>6&jgYO1V*xzVF$qg$rBPr>eC zgSO?mc|_9<C)2UZY^=gi zKkRx`qvXw*t+%R(wRjZuQl}e&)C3zjo};y@ZJT_GXn8s|H+@(8ezzMIGR7K_lQVVr zY=b|F)DcQ}ES~!Y9J9H$>q>yD~`Io3#96J2g_#yD!}Lq12p<+Yk|mn}N%`Q|5

XsXm_53nKMXE`XoiOXDFa`F~Ei{J=Y~Y+nutSZeOrdK*uab8EmiWwB zoqNk4S^7JDy!K2Xu=aB1WjV|cd3*{cxgf0m#Dy?0;gVv4ybi*wl;$+*=arY?W-^SALl49p3 z*-MMgItR;XbAQ5hM3;V%L55MRKGv?cA#Fg#{VD+xxti z;mSrGUFvo-GXZyVedNk{s`k5%jp@Q6_2-M|vL6-rWs4j`14M zmx;~5?yakl%$SR*F*o}_c|H=3b)P-03FjC{I%~mgT&lQOfw&&c9Bf zPNDTBcfZwC*_&iNWGnV;(_ZU^=bxMDAtnwr&blPLil`@x^gfi{8oHdL+Tt2k11(w) z@yI@pGVm-BZ@utRqm3~57 zbWZL#gd3kq8V4}ki1vrjgg5Gzt9s5uPdX^DB6nnDxj|IG9SM$c^2j42VOEex9IZir)8nk>QA_d@HpN= zpTM&&v9O-)3h+5DPX8(&dS_jtNj+pltxdic5Abm*wJOUmA^GCT4^;kNHLC%=v8Tq$ zzojl@7q<(|wef+Diph^GTMoFN|juk7|x&BtN7<1dGC@Q<62+KRL^T`J2v4l;e$UeI^j8PmQ=d; z!HH>D`AqSy>|)+9Eq3?Qk9=F2M&;ld3S{w;g9o#iH--Jvw)S>m^sMbce7h*lIf#;y zvFso^E}(M{qNIR$%X~ty#4kinQ*x=w`+Y!u#7v z9rzdN4&v9>aaze~eq0QVT25Y7drVQJl{{q>X)UKpKDB8zr&=zxkENa$FL^9=v?Q%0 zmNex-`k=;Y4t~4rNMV}R^C;RRG}KyMYx=%ZSD8B6#T*V!Y)p^hK}Ezt;$zl#1<$GD zWA@-8V2`DbLD-3Z9cxR#O%45eB?cG^KX%+3xjkSjK-y?8=E#+vO zWs7?Vl{<_6a}yJVZgoz`BYwZ>Jr@cz{6RE!kmQDH2Q$yN#+lW1h zo_qD{X@7@e!aH~MCNW8>s-Ga_klMYTH?^18RbCgjvu|6>bi)7PLAPNE6GQ!ej#g{B zWyd3y8;b79LQPwKl^s9fLv!*cTe_dCqkVfow|;y4*4S(&Uh>(Zc$wK%sSZZL_(4By$ZLNiuRi{AI>Db zIGnw>BNC^`>lQo%=w0huLfaxb1v>+BSa&oz;^J{KR>)<}x!etN*I#rumjxtMrlmVu zH@oqoMKY@*dW73Db4#cGT&1rneF?^upLWrtgnO>4J=+&Uxn143@93Y+4P`-@=}}cH z8P_Y_ZGYc|9k&xKosKt}jjur8B9!ScddP<@^6Mq6g=&1S+-*_nuI}c1$ZALkLQ4`K z^?CcxnzFpU?t@uo*Q@woR*g&F`_lKgdiYkBeHzRCF850gY4GRB9o^twgzLL=@^c2Z z%uB%AxU%g&Jn?UE&3Z52IX3se3kk0p$8u&1|6~6<6F!fG$h|O=?||{~wFMD>0z7Yg z5cgU4`QI9le&DMUcYRYWcHe5;r-pnb?t2p6N*T)kyNPek{p8p97vV>LmUJ5bh1_?O z9^-$3U-CefwMG0Qcsb&7AB*@LxW2ij_->g+czgL?Zo;=3ACmjG_|AI5_awZTuoPa< z&l?Z*Ue9oe#db_+wd|6W#+TGXT$6nEtZ8QBtnsL9jDchUyeFAVm z623a&J;p=$<-~nk!Veh#Ao0zA6`g^6D89hw8Gi`(C*DDSGyZ4zEpKefT8xMI^nFW zV`gSmzEzR?9NgC#A5(bu&B)3TzY1QB_|5P;jEC^HM(%TP-){W-gg57Y(u=M1 z2R<+1s}jD=cnE)c;=VWGt$e&y;opQkw>BeN9`WPg>x^&4o^$Jrtj+lAu%FO2BkM7~ z9s9x_@*DBx@H>qE0sEW>W@OtU_gT2_FkawGs+aW5$aY8kBKSVzAwT;g_gT0fF#bmT z&nZ*i*ve1f&BlZO1;*cneZ>g%AMwlJEfHS_Uv513S2`8G{LjICopJq$(A+V~C*eKD zDd>#t9~Cg z9_sTz!u2CGDvx0184vZ_5^>dUYs6K*g~b1=$X)f@W<1nyPr|FlL;dYH9_sJmh^zke zQQ^4$<{1z5w;Wd`H6fC!8cr2*25Q2rsO| z0}uPTk1G8q=IZO}z_%yi?J)ij`cKX0var8f%E!2mY{}Kv-B-g~7UkS;DJp;B3*j_f zm%iKKXD!QRJB|MqKA*(Zj333XFU`LwS6?>=ejssQp6u7OPgi_FKkVlM-)-)hY_yZMH4%V#+kv2|Z?FDLF>628^=)fZ*ilHGheJ@Kz~roxx| zEZnuu6#qN;lOD)2tuq5Z8s5UXF3xW&T<$y3e>y$XCSY z!WS@xFUIZZT(jTne_J8&L*QCBig(DJ&Z~8z_*SkX?x%bruJe*HxYGN5+~;4L%kD59 z`r}sPCtpH;xHXsUFz&{ozFfvM+a2{(>cZ8+v?Lowe^W@3Keu!(#fV{PoNxrXJ) zwCN7{XPYy@-#+Rg4re#%ZzG&1(^q8HkkTa9mnznCx%dzxHnoA8&zcNuRcA8p7# zV|I`SQdUxh3DIkXiSwbeV|ha30OssGQ&$XsHU z!<(2jC{AZi3pVwmpU+YIiOqK*(r-0k(0?W6B>7sCGZZ^>lo}=BFbq#LroY~#L4Vlv zb%qt2UecrRx0sNj*_r1Mj>2bqGr{}@|I)wHq(Oh1$#DQS|Y`$sr__jp< zUrb+X#@JkL`a4ZOIRCp#$E-|qRcyXw^{C(dkO}(FH#y5TXV{84bB^V!jeZoHQ%qmK z6CxAzPX)Vrv~mdH@38XMo~FY~FP3f2ob9dbSeKsJllsw$hBFLi%@_zRq}Jv&i(d29@zYWx;;c(yz5$Z0<&`@b#N8GC}`% z*Zya_wSaeN{GWk-YQBO0qbSi}<~jfVcNULyGq!hGU<&#z-y;d9YCLqCe#%q&K`(Fa zClmBh(YUwY>Up2jCmd@JA)Mctd`BW*Y4JX6`3?H|EgYriKqA-geN1gl$?w*FS6!O*X^3`aEHLFkkj-)G}Bt5UNaMoG5gmQYB=`XN&Lp7uB z({K7=UR{UYk#0ri9l|*LAtw)7{@$T9UPC)Ml36+AGuRKfc%P7!E&LX<-)r)%#`9*s z#pFAU2Yr@}g#UzWpULxPKf~lSQfGqv^Cr)mJcJX{B{9p>tiUBBUf>Gp3GTsv;2PIt zf_`W}!F?6+2KN`_h4kiui(->7n$I$dn|z$0Q)1Z@V8i3kp4<8zbU(Ka6Um5YIbLos!Ch&sIuYv0fGPujX&iDeC z|FFK1zTzv}d@Eky+7ofP>x@c9?$>bDB7PbC@wU%a1%#1x9oJaI6<^#w3-AR|`*ZFQ zS9)}IBBNlg=c+|q`f-0Nz_mV*k-pp)MD=?Ee0jtbp7y>n(pP-PsFE=XW(`+9;y1#V zN4x;PBH}8q)e%>Cw?M0^GQXR6U*6u!cnm+%u4-jeWT2`?o4+Jvu5cxS@P3BN7k8n3oQ zTYOTu2uJoLi@YaN1 zl<-v%*Lb)#;u@dYBCe|Li@1_H7IDGbBd-2*N5qxBI}^S=;rAu{0psd#&){0bB_pmr zX~z_fYpA@IOGfTXxZ1d6f__-H1YUKn4fi_|zAfQ95?)LAo`mm9_`?ZznLrlOGf$a{ zcs}7_{0#bq#C>(b+Y(+*cs1d7Bz#-KcO<-)@I49Nm+*%Zp4oUF@-r{t`GmJ7ypZtK z32#eyIpNiW-;wZb3Ez?MTEh1vd|$#JPI%Z)DF14|3)Imufwv?)tS^K6s>FR=!g~@v zmhdeJ-LlKj8-wu6u=Xdkp)%P#!Ib z`|^aZO8B~j_auBQ;ad{EHR0P6zBA#w6TUa$`xAa3;krLFA^!<)N%-=Fhy8CTuXTxg zPr}C%z9r#X6TUs+I}^S;;d>LlKj8-w-h611|AebF565f*V7kED5tqIq&figjVb;8>cUQT#5;ddl_Tf%oFyq54i3E!9ShZF7|7Kze7Z=TCe zJwM@oVaQ)=;vUXBgL}B|7b~Iq+~^ z9e5#eU!Cx_gqIUuP52!N-wX};#r!>*ls_`IWzo`2l&*FW*38=iE^ zsi&R2LTh8DEH_@*uW{dTKHC~tQ>RWu- z+A9}}On3vk{^s?>m)zrDd7nll{Q!a9mJctx+E*DKW#P7ANwoz6W+|9@Xr1;AG`?S^eYuXKFlZf z^kw7v?*TsQHyGkC282BFDQ3RzMG$x0Qq>itTbA9+r4)%Q(pYl{I4cTeAAeR)E9qhv}F0H9j8lsez z`O-bdC)ru8MPtj%Ug~U0=wRQh@fk_A(rBF)N&|f3fREX^?~wQ=wlwL4({zha&V2FN z7j)`xs#dlnRZ5ek(y#!}c^n^hak=43Fs>;rNj;`1@gejTBw@qgapx7&-R z&GRp(dH5RKV-x%b*|W@lqL%$_i`TGYo1pH>x=sLpN8zjdQ~z7de|Qcp_(|h`9iAmi z{qH;7`v~dTY5ctIGiChyf9QSOVg41r`f3`#o diff --git a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.o deleted file mode 100644 index 12d3734af6d09ef296e0d575a4a2a714d4dc708d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68680 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 delta 80 zcmeycmHER~<_(3b9oH~0%-~^Q@H1p!$O2+EAb$ar-wfol?_gj!0Ojuh^7;2LFkC?5 MbMD!^X|0Vv&F5B>aP-f delta 80 zcmZp;$kK3;Wkcn4$2ANL5+V!?A;t_01whOO&F5B=eH7Q diff --git a/pkg/internal/ebpf/goredis/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/goredis/bpf_debug_bpfel_x86.o index b55ad62633db21955b9378445ac2e365a25b424a..7e7b3f29d6251f527bd3e7a204b17d3e00a712c7 100644 GIT binary patch delta 80 zcmca`hvmW@mJP0V9XBvANQf{noH1cwcmc$0K)wQ$&uGfPz`lop!2!xQ1M>L~Ffarl N@i`A{Zo7Lb002+R6QuwE delta 80 zcmca`hvmW@mJP0V9oH~0NQf{noH1cwcmc$0K)wQ$&uGfPz`lcl!2!xQ1M>OzFfarl N@j3TwZo7Lb002zW6OjM_ diff --git a/pkg/internal/ebpf/grpc/bpf_bpfel_arm64.o b/pkg/internal/ebpf/grpc/bpf_bpfel_arm64.o index b0009d4b82aafc0254fc55504d5ba63b0b47648d..b0088b9e06b926ab26b23466b3fb760762388dd3 100644 GIT binary patch delta 304 zcmeBp&ff8yym8`7lQvK;i>EH!q3t)dT?4y-Y>` delta 304 zcmeBp&ff8yym8`7lQvK;i>EH!q3t)dT>h1xxk- diff --git a/pkg/internal/ebpf/grpc/bpf_bpfel_x86.o b/pkg/internal/ebpf/grpc/bpf_bpfel_x86.o index c6ad9f48e8ff7ae6ce705f962a171e933eeda787..0bce887cf8846a99e6932d0ea0ce40124281b19c 100644 GIT binary patch delta 304 zcmX@{iT%VU_J%EtrB;p`7#J=nGcf${Vqg&QW?*0g@^3)-x7#J=nGcf${Vqg&QW?*0g@^3)-xE2F(M$eaRYRC6kze3&^ipnRA)E0Fj=bGj}tic3&#&UBzT_S+R-G8%Az f46EQnbyNeC4|CK4C?Dpi4M=>Tqb7Z1RC@vdRD?!* delta 304 zcmdn7ntR7;?uIRlC$~7RVPJS*&cKiuz`#%o#B4zR3n+gYkk7t@fq}yUB7Yjl=ikG? zAc4f^+_Rl)E2F(M$eaRYRC6kze3&^ipnRA)E0Fj=bGj}tic3&#&UBzT_S+R-G8%Az f46EQnbyNeC4|CK4C?Dpi4M=>Tqb7Z1RC@vdC1^$~ diff --git a/pkg/internal/ebpf/grpc/bpf_tp_bpfel_arm64.o b/pkg/internal/ebpf/grpc/bpf_tp_bpfel_arm64.o index 5bacf6969065b8fe179e0d832566523f2dc43cb5..7e8f1f714d5025e6f967fbcf352901f0488479bc 100644 GIT binary patch delta 304 zcmccdhU3N?j)pCaXG0w~Ffd$DW?*>e$-wXzh}nSr8&JNO7Xt(P9tMUVP`)>i&wqe{ zfkOqN9>nK7u$?cAQC delta 304 zcmccdhU3N?j)pCaXG0y=Ffd$DW?*>e$-wXzh}nSr8&JNO7Xt(P4hDuFP`)>i&%cL( zfkOqN9>nL|vz;%DQC4*~i72N)PQ zR3Pd>e9i;gPen7zi-648A%<$s0Vp44&I2ePX3hsBKF}Pk0!DRV%FUS$G{=7X#b(9? gR*+#GoT!eP0Oi9RwE@b9IqCosALyu}PR4ng05p$9*Z=?k delta 304 zcmbR6gJZ%Ej)pCaozaeK7#J=nGcZJWGcc3@F&mJ71Iq6O^4WJVF#Le>4*~i7dl(ov zR3Pd>e9k@FPen7zi-648A%<$s0Vp44&I2ePX3hsBKF}Pk0!DRV%FUS$G{=7X#b(9? gR*+#GoT!eP0Oi9RwE@b9IqCosALyu}PR4ng00nbJhyVZp diff --git a/pkg/internal/ebpf/grpc/bpf_tp_debug_bpfel_arm64.o b/pkg/internal/ebpf/grpc/bpf_tp_debug_bpfel_arm64.o index a3eec3e178ca2cb807ea5b5d41681a8f5877a99d..3ceeafbb79edc709c9c4d0b567ec038ac7fdccb5 100644 GIT binary patch delta 308 zcmZ26m3PHd-i9rVH{UsKU|@J)&cNX1&%lrd#B4zR3n;%H$Y3L3^B-Vf zkU-*d9@sARp3zev j!z%bt9n}Ek!yL5$%7-~>0}`L}K>H$XrtOQgnc3t4`<_8% delta 308 zcmZ26m3PHd-i9rVH{Us~VPJS*&cNX1&%lrd#B4zR3n;%H$Y3L3^Y39` zkU-*d?%6K&p3zev j!z%bt9n}Ek!yL5$%7-~>0}`KePx~TmrtOQgnc3t4%R)gF diff --git a/pkg/internal/ebpf/grpc/bpf_tp_debug_bpfel_x86.o b/pkg/internal/ebpf/grpc/bpf_tp_debug_bpfel_x86.o index 8b7f119ff190533231cb3c2baa0b43146dba3731..510180665027229a3d5910a8798d44cbf73ff7c9 100644 GIT binary patch delta 308 zcmaE{fcM1$-i9rVQ@=QFU|@J)&cJXmfPvvI5VHaKFQEKyKtB5(1_llbh`e?n0|Wm7 z1_lWvKIeh$*S;{?OM}cQP)0SU0?LP(GXu(pnX>|k&v{__It?cK?NbGqZirKE*mj^{ m`5Yi~D)>+x)d1zg9JK(-hdF8k5})%xdz>ND_BcakE_ndJvr57M delta 308 zcmaE{fcM1$-i9rVQ@=Q_VPJS*&cJXmfPvvI5VHaKFQEKyKtB5p1_llbh`e?n0|Wma z1_lWvKIfk8*S;{?OM}cQP)0SU0?LP(GXu(pnX>|k&$(y%It?cK?NbGqZirKE*mj^{ m`5Yi~D)>+x)d1zg9JK(-hdF8k5}$KVdz>ND_BcakE_ncuyGn8Z diff --git a/pkg/internal/ebpf/httpfltr/bpf_bpfel_arm64.o b/pkg/internal/ebpf/httpfltr/bpf_bpfel_arm64.o index b5912037ea52f95a61c1934c295670c76c37a41a..c669318d1edda57c685eaf6c2fbda9a9552adc03 100644 GIT binary patch delta 881 zcmZ9}uTR537{>9J>wtD!SgGim5P~C9WsXWf&25evSpN(h75tbY6$CrG5J)CSIx$g+ z#6UI&28o-?BO0AWriPYwT;Fs8YIY)Ob~>Wb`M6ijKs%$F z>5Qq_d820MQ#3l^v&xtE>N%zpQ?qkH&CWnHI{OoKd7}5guIbp+?6j!aiA1CG{i_Zg z?W9%H8Bnt`qGo3z8lCfsb!uy;RdU)Trziev;JYWH(OJ~3{{MSznR^0i-V;&to{ngA z9$c$g(|h959zKs9zBfCWx#wqx_Qa(jJ*$79_t{cGn{s836qDlY& delta 881 zcmZ9~FHgfj7{~F4y8-RCK&j}O5P~C9Wsb^$n%f*Tu)Yi&75teZ6$CrGkdYurR?!!L z#6UI&28o*FavvJNoy0AAIzp*qF>QoUIK zWZ1zDz;+3cvv$i_a3jX`%JD4+d*xuS9M;NN=3*?h;{~P@Vv`eNlhb3ZoR53a3biw7 zn9egcId9nHe6m(f^dx50xdyK3B-rF!V3RXqt(=2GT%PDXuxC0BHaTr5Q<+nP8JsuvX4_O`ba1Xpm%~H7$7!19@~~-72b=bE QS-a(J)R(iUUwb_J14%8RS^xk5 diff --git a/pkg/internal/ebpf/httpfltr/bpf_bpfel_x86.o b/pkg/internal/ebpf/httpfltr/bpf_bpfel_x86.o index d3d8303f932b9d5dc4ab11475233b4fc7eba4810..08ea0d0d57b141f47aa98868b4a0e1d904e5064a 100644 GIT binary patch delta 881 zcmZ9~p-;m=6vy$$-GH`RSgF{S5CXCe91ChpRSg^!Bp~-E%uxsnlM6v%woFY-Opp|T zXi#K|AXtKee*?w4=Dp=z#l%^ zai(S4nNzd#LCwyOXmq}3D$Vb8=Gsn7%}$S+oq=d{K2vqwHhW;#b{uMULTYxJqS1Ny zQ%A0G63=!9)a*>D*?AF-j#tv>j&b%2PFQdv@xLm*dn_8ANkw1g@8xXSdwgo%b4bm5 zTB6Zu`?_8>ds>A(d_Fr}alYBp6OGQ(4((x|zvrm1rz_6S9nt6<@9EQn{Jkpny&P)Z V6H@cNnxft8e$mnCqEq_1_y?kcp%efB delta 881 zcmZ9~p-;m=6vy$$-GH`Rpj2#22mx6Kjs`WRss@e<5|H~7<|u@P$%UXWTc#!^5G0+b zLXjzgUG8iv|^nUGC-S$ss0LePQ%m;YK-v;(I^)L43 z93Z8x?*MG)07KDkp1t+e$Sa(nXjoJoyky*v~m2p?KG*`iKy9$MWb`~q#8}* zOslr@Le0(xH9J3|(fOXKthm>?YdZ-wJ3VT42BOjV%+yWW?14Soaj4k|so9A{qx1Nu zj$PxVp6v{%*_l$aGZ&4HSJ4-aaSlpOSaM?VKlAR1XmlnueO0`dvt{q`sd>*4HScMO zMyKuTM%C~zKXW=~HvI?ubbhkgE@Zlt$`nE(DTJ%UDvcmMfZziNK?0F`0!wW)WeOn{ zf>#D15Uj*1L<<|?u<K>#dc?*vv_ZAg1tV#RR&;p4WNZz z2K$=(3_JS>5OLpP7b1YM>RdFK2IeVG4wP)ij#I&n-?vH9En$`B@>Sy=*&|+~V}O#d%PT&P8Yn4RWg6w&Qb) zbHFXmv1)W)o=tX>9LU>_%PmfoTb!C|bV?tln`ek-z@AbNF z&okkcd0=C{F7tS*(K-A!`?GrX0ul_`WoQV3UxRT@Ej0Ko?kf&?OY0!wW)g@uKX z6oFU1}`Iwwcwu1Jo%YC9gcI03gfRn_Q(=jLaHoW`>4Tyl%k;TET-8l8)_$yLemw{0ij z7UzIloMYAKygZxqCOMF`9hX}ipIe-=YIF)8rj;S5lW-mq&RG3N?>B){b?Ss-|Ov{=ZO>Z$o}G#)c)iIs&Sss gIDZwopW&8$t}(Yb5x1NRtoLfQYfiUaTRMIJ2Yx!2vH$=8 diff --git a/pkg/internal/ebpf/httpfltr/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/httpfltr/bpf_debug_bpfel_x86.o index f8c767c3565c39ca8b980c3bcdf4a2f17e29714f..19e59200f5ceaed18613b02e997d7191ff0d03a1 100644 GIT binary patch delta 883 zcmZ9}u}cDB7{~Fa-s`-JETe`iigSwFaten~!y#~LbSe55THFK&!RRk&bSg)Oz#F2D zhLDhObc|@YC5V=ss`t_7f#-b(hcD{qe(!tnD2PWvtG&=(yi?8EQ6J#i1vp#>sOyib zyGwncJ97_^P~YfYO8~~A{bcY^Q;%76VB2&&YIY)Oc8a3WsjISsP8yod7d1P%{QP@% z@}jj-A*@;DK=j=*_6?CFq(P-eyaW1`x!k@?pu3eYma6i?M{h>o{vIvHwq^3?2bWlGGzD;`Q&#bnbwnOJ-S(VRVSnF1Rz)fc<}%}@makLq3<$8Xq9K+Vp8nw?lQI_FQS z)HKexVmlLRc4pM<{D?*;{ZiTdF5k7CfSR2FH9N6rbe_M}^^w^F+qUCSv(utxrz6_j zwWar6<3wfKiK*EcQ?v6X8lAtUK6Q-KDmd+elL#nDD2_yvBP(>Gqm?y9MGPiuqQ0+iNyEKT|?2hr`FZIU9-novG4Mz Wc~6^~_Z*6L^V_tqv$Vf>cKHu{p`&>K delta 881 zcmZ9~u}i~16vy%Bo!X=ojV)9W9SfbbxY$LoPP%0?TQfO06>%soW)KWc9YYsggen~* z2%+jL+W4C zr3pYpU0(-Sn*t0(yVLA`sNT!yBvspaq-N)Xnw`05be`0MM#rz)PC(60pPHRmv~ez; zRjGl_sA4;>)a=Zu+4&J|ob*d&`MG@8b^>a4`qb>iqK)(Nt!|ES5A4{EL(NW;nw_?2 zJlD29aM6j%wi8pcGoof^BHB2A4SnXI(=0fxg5!(#@ZLkw#<||r-Tc11ReR4SHScLt z^PUsY#@X7}8x`CW6!!4<*x_@tGqCqu9@3tmuqQ0+iNyEw|5>!zQ|;*P9`12g>~ne4 Wyr)IYdyYiA)4Q~%v$VH(e)SLF^P-6W diff --git a/pkg/internal/ebpf/httpfltr/bpf_tp_bpfel_x86.o b/pkg/internal/ebpf/httpfltr/bpf_tp_bpfel_x86.o index 9891a40f15d5cf678d25cf2ae040d8955b241774..daf72e974aaccc7fbd0504c57b93868fecba28e8 100644 GIT binary patch delta 881 zcmZ9~uTR537{>9JJ7Dcb*kDO9Krka!{4g*>GEh@v3aS7(xdc;31qoFI2{Xfxj07=3 zQUrl2h9a{#aQg@Fyw|*M@?OQnSL}1oh5Zv)E_U zzu1LWfQZ^#04S#bH=^A%+3BhGqH%5)ZRehvos^oLv1sEwsJ=E%+q0d3nw^lEomezF z-lHnij58?N&XAg&F*Q3sqR~0|Qb~5Nwre{9H9H|SJF#eVj=t5!f!PBqw&PH<<5RO! z7j5pftan}GL`B<)so5D&v-2Vvo$H!Dc8s%@bNrms6#pyZy9c7tS>Mp7*?T$j_MQqg z@7bc}Jq^+5d~EBblG)S9?cwv;>4@{qo=`M8t9!JEeg2-Cxjh|me&&cq=dGa+H?#Me av+w0l^B$j??^PG=rdO@5PFmgR-uXZK;-Omr delta 881 zcmZ9~uTR537{>9JJ7DcbV6dbZAefOVei)b`DX6J21yz8YT!N{if`lr9gqdMTMlyjQ z>BIskh9a{#aQg@F+}pfw@?OQnSL}1o6f ze@zz#05P?<2(T~&xE1XV)7_4GE249^WIGSk?7UO6GZu}`qv~pOnx5^1)a*pm>?ER% z<2|WD6`fwmcAlx(8B??KBicBpUn$Bteu;hrG3htFrHCCvL!fH_ diff --git a/pkg/internal/ebpf/httpfltr/bpf_tp_debug_bpfel_arm64.o b/pkg/internal/ebpf/httpfltr/bpf_tp_debug_bpfel_arm64.o index bf2bb87268901e947e538288c60602ecb6d2cdd6..c5c190778da11033eeb5915310d541a04b00e3b3 100644 GIT binary patch delta 883 zcmZ9}ze@sP7{KwT-Zy`QrcneZ1#Sru9Zd~^+9EhbQ)7!QPSMgRAt+6bjxB}bA%P+d zN7IdmQ{(*yNezY&^}O~x@VqzN@a4GA`@Hu=Qzx1_t@cWL^+i=1RS%$_065(QxWp%c z{YZU-oqPrGsh_cPK0qis?T_vo>LY8MUcq+y)a;C@*$G6WGrU!0ZJch=c6!w8c+~9p zqR~0NQ?*0mq&93PPtA@?%}zx$I+G_g&lsn*ZaZCSb_Ue!j76jKIaIldaY}o(<5IJ8 zPR-7hXmrlLRMIgHWNjx!%}$A$ofFaMJY;kyZJa^O@nTLWzB7A|M5A-DqmP#Rdf&3= ziKuxV*#3Xd^W;UN^H$Kc<$n%h^YHoX%*6R-9=ecM#&JdCJd*?c eTQ>hE*tPE!QnNFo=6iv)ug;>WM~mj#_0J#RLYZ>_ delta 883 zcmZ9}ze@sP7{KwT-Zy`QrcneZ1#Sru9Zd~^+9EhbQ)7!QPSMgRAt+6bjxB{lgGk^Z z4$^ev;naBlL6SouL_M!P4?OP;H+(tn^FHrA;nWGIPNTWfTzysLTKNT_8v{7q1h~W} zhW$u=gB|w(Ce+W^nK3{hIyoNR*VISaIGvpBbg9|#sM+yFqcgZwMQxmR-gY|F?DVPG znTST`_)b+0jg#20oh&swE;TzP(ddkx)K|(ljdj~;Q?t{fX2%na&gVd7O2#Sd*^W!i z&N($ZSEA85o2$5E97x+vf|{KIH9IGw(RoPeR?;}Vh|`Zaf%wksJrs@3#g0B&?(2Qa zo+qT{d0_khJqpGJGNVvxH4f0h^o>YwbLC1A f5x$SwG|v@d)439CI@g4?ryAp`(;rvoUVr`oPNtgd delta 883 zcmZ9}KS%;$7{~Fq-Zwo%`%iRIR8vAk(i9PBEv}7?5jZ(TOEftMI!co?-C{^Ih(z9S z!;Lp;lVjuI($J7YP|s`61JC;oH+19=E`klMh9^cx-->>(?=AM&1-1A}WiLE{S{o2_u_dM^b g--7-=;ih@62%F9oW7D}NtW!aKTv7dTW$x|g53=}~`~Uy| diff --git a/pkg/internal/ebpf/httpssl/bpf_bpfel_arm64.o b/pkg/internal/ebpf/httpssl/bpf_bpfel_arm64.o index b37d70c8e335ba8fe36d0b271bd268317ba402d9..eb4d2273557efb8ba69d19251fe09d584bcfd9a5 100644 GIT binary patch delta 663 zcmexxhX2DE{)R1#D_=QoU|@(~Wnk#zXJA+b#B4x*0+fFk$Y2WUpnSMFNPM6h<{kwk`}u+4Y=FcEnlnj{X+9sw9GE&-d}*MW2WUpnSMFNPM6h<{kwk`$6GsfW!xyGf9tWJ|D;&m^xT|X`q?ofus*)P6QGk vXikwW(|H+?IWY5K=2)PagRBo^P6nzuO;JqpzLfi`{n2u!?T?l-_t^meK#Yf^ diff --git a/pkg/internal/ebpf/httpssl/bpf_bpfel_x86.o b/pkg/internal/ebpf/httpssl/bpf_bpfel_x86.o index fc72d93b4eca65671d046ab89d75fc6db21324cd..f604516d7efcfe04fbeacd991b58a33762c15b72 100644 GIT binary patch delta 663 zcmZp;#@_%$TNpz>IBsBIh+t)4=;LQ#SOvsvKz;(0e;CMT-^0Mr0OkJx^7#)iFib$= za~{|}?E~X{F0eU5Xy!oqaC4x1xH(9CpgCo~8Rs*D%n=YnHAe!IIdw}h+t)4=;LQ#SOvsvKz;(0e;CMT-@(Ap0OkJx^7;2LFib$= zbMDzb?E~X{F0eU5Xy!oqaC4x1xH(9CpgCo~8Rs*D%n=YnHAe!h+KKN!eo-^0Lg0Lt$G^7#)i zFkC?5a~{}!YX;MPUXVEqQmE!|K>09pG@yK#ITlEKkU7hk>{&qOypTsV=L3`vGeY= z0?LP(vjd3_G^gqYQ@IGp91j6ha{{1zm^lSdKFpj3BtFm_qqj`&1wiJ2Xe=BJ=+k%Kg>ORL{Jfsh;KB F8US9_ZP@?- delta 665 zcmca`UF5=bk%kt=Ele|KIIdw}n8C)tASb}UUh+KKN!eo-@(9e0Lt$G^7;2L zFkC?5bMD!GYX;MPUXVEqQmE!|K>09pG@yK#ITlEKkU7hk>{&qOypTsV=L3`vGeY= z0?LP(vjd3_G^gqYQ@IGp91mdlA%}ASln*nf0Lq7%(}2VWnq%~q>Ae8R9FRP+ITO&# z*?^=E6ki9B_&{@#{xQibgUp$MX3hdMbCC6c;~mwULyFA*V<`7mJ5xRLcBXokb87&0 C3vDF; diff --git a/pkg/internal/ebpf/httpssl/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/httpssl/bpf_debug_bpfel_x86.o index 290405f8c3d928aefbf50ce78fe2cffec91fb237..98e4bd2606e058dcfbb463a4c0844a7226f2e464 100644 GIT binary patch delta 665 zcmbu+F>At55Ww;CMN%!=z9CZwBNW<>j-^Z6q2MUE7C(cVn`8*qv7?i?Rj7l7f)0Wi zJNgMUbaE=Ci<|UL@8F)RLxz8n`|%!^ra_tpQJncSPyNR+K+gv#S%5oyeCz>t9s6Vk zkZ^ag&l7-!>U=Wk^v%3T4qUiSj$51?ZgFl^lQS~+S#s8)>-=(yW6S&R;*?dRsW4aD%|2cs7B{!VKxPFqEpxDa*H$M7H6s&ovWp31>{t%>(sc#X>yAbsYYk{ zXI6H1o&$&er~QdDRCBbiscLk#o)=z{^UCjK?>%mD^c*=~uG6^oR?o-Z>!lrglXjf_ Ge*Xvet!>Z% delta 665 zcmbu+ziYx!5Ww;4i$q)cBSR(!BNVD*M{#L82#y6;@o#YJ7BU3u=;$PF3Uv_#GYIY2 z(Z4{0Q>P+b+{C+j2lreZGJKP~5AWSeQ$J1pD887P+TdjZ(02g}9zYcz7kkLvz|JNB zU)){ny9K~f_2pvT8JN!-av*OzIc{;v+~QPJlQS_-8FGFC+u3r9;}wtJ#VM*r$DNu{ zKu+$~c06uz9=XMNR*lZ@((JCuiLPv?%Pr2BTbx8SIu9%J=95#$`RO^oa*NaE7AI1T z&g##sz5o53IP^cc;*8Zgy01hvI(x?n?#b!#d%5>Mw>WwoIp4O^Dmm-s`R95MV`m=5 Hna#%m4)JXq diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_bpfel_arm64.o b/pkg/internal/ebpf/httpssl/bpf_tp_bpfel_arm64.o index 26dccaa6b8aa97c3a8dd19be2fcad9d417a486f4..a4aeb25e5e7e3e77cb3620c8b71d3ad259a7f8fa 100644 GIT binary patch delta 663 zcmdn7S766pfrc%Nvi}`7Ffc^0GBEV)fTxStDT&I}<`a~44PFmnz-`7m=XAn`%wa52qi2ALBehH6d(ln*nf0?LP( z(}BbXnq$Yu#I6c5X9YK^IUAsSm^l}qe3&^8koZ7z+KidDgZ&l2iE2&+ln*nf0?LP( z(}BbXnp0=T6fOvI&krtCa~ROvqkv>TKQNpPkoZ7z!~&S+^MTBPse{Fr2AVk@NcuqL yL?H2j=6s7|Ixhn<2WCFZ91ApakoAGg$v`!St%gb7mvVo#r=4Wlo_3NsC=>uldWEt8 delta 663 zcmdn7S766pfrc%Nvi}{|Ffc^0GBEV)fTxStDT&I}<`a~44PFmnz-`7m=XAn`%wa52qi2ALBehH6d(ln*nf0?LP( z(}BbXnq$Yu#I6c5X9YK^IUAsSm^l}qe3&^8koZ7z+KidDgZ&l2iE2&+ln*nf0?LP( z(}BbXnp0=T6fOvI&krtCa~ROvqkv>TD4Y$D_&{^S0+{CWfy{xagTx=spnRA)7odEYIS-KdKy!>NnYM%d6~KvVP6U(>Gp7Q| zhndrX#0Q$A<-!y$2y)L4E>v?E(A=YdWIsPJoDGopKywa-GWGL;%#nbK!{Q6359S^R zBz+)r0+9GXb0(!QotFWbqk(1)%s!Yo$ofF$B%qqJsFCTv59R)9e{_y%`=fKraUlS; C9fuVF delta 665 zcmX?bOyIyVfrb{wElej_9M>=~M6fb2^zkz=tO8;-AU^@hKMdrv?_gkPfbxF;`TTnr z7$zX`IrnVmVrAOT1u|!b5UM!~pnRA)2cUeIITw)lAaewm<}-uL2@pdyCj!ccnNtDf z!_4VG;secjCCtRG3NmK}H>x=spnRA)7odEYIS-KdKy!>NnYM%d6~KvVP6U(>Gp7Q| zhndrX#0Q$A<-!y$2y)L4E>v?E(A=YdWIrgJ4UqUia}I?v_49$uk${TB;tQq^<{k$m zeIRoJkoZ7zCZ#Z)mjRihfo2ZOKA1Vk`atF+pqjI&k?Fq=<^F1abdG8JqjSu0App!$ BhG75z diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_bpfel_arm64.o b/pkg/internal/ebpf/httpssl/bpf_tp_debug_bpfel_arm64.o index a895bb8c86cf36222b39d01844db510605dc0e89..26e9d4bd989e8b287db975c839f4f015e105948e 100644 GIT binary patch delta 664 zcmX?bNA$oQ(S{brEljqX9XBvA%wS_+kP~2FumWN>Ab$ar9}MKP?_pp#0OfZ8`TPeM z7%m|3IS*{F+syQy7i7)^DO7W2K>09pc0l@qy-S`^@y62V_nI7pgfOP(I9@ z6;M9RoE=Df&I4QDF_(*gjPVdaH6{SchZ$1<<-?3=K;i?PvrLrvy#P3P(9D^DX3hpA zeW2(%fW!xyb4`s|UKwQ045&Cf+M#@ydyw^kqaD>8GcV@Ab$ar9}MKP?_gj!0OfZ8`TTnr z7%m|3IrnU@+syQy7i7)^DO7W2K>09pc0l@qy-S`^@y62V_nI7pgfOP(I9@ z6;M9RoE=Df&OKY-F_(*gjPU>lA964UK>09Z3ZQ(LF%3w3pmUaqGQSr92M?M#6VS}r zfTRx;T?df(Ky$9CG0Q81%$b2^&H^-ZkoAG19n~B&FXsO-l>4i_Y&rAxvgItNjsXDM C<8NsI diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_bpfel_x86.o b/pkg/internal/ebpf/httpssl/bpf_tp_debug_bpfel_x86.o index 886858417573a971ecaa8b1de0a97089d681ffdc..62a74df4809c255629442f0461e288c96d83b1e9 100644 GIT binary patch delta 665 zcmX@{RP@AC(S{brEle+WIBsBIn8C)tASb}UUh+KKN!eo-^0Lg0Lt$G^7#)i zFkC?5a~{~PwUg;RFUXt;QmE$4fbwDH?11uN=A1y{1I>v#&ScL5GN(fU)tm`XKFpjA zP(I9@14w+JIk!$Tx$A<=;ow6xM*zx)nPULu!_09&;seb|`pNX22V_nI7pgfOP(I9@ z6;M9RoE=DfpgFVHn9D^#=6DF8niBx!!^|mw@?qvQAn}3b1W7aB7XZ5l%^Z+=Q2fEn zS%IVv6kj`#_&{@tbeQFpLFP<=io@c429yso2U#D;oD-<#T=HkWA49pn+CQyf-u`I~ H%eA8bxS4SM delta 665 zcmX@{RP@AC(S{brEle+WIIdw}n8C)tASb}UUh+KKN!eo-@(9e0Lt$G^7;2L zFkC?5bMD!$wUg;RFUXt;QmE$4fbwDH?11uN=A1y{1I>v#&ScL5GN(fU)tm`XKFpjA zP(I9@14w+JIk!$Tx$A<=;ow6xM*zx)nPULu!_09&;seb|`pNX22V_nI7pgfOP(I9@ z6;M9RoE=DfpgFVHn9D^#=6C?Z4>_CzpnRA)1yDZBoCYL5(3~J?=KBI*_n?^rQV%j0 zX3h#EeW3W-fy4)zQ>4QzuM9G00#qCp?=zr$m^sM$K<1o4HRqB)^Zgjg{nh?y4fFO- JYgn!w1pv>^a7h3F diff --git a/pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.go b/pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.go new file mode 100644 index 000000000..de90b2856 --- /dev/null +++ b/pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.go @@ -0,0 +1,229 @@ +// Code generated by bpf2go; DO NOT EDIT. +//go:build arm64 + +package kafkago + +import ( + "bytes" + _ "embed" + "fmt" + "io" + + "github.com/cilium/ebpf" +) + +type bpfConnectionInfoT struct { + S_addr [16]uint8 + D_addr [16]uint8 + S_port uint16 + D_port uint16 +} + +type bpfGoroutineMetadata struct { + Parent uint64 + Timestamp uint64 +} + +type bpfKafkaGoReqT struct { + Type uint8 + StartMonotimeNs uint64 + EndMonotimeNs uint64 + Topic [64]uint8 + _ [7]byte + Conn bpfConnectionInfoT + Tp bpfTpInfoT + Pid struct { + HostPid uint32 + UserPid uint32 + Ns uint32 + } + Op uint8 + _ [7]byte +} + +type bpfProduceReqT struct { + MsgPtr uint64 + ConnPtr uint64 + StartMonotimeNs uint64 +} + +type bpfTopicT struct { + Name [64]int8 + Tp bpfTpInfoT +} + +type bpfTpInfoPidT struct { + Tp bpfTpInfoT + Pid uint32 + Valid uint8 + _ [3]byte +} + +type bpfTpInfoT struct { + TraceId [16]uint8 + SpanId [8]uint8 + ParentId [8]uint8 + Ts uint64 + Flags uint8 + _ [7]byte +} + +// loadBpf returns the embedded CollectionSpec for bpf. +func loadBpf() (*ebpf.CollectionSpec, error) { + reader := bytes.NewReader(_BpfBytes) + spec, err := ebpf.LoadCollectionSpecFromReader(reader) + if err != nil { + return nil, fmt.Errorf("can't load bpf: %w", err) + } + + return spec, err +} + +// loadBpfObjects loads bpf and converts it into a struct. +// +// The following types are suitable as obj argument: +// +// *bpfObjects +// *bpfPrograms +// *bpfMaps +// +// See ebpf.CollectionSpec.LoadAndAssign documentation for details. +func loadBpfObjects(obj interface{}, opts *ebpf.CollectionOptions) error { + spec, err := loadBpf() + if err != nil { + return err + } + + return spec.LoadAndAssign(obj, opts) +} + +// bpfSpecs contains maps and programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfSpecs struct { + bpfProgramSpecs + bpfMapSpecs +} + +// bpfSpecs contains programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfProgramSpecs struct { + UprobeClientRoundTrip *ebpf.ProgramSpec `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.ProgramSpec `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.ProgramSpec `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.ProgramSpec `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.ProgramSpec `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.ProgramSpec `ebpf:"uprobe_writer_write_messages"` +} + +// bpfMapSpecs contains maps before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfMapSpecs struct { + Events *ebpf.MapSpec `ebpf:"events"` + FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` + GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.MapSpec `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.MapSpec `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.MapSpec `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` + TraceMap *ebpf.MapSpec `ebpf:"trace_map"` +} + +// bpfObjects contains all objects after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfObjects struct { + bpfPrograms + bpfMaps +} + +func (o *bpfObjects) Close() error { + return _BpfClose( + &o.bpfPrograms, + &o.bpfMaps, + ) +} + +// bpfMaps contains all maps after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfMaps struct { + Events *ebpf.Map `ebpf:"events"` + FetchRequests *ebpf.Map `ebpf:"fetch_requests"` + GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.Map `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.Map `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.Map `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.Map `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` + TraceMap *ebpf.Map `ebpf:"trace_map"` +} + +func (m *bpfMaps) Close() error { + return _BpfClose( + m.Events, + m.FetchRequests, + m.GoTraceMap, + m.GolangMapbucketStorageMap, + m.OngoingClientConnections, + m.OngoingGoroutines, + m.OngoingProduceMessages, + m.OngoingProduceTopics, + m.OngoingServerConnections, + m.ProduceRequests, + m.ProduceTraceparents, + m.TraceMap, + ) +} + +// bpfPrograms contains all programs after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfPrograms struct { + UprobeClientRoundTrip *ebpf.Program `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.Program `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.Program `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.Program `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.Program `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.Program `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.Program `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.Program `ebpf:"uprobe_writer_write_messages"` +} + +func (p *bpfPrograms) Close() error { + return _BpfClose( + p.UprobeClientRoundTrip, + p.UprobeProtocolRoundtrip, + p.UprobeProtocolRoundtripRet, + p.UprobeReaderRead, + p.UprobeReaderReadRet, + p.UprobeReaderSendMessage, + p.UprobeWriterProduce, + p.UprobeWriterWriteMessages, + ) +} + +func _BpfClose(closers ...io.Closer) error { + for _, closer := range closers { + if err := closer.Close(); err != nil { + return err + } + } + return nil +} + +// Do not access this directly. +// +//go:embed bpf_bpfel_arm64.o +var _BpfBytes []byte diff --git a/pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.o b/pkg/internal/ebpf/kafkago/bpf_bpfel_arm64.o new file mode 100644 index 0000000000000000000000000000000000000000..2a3257e0f9804469e62df8fada48d0010259b432 GIT binary patch literal 70072 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 W4wtNavgLJt2m3YBkH(jeSMV2h9Iea% literal 0 HcmV?d00001 diff --git a/pkg/internal/ebpf/kafkago/bpf_bpfel_x86.go b/pkg/internal/ebpf/kafkago/bpf_bpfel_x86.go new file mode 100644 index 000000000..1db84fba2 --- /dev/null +++ b/pkg/internal/ebpf/kafkago/bpf_bpfel_x86.go @@ -0,0 +1,229 @@ +// Code generated by bpf2go; DO NOT EDIT. +//go:build 386 || amd64 + +package kafkago + +import ( + "bytes" + _ "embed" + "fmt" + "io" + + "github.com/cilium/ebpf" +) + +type bpfConnectionInfoT struct { + S_addr [16]uint8 + D_addr [16]uint8 + S_port uint16 + D_port uint16 +} + +type bpfGoroutineMetadata struct { + Parent uint64 + Timestamp uint64 +} + +type bpfKafkaGoReqT struct { + Type uint8 + StartMonotimeNs uint64 + EndMonotimeNs uint64 + Topic [64]uint8 + _ [7]byte + Conn bpfConnectionInfoT + Tp bpfTpInfoT + Pid struct { + HostPid uint32 + UserPid uint32 + Ns uint32 + } + Op uint8 + _ [7]byte +} + +type bpfProduceReqT struct { + MsgPtr uint64 + ConnPtr uint64 + StartMonotimeNs uint64 +} + +type bpfTopicT struct { + Name [64]int8 + Tp bpfTpInfoT +} + +type bpfTpInfoPidT struct { + Tp bpfTpInfoT + Pid uint32 + Valid uint8 + _ [3]byte +} + +type bpfTpInfoT struct { + TraceId [16]uint8 + SpanId [8]uint8 + ParentId [8]uint8 + Ts uint64 + Flags uint8 + _ [7]byte +} + +// loadBpf returns the embedded CollectionSpec for bpf. +func loadBpf() (*ebpf.CollectionSpec, error) { + reader := bytes.NewReader(_BpfBytes) + spec, err := ebpf.LoadCollectionSpecFromReader(reader) + if err != nil { + return nil, fmt.Errorf("can't load bpf: %w", err) + } + + return spec, err +} + +// loadBpfObjects loads bpf and converts it into a struct. +// +// The following types are suitable as obj argument: +// +// *bpfObjects +// *bpfPrograms +// *bpfMaps +// +// See ebpf.CollectionSpec.LoadAndAssign documentation for details. +func loadBpfObjects(obj interface{}, opts *ebpf.CollectionOptions) error { + spec, err := loadBpf() + if err != nil { + return err + } + + return spec.LoadAndAssign(obj, opts) +} + +// bpfSpecs contains maps and programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfSpecs struct { + bpfProgramSpecs + bpfMapSpecs +} + +// bpfSpecs contains programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfProgramSpecs struct { + UprobeClientRoundTrip *ebpf.ProgramSpec `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.ProgramSpec `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.ProgramSpec `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.ProgramSpec `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.ProgramSpec `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.ProgramSpec `ebpf:"uprobe_writer_write_messages"` +} + +// bpfMapSpecs contains maps before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpfMapSpecs struct { + Events *ebpf.MapSpec `ebpf:"events"` + FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` + GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.MapSpec `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.MapSpec `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.MapSpec `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` + TraceMap *ebpf.MapSpec `ebpf:"trace_map"` +} + +// bpfObjects contains all objects after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfObjects struct { + bpfPrograms + bpfMaps +} + +func (o *bpfObjects) Close() error { + return _BpfClose( + &o.bpfPrograms, + &o.bpfMaps, + ) +} + +// bpfMaps contains all maps after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfMaps struct { + Events *ebpf.Map `ebpf:"events"` + FetchRequests *ebpf.Map `ebpf:"fetch_requests"` + GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.Map `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.Map `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.Map `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.Map `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` + TraceMap *ebpf.Map `ebpf:"trace_map"` +} + +func (m *bpfMaps) Close() error { + return _BpfClose( + m.Events, + m.FetchRequests, + m.GoTraceMap, + m.GolangMapbucketStorageMap, + m.OngoingClientConnections, + m.OngoingGoroutines, + m.OngoingProduceMessages, + m.OngoingProduceTopics, + m.OngoingServerConnections, + m.ProduceRequests, + m.ProduceTraceparents, + m.TraceMap, + ) +} + +// bpfPrograms contains all programs after they have been loaded into the kernel. +// +// It can be passed to loadBpfObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpfPrograms struct { + UprobeClientRoundTrip *ebpf.Program `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.Program `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.Program `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.Program `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.Program `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.Program `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.Program `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.Program `ebpf:"uprobe_writer_write_messages"` +} + +func (p *bpfPrograms) Close() error { + return _BpfClose( + p.UprobeClientRoundTrip, + p.UprobeProtocolRoundtrip, + p.UprobeProtocolRoundtripRet, + p.UprobeReaderRead, + p.UprobeReaderReadRet, + p.UprobeReaderSendMessage, + p.UprobeWriterProduce, + p.UprobeWriterWriteMessages, + ) +} + +func _BpfClose(closers ...io.Closer) error { + for _, closer := range closers { + if err := closer.Close(); err != nil { + return err + } + } + return nil +} + +// Do not access this directly. +// +//go:embed bpf_bpfel_x86.o +var _BpfBytes []byte diff --git a/pkg/internal/ebpf/kafkago/bpf_bpfel_x86.o b/pkg/internal/ebpf/kafkago/bpf_bpfel_x86.o new file mode 100644 index 0000000000000000000000000000000000000000..013a332cc59b9834148850f2d9df88c2f94470d5 GIT binary patch literal 71536 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 literal 0 HcmV?d00001 diff --git a/pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.go b/pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.go new file mode 100644 index 000000000..9f7ec6043 --- /dev/null +++ b/pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.go @@ -0,0 +1,232 @@ +// Code generated by bpf2go; DO NOT EDIT. +//go:build arm64 + +package kafkago + +import ( + "bytes" + _ "embed" + "fmt" + "io" + + "github.com/cilium/ebpf" +) + +type bpf_debugConnectionInfoT struct { + S_addr [16]uint8 + D_addr [16]uint8 + S_port uint16 + D_port uint16 +} + +type bpf_debugGoroutineMetadata struct { + Parent uint64 + Timestamp uint64 +} + +type bpf_debugKafkaGoReqT struct { + Type uint8 + StartMonotimeNs uint64 + EndMonotimeNs uint64 + Topic [64]uint8 + _ [7]byte + Conn bpf_debugConnectionInfoT + Tp bpf_debugTpInfoT + Pid struct { + HostPid uint32 + UserPid uint32 + Ns uint32 + } + Op uint8 + _ [7]byte +} + +type bpf_debugProduceReqT struct { + MsgPtr uint64 + ConnPtr uint64 + StartMonotimeNs uint64 +} + +type bpf_debugTopicT struct { + Name [64]int8 + Tp bpf_debugTpInfoT +} + +type bpf_debugTpInfoPidT struct { + Tp bpf_debugTpInfoT + Pid uint32 + Valid uint8 + _ [3]byte +} + +type bpf_debugTpInfoT struct { + TraceId [16]uint8 + SpanId [8]uint8 + ParentId [8]uint8 + Ts uint64 + Flags uint8 + _ [7]byte +} + +// loadBpf_debug returns the embedded CollectionSpec for bpf_debug. +func loadBpf_debug() (*ebpf.CollectionSpec, error) { + reader := bytes.NewReader(_Bpf_debugBytes) + spec, err := ebpf.LoadCollectionSpecFromReader(reader) + if err != nil { + return nil, fmt.Errorf("can't load bpf_debug: %w", err) + } + + return spec, err +} + +// loadBpf_debugObjects loads bpf_debug and converts it into a struct. +// +// The following types are suitable as obj argument: +// +// *bpf_debugObjects +// *bpf_debugPrograms +// *bpf_debugMaps +// +// See ebpf.CollectionSpec.LoadAndAssign documentation for details. +func loadBpf_debugObjects(obj interface{}, opts *ebpf.CollectionOptions) error { + spec, err := loadBpf_debug() + if err != nil { + return err + } + + return spec.LoadAndAssign(obj, opts) +} + +// bpf_debugSpecs contains maps and programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpf_debugSpecs struct { + bpf_debugProgramSpecs + bpf_debugMapSpecs +} + +// bpf_debugSpecs contains programs before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpf_debugProgramSpecs struct { + UprobeClientRoundTrip *ebpf.ProgramSpec `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.ProgramSpec `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.ProgramSpec `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.ProgramSpec `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.ProgramSpec `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.ProgramSpec `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.ProgramSpec `ebpf:"uprobe_writer_write_messages"` +} + +// bpf_debugMapSpecs contains maps before they are loaded into the kernel. +// +// It can be passed ebpf.CollectionSpec.Assign. +type bpf_debugMapSpecs struct { + DebugEvents *ebpf.MapSpec `ebpf:"debug_events"` + Events *ebpf.MapSpec `ebpf:"events"` + FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` + GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.MapSpec `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.MapSpec `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.MapSpec `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` + TraceMap *ebpf.MapSpec `ebpf:"trace_map"` +} + +// bpf_debugObjects contains all objects after they have been loaded into the kernel. +// +// It can be passed to loadBpf_debugObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpf_debugObjects struct { + bpf_debugPrograms + bpf_debugMaps +} + +func (o *bpf_debugObjects) Close() error { + return _Bpf_debugClose( + &o.bpf_debugPrograms, + &o.bpf_debugMaps, + ) +} + +// bpf_debugMaps contains all maps after they have been loaded into the kernel. +// +// It can be passed to loadBpf_debugObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpf_debugMaps struct { + DebugEvents *ebpf.Map `ebpf:"debug_events"` + Events *ebpf.Map `ebpf:"events"` + FetchRequests *ebpf.Map `ebpf:"fetch_requests"` + GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` + GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` + OngoingGoroutines *ebpf.Map `ebpf:"ongoing_goroutines"` + OngoingProduceMessages *ebpf.Map `ebpf:"ongoing_produce_messages"` + OngoingProduceTopics *ebpf.Map `ebpf:"ongoing_produce_topics"` + OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` + ProduceRequests *ebpf.Map `ebpf:"produce_requests"` + ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` + TraceMap *ebpf.Map `ebpf:"trace_map"` +} + +func (m *bpf_debugMaps) Close() error { + return _Bpf_debugClose( + m.DebugEvents, + m.Events, + m.FetchRequests, + m.GoTraceMap, + m.GolangMapbucketStorageMap, + m.OngoingClientConnections, + m.OngoingGoroutines, + m.OngoingProduceMessages, + m.OngoingProduceTopics, + m.OngoingServerConnections, + m.ProduceRequests, + m.ProduceTraceparents, + m.TraceMap, + ) +} + +// bpf_debugPrograms contains all programs after they have been loaded into the kernel. +// +// It can be passed to loadBpf_debugObjects or ebpf.CollectionSpec.LoadAndAssign. +type bpf_debugPrograms struct { + UprobeClientRoundTrip *ebpf.Program `ebpf:"uprobe_client_roundTrip"` + UprobeProtocolRoundtrip *ebpf.Program `ebpf:"uprobe_protocol_roundtrip"` + UprobeProtocolRoundtripRet *ebpf.Program `ebpf:"uprobe_protocol_roundtrip_ret"` + UprobeReaderRead *ebpf.Program `ebpf:"uprobe_reader_read"` + UprobeReaderReadRet *ebpf.Program `ebpf:"uprobe_reader_read_ret"` + UprobeReaderSendMessage *ebpf.Program `ebpf:"uprobe_reader_send_message"` + UprobeWriterProduce *ebpf.Program `ebpf:"uprobe_writer_produce"` + UprobeWriterWriteMessages *ebpf.Program `ebpf:"uprobe_writer_write_messages"` +} + +func (p *bpf_debugPrograms) Close() error { + return _Bpf_debugClose( + p.UprobeClientRoundTrip, + p.UprobeProtocolRoundtrip, + p.UprobeProtocolRoundtripRet, + p.UprobeReaderRead, + p.UprobeReaderReadRet, + p.UprobeReaderSendMessage, + p.UprobeWriterProduce, + p.UprobeWriterWriteMessages, + ) +} + +func _Bpf_debugClose(closers ...io.Closer) error { + for _, closer := range closers { + if err := closer.Close(); err != nil { + return err + } + } + return nil +} + +// Do not access this directly. +// +//go:embed bpf_debug_bpfel_arm64.o +var _Bpf_debugBytes []byte diff --git a/pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.o b/pkg/internal/ebpf/kafkago/bpf_debug_bpfel_arm64.o new file mode 100644 index 0000000000000000000000000000000000000000..4bbf4f4e84a0cfc30d9a478143d94ef70d8c8f12 GIT binary patch literal 97088 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 QnX>_j4>X7CG~>I&0BNi?ng9R* delta 227 zcmew{m+Qw|u7)j)k}ZyF7#KX17#O|De3&^qpnRA)Cy@9cb7nK<>x0ax;6XK~0m_G&vjED6 QnX>_j4>X7CG~>I&08gkkUH||9 diff --git a/pkg/internal/ebpf/nethttp/bpf_bpfel_x86.o b/pkg/internal/ebpf/nethttp/bpf_bpfel_x86.o index 8b15b3333fcce388cda681b68d531c48e9aeec24..6c38674ef277920e04ef629979f0921e407b690d 100644 GIT binary patch delta 227 zcmZ3nl553Eu7)j)Cp#TCFfe#1F)*YDGcYs*F&mH{0OijC^4a$=Fcd)f7lC~K0}Koe zNPNx%+qt?J_ltqdnZS=~&I~9YX3h>MA7;)8BtFQTg^c<7Aag2sP|az8@?qvIfbwDH PY(U}z&DnK<@!eqnsMA7;)8BtFQTg^c<7Aag2sP|az8@?qvIfbwDH PY(U}z&DnK<@!eqnkg_#s diff --git a/pkg/internal/ebpf/nethttp/bpf_debug_bpfel_arm64.o b/pkg/internal/ebpf/nethttp/bpf_debug_bpfel_arm64.o index 6229c0232cb5248864d9521e98cda0ed45ccae69..97e99caf986940e03fda6d04920d22e081308fc0 100644 GIT binary patch delta 233 zcmdn-mv6^kzJ?aYElj%ljvE*l1k4#2jH4JB{DGJa$d`cfGk|>dJq!#MQ2tyXpZ@>@ zg9j3y^T75zeWrS8kU0sWsODrq`7m=jpnRA)Gm!W|bM(BK^zA|B+(0wu0h&1sVi0>^ V<_IA1IS;hY>tfnIuZvmA1OOV@FPZ=V delta 233 zcmdn-mv6^kzJ?aYElj%lj%yeg1k4#2jH4JB{DGJa$d`cfGk|>d9SjT>Q2tyXpMMVn zg9j3ybI^ V<_IA1Irp^B>tfnIuZvmA1OWfmFJ1ru diff --git a/pkg/internal/ebpf/nethttp/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/nethttp/bpf_debug_bpfel_x86.o index 6c0700facace007002a50f8fb348f42f15786a5a..19a9fb67423771a96890ee2cd67e5713ed7695fb 100644 GIT binary patch delta 233 zcmaFS!T+LzzoCV33)4dr#|;b&0_F@1OQIPV4gfJ5kS_t{-vsj6_b@P6K>2(z3=I4S z7#KW|_?!o}E15FYOM}cw5Jfd71ImY)(*fnf%$b422b%LJfJxsTWX=sVa~`0X!ypE+ W2WE}{5})%xd(Z@??LiZm#Y_Owj5K5b delta 233 zcmaFS!T+LzzoCV33)4dr$2ANL0_F@1OQIPV4gfJ5kS_t{-vsj6cQ7zmK>2(z3=I5x z7#KW|_?&yTE15FYOM}cw5Jfd71ImY)(*fnf%$b422b%LJfJxsTWX=sVa~`0X!ypE+ W2WE}{5}$KVd(Z@??LiZm#Y_OVm^3H= diff --git a/pkg/internal/ebpf/nethttp/bpf_tp_bpfel_arm64.o b/pkg/internal/ebpf/nethttp/bpf_tp_bpfel_arm64.o index 2f2269c6bf14867a77f003c483dd640eaa9d8de4..87ff6e8bc6153d9db58bfde3924e26c28346b82d 100644 GIT binary patch delta 227 zcmccchWo-B?uIRlx?3DKFfe#1F)-u>F)(xiF&mH{0OcMA7;)8BtFobf2SGeyMfH9;6XK~0m_G&vjED6 QnX>_j4>aeV5L3}(0KjoKDgXcg delta 227 zcmccchWo-B?uIRlx?3FAFfe#1F)-u>F)(xiF&mH{0OcMA7;)8BtFobf2SGeyMfH9;6XK~0m_G&vjED6 QnX>_j4>aeV5L3}(0H$p=?f?J) diff --git a/pkg/internal/ebpf/nethttp/bpf_tp_bpfel_x86.o b/pkg/internal/ebpf/nethttp/bpf_tp_bpfel_x86.o index 87183f872c3d06117c68d27d0c5dee3cc2494950..22b31db405c436bff4626a3ef9cdb8e012263632 100644 GIT binary patch delta 227 zcmZqp!QB8vTNoeiblkwe;Gx98a6g!V;WrSo0r>$?zDNiI1N$BZh5{(x6UgU3z`)Re z#OFM)U1=Aizc|R83H+$$%z*M?=Ins-Vdk7b;sedubdhns8_1jr9#nH0pnRA)3!r?M QIUA7pKyxNZFy%c40KMQiJ^%m! delta 227 zcmZqp!QB8vTNoeibX>#0;Gx98a6g!V;WrSo0r>$?zDNiI1N#mJh5{(x6UgV^!@$sh z#OK_zU1=Aizc|R83H+$$%z*M?=Ins-Vdk7b;sedubdhns8_1jr9#nH0pnRA)3!r?M QIUA7pKyxNZFy%c40HfSE0ssI2 diff --git a/pkg/internal/ebpf/nethttp/bpf_tp_debug_bpfel_arm64.o b/pkg/internal/ebpf/nethttp/bpf_tp_debug_bpfel_arm64.o index cc187562738d8591ef17c97f3d2810d0f54006f2..31eb71c8c5a4143abf6f71d0907ffa1a99705a2c 100644 GIT binary patch delta 233 zcmdn-NpQy}!G;#bElia?jvE*l1k4#2R!1=~90y`HAYTH?e*omO?_prDfbvD785sBv zFfe!^@i`A{-_^rZF9R|sK@`=T3@9IFP6w0^GiL@8A81b1N~Zg9Aaib@nezb690oCn XJuq_wkocSj+GlYvZ=c1%GOqvtI4Cz# delta 233 zcmdn-NpQy}!G;#bElia?j%yeg1k4#2R!1=~90y`HAYTH?e*omO?_glCfbvD785sEY zFfe!^@j3Tw-_^rZF9R|sK@`=T3@9IFP6w0^GiL@8A81b1N~Zg9Aaib@nezb690oCn XJuq_wkocT?+GlYvZ=c1%GOqvt9W*x< diff --git a/pkg/internal/ebpf/nethttp/bpf_tp_debug_bpfel_x86.o b/pkg/internal/ebpf/nethttp/bpf_tp_debug_bpfel_x86.o index 4408e632d765371f05ccc488ec8dd346a7b55de6..f9af4655cfd70aba42759f7f5be6ae7f92697eb3 100644 GIT binary patch delta 233 zcmaFySMbGO!G;#bEliq|95*m92$(Z4$iy%(SO75_kS_t{2Lk!*dw}9lejAX_e}I9( z1BuUhV0+dirg|BWISHbu=43$mFmpPfe3&^ikoZ7zwAM4-j{})=1I?TVXy!18LF|E< UBY?!`JkajN$GqK(k7Zr~0ChJn7ytkO delta 233 zcmaFySMbGO!G;#bEliq|9M>=~2$(Z4$iy%(SO75_kS_t{2Lk!*JAmR)ejAX_zlVXr z1BuVMXM5Hprg|BWISHbu=43$mFmpPfe3&^ikoZ7zwAM4-j{})=1I?TVXy!18LF|E< UBY?!`+|%yG$GqK(k7Zr~09r#X+yDRo diff --git a/pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.go b/pkg/internal/ebpf/sarama/bpf_bpfel_arm64.go similarity index 99% rename from pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.go rename to pkg/internal/ebpf/sarama/bpf_bpfel_arm64.go index fff66a7de..ea688cf14 100644 --- a/pkg/internal/ebpf/gokafka/bpf_bpfel_arm64.go +++ b/pkg/internal/ebpf/sarama/bpf_bpfel_arm64.go @@ -1,7 +1,7 @@ // Code generated by bpf2go; DO NOT EDIT. //go:build arm64 -package gokafka +package sarama import ( "bytes" diff --git a/pkg/internal/ebpf/sarama/bpf_bpfel_arm64.o b/pkg/internal/ebpf/sarama/bpf_bpfel_arm64.o new file mode 100644 index 0000000000000000000000000000000000000000..de95d9dfcfbcde2233f502b039c4abdc60b9264d GIT binary patch literal 50344 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 F{{i0Wx~2dC literal 0 HcmV?d00001 diff --git a/pkg/internal/ebpf/gokafka/bpf_bpfel_x86.go b/pkg/internal/ebpf/sarama/bpf_bpfel_x86.go similarity index 99% rename from pkg/internal/ebpf/gokafka/bpf_bpfel_x86.go rename to pkg/internal/ebpf/sarama/bpf_bpfel_x86.go index e678dabb9..b1ecebf95 100644 --- a/pkg/internal/ebpf/gokafka/bpf_bpfel_x86.go +++ b/pkg/internal/ebpf/sarama/bpf_bpfel_x86.go @@ -1,7 +1,7 @@ // Code generated by bpf2go; DO NOT EDIT. //go:build 386 || amd64 -package gokafka +package sarama import ( "bytes" diff --git a/pkg/internal/ebpf/sarama/bpf_bpfel_x86.o b/pkg/internal/ebpf/sarama/bpf_bpfel_x86.o new file mode 100644 index 0000000000000000000000000000000000000000..4926978c83b542e4743598f2924e1d7129c00d75 GIT binary patch literal 51816 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 literal 0 HcmV?d00001 diff --git a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.go b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.go similarity index 99% rename from pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.go rename to pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.go index 3c30e3c7e..97acab76e 100644 --- a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_arm64.go +++ b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.go @@ -1,7 +1,7 @@ // Code generated by bpf2go; DO NOT EDIT. //go:build arm64 -package gokafka +package sarama import ( "bytes" diff --git a/pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.o b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_arm64.o new file mode 100644 index 0000000000000000000000000000000000000000..66299b005ab570374daefc0f851dad255d3505cf GIT binary patch literal 67200 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 Zwj<3gk9&Q68$d?>UcwdPUnn8w{{fb%US0qI literal 0 HcmV?d00001 diff --git a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.go b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.go similarity index 99% rename from pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.go rename to pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.go index 66fa04cd5..79a2370bc 100644 --- a/pkg/internal/ebpf/gokafka/bpf_debug_bpfel_x86.go +++ b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.go @@ -1,7 +1,7 @@ // Code generated by bpf2go; DO NOT EDIT. //go:build 386 || amd64 -package gokafka +package sarama import ( "bytes" diff --git a/pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.o b/pkg/internal/ebpf/sarama/bpf_debug_bpfel_x86.o new file mode 100644 index 0000000000000000000000000000000000000000..d13aa40c3271df2e8ac17f9a121096ec9658c1c1 GIT binary patch literal 68680 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ą)0Ocw54kCwx`H*Co6+;d-trF5j&Q-=6TD3E!RYy$Ro+@Pi3I zobXoL4>a$%0az0OZ~Tf&zoT+cPe{?{eEH{oLm-NFC=_*!aEXPNq8;c+Y-Jb;ky!EPx!usA4vG2gu4eu;{4BrL_FLt4CT?DxQFx3 z;2!Qf2HuhAhx5?jUQ67!C45K1cO|@@@O=qCknlqZ=cdPm{D$+{kiLB4uIDgif_ow1 zs}tUl@JhmK3E!6R9SPr+@Or}cCHz3b4<$U@fDZWy_kjb?+xc_g;k-KVLgKzU;T;LD zB)pdJZ3*9z@LdV7CwyPRe-v>Yb^JQv$JzP0@+0?C6TT?nS4CVy$=ZZ>CwwH~cPISy z34cezA4>SA6aLkNe>dTJ?olSx*Ku|OJMdEzz9`|(O8E5&za!!O34dY2UzPBC6aJor ze>~w2C;X9wUwgx?w@-WajAL4_JNCHiXV01Y#1rS8e9Dbae#%X!oqony=P$YCf(vhZ z#xvJla_RGnt8ZTOoV6XL&aUU4{j|1o`OHo9JDAyGeb|oor_23|uULEaVvz~2WH(;L zp7?Qq^a~n#DL%Z+I`QKR?i;&D2<0(ens)(CNJ;$q_heVaFgXorGAC7ACHkp z1$V?W%5m!7x#vrmouli+r}U!N*dPBp_Y+>#pYRg@#L{=47to9TL7aZCBFHCyt;Ad! z*^j@*;DRMug&gw8cc}SJls=Hf2Z8lIeA9_Hne~G!vD4&_283|d5Anf8zU$0)g4Pf9 z^LZ-$@~3_N-d@?41jnL(om%9`t<$w_?|i;xDQ*?n;{JYKo7QXVywsh96E}`2!kOTF zq|ebb%5UPQDy9hTNSgNL2Yw)ac%;;sE#_;L&bDtJgua_yf5jC`ioeU3FVtZse<~x+ zRp_^Tcg2OiY`M2DaQ4#TlJt8Zsb?3%<598zpJDNseSz6aolSg4`$&n;(&N&ypf6I4 z?L}u1!O^~z;xd#f#SO{^B0jF;>*GQn{*t48sl}%})k;HlS}w>X#brnPM2t&os+5K( zrDaOv(&7a^$Kh3n8Y`+rAa3|LbnLzymYA* zbn0))rkE-pfEWA@pLlV(;hQk7DJ@AorYZ3ylxn3(@mjxQVYFLeq~Ehili-?0 zyI(Q=e*ZtpeHFX4G9jR`M?IZw=Z?YAZo>tdX`3dQ9Zxspg$9}kw4RI2e{x^zvHXYU z1B0I=IoZ$fucN_2P%yjxZ4V9@*K%6<4E}90V}bAXI#z`zHEKf3-IQ2nrVXfQqK z_D=+A28p5Tf1nA`0gGo``maLW50i({F#UD2VImM3J^fw;>c 0" + - promql: 'messaging_publish_duration_bucket{le="0"}' + value: "== 0" + - promql: 'messaging_publish_duration_bucket{le="10"}' + value: "> 0" + - promql: 'messaging_process_duration_count{messaging_system="kafka", messaging_destination_name="logging"}' + value: "> 0" + - promql: 'messaging_process_duration_bucket{le="0"}' + value: "== 0" + - promql: 'messaging_process_duration_bucket{le="10"}' + value: "> 0" diff --git a/test/oats/kafka/yaml/oats_go_kafka.yaml b/test/oats/kafka/yaml/oats_go_kafka-sarama.yaml similarity index 97% rename from test/oats/kafka/yaml/oats_go_kafka.yaml rename to test/oats/kafka/yaml/oats_go_kafka-sarama.yaml index 5bc5ef417..4e9899d3f 100644 --- a/test/oats/kafka/yaml/oats_go_kafka.yaml +++ b/test/oats/kafka/yaml/oats_go_kafka-sarama.yaml @@ -1,7 +1,7 @@ docker-compose: generator: generic files: - - ../docker-compose-beyla-go-kafka.yml + - ../docker-compose-beyla-go-kafka-sarama.yml input: - path: '/?data'