From 10a2d34c37957f103731f6dcd17a69f7a97afa5a Mon Sep 17 00:00:00 2001 From: Richard Startin Date: Thu, 30 Apr 2020 22:36:43 +0100 Subject: [PATCH] avoid allocating an array when getting first header value --- .../datadog/trace/core/propagation/HttpCodec.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/dd-trace-core/src/main/java/datadog/trace/core/propagation/HttpCodec.java b/dd-trace-core/src/main/java/datadog/trace/core/propagation/HttpCodec.java index 62adeb63a8f..28dfcff3683 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/propagation/HttpCodec.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/propagation/HttpCodec.java @@ -149,15 +149,11 @@ static String decode(final String value) { } static String firstHeaderValue(final String value) { - if (value == null || value.isEmpty()) { - return value; + if (value == null) { + return null; } - final String[] split = value.split(","); - if (split.length > 0) { - return split[0].trim(); - } else { - return value; - } + int firstComma = value.indexOf(','); + return firstComma == -1 ? value : value.substring(0, firstComma).trim(); } }