From 4884ec88a5c45c4ecbfc3dfa1a3fe9558f381698 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Tue, 21 Feb 2023 12:58:22 +0900 Subject: [PATCH] Polish "Jetty Client instrumentation with Observation API" (#3659) See gh-3416 --- .../jetty/DefaultJettyClientObservationConvention.java | 2 +- .../core/instrument/binder/jetty/JettyClientContext.java | 2 +- .../instrument/binder/jetty/JettyClientKeyValues.java | 8 ++++---- .../core/instrument/binder/jetty/JettyClientMetrics.java | 6 +++--- .../binder/jetty/JettyClientObservationConvention.java | 2 +- .../instrument/binder/jetty/JettyClientTagsProvider.java | 5 +++-- .../jetty/JettyClientMetricsWithObservationTest.java | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/DefaultJettyClientObservationConvention.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/DefaultJettyClientObservationConvention.java index e5a70cec18..215fc1392e 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/DefaultJettyClientObservationConvention.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/DefaultJettyClientObservationConvention.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 VMware, Inc. + * Copyright 2023 VMware, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientContext.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientContext.java index ec254409b0..caa760e89c 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientContext.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 VMware, Inc. + * Copyright 2023 VMware, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientKeyValues.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientKeyValues.java index f6258ff6df..4a502efd3e 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientKeyValues.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientKeyValues.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 VMware, Inc. + * Copyright 2023 VMware, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,7 +49,7 @@ public final class JettyClientKeyValues { private static final KeyValue HOST_UNKNOWN = KeyValue.of("host", "UNKNOWN"); - public static final KeyValue STATUS_UNKNOWN = KeyValue.of("status", "UNKNOWN"); + private static final KeyValue STATUS_UNKNOWN = KeyValue.of("status", "UNKNOWN"); private static final Pattern TRAILING_SLASH_PATTERN = Pattern.compile("/$"); @@ -75,7 +75,6 @@ public static KeyValue method(Request request) { * {@code request}. * @param request the request * @return the host KeyValue derived from request - * @since 1.7.0 */ public static KeyValue host(Request request) { return (request != null) ? KeyValue.of("host", request.getHost()) : HOST_UNKNOWN; @@ -94,9 +93,10 @@ public static KeyValue status(@Nullable Result result) { /** * Creates a {@code uri} KeyValue based on the URI of the given {@code result}. * {@code REDIRECTION} for 3xx responses, {@code NOT_FOUND} for 404 responses. + * @param request the request * @param result the request result * @param successfulUriPattern successful URI pattern - * @return the uri KeyValue derived from the request result + * @return the uri KeyValue derived from the request and its result */ public static KeyValue uri(Request request, @Nullable Result result, BiFunction successfulUriPattern) { diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetrics.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetrics.java index 1b93fcb55f..0ed65cfd1d 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetrics.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetrics.java @@ -62,8 +62,8 @@ public class JettyClientMetrics implements Request.Listener { private final BiFunction uriPatternFunction; /** - * @deprecated use {@link JettyClientMetrics#builder(MeterRegistry, BiFunction)} - * instead. + * @deprecated since 1.11.0 in favor of + * {@link JettyClientMetrics#builder(MeterRegistry, BiFunction)} */ @Deprecated protected JettyClientMetrics(MeterRegistry registry, JettyClientTagsProvider tagsProvider, String timingMetricName, @@ -121,7 +121,7 @@ public void onQueued(Request request) { * @param registry meter registry to use * @param tagsProvider tags provider for customizing tagging * @return builder - * @deprecated use {@link #builder(MeterRegistry, BiFunction)} instead; + * @deprecated since 1.11.0 in favor of {@link #builder(MeterRegistry, BiFunction)}; * {@link Builder#tagsProvider(JettyClientTagsProvider)} can be used to provide a * custom tags provider */ diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientObservationConvention.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientObservationConvention.java index c0d5463d4f..253dd1c96a 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientObservationConvention.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientObservationConvention.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 VMware, Inc. + * Copyright 2023 VMware, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientTagsProvider.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientTagsProvider.java index c09b623ad4..8d108d46dd 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientTagsProvider.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jetty/JettyClientTagsProvider.java @@ -50,8 +50,9 @@ default Iterable httpRequestTags(Result result) { * that goes to a certain endpoint, regardless of the parameters to that endpoint. * @param result The result which also contains the original request. * @return A URI pattern with path variables and query parameter unsubstituted. - * @deprecated use {@link JettyClientMetrics#builder(MeterRegistry, BiFunction)} - * instead to configure the uri pattern function + * @deprecated since 1.11.0 in favor of + * {@link JettyClientMetrics#builder(MeterRegistry, BiFunction)} to configure the uri + * pattern function */ @Deprecated String uriPattern(Result result); diff --git a/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetricsWithObservationTest.java b/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetricsWithObservationTest.java index df339ae2cc..808eb7f7b8 100644 --- a/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetricsWithObservationTest.java +++ b/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/jetty/JettyClientMetricsWithObservationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 VMware, Inc. + * Copyright 2023 VMware, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.