diff --git a/services/ja4ebpf/internal/writer/clickhouse.go b/services/ja4ebpf/internal/writer/clickhouse.go index 9065b05..0db2326 100644 --- a/services/ja4ebpf/internal/writer/clickhouse.go +++ b/services/ja4ebpf/internal/writer/clickhouse.go @@ -503,10 +503,13 @@ func formatTLSVersion(v uint16) string { // headerVal cherche un en-tête dans le map avec deux clés possibles : // HTTP/1.1 utilise Title-Case (ex: "User-Agent"), HTTP/2 utilise lowercase (ex: "user-agent"). +// Optimisé pour réduire le nombre de lookups : essayer titleKey d'abord, puis lowerKey seulement si nécessaire. func headerVal(kv map[string]string, titleKey, lowerKey string) string { - if v := kv[titleKey]; v != "" { + // Essayer Title-Case d'abord (HTTP/1.1) + if v, ok := kv[titleKey]; ok { return v } + // Fallback à lowercase (HTTP/2) return kv[lowerKey] }