From b9a24b1d82c666a8d616a874ca616007b5d3cc40 Mon Sep 17 00:00:00 2001 From: Steve Rao Date: Tue, 21 Jan 2025 10:44:46 +0800 Subject: [PATCH 1/2] Remove incorrect API of Dubbo --- .../apachedubbo/v2_7/DubboTelemetry.java | 10 ---------- .../apachedubbo/v2_7/TracingFilter.java | 17 ----------------- 2 files changed, 27 deletions(-) diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java index a44489af3463..505fc7d79237 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java @@ -35,16 +35,6 @@ public static DubboTelemetryBuilder builder(OpenTelemetry openTelemetry) { this.clientInstrumenter = clientInstrumenter; } - /** - * Returns a new Dubbo {@link Filter} that traces Dubbo RPC invocations. - * - * @deprecated Use {@link #newClientFilter} and {@link #newServerFilter} instead. - */ - @Deprecated - public Filter newFilter() { - return TracingFilter.newFilter(serverInstrumenter, clientInstrumenter); - } - /** Returns a new Dubbo client {@link Filter} that traces Dubbo RPC invocations. */ public Filter newClientFilter() { return TracingFilter.newClientFilter(clientInstrumenter); diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java index feced63c0bf0..66c7a8d78af2 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java @@ -49,23 +49,6 @@ public boolean isClientSide(RpcContext rpcContext) { }); } - static TracingFilter newFilter( - Instrumenter serverInstrumenter, - Instrumenter clientInstrumenter) { - return new TracingFilter( - new InstrumenterSupplier() { - @Override - public Instrumenter get(RpcContext rpcContext) { - return rpcContext.isConsumerSide() ? clientInstrumenter : serverInstrumenter; - } - - @Override - public boolean isClientSide(RpcContext rpcContext) { - return rpcContext.isConsumerSide(); - } - }); - } - @Override @SuppressWarnings("deprecation") // deprecation for RpcContext.getContext() public Result invoke(Invoker invoker, Invocation invocation) { From 7b02979a135f80e54504e89d73f465dbb97f3858 Mon Sep 17 00:00:00 2001 From: Steve Rao Date: Tue, 21 Jan 2025 17:32:04 +0800 Subject: [PATCH 2/2] Address review comments --- .../apachedubbo/v2_7/DubboTelemetry.java | 4 +- .../apachedubbo/v2_7/TracingFilter.java | 41 +++---------------- 2 files changed, 8 insertions(+), 37 deletions(-) diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java index 505fc7d79237..5319f496b4a6 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetry.java @@ -37,11 +37,11 @@ public static DubboTelemetryBuilder builder(OpenTelemetry openTelemetry) { /** Returns a new Dubbo client {@link Filter} that traces Dubbo RPC invocations. */ public Filter newClientFilter() { - return TracingFilter.newClientFilter(clientInstrumenter); + return new TracingFilter(clientInstrumenter, true); } /** Returns a new Dubbo server {@link Filter} that traces Dubbo RPC invocations. */ public Filter newServerFilter() { - return TracingFilter.newServerFilter(serverInstrumenter); + return new TracingFilter(serverInstrumenter, false); } } diff --git a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java index 66c7a8d78af2..e8068cabaf90 100644 --- a/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java +++ b/instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/TracingFilter.java @@ -18,35 +18,13 @@ final class TracingFilter implements Filter { - private final InstrumenterSupplier instrumenterSupplier; + private final Instrumenter instrumenter; - private TracingFilter(InstrumenterSupplier instrumenterSupplier) { - this.instrumenterSupplier = instrumenterSupplier; - } - - static TracingFilter newClientFilter(Instrumenter clientInstrumenter) { - return newFilter(clientInstrumenter, true); - } - - static TracingFilter newServerFilter(Instrumenter serverInstrumenter) { - return newFilter(serverInstrumenter, false); - } + private final boolean isClientSide; - private static TracingFilter newFilter( - Instrumenter instrumenter, boolean isClientSide) { - return new TracingFilter( - new InstrumenterSupplier() { - - @Override - public Instrumenter get(RpcContext rpcContext) { - return instrumenter; - } - - @Override - public boolean isClientSide(RpcContext rpcContext) { - return isClientSide; - } - }); + TracingFilter(Instrumenter instrumenter, boolean isClientSide) { + this.instrumenter = instrumenter; + this.isClientSide = isClientSide; } @Override @@ -61,7 +39,6 @@ public Result invoke(Invoker invoker, Invocation invocation) { return invoker.invoke(invocation); } - Instrumenter instrumenter = instrumenterSupplier.get(rpcContext); Context parentContext = Context.current(); DubboRequest request = DubboRequest.create((RpcInvocation) invocation, rpcContext); @@ -74,7 +51,7 @@ public Result invoke(Invoker invoker, Invocation invocation) { boolean isSynchronous = true; try (Scope ignored = context.makeCurrent()) { result = invoker.invoke(invocation); - if (instrumenterSupplier.isClientSide(rpcContext)) { + if (isClientSide) { CompletableFuture future = rpcContext.getCompletableFuture(); if (future != null) { isSynchronous = false; @@ -91,10 +68,4 @@ public Result invoke(Invoker invoker, Invocation invocation) { } return result; } - - private interface InstrumenterSupplier { - Instrumenter get(RpcContext rpcContext); - - boolean isClientSide(RpcContext rpcContext); - } }