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");
});
}