进程内传播由各语言运行时探针负责,而跨进程 traceparent 传播对所有非 Go 语言由内核态 tpinjector 统一完成,有三种手法:HTTP/1 头注入通过 sk_msg 尾调用链改写 payload 插入 Traceparent: 头;HTTP/2 HPACK 注入按流插入 HPACK 编码的 traceparent,用 huffman 指纹 0x3fa9851d6b21834d 识别已有头;TCP Option 传播使用自定义选项 kind=25,出站通过 bpf_store_hdr_opt 写入 trace_id/span_id,入站通过 bpf_load_hdr_opt 取出。由 OTEL_EBPF_BPF_CONTEXT_PROPAGATION 控制 headers/tcp/all/disabled。TCP Option 属未分配编号,可能被中间盒剥离,建议优先使用 headers 方式。




