From 3e7c606b89c7a9b932205e6de523267cb3d9c325 Mon Sep 17 00:00:00 2001 From: Chance Zibolski Date: Sun, 21 Jul 2024 21:27:19 -0700 Subject: [PATCH] Add pod info into generated output file names Signed-off-by: Chance Zibolski --- cmd/local_capture.go | 34 ++++++++++++---------------------- cmd/output_handler.go | 2 +- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/cmd/local_capture.go b/cmd/local_capture.go index 3220039..bcaef57 100644 --- a/cmd/local_capture.go +++ b/cmd/local_capture.go @@ -294,32 +294,22 @@ func (lcs *localCaptureSource) LinkType() layers.LinkType { return lcs.linkType } -func normalizePodFilename(pod *capperpb.Pod, ifaceName string, outputFormat capperpb.PcapOutputFormat) string { - var b strings.Builder - b.WriteString("pod:") - b.WriteString(pod.GetNamespace()) - b.WriteString(":") - b.WriteString(pod.GetName()) - b.WriteString(":iface:") - b.WriteString(ifaceName) - b.WriteString(".") - b.WriteString(outputFormatExtension(outputFormat)) - return b.String() -} - -func normalizeFilename(host string, netns string, ifaceName string, outputFormat capperpb.PcapOutputFormat) string { +func normalizeFilename(ad *capperpb.AncillaryPacketData, outputFormat capperpb.PcapOutputFormat) string { var b strings.Builder b.WriteString("host:") - b.WriteString(host) - if runtime.GOOS == "linux" { - if netns != "" { - b.WriteString(":netns:") - netnsStr := strings.Trim(strings.ReplaceAll(netns, "/", "-"), "-") - b.WriteString(netnsStr) - } + b.WriteString(ad.NodeName) + if ad.K8SPodName != "" { + b.WriteString(":podNamespace:") + b.WriteString(ad.K8SPodNamespace) + b.WriteString(":pod:") + b.WriteString(ad.K8SPodName) + } else if ad.Netns != "" { + b.WriteString(":netns:") + netnsStr := strings.Trim(strings.ReplaceAll(ad.Netns, "/", "-"), "-") + b.WriteString(netnsStr) } b.WriteString(":iface:") - b.WriteString(ifaceName) + b.WriteString(ad.IfaceName) b.WriteString(".") b.WriteString(outputFormatExtension(outputFormat)) return b.String() diff --git a/cmd/output_handler.go b/cmd/output_handler.go index 316de91..58cd1f0 100644 --- a/cmd/output_handler.go +++ b/cmd/output_handler.go @@ -79,7 +79,7 @@ func (h *outputFileHandler) HandlePacket(p gopacket.Packet) error { var identifier string if h.isDir { - identifier = normalizeFilename(ad.NodeName, ad.Netns, ad.IfaceName, h.outputFormat) + identifier = normalizeFilename(ad, h.outputFormat) } packetWriter, exists := h.writers[identifier]