From b763fcf73736e2267956cf6ca274fc5e8ec6cb5f Mon Sep 17 00:00:00 2001
From: Roger Johansson <roger@asynkron.se>
Date: Fri, 24 Nov 2023 15:57:04 +0100
Subject: [PATCH] fix mod issues

---
 _examples/actor-autorespond/go.mod            |  2 +-
 _examples/actor-backpressure/go.mod           |  2 +-
 _examples/actor-deadletter/go.mod             |  2 +-
 _examples/actor-helloworld/go.mod             |  2 +-
 _examples/actor-inprocess-benchmark/go.mod    |  2 +-
 _examples/actor-jaegertracing/go.mod          |  2 +-
 _examples/actor-lifecycleevents/go.mod        |  2 +-
 _examples/actor-logging/go.mod                |  2 +-
 _examples/actor-mailbox-middleware/go.mod     |  2 +-
 _examples/actor-messagebatch/go.mod           |  2 +-
 _examples/actor-mixins/go.mod                 |  2 +-
 _examples/actor-receive-middleware/go.mod     |  2 +-
 _examples/actor-receive-timeout/go.mod        |  2 +-
 _examples/actor-request-response/go.mod       |  2 +-
 _examples/actor-setbehavior/go.mod            |  2 +-
 _examples/actor-spawn-benchmark/go.mod        |  2 +-
 _examples/actor-supervision/go.mod            |  2 +-
 _examples/cluster-basic/go.mod                |  4 ++-
 _examples/cluster-broadcast/go.mod            |  4 +--
 .../cluster-eventstream-broadcast/go.mod      |  4 +--
 _examples/cluster-grain/go.mod                |  6 ++--
 _examples/cluster-metrics/go.mod              |  6 ++--
 .../cluster-restartgracefully/client/main.go  | 33 +++++++++---------
 _examples/cluster-restartgracefully/go.mod    |  7 ++--
 .../cluster-restartgracefully/server/main.go  |  6 ++--
 .../shared/protos.pb.go                       |  2 +-
 .../shared/protos_protoactor.go               | 34 ++++++++-----------
 _examples/kubernetes-sample/go.mod            |  6 ++--
 .../opentelemetry-custom-provider/go.mod      | 32 +++++++++++++++--
 _examples/opentelemetry/go.mod                |  2 +-
 _examples/persistence/go.mod                  |  2 +-
 _examples/remote-activate/go.mod              |  4 +--
 _examples/remote-advertised-address/go.mod    |  4 +--
 _examples/remote-benchmark/go.mod             |  4 +--
 _examples/remote-channels/go.mod              |  4 +--
 _examples/remote-chat/go.mod                  |  4 +--
 _examples/remote-header/go.mod                |  4 +--
 _examples/remote-routing/go.mod               |  4 +--
 _examples/remote-watch/go.mod                 |  4 +--
 _examples/router-demo/go.mod                  |  2 +-
 _examples/router-limitconcurrency/go.mod      |  2 +-
 _examples/scheduler/go.mod                    |  2 +-
 42 files changed, 123 insertions(+), 97 deletions(-)

