diff --git a/pom.xml b/pom.xml
index be1c8d16f..54882d0be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,15 @@
true
-
+
+
+
+ io.micrometer
+ context-propagation
+ 1.0.0-RC1
+
+
+
diff --git a/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/FunctionObservation.java b/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/FunctionObservation.java
index cf71f1c02..2032bfdc2 100644
--- a/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/FunctionObservation.java
+++ b/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/FunctionObservation.java
@@ -17,14 +17,14 @@
package org.springframework.cloud.function.observability;
import io.micrometer.common.docs.KeyName;
-import io.micrometer.observation.docs.DocumentedObservation;
+import io.micrometer.observation.docs.ObservationDocumentation;
/**
* @author Marcin Grzejszczak
* @author Oleg Zhurakousky
* @since 4.0.0
*/
-enum FunctionObservation implements DocumentedObservation {
+enum FunctionObservation implements ObservationDocumentation {
/**
* Observation created around a function execution.
*/
diff --git a/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/ObservationFunctionAroundWrapper.java b/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/ObservationFunctionAroundWrapper.java
index 100e0eb71..c2d9ba832 100644
--- a/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/ObservationFunctionAroundWrapper.java
+++ b/spring-cloud-function-observability/src/main/java/org/springframework/cloud/function/observability/ObservationFunctionAroundWrapper.java
@@ -66,7 +66,7 @@ public class ObservationFunctionAroundWrapper extends FunctionAroundWrapper {
FunctionContext context = new FunctionContext(targetFunction).withInput(message);
Object invocationMessage = context.getModifiedInput();
Object result = Observation
- .createNotStarted(FunctionObservation.FUNCTION_OBSERVATION.getName(), context, this.observationRegistry)
+ .createNotStarted(FunctionObservation.FUNCTION_OBSERVATION.getName(), () -> context, this.observationRegistry)
.contextualName(FunctionObservation.FUNCTION_OBSERVATION.getContextualName())
.observe(() -> {
Object r = message == null ? targetFunction.get() : targetFunction.apply(invocationMessage);