diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcClientObservationContext.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcClientObservationContext.java index 2f59fce2cf..015d72b6b0 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcClientObservationContext.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcClientObservationContext.java @@ -43,6 +43,8 @@ public class GrpcClientObservationContext extends RequestReplySenderContext setter) { super(setter); } @@ -88,4 +90,12 @@ public void setStatusCode(Code statusCode) { this.statusCode = statusCode; } + public String getAuthority() { + return this.authority; + } + + public void setAuthority(String authority) { + this.authority = authority; + } + } diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcServerObservationContext.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcServerObservationContext.java index a6a2ce3e9b..951c84ebd8 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcServerObservationContext.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/GrpcServerObservationContext.java @@ -43,6 +43,9 @@ public class GrpcServerObservationContext extends RequestReplyReceiverContext getter) { super(getter); } @@ -88,4 +91,13 @@ public void setStatusCode(Code statusCode) { this.statusCode = statusCode; } + @Nullable + public String getAuthority() { + return this.authority; + } + + public void setAuthority(@Nullable String authority) { + this.authority = authority; + } + } diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/ObservationGrpcClientInterceptor.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/ObservationGrpcClientInterceptor.java index a6158c75a4..75c15e29f9 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/ObservationGrpcClientInterceptor.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/grpc/ObservationGrpcClientInterceptor.java @@ -80,7 +80,7 @@ public ClientCall interceptCall(MethodDescriptor Listener interceptCall(ServerCall call, } context.setFullMethodName(fullMethodName); context.setMethodType(methodType); + context.setAuthority(call.getAuthority()); return context; }; diff --git a/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/grpc/GrpcObservationTest.java b/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/grpc/GrpcObservationTest.java index adbe538ef3..1eb77fdbca 100644 --- a/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/grpc/GrpcObservationTest.java +++ b/micrometer-core/src/test/java/io/micrometer/core/instrument/binder/grpc/GrpcObservationTest.java @@ -400,6 +400,7 @@ void verifyServerContext(String serviceName, String methodName, String contextua assertThat(serverContext.getMethodName()).isEqualTo(methodName); assertThat(serverContext.getFullMethodName()).isEqualTo(contextualName); assertThat(serverContext.getMethodType()).isEqualTo(methodType); + assertThat(serverContext.getAuthority()).isEqualTo("localhost"); }); } @@ -411,6 +412,7 @@ void verifyClientContext(String serviceName, String methodName, String contextua assertThat(clientContext.getMethodName()).isEqualTo(methodName); assertThat(clientContext.getFullMethodName()).isEqualTo(contextualName); assertThat(clientContext.getMethodType()).isEqualTo(methodType); + assertThat(clientContext.getAuthority()).isEqualTo("localhost"); }); }