diff --git a/_examples/actor-autorespond/go.mod b/_examples/actor-autorespond/go.mod
index 612340056..705dfd9ef 100644
--- a/_examples/actor-autorespond/go.mod
+++ b/_examples/actor-autorespond/go.mod
@@ -28,7 +28,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-backpressure/go.mod b/_examples/actor-backpressure/go.mod
index f81d26c0e..76b778600 100644
--- a/_examples/actor-backpressure/go.mod
+++ b/_examples/actor-backpressure/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-deadletter/go.mod b/_examples/actor-deadletter/go.mod
index 6f7b6106a..242601742 100644
--- a/_examples/actor-deadletter/go.mod
+++ b/_examples/actor-deadletter/go.mod
@@ -32,7 +32,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-helloworld/go.mod b/_examples/actor-helloworld/go.mod
index 9adf50ff7..49663406d 100644
--- a/_examples/actor-helloworld/go.mod
+++ b/_examples/actor-helloworld/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-inprocess-benchmark/go.mod b/_examples/actor-inprocess-benchmark/go.mod
index 64924b975..7b0e62031 100644
--- a/_examples/actor-inprocess-benchmark/go.mod
+++ b/_examples/actor-inprocess-benchmark/go.mod
@@ -28,7 +28,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-jaegertracing/go.mod b/_examples/actor-jaegertracing/go.mod
index ec43789c0..0f57d8af6 100644
--- a/_examples/actor-jaegertracing/go.mod
+++ b/_examples/actor-jaegertracing/go.mod
@@ -36,7 +36,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	go.uber.org/atomic v1.9.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
diff --git a/_examples/actor-lifecycleevents/go.mod b/_examples/actor-lifecycleevents/go.mod
index c9c423418..818e5aed6 100644
--- a/_examples/actor-lifecycleevents/go.mod
+++ b/_examples/actor-lifecycleevents/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-logging/go.mod b/_examples/actor-logging/go.mod
index 99e1ddcbf..000edec80 100644
--- a/_examples/actor-logging/go.mod
+++ b/_examples/actor-logging/go.mod
@@ -35,7 +35,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
diff --git a/_examples/actor-mailbox-middleware/go.mod b/_examples/actor-mailbox-middleware/go.mod
index bc4ca69a9..5ec9a820c 100644
--- a/_examples/actor-mailbox-middleware/go.mod
+++ b/_examples/actor-mailbox-middleware/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-messagebatch/go.mod b/_examples/actor-messagebatch/go.mod
index 3defb7e94..09c2c8852 100644
--- a/_examples/actor-messagebatch/go.mod
+++ b/_examples/actor-messagebatch/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-mixins/go.mod b/_examples/actor-mixins/go.mod
index b75ac9308..6932a1095 100644
--- a/_examples/actor-mixins/go.mod
+++ b/_examples/actor-mixins/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-receive-middleware/go.mod b/_examples/actor-receive-middleware/go.mod
index fa2f83e92..611f4bbb6 100644
--- a/_examples/actor-receive-middleware/go.mod
+++ b/_examples/actor-receive-middleware/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-receive-timeout/go.mod b/_examples/actor-receive-timeout/go.mod
index 1cf371d5d..e2de48059 100644
--- a/_examples/actor-receive-timeout/go.mod
+++ b/_examples/actor-receive-timeout/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-request-response/go.mod b/_examples/actor-request-response/go.mod
index 8c2c97651..0ffddb929 100644
--- a/_examples/actor-request-response/go.mod
+++ b/_examples/actor-request-response/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-setbehavior/go.mod b/_examples/actor-setbehavior/go.mod
index bd0f388cf..0ec28b8ec 100644
--- a/_examples/actor-setbehavior/go.mod
+++ b/_examples/actor-setbehavior/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-spawn-benchmark/go.mod b/_examples/actor-spawn-benchmark/go.mod
index 43e53f5cc..7717da11a 100644
--- a/_examples/actor-spawn-benchmark/go.mod
+++ b/_examples/actor-spawn-benchmark/go.mod
@@ -28,7 +28,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/actor-supervision/go.mod b/_examples/actor-supervision/go.mod
index 3bc513c94..a77860752 100644
--- a/_examples/actor-supervision/go.mod
+++ b/_examples/actor-supervision/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/cluster-basic/go.mod b/_examples/cluster-basic/go.mod
index 0e351ca66..b03ad0de7 100644
--- a/_examples/cluster-basic/go.mod
+++ b/_examples/cluster-basic/go.mod
@@ -24,9 +24,11 @@ require (
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/google/uuid v1.3.1 // indirect
 	github.com/hashicorp/consul/api v1.26.1 // indirect
+	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
 	github.com/hashicorp/go-hclog v1.5.0 // indirect
 	github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
+	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/go-rootcerts v1.0.2 // indirect
 	github.com/hashicorp/golang-lru v0.5.4 // indirect
 	github.com/hashicorp/serf v0.10.1 // indirect
@@ -47,7 +49,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
diff --git a/_examples/cluster-broadcast/go.mod b/_examples/cluster-broadcast/go.mod
index 78958a2c5..468de4880 100644
--- a/_examples/cluster-broadcast/go.mod
+++ b/_examples/cluster-broadcast/go.mod
@@ -40,7 +40,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/crypto v0.15.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
@@ -48,6 +48,6 @@ require (
 	golang.org/x/sync v0.5.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/cluster-eventstream-broadcast/go.mod b/_examples/cluster-eventstream-broadcast/go.mod
index a97726a85..fa13542a3 100644
--- a/_examples/cluster-eventstream-broadcast/go.mod
+++ b/_examples/cluster-eventstream-broadcast/go.mod
@@ -40,7 +40,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/crypto v0.15.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
@@ -48,6 +48,6 @@ require (
 	golang.org/x/sync v0.5.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/cluster-grain/go.mod b/_examples/cluster-grain/go.mod
index aa18e6778..5b703e7ee 100644
--- a/_examples/cluster-grain/go.mod
+++ b/_examples/cluster-grain/go.mod
@@ -24,9 +24,11 @@ require (
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/google/uuid v1.3.1 // indirect
 	github.com/hashicorp/consul/api v1.26.1 // indirect
+	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
 	github.com/hashicorp/go-hclog v1.5.0 // indirect
 	github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
+	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/go-rootcerts v1.0.2 // indirect
 	github.com/hashicorp/golang-lru v0.5.4 // indirect
 	github.com/hashicorp/serf v0.10.1 // indirect
@@ -47,12 +49,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/cluster-metrics/go.mod b/_examples/cluster-metrics/go.mod
index 72cb6ff76..66bbfe764 100644
--- a/_examples/cluster-metrics/go.mod
+++ b/_examples/cluster-metrics/go.mod
@@ -24,9 +24,11 @@ require (
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/google/uuid v1.3.1 // indirect
 	github.com/hashicorp/consul/api v1.26.1 // indirect
+	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
 	github.com/hashicorp/go-hclog v1.5.0 // indirect
 	github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
+	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/go-rootcerts v1.0.2 // indirect
 	github.com/hashicorp/golang-lru v0.5.4 // indirect
 	github.com/hashicorp/serf v0.10.1 // indirect
@@ -47,12 +49,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/cluster-restartgracefully/client/main.go b/_examples/cluster-restartgracefully/client/main.go
index ad90523e0..f7ec1dfed 100644
--- a/_examples/cluster-restartgracefully/client/main.go
+++ b/_examples/cluster-restartgracefully/client/main.go
@@ -3,29 +3,28 @@ package main
 import (
 	"flag"
 	"fmt"
+	"github.com/asynkron/protoactor-go/cluster/identitylookup/disthash"
+	"log/slog"
 	"sync"
 	"time"
 
 	"cluster-restartgracefully/shared"
 
-	"github.com/asynkron/protoactor-go/cluster/identitylookup/partition"
-
 	console "github.com/asynkron/goconsole"
 	"github.com/asynkron/protoactor-go/actor"
 	"github.com/asynkron/protoactor-go/cluster"
 	"github.com/asynkron/protoactor-go/cluster/clusterproviders/consul"
-	"github.com/asynkron/protoactor-go/log"
 	"github.com/asynkron/protoactor-go/remote"
 )
 
 var (
 	system   = actor.NewActorSystem()
-	plog     = log.New(log.DebugLevel, "[Example]")
+	plog     = slog.Default()
 	_cluster *cluster.Cluster
 )
 
 func main() {
-	cluster.SetLogLevel(log.InfoLevel)
+
 	loops := flag.Int("loops", 10000, "request times.")
 	interval := flag.Duration("interval", 0, "request interval miliseconds per client.")
 	clients := flag.Int("clients", 1, "clients count.")
@@ -68,7 +67,7 @@ func startNode(port int, provider string) {
 		panic(err)
 	}
 
-	id := partition.New()
+	id := disthash.New()
 	remoteCfg := remote.Configure("127.0.0.1", port)
 	cfg := cluster.Configure("cluster-restartgracefully", cp, id, remoteCfg)
 	_cluster = cluster.New(system, cfg)
@@ -94,10 +93,10 @@ func runClientsAll(clients int, loops int, interval time.Duration) {
 		costSecs = 1
 	}
 	plog.Info("end all.",
-		log.Int("clients", clients),
-		log.Int("total", total),
-		log.Int("req/s", total/costSecs),
-		log.Duration("take", cost))
+		slog.Int("clients", clients),
+		slog.Int("total", total),
+		slog.Int("req/s", total/costSecs),
+		slog.Duration("take", cost))
 }
 
 func runClient(grainId string, loops int, interval time.Duration) {
@@ -110,24 +109,24 @@ func runClient(grainId string, loops int, interval time.Duration) {
 	}
 	baseNumber := resp.Number
 	plog.Info("requests",
-		log.String("grainId", grainId),
-		log.String("status", "start"))
+		slog.String("grainId", grainId),
+		slog.String("status", "start"))
 	for i := 1; i <= loops; i++ {
 		assert_calcAdd(grainId, 1, baseNumber+int64(i))
 		time.Sleep(interval)
 	}
 	plog.Info("requests",
-		log.String("grainId", grainId),
-		log.String("status", "end"),
-		log.Int("loops", loops),
-		log.Duration("take", time.Since(now)))
+		slog.String("grainId", grainId),
+		slog.String("status", "end"),
+		slog.Int("loops", loops),
+		slog.Duration("take", time.Since(now)))
 }
 
 func calcAdd(grainId string, addNumber int64) int64 {
 	calcGrain := shared.GetCalculatorGrainClient(_cluster, grainId)
 	resp, err := calcGrain.Add(&shared.NumberRequest{Number: addNumber}, cluster.WithRetryCount(3), cluster.WithTimeout(6*time.Second))
 	if err != nil {
-		plog.Error("call grain failed", log.Error(err))
+		plog.Error("call grain failed", slog.Any("error", err))
 	}
 	return resp.Number
 }
diff --git a/_examples/cluster-restartgracefully/go.mod b/_examples/cluster-restartgracefully/go.mod
index 68c803b33..b4a53b45f 100644
--- a/_examples/cluster-restartgracefully/go.mod
+++ b/_examples/cluster-restartgracefully/go.mod
@@ -23,12 +23,13 @@ require (
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
-	github.com/google/go-cmp v0.6.0 // indirect
 	github.com/google/uuid v1.3.1 // indirect
 	github.com/hashicorp/consul/api v1.26.1 // indirect
+	github.com/hashicorp/errwrap v1.1.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
 	github.com/hashicorp/go-hclog v1.5.0 // indirect
 	github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
+	github.com/hashicorp/go-multierror v1.1.1 // indirect
 	github.com/hashicorp/go-rootcerts v1.0.2 // indirect
 	github.com/hashicorp/golang-lru v0.5.4 // indirect
 	github.com/hashicorp/serf v0.10.1 // indirect
@@ -51,12 +52,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/cluster-restartgracefully/server/main.go b/_examples/cluster-restartgracefully/server/main.go
index 36f870717..a04744bed 100644
--- a/_examples/cluster-restartgracefully/server/main.go
+++ b/_examples/cluster-restartgracefully/server/main.go
@@ -3,6 +3,7 @@ package main
 import (
 	"flag"
 	"fmt"
+	"log/slog"
 	"os"
 	"os/signal"
 	"syscall"
@@ -15,14 +16,13 @@ import (
 	"github.com/asynkron/protoactor-go/actor"
 	"github.com/asynkron/protoactor-go/cluster"
 	"github.com/asynkron/protoactor-go/cluster/clusterproviders/consul"
-	"github.com/asynkron/protoactor-go/log"
 	"github.com/asynkron/protoactor-go/remote"
 )
 
 var (
-	plog     = log.New(log.DebugLevel, "[Example]")
 	system   = actor.NewActorSystem()
 	_cluster *cluster.Cluster
+	plog     = slog.Default()
 )
 
 func main() {
@@ -45,7 +45,7 @@ func main() {
 			time.Sleep(time.Second)
 			os.Exit(0)
 		default:
-			plog.Info("Skipping", log.Object("sig", sig))
+			plog.Info("Skipping", slog.Any("sig", sig))
 		}
 	}
 }
diff --git a/_examples/cluster-restartgracefully/shared/protos.pb.go b/_examples/cluster-restartgracefully/shared/protos.pb.go
index d4539328d..397bb2ebe 100644
--- a/_examples/cluster-restartgracefully/shared/protos.pb.go
+++ b/_examples/cluster-restartgracefully/shared/protos.pb.go
@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // 	protoc-gen-go v1.27.1
-// 	protoc        v3.19.1
+// 	protoc        v4.24.3
 // source: protos.proto
 
 package shared
diff --git a/_examples/cluster-restartgracefully/shared/protos_protoactor.go b/_examples/cluster-restartgracefully/shared/protos_protoactor.go
index 10ec2d633..3f80ebe2c 100644
--- a/_examples/cluster-restartgracefully/shared/protos_protoactor.go
+++ b/_examples/cluster-restartgracefully/shared/protos_protoactor.go
@@ -4,27 +4,21 @@ package shared
 import (
 	"errors"
 	"fmt"
+	"log/slog"
 	"math"
 	"time"
 
 	"github.com/asynkron/protoactor-go/actor"
 	"github.com/asynkron/protoactor-go/cluster"
-	logmod "github.com/asynkron/protoactor-go/log"
 	"google.golang.org/protobuf/proto"
 )
 
 var (
-	plog = logmod.New(logmod.InfoLevel, "[GRAIN][shared]")
-	_    = proto.Marshal
-	_    = fmt.Errorf
-	_    = math.Inf
+	_ = proto.Marshal
+	_ = fmt.Errorf
+	_ = math.Inf
 )
 
-// SetLogLevel sets the log level.
-func SetLogLevel(level logmod.Level) {
-	plog.SetLevel(level)
-}
-
 var xCalculatorFactory func() Calculator
 
 // CalculatorFactory produces a Calculator
@@ -89,7 +83,7 @@ func (g *CalculatorGrainClient) Add(r *NumberRequest, opts ...cluster.GrainCallO
 		return nil, err
 	}
 	reqMsg := &cluster.GrainRequest{MethodIndex: 0, MessageData: bytes}
-	resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...)
+	resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -115,7 +109,7 @@ func (g *CalculatorGrainClient) Subtract(r *NumberRequest, opts ...cluster.Grain
 		return nil, err
 	}
 	reqMsg := &cluster.GrainRequest{MethodIndex: 1, MessageData: bytes}
-	resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...)
+	resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -141,7 +135,7 @@ func (g *CalculatorGrainClient) GetCurrent(r *Void, opts ...cluster.GrainCallOpt
 		return nil, err
 	}
 	reqMsg := &cluster.GrainRequest{MethodIndex: 2, MessageData: bytes}
-	resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...)
+	resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -170,7 +164,7 @@ type CalculatorActor struct {
 // Receive ensures the lifecycle of the actor for the received message
 func (a *CalculatorActor) Receive(ctx actor.Context) {
 	switch msg := ctx.Message().(type) {
-	case *actor.Started: // pass
+	case *actor.Started: //pass
 	case *cluster.ClusterInit:
 		a.ctx = cluster.NewGrainContext(ctx, msg.Identity, msg.Cluster)
 		a.inner = xCalculatorFactory()
@@ -192,7 +186,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			req := &NumberRequest{}
 			err := proto.Unmarshal(msg.MessageData, req)
 			if err != nil {
-				plog.Error("Add(NumberRequest) proto.Unmarshal failed.", logmod.Error(err))
+				ctx.Logger().Error("[Grain] Add(NumberRequest) proto.Unmarshal failed.", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
@@ -205,7 +199,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			}
 			bytes, err := proto.Marshal(r0)
 			if err != nil {
-				plog.Error("Add(NumberRequest) proto.Marshal failed", logmod.Error(err))
+				ctx.Logger().Error("[Grain] Add(NumberRequest) proto.Marshal failed", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
@@ -216,7 +210,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			req := &NumberRequest{}
 			err := proto.Unmarshal(msg.MessageData, req)
 			if err != nil {
-				plog.Error("Subtract(NumberRequest) proto.Unmarshal failed.", logmod.Error(err))
+				ctx.Logger().Error("[Grain] Subtract(NumberRequest) proto.Unmarshal failed.", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
@@ -229,7 +223,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			}
 			bytes, err := proto.Marshal(r0)
 			if err != nil {
-				plog.Error("Subtract(NumberRequest) proto.Marshal failed", logmod.Error(err))
+				ctx.Logger().Error("[Grain] Subtract(NumberRequest) proto.Marshal failed", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
@@ -240,7 +234,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			req := &Void{}
 			err := proto.Unmarshal(msg.MessageData, req)
 			if err != nil {
-				plog.Error("GetCurrent(Void) proto.Unmarshal failed.", logmod.Error(err))
+				ctx.Logger().Error("[Grain] GetCurrent(Void) proto.Unmarshal failed.", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
@@ -253,7 +247,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) {
 			}
 			bytes, err := proto.Marshal(r0)
 			if err != nil {
-				plog.Error("GetCurrent(Void) proto.Marshal failed", logmod.Error(err))
+				ctx.Logger().Error("[Grain] GetCurrent(Void) proto.Marshal failed", slog.Any("error", err))
 				resp := &cluster.GrainErrorResponse{Err: err.Error()}
 				ctx.Respond(resp)
 				return
diff --git a/_examples/kubernetes-sample/go.mod b/_examples/kubernetes-sample/go.mod
index 070445f62..8a350ff36 100644
--- a/_examples/kubernetes-sample/go.mod
+++ b/_examples/kubernetes-sample/go.mod
@@ -25,7 +25,7 @@ require (
 	github.com/go-openapi/swag v0.22.3 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
-	github.com/google/gnostic v0.6.9 // indirect
+	github.com/google/gnostic-models v0.6.8 // indirect
 	github.com/google/go-cmp v0.6.0 // indirect
 	github.com/google/gofuzz v1.2.0 // indirect
 	github.com/google/uuid v1.3.1 // indirect
@@ -48,7 +48,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
@@ -58,7 +58,7 @@ require (
 	golang.org/x/text v0.14.0 // indirect
 	golang.org/x/time v0.3.0 // indirect
 	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
diff --git a/_examples/opentelemetry-custom-provider/go.mod b/_examples/opentelemetry-custom-provider/go.mod
index e3ca68648..a6d6f2d21 100644
--- a/_examples/opentelemetry-custom-provider/go.mod
+++ b/_examples/opentelemetry-custom-provider/go.mod
@@ -7,7 +7,33 @@ replace github.com/asynkron/protoactor-go => ../..
 require (
 	github.com/asynkron/goconsole v0.0.0-20160504192649-bfa12eebf716
 	github.com/asynkron/protoactor-go v0.0.0-00010101000000-000000000000
-	go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v0.27.0
-	go.opentelemetry.io/otel/metric v1.21.0
-	go.opentelemetry.io/otel/sdk/metric v1.21.0
+
+)
+
+require (
+	github.com/Workiva/go-datastructures v1.1.1 // indirect
+	github.com/beorn7/perks v1.0.1 // indirect
+	github.com/cespare/xxhash/v2 v2.2.0 // indirect
+	github.com/emirpasic/gods v1.18.1 // indirect
+	github.com/go-logr/logr v1.3.0 // indirect
+	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/golang/protobuf v1.5.3 // indirect
+	github.com/google/uuid v1.3.1 // indirect
+	github.com/lithammer/shortuuid/v4 v4.0.0 // indirect
+	github.com/lmittmann/tint v1.0.3 // indirect
+	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
+	github.com/orcaman/concurrent-map v1.0.0 // indirect
+	github.com/prometheus/client_golang v1.17.0 // indirect
+	github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
+	github.com/prometheus/common v0.44.0 // indirect
+	github.com/prometheus/procfs v0.11.1 // indirect
+	github.com/twmb/murmur3 v1.1.6 // indirect
+	go.opentelemetry.io/otel v1.21.0 // indirect
+	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
+	go.opentelemetry.io/otel/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/trace v1.21.0 // indirect
+	golang.org/x/sys v0.14.0 // indirect
+	google.golang.org/protobuf v1.31.0 // indirect
 )
diff --git a/_examples/opentelemetry/go.mod b/_examples/opentelemetry/go.mod
index bd2a7f18c..aada612ce 100644
--- a/_examples/opentelemetry/go.mod
+++ b/_examples/opentelemetry/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/persistence/go.mod b/_examples/persistence/go.mod
index b704ca092..0f1a76890 100644
--- a/_examples/persistence/go.mod
+++ b/_examples/persistence/go.mod
@@ -32,7 +32,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 )
diff --git a/_examples/remote-activate/go.mod b/_examples/remote-activate/go.mod
index b7d12ab02..40c8e1c90 100644
--- a/_examples/remote-activate/go.mod
+++ b/_examples/remote-activate/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-advertised-address/go.mod b/_examples/remote-advertised-address/go.mod
index 47c76f9b2..c274b409d 100644
--- a/_examples/remote-advertised-address/go.mod
+++ b/_examples/remote-advertised-address/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-benchmark/go.mod b/_examples/remote-benchmark/go.mod
index 377db4e2e..0078516e4 100644
--- a/_examples/remote-benchmark/go.mod
+++ b/_examples/remote-benchmark/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-channels/go.mod b/_examples/remote-channels/go.mod
index afc5fb6f3..d6153a6d6 100644
--- a/_examples/remote-channels/go.mod
+++ b/_examples/remote-channels/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-chat/go.mod b/_examples/remote-chat/go.mod
index 47a358110..b678c54c8 100644
--- a/_examples/remote-chat/go.mod
+++ b/_examples/remote-chat/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-header/go.mod b/_examples/remote-header/go.mod
index 74a98cc3b..80bd61d04 100644
--- a/_examples/remote-header/go.mod
+++ b/_examples/remote-header/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-routing/go.mod b/_examples/remote-routing/go.mod
index 9f2f97346..6e2eca93a 100644
--- a/_examples/remote-routing/go.mod
+++ b/_examples/remote-routing/go.mod
@@ -35,12 +35,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/remote-watch/go.mod b/_examples/remote-watch/go.mod
index dccc1a713..294bd881e 100644
--- a/_examples/remote-watch/go.mod
+++ b/_examples/remote-watch/go.mod
@@ -34,12 +34,12 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
 	golang.org/x/net v0.18.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 	google.golang.org/grpc v1.59.0 // indirect
 )
diff --git a/_examples/router-demo/go.mod b/_examples/router-demo/go.mod
index 14f64dda9..ef95326ca 100644
--- a/_examples/router-demo/go.mod
+++ b/_examples/router-demo/go.mod
@@ -32,7 +32,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/router-limitconcurrency/go.mod b/_examples/router-limitconcurrency/go.mod
index 124140968..d76eb5398 100644
--- a/_examples/router-limitconcurrency/go.mod
+++ b/_examples/router-limitconcurrency/go.mod
@@ -32,7 +32,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect
diff --git a/_examples/scheduler/go.mod b/_examples/scheduler/go.mod
index f72359f1f..611c82d40 100644
--- a/_examples/scheduler/go.mod
+++ b/_examples/scheduler/go.mod
@@ -31,7 +31,7 @@ require (
 	go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect
 	go.opentelemetry.io/otel/metric v1.21.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.21.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect
 	go.opentelemetry.io/otel/trace v1.21.0 // indirect
 	golang.org/x/sys v0.14.0 // indirect
 	google.golang.org/protobuf v1.31.0 // indirect