From 3611f11e3966f2b87da262dc8536e92a5c2747a4 Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Thu, 12 May 2022 22:03:45 +0300 Subject: [PATCH] Fix ClassCastException in overhead tests (#6019) --- .../io/opentelemetry/results/ResultsCollector.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java b/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java index 9fef5813d0..c2012cdf41 100644 --- a/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java +++ b/benchmark-overhead/src/test/java/io/opentelemetry/results/ResultsCollector.java @@ -63,10 +63,10 @@ public class ResultsCollector { throws IOException { Path k6File = namingConvention.k6Results(agent); String json = new String(Files.readAllBytes(k6File)); - double iterationAvg = JsonPath.read(json, "$.metrics.iteration_duration.avg"); - double iterationP95 = JsonPath.read(json, "$.metrics.iteration_duration['p(95)']"); - double requestAvg = JsonPath.read(json, "$.metrics.http_req_duration.avg"); - double requestP95 = JsonPath.read(json, "$.metrics.http_req_duration['p(95)']"); + double iterationAvg = read(json, "$.metrics.iteration_duration.avg"); + double iterationP95 = read(json, "$.metrics.iteration_duration['p(95)']"); + double requestAvg = read(json, "$.metrics.http_req_duration.avg"); + double requestP95 = read(json, "$.metrics.http_req_duration['p(95)']"); return builder .iterationAvg(iterationAvg) .iterationP95(iterationP95) @@ -74,6 +74,12 @@ public class ResultsCollector { .requestP95(requestP95); } + private static double read(String json, String jsonPath) { + // JsonPath.read returns either Double or BigDecimal + Number result = JsonPath.read(json, jsonPath); + return result.doubleValue(); + } + private AppPerfResults.Builder addJfrResults(AppPerfResults.Builder builder, Agent agent) throws IOException { Path jfrFile = namingConvention.jfrFile(agent);