diff --git a/bpf/http_types.h b/bpf/http_types.h index f6e42e440..f9f86bda4 100644 --- a/bpf/http_types.h +++ b/bpf/http_types.h @@ -175,12 +175,13 @@ const u8 ip4ip6_prefix[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff}; #ifdef BPF_DEBUG static __always_inline void dbg_print_http_connection_info(connection_info_t *info) { - bpf_dbg_printk("[http] s_h = %llx, s_l = %llx, d_h = %llx, d_l = %llx, s_port=%d, d_port=%d", + bpf_dbg_printk("[conn] s_h = %llx, s_l = %llx, s_port=%d", *(u64 *)(&info->s_addr), *(u64 *)(&info->s_addr[8]), + info->s_port); + bpf_dbg_printk("[conn] d_h = %llx, d_l = %llx, d_port=%d", *(u64 *)(&info->d_addr), *(u64 *)(&info->d_addr[8]), - info->s_port, info->d_port); } #else diff --git a/bpf/k_tracer.c b/bpf/k_tracer.c index 85781862e..2053ddf1a 100644 --- a/bpf/k_tracer.c +++ b/bpf/k_tracer.c @@ -10,6 +10,8 @@ char __license[] SEC("license") = "Dual MIT/GPL"; +#define TC_SYN_PACKET_ID 0xdeadf00d + // Temporary tracking of accept arguments struct { __uint(type, BPF_MAP_TYPE_LRU_HASH); @@ -186,6 +188,39 @@ int BPF_KPROBE(kprobe_tcp_connect, struct sock *sk) { bpf_dbg_printk("=== tcp connect %llx ===", id); + tp_info_pid_t *tp_p = tp_buf(); + + // Connect runs before the SYN packet is sent. + // We use this opportunity to setup a trace context information for the connection. + // We'll later query the trace information in tc_egress, and serialize it on the TCP packet. + // Why would we do this here instead of on the tc_egress itself? We could move this on the tc_egress, + // but we would be modifying all packets, not just for processes which are instrumented, + // since we can't reliably tell the process PID in TC or socket filters. + if (tp_p) { + tp_p->tp.ts = bpf_ktime_get_ns(); + tp_p->tp.flags = 1; + tp_p->valid = 1; + tp_p->pid = TC_SYN_PACKET_ID; // set an ID up here in case someone else is doing what we are doing + urand_bytes(tp_p->tp.span_id, SPAN_ID_SIZE_BYTES); + tp_info_pid_t *server_tp = find_parent_trace(); + if (server_tp && valid_trace(server_tp->tp.trace_id)) { + __builtin_memcpy(tp_p->tp.trace_id, server_tp->tp.trace_id, sizeof(tp_p->tp.trace_id)); + __builtin_memcpy(tp_p->tp.parent_id, server_tp->tp.span_id, sizeof(tp_p->tp.parent_id)); + } else { + urand_bytes(tp_p->tp.trace_id, TRACE_ID_SIZE_BYTES); + __builtin_memset(tp_p->tp.parent_id, 0, sizeof(tp_p->tp.span_id)); + } + + connection_info_t conn = {}; + parse_sock_info(sk, &conn); + sort_connection_info(&conn); + + bpf_dbg_printk("Setting up tp info"); + dbg_print_http_connection_info(&conn); + + bpf_map_update_elem(&outgoing_trace_map, &conn, tp_p, BPF_ANY); + } + u64 addr = (u64)sk; sock_args_t args = {}; @@ -232,7 +267,7 @@ int BPF_KRETPROBE(kretprobe_sys_connect, int fd) sort_connection_info(&info.p_conn.conn); info.p_conn.pid = pid_from_pid_tgid(id); info.orig_dport = orig_dport; - + bpf_map_update_elem(&pid_tid_to_conn, &id, &info, BPF_ANY); // to support SSL } @@ -678,17 +713,35 @@ int app_ingress(struct __sk_buff *skb) { return 0; } - unsigned char buf[12]; + // handle SYN only, ignore SYN+ACK packets + if (!tcp_syn(&tcp) || tcp_ack(&tcp)) { + return 0; + } - if (tcp_syn(&tcp) && !tcp_ack(&tcp)) { - bpf_skb_load_bytes(skb, tcp.hdr_len, &buf, 4); + if (skb->len - tcp.hdr_len < sizeof(tp_info_pid_t)) { + bpf_printk("SYN packet without tp info"); + return 0; + } + + tp_info_pid_t tp = {0}; - s32 len = skb->len-sizeof(u32); - bpf_printk("SYN packed len = %d, offset = %d, hdr_len %d", skb->len, len, tcp.hdr_len); + bpf_skb_load_bytes(skb, tcp.hdr_len, &tp, sizeof(tp_info_pid_t)); - bpf_printk("***Data: %x%x", buf[3], buf[2]); - bpf_printk("***Data: %x%x", buf[1], buf[0]); + if (tp.pid != TC_SYN_PACKET_ID) { + bpf_printk("SYN packet without the custom ID inside pid, ignoring..."); + return 0; } + + s32 len = skb->len-sizeof(u32); + bpf_printk("Received SYN packed len = %d, offset = %d, hdr_len %d", skb->len, len, tcp.hdr_len); + + unsigned char tp_buf[TP_MAX_VAL_LENGTH]; + make_tp_string(tp_buf, &tp.tp); + bpf_printk("tp: %s", tp_buf); + + // Once we receive a traceID over the wire (TCP packet) we store it for later to be used by the trace code. + bpf_map_update_elem(&incoming_trace_map, &conn, &tp, BPF_ANY); + return 0; } @@ -703,17 +756,26 @@ int app_egress(struct __sk_buff *skb) { return 0; } + // handle SYN only, ignore SYN+ACK packets + if (!tcp_syn(&tcp) || tcp_ack(&tcp)) { + return 0; + } + sort_connection_info(&conn); - if (tcp_syn(&tcp) && !tcp_ack(&tcp)) { + tp_info_pid_t *tp = bpf_map_lookup_elem(&outgoing_trace_map, &conn); + + if (tp) { bpf_printk("SYN packed len = %d", skb->len); - u32 val=0xdeadf00d; + unsigned char tp_buf[TP_MAX_VAL_LENGTH]; + make_tp_string(tp_buf, &tp->tp); + bpf_printk("tp: %s", tp_buf); uint16_t pkt_end = skb->data_end - skb->data; bpf_printk("Changing tail and setting data on syn, end=%d", pkt_end); - bpf_skb_change_tail(skb, pkt_end + sizeof(val), 0); - bpf_skb_store_bytes(skb, pkt_end, &val, sizeof(val), 0); + bpf_skb_change_tail(skb, pkt_end + sizeof(tp_info_pid_t), 0); + bpf_skb_store_bytes(skb, pkt_end, tp, sizeof(tp_info_pid_t), 0); u32 offset_ip_tot_len = 0; u32 offset_ip_checksum = 0; @@ -724,10 +786,10 @@ int app_egress(struct __sk_buff *skb) { offset_ip_tot_len = ETH_HLEN + offsetof(struct ipv6hdr, payload_len); } - u16 new_tot_len = bpf_htons(bpf_ntohs(tcp.tot_len) + sizeof(val)); + u16 new_tot_len = bpf_htons(bpf_ntohs(tcp.tot_len) + sizeof(tp_info_pid_t)); - bpf_printk("tot_len = %d, tot_len_alt = %d, new_tot_len = %d", tcp.tot_len, bpf_ntohs(tcp.tot_len), new_tot_len); - bpf_printk("new_tot_len_alt = %d, h_proto = %d, skb->len = %d", bpf_ntohs(new_tot_len), tcp.h_proto, skb->len); + bpf_printk("tot_len = %u, new_tot_len = %u", bpf_ntohs(tcp.tot_len), bpf_ntohs(new_tot_len)); + bpf_printk("h_proto = %u, skb->len = %u", tcp.h_proto, skb->len); if (offset_ip_checksum) { bpf_l3_csum_replace(skb, offset_ip_checksum, tcp.tot_len, new_tot_len, sizeof(u16)); diff --git a/bpf/protocol_http.h b/bpf/protocol_http.h index 700d74ec4..9e0edc644 100644 --- a/bpf/protocol_http.h +++ b/bpf/protocol_http.h @@ -263,7 +263,7 @@ int protocol_http(void *ctx) { if (meta->type == EVENT_HTTP_CLIENT && !valid_span(tp_p->tp.parent_id)) { bpf_dbg_printk("Looking for trace id of a client span"); tp_info_pid_t *server_tp = find_parent_trace(); - if (server_tp && server_tp->valid) { + if (server_tp && server_tp->valid && valid_trace(server_tp->tp.trace_id)) { bpf_dbg_printk("Found existing server span for id=%llx", bpf_get_current_pid_tgid()); __builtin_memcpy(info->tp.trace_id, server_tp->tp.trace_id, sizeof(info->tp.trace_id)); __builtin_memcpy(info->tp.parent_id, server_tp->tp.span_id, sizeof(info->tp.parent_id)); diff --git a/bpf/protocol_tcp.h b/bpf/protocol_tcp.h index 71b2e124a..242772b46 100644 --- a/bpf/protocol_tcp.h +++ b/bpf/protocol_tcp.h @@ -50,7 +50,7 @@ static __always_inline void handle_unknown_tcp_connection(pid_connection_info_t tp_info_pid_t *server_tp = find_parent_trace(); - if (server_tp && server_tp->valid) { + if (server_tp && server_tp->valid && valid_trace(server_tp->tp.trace_id)) { bpf_dbg_printk("Found existing server tp for client call"); __builtin_memcpy(req->tp.trace_id, server_tp->tp.trace_id, sizeof(req->tp.trace_id)); __builtin_memcpy(req->tp.parent_id, server_tp->tp.span_id, sizeof(req->tp.parent_id)); diff --git a/bpf/tcp_info.h b/bpf/tcp_info.h index d6b1513a6..dc38b3c41 100644 --- a/bpf/tcp_info.h +++ b/bpf/tcp_info.h @@ -101,7 +101,7 @@ static __always_inline bool read_sk_buff(struct __sk_buff *skb, protocol_info_t tcp->h_proto = h_proto; tcp->hdr_len += doff; - if ((skb->len - tcp->hdr_len) < 0) { // less than 0 is a packet we can't parse + if (tcp->hdr_len > skb->len) { // bad packet, hdr_len is greater than the skb len, we can't parse this. return false; } diff --git a/bpf/trace_common.h b/bpf/trace_common.h index 6941cf1df..a15afc50c 100644 --- a/bpf/trace_common.h +++ b/bpf/trace_common.h @@ -156,6 +156,14 @@ static __always_inline void delete_server_trace(trace_key_t *t_key) { // bpf_dbg_printk("Deleting server span for id=%llx, pid=%d, ns=%d, res = %d", bpf_get_current_pid_tgid(), t_key->p_key.pid, t_key->p_key.ns, res); } +static __always_inline u8 valid_span(unsigned char *span_id) { + return *((u64 *)span_id) != 0; +} + +static __always_inline u8 valid_trace(unsigned char *trace_id) { + return *((u64 *)trace_id) != 0 && *((u64 *)(trace_id + 8)) != 0; +} + static __always_inline void server_or_client_trace(http_connection_metadata_t *meta, connection_info_t *conn, tp_info_pid_t *tp_p) { if (!meta) { return; @@ -196,27 +204,47 @@ static __always_inline void get_or_create_trace_info(http_connection_metadata_t if (meta) { if (meta->type == EVENT_HTTP_CLIENT) { + // Before this change the client code only looked for a server wrapped trace and + // if it didn't find it would generate the trace information later. Now we look if + // the TC egress has setup TCP trace info for us. If we find this info we set the bool as having trace info, + // i.e. we must not regenerate it later. The kprobe on 'tcp_connect' does the lookup of the server trace + // for us, so the server context should already be setup. + tp_info_pid_t *in_tp = bpf_map_lookup_elem(&outgoing_trace_map, conn); tp_p->pid = -1; // we only want to prevent correlation of duplicate server calls by PID - tp_info_pid_t *server_tp = find_parent_trace(); - - if (server_tp && server_tp->valid) { + if (in_tp) { found_tp = 1; - bpf_dbg_printk("Found existing server tp for client call"); - __builtin_memcpy(tp_p->tp.trace_id, server_tp->tp.trace_id, sizeof(tp_p->tp.trace_id)); - __builtin_memcpy(tp_p->tp.parent_id, server_tp->tp.span_id, sizeof(tp_p->tp.parent_id)); + tp_p = in_tp; + } else { + tp_info_pid_t *server_tp = find_parent_trace(); + + if (server_tp && server_tp->valid && valid_trace(server_tp->tp.trace_id)) { + found_tp = 1; + bpf_dbg_printk("Found existing server tp for client call"); + __builtin_memcpy(tp_p->tp.trace_id, server_tp->tp.trace_id, sizeof(tp_p->tp.trace_id)); + __builtin_memcpy(tp_p->tp.parent_id, server_tp->tp.span_id, sizeof(tp_p->tp.parent_id)); + } } } else { //bpf_dbg_printk("Looking up existing trace for connection"); //dbg_print_http_connection_info(conn); - tp_info_pid_t *existing_tp = trace_info_for_connection(conn); - - if (correlated_requests(tp_p, existing_tp)) { + // For server requests, we first look for TCP info (setup by TC ingress) and then we fall back to black-box info. + tp_info_pid_t *existing_tp = bpf_map_lookup_elem(&incoming_trace_map, conn); + if (existing_tp) { found_tp = 1; - bpf_dbg_printk("Found existing correlated tp for server request"); + bpf_dbg_printk("Found incoming (TCP) tp for server request"); __builtin_memcpy(tp_p->tp.trace_id, existing_tp->tp.trace_id, sizeof(tp_p->tp.trace_id)); __builtin_memcpy(tp_p->tp.parent_id, existing_tp->tp.span_id, sizeof(tp_p->tp.parent_id)); - } + } else { + existing_tp = trace_info_for_connection(conn); + + if (correlated_requests(tp_p, existing_tp)) { + found_tp = 1; + bpf_dbg_printk("Found existing correlated tp for server request"); + __builtin_memcpy(tp_p->tp.trace_id, existing_tp->tp.trace_id, sizeof(tp_p->tp.trace_id)); + __builtin_memcpy(tp_p->tp.parent_id, existing_tp->tp.span_id, sizeof(tp_p->tp.parent_id)); + } + } } } @@ -276,8 +304,4 @@ static __always_inline void get_or_create_trace_info(http_connection_metadata_t return; } -static __always_inline u8 valid_span(unsigned char *span_id) { - return *((u64 *)span_id) != 0; -} - #endif \ No newline at end of file diff --git a/bpf/tracing.h b/bpf/tracing.h index d7c2cdb16..b9e90f7a6 100644 --- a/bpf/tracing.h +++ b/bpf/tracing.h @@ -15,6 +15,20 @@ struct { __uint(pinning, LIBBPF_PIN_BY_NAME); } trace_map SEC(".maps"); +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, connection_info_t); // key: the connection info + __type(value, tp_info_pid_t); // value: traceparent info + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} incoming_trace_map SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_LRU_HASH); + __type(key, connection_info_t); // key: the connection info + __type(value, tp_info_pid_t); // value: traceparent info + __uint(max_entries, MAX_CONCURRENT_REQUESTS); +} outgoing_trace_map SEC(".maps"); + static __always_inline void make_tp_string(unsigned char *buf, tp_info_t *tp) { // Version *buf++ = '0'; *buf++ = '0'; *buf++ = '-'; @@ -34,7 +48,7 @@ static __always_inline void make_tp_string(unsigned char *buf, tp_info_t *tp) { } static __always_inline tp_info_pid_t *trace_info_for_connection(connection_info_t *conn) { - return (tp_info_pid_t *)bpf_map_lookup_elem(&trace_map, conn); + return (tp_info_pid_t *)bpf_map_lookup_elem(&trace_map, conn); } static __always_inline u64 current_epoch(u64 ts) { diff --git a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.go index 5ccf20278..b51d548f6 100644 --- a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.go @@ -262,6 +262,7 @@ type bpfMapSpecs struct { FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -282,6 +283,7 @@ type bpfMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -311,6 +313,7 @@ type bpfMaps struct { FetchRequests *ebpf.Map `ebpf:"fetch_requests"` GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -331,6 +334,7 @@ type bpfMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -343,6 +347,7 @@ func (m *bpfMaps) Close() error { m.FetchRequests, m.GoTraceMap, m.GolangMapbucketStorageMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -363,6 +368,7 @@ func (m *bpfMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o index dbc05699f..468a14586 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.go index b75dec753..acb02f26b 100644 --- a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.go @@ -263,6 +263,7 @@ type bpf_debugMapSpecs struct { FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -283,6 +284,7 @@ type bpf_debugMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -313,6 +315,7 @@ type bpf_debugMaps struct { FetchRequests *ebpf.Map `ebpf:"fetch_requests"` GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -333,6 +336,7 @@ type bpf_debugMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -346,6 +350,7 @@ func (m *bpf_debugMaps) Close() error { m.FetchRequests, m.GoTraceMap, m.GolangMapbucketStorageMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -366,6 +371,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o index c3337871a..107686ee0 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.go index caf55b649..5d7a2f191 100644 --- a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.go @@ -263,6 +263,7 @@ type bpf_debugMapSpecs struct { FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -283,6 +284,7 @@ type bpf_debugMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -313,6 +315,7 @@ type bpf_debugMaps struct { FetchRequests *ebpf.Map `ebpf:"fetch_requests"` GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -333,6 +336,7 @@ type bpf_debugMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -346,6 +350,7 @@ func (m *bpf_debugMaps) Close() error { m.FetchRequests, m.GoTraceMap, m.GolangMapbucketStorageMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -366,6 +371,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o index 10affcbab..f546ac533 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.go index 2e295d85f..dd2f50f48 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.go @@ -278,6 +278,7 @@ type bpf_tpMapSpecs struct { GrpcFramerInvocationMap *ebpf.MapSpec `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.MapSpec `ebpf:"header_req_map"` Http2ReqMap *ebpf.MapSpec `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -298,6 +299,7 @@ type bpf_tpMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -331,6 +333,7 @@ type bpf_tpMaps struct { GrpcFramerInvocationMap *ebpf.Map `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.Map `ebpf:"header_req_map"` Http2ReqMap *ebpf.Map `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -351,6 +354,7 @@ type bpf_tpMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -367,6 +371,7 @@ func (m *bpf_tpMaps) Close() error { m.GrpcFramerInvocationMap, m.HeaderReqMap, m.Http2ReqMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -387,6 +392,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o index 732b50596..15f63aa42 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_tp_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.go index f6c5754f4..3fc2fd310 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.go @@ -279,6 +279,7 @@ type bpf_tp_debugMapSpecs struct { GrpcFramerInvocationMap *ebpf.MapSpec `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.MapSpec `ebpf:"header_req_map"` Http2ReqMap *ebpf.MapSpec `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -299,6 +300,7 @@ type bpf_tp_debugMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -333,6 +335,7 @@ type bpf_tp_debugMaps struct { GrpcFramerInvocationMap *ebpf.Map `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.Map `ebpf:"header_req_map"` Http2ReqMap *ebpf.Map `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -353,6 +356,7 @@ type bpf_tp_debugMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -370,6 +374,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.GrpcFramerInvocationMap, m.HeaderReqMap, m.Http2ReqMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -390,6 +395,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o index 13e879701..1988e4529 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_tp_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.go index 5aceffc39..5ebc2043d 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.go @@ -279,6 +279,7 @@ type bpf_tp_debugMapSpecs struct { GrpcFramerInvocationMap *ebpf.MapSpec `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.MapSpec `ebpf:"header_req_map"` Http2ReqMap *ebpf.MapSpec `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -299,6 +300,7 @@ type bpf_tp_debugMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -333,6 +335,7 @@ type bpf_tp_debugMaps struct { GrpcFramerInvocationMap *ebpf.Map `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.Map `ebpf:"header_req_map"` Http2ReqMap *ebpf.Map `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -353,6 +356,7 @@ type bpf_tp_debugMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -370,6 +374,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.GrpcFramerInvocationMap, m.HeaderReqMap, m.Http2ReqMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -390,6 +395,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o index f55ad8974..b31c40013 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_tp_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.go index e762bbd7d..f00a664e5 100644 --- a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.go @@ -278,6 +278,7 @@ type bpf_tpMapSpecs struct { GrpcFramerInvocationMap *ebpf.MapSpec `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.MapSpec `ebpf:"header_req_map"` Http2ReqMap *ebpf.MapSpec `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -298,6 +299,7 @@ type bpf_tpMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -331,6 +333,7 @@ type bpf_tpMaps struct { GrpcFramerInvocationMap *ebpf.Map `ebpf:"grpc_framer_invocation_map"` HeaderReqMap *ebpf.Map `ebpf:"header_req_map"` Http2ReqMap *ebpf.Map `ebpf:"http2_req_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -351,6 +354,7 @@ type bpf_tpMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -367,6 +371,7 @@ func (m *bpf_tpMaps) Close() error { m.GrpcFramerInvocationMap, m.HeaderReqMap, m.Http2ReqMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -387,6 +392,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o index 1267e9c5a..2cf0ed6c2 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_tp_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.go b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.go index eb34e74c4..fb19a43aa 100644 --- a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.go +++ b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.go @@ -262,6 +262,7 @@ type bpfMapSpecs struct { FetchRequests *ebpf.MapSpec `ebpf:"fetch_requests"` GoTraceMap *ebpf.MapSpec `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.MapSpec `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.MapSpec `ebpf:"kafka_requests"` Newproc1 *ebpf.MapSpec `ebpf:"newproc1"` OngoingClientConnections *ebpf.MapSpec `ebpf:"ongoing_client_connections"` @@ -282,6 +283,7 @@ type bpfMapSpecs struct { OngoingServerConnections *ebpf.MapSpec `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.MapSpec `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.MapSpec `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.MapSpec `ebpf:"produce_requests"` ProduceTraceparents *ebpf.MapSpec `ebpf:"produce_traceparents"` RedisWrites *ebpf.MapSpec `ebpf:"redis_writes"` @@ -311,6 +313,7 @@ type bpfMaps struct { FetchRequests *ebpf.Map `ebpf:"fetch_requests"` GoTraceMap *ebpf.Map `ebpf:"go_trace_map"` GolangMapbucketStorageMap *ebpf.Map `ebpf:"golang_mapbucket_storage_map"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` KafkaRequests *ebpf.Map `ebpf:"kafka_requests"` Newproc1 *ebpf.Map `ebpf:"newproc1"` OngoingClientConnections *ebpf.Map `ebpf:"ongoing_client_connections"` @@ -331,6 +334,7 @@ type bpfMaps struct { OngoingServerConnections *ebpf.Map `ebpf:"ongoing_server_connections"` OngoingSqlQueries *ebpf.Map `ebpf:"ongoing_sql_queries"` OngoingStreams *ebpf.Map `ebpf:"ongoing_streams"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` ProduceRequests *ebpf.Map `ebpf:"produce_requests"` ProduceTraceparents *ebpf.Map `ebpf:"produce_traceparents"` RedisWrites *ebpf.Map `ebpf:"redis_writes"` @@ -343,6 +347,7 @@ func (m *bpfMaps) Close() error { m.FetchRequests, m.GoTraceMap, m.GolangMapbucketStorageMap, + m.IncomingTraceMap, m.KafkaRequests, m.Newproc1, m.OngoingClientConnections, @@ -363,6 +368,7 @@ func (m *bpfMaps) Close() error { m.OngoingServerConnections, m.OngoingSqlQueries, m.OngoingStreams, + m.OutgoingTraceMap, m.ProduceRequests, m.ProduceTraceparents, m.RedisWrites, diff --git a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o index c430b9b0f..5d8a576af 100644 Binary files a/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o and b/pkg/internal/ebpf/gotracer/bpf_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.go index f14f9824f..e0c29d523 100644 --- a/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.go @@ -246,6 +246,7 @@ type bpfMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -254,6 +255,7 @@ type bpfMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -296,6 +298,7 @@ type bpfMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -304,6 +307,7 @@ type bpfMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -329,6 +333,7 @@ func (m *bpfMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -337,6 +342,7 @@ func (m *bpfMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.o index 2480ca9cb..cbfbcb726 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.go index 88d4f97ec..ac2b988ed 100644 --- a/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.go @@ -247,6 +247,7 @@ type bpf_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -255,6 +256,7 @@ type bpf_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -298,6 +300,7 @@ type bpf_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -306,6 +309,7 @@ type bpf_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -332,6 +336,7 @@ func (m *bpf_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -340,6 +345,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.o index a4f2ee3ed..c7811db28 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.go index 47c1e4e15..cfb9163e4 100644 --- a/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.go @@ -247,6 +247,7 @@ type bpf_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -255,6 +256,7 @@ type bpf_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -298,6 +300,7 @@ type bpf_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -306,6 +309,7 @@ type bpf_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -332,6 +336,7 @@ func (m *bpf_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -340,6 +345,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.o index 226a24c73..e0bd575b0 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.go index 04ddd7d36..6958e2269 100644 --- a/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.go @@ -246,6 +246,7 @@ type bpf_tpMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -254,6 +255,7 @@ type bpf_tpMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -296,6 +298,7 @@ type bpf_tpMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -304,6 +307,7 @@ type bpf_tpMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -329,6 +333,7 @@ func (m *bpf_tpMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -337,6 +342,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.o index 63342282e..d21fefc46 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_tp_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.go index 3fb47ebf2..89a3bec17 100644 --- a/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.go @@ -247,6 +247,7 @@ type bpf_tp_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -255,6 +256,7 @@ type bpf_tp_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -298,6 +300,7 @@ type bpf_tp_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -306,6 +309,7 @@ type bpf_tp_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -332,6 +336,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -340,6 +345,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.o index b9891276f..bc2062dc7 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_tp_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.go index a77d3ebc8..6fca03720 100644 --- a/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.go @@ -247,6 +247,7 @@ type bpf_tp_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -255,6 +256,7 @@ type bpf_tp_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -298,6 +300,7 @@ type bpf_tp_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -306,6 +309,7 @@ type bpf_tp_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -332,6 +336,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -340,6 +345,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.o index b8fd97374..39abcc584 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_tp_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.go index 0da7730fc..384f6bb0f 100644 --- a/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.go @@ -246,6 +246,7 @@ type bpf_tpMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -254,6 +255,7 @@ type bpf_tpMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -296,6 +298,7 @@ type bpf_tpMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -304,6 +307,7 @@ type bpf_tpMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -329,6 +333,7 @@ func (m *bpf_tpMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -337,6 +342,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.o index 4fbff4cf8..ccd2c62aa 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_tp_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.go b/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.go index 1e0e3cfd5..9afaec4f6 100644 --- a/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.go +++ b/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.go @@ -246,6 +246,7 @@ type bpfMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -254,6 +255,7 @@ type bpfMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -296,6 +298,7 @@ type bpfMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -304,6 +307,7 @@ type bpfMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -329,6 +333,7 @@ func (m *bpfMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -337,6 +342,7 @@ func (m *bpfMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.o b/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.o index 10ce11fd9..1d10e0cff 100644 Binary files a/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.o and b/pkg/internal/ebpf/httpssl/bpf_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.go index b6843123d..27ed44f64 100644 --- a/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.go @@ -278,6 +278,7 @@ type bpfMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -286,6 +287,7 @@ type bpfMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -334,6 +336,7 @@ type bpfMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -342,6 +345,7 @@ type bpfMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -373,6 +377,7 @@ func (m *bpfMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -381,6 +386,7 @@ func (m *bpfMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.o index 4efede2a7..f13267de9 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.go index 5d7078d46..882c91300 100644 --- a/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.go @@ -279,6 +279,7 @@ type bpf_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -287,6 +288,7 @@ type bpf_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -336,6 +338,7 @@ type bpf_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -344,6 +347,7 @@ type bpf_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -376,6 +380,7 @@ func (m *bpf_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -384,6 +389,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.o index e795e4a6a..3960e7007 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.go index 3dc38a098..78f85dbca 100644 --- a/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.go @@ -279,6 +279,7 @@ type bpf_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -287,6 +288,7 @@ type bpf_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -336,6 +338,7 @@ type bpf_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -344,6 +347,7 @@ type bpf_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -376,6 +380,7 @@ func (m *bpf_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -384,6 +389,7 @@ func (m *bpf_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.o index bca5658bc..fe99a539f 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.go index 2387a9a20..484731a4d 100644 --- a/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.go @@ -278,6 +278,7 @@ type bpf_tpMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -286,6 +287,7 @@ type bpf_tpMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -334,6 +336,7 @@ type bpf_tpMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -342,6 +345,7 @@ type bpf_tpMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -373,6 +377,7 @@ func (m *bpf_tpMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -381,6 +386,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.o index 625c9d739..6f88dbcb9 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_tp_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.go index d0a5d59f9..aee52e94b 100644 --- a/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.go @@ -279,6 +279,7 @@ type bpf_tp_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -287,6 +288,7 @@ type bpf_tp_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -336,6 +338,7 @@ type bpf_tp_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -344,6 +347,7 @@ type bpf_tp_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -376,6 +380,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -384,6 +389,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.o index eb840fb16..4d34b52e4 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_tp_debug_arm64_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.go index f9737d7d2..82480a716 100644 --- a/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.go @@ -279,6 +279,7 @@ type bpf_tp_debugMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -287,6 +288,7 @@ type bpf_tp_debugMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -336,6 +338,7 @@ type bpf_tp_debugMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -344,6 +347,7 @@ type bpf_tp_debugMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -376,6 +380,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -384,6 +389,7 @@ func (m *bpf_tp_debugMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.o index 5cc4a0dbe..372ad4bd9 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_tp_debug_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.go index fedc6731e..d8854b136 100644 --- a/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.go @@ -278,6 +278,7 @@ type bpf_tpMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -286,6 +287,7 @@ type bpf_tpMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -334,6 +336,7 @@ type bpf_tpMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -342,6 +345,7 @@ type bpf_tpMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -373,6 +377,7 @@ func (m *bpf_tpMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -381,6 +386,7 @@ func (m *bpf_tpMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.o index 902de2e05..535818d14 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_tp_x86_bpfel.o differ diff --git a/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.go b/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.go index 6eb5d721f..f723f7dd4 100644 --- a/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.go +++ b/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.go @@ -278,6 +278,7 @@ type bpfMapSpecs struct { Events *ebpf.MapSpec `ebpf:"events"` Http2InfoMem *ebpf.MapSpec `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.MapSpec `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.MapSpec `ebpf:"incoming_trace_map"` IovecMem *ebpf.MapSpec `ebpf:"iovec_mem"` JumpTable *ebpf.MapSpec `ebpf:"jump_table"` NodejsParentMap *ebpf.MapSpec `ebpf:"nodejs_parent_map"` @@ -286,6 +287,7 @@ type bpfMapSpecs struct { OngoingHttp2Grpc *ebpf.MapSpec `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.MapSpec `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.MapSpec `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.MapSpec `ebpf:"outgoing_trace_map"` PidCache *ebpf.MapSpec `ebpf:"pid_cache"` PidTidToConn *ebpf.MapSpec `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.MapSpec `ebpf:"protocol_args_mem"` @@ -334,6 +336,7 @@ type bpfMaps struct { Events *ebpf.Map `ebpf:"events"` Http2InfoMem *ebpf.Map `ebpf:"http2_info_mem"` HttpInfoMem *ebpf.Map `ebpf:"http_info_mem"` + IncomingTraceMap *ebpf.Map `ebpf:"incoming_trace_map"` IovecMem *ebpf.Map `ebpf:"iovec_mem"` JumpTable *ebpf.Map `ebpf:"jump_table"` NodejsParentMap *ebpf.Map `ebpf:"nodejs_parent_map"` @@ -342,6 +345,7 @@ type bpfMaps struct { OngoingHttp2Grpc *ebpf.Map `ebpf:"ongoing_http2_grpc"` OngoingHttpFallback *ebpf.Map `ebpf:"ongoing_http_fallback"` OngoingTcpReq *ebpf.Map `ebpf:"ongoing_tcp_req"` + OutgoingTraceMap *ebpf.Map `ebpf:"outgoing_trace_map"` PidCache *ebpf.Map `ebpf:"pid_cache"` PidTidToConn *ebpf.Map `ebpf:"pid_tid_to_conn"` ProtocolArgsMem *ebpf.Map `ebpf:"protocol_args_mem"` @@ -373,6 +377,7 @@ func (m *bpfMaps) Close() error { m.Events, m.Http2InfoMem, m.HttpInfoMem, + m.IncomingTraceMap, m.IovecMem, m.JumpTable, m.NodejsParentMap, @@ -381,6 +386,7 @@ func (m *bpfMaps) Close() error { m.OngoingHttp2Grpc, m.OngoingHttpFallback, m.OngoingTcpReq, + m.OutgoingTraceMap, m.PidCache, m.PidTidToConn, m.ProtocolArgsMem, diff --git a/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.o b/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.o index 95d131e24..1307c385c 100644 Binary files a/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.o and b/pkg/internal/ebpf/ktracer/bpf_x86_bpfel.o differ