aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYash Tibrewal <yashkt@google.com>2024-02-09 09:25:20 -0800
committerCopybara-Service <copybara-worker@google.com>2024-02-09 09:28:18 -0800
commit2999332d64c68181bb7196b576b01cf7fd5d1a9a (patch)
treed6ffec2c76d19e65cbcb3e08420eb351f8a572a1
parentf27fb07c842639f62ee2a8540783b8d2083d6951 (diff)
downloadgrpc-grpc-2999332d64c68181bb7196b576b01cf7fd5d1a9a.tar.gz
[CSM] De-experimentalize CsmObservability API (#35836)
Closes #35836 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35836 from yashykt:DeexperimentalizeCsmObs 1711e6d9b08199f92c45e0b5fdd69372051eb632 PiperOrigin-RevId: 605650394
-rw-r--r--examples/cpp/csm/csm_greeter_client.cc4
-rw-r--r--examples/cpp/csm/csm_greeter_server.cc2
-rw-r--r--include/grpcpp/ext/csm_observability.h10
-rw-r--r--src/cpp/ext/csm/csm_observability.cc3
-rw-r--r--test/cpp/ext/csm/csm_observability_test.cc18
-rw-r--r--test/cpp/interop/xds_interop_client.cc6
-rw-r--r--test/cpp/interop/xds_interop_server.cc6
7 files changed, 26 insertions, 23 deletions
diff --git a/examples/cpp/csm/csm_greeter_client.cc b/examples/cpp/csm/csm_greeter_client.cc
index 3aba705856..a689fdfa0d 100644
--- a/examples/cpp/csm/csm_greeter_client.cc
+++ b/examples/cpp/csm/csm_greeter_client.cc
@@ -158,7 +158,7 @@ class GreeterClient {
absl::optional<Cookie> cookie_from_server_;
};
-absl::StatusOr<grpc::experimental::CsmObservability> InitializeObservability() {
+absl::StatusOr<grpc::CsmObservability> InitializeObservability() {
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE pods
opts.url = "0.0.0.0:9464";
@@ -167,7 +167,7 @@ absl::StatusOr<grpc::experimental::CsmObservability> InitializeObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
- return grpc::experimental::CsmObservabilityBuilder()
+ return grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
}
diff --git a/examples/cpp/csm/csm_greeter_server.cc b/examples/cpp/csm/csm_greeter_server.cc
index 0e6d24bfd1..c5d7857e7f 100644
--- a/examples/cpp/csm/csm_greeter_server.cc
+++ b/examples/cpp/csm/csm_greeter_server.cc
@@ -108,7 +108,7 @@ int main(int argc, char** argv) {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
- auto observability = grpc::experimental::CsmObservabilityBuilder()
+ auto observability = grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
if (!observability.ok()) {
diff --git a/include/grpcpp/ext/csm_observability.h b/include/grpcpp/ext/csm_observability.h
index 86463acf5f..dcb7bd8c29 100644
--- a/include/grpcpp/ext/csm_observability.h
+++ b/include/grpcpp/ext/csm_observability.h
@@ -36,8 +36,6 @@ namespace internal {
class OpenTelemetryPluginBuilderImpl;
} // namespace internal
-namespace experimental {
-
// This object maintains state around the registered CsmObservability plugin.
// The application is responsible for retaining this object until it has closed
// all channels and servers that are recording metrics.
@@ -102,7 +100,15 @@ class CsmObservabilityBuilder {
std::unique_ptr<grpc::internal::OpenTelemetryPluginBuilderImpl> builder_;
};
+namespace experimental {
+// TODO(yashykt): Remove this once no longer needed.
+using CsmObservability GRPC_DEPRECATED("Use grpc::CsmObservability instead.") =
+ grpc::CsmObservability;
+using CsmObservabilityBuilder GRPC_DEPRECATED(
+ "Use grpc::CsmObservabilityBuilder instead.") =
+ grpc::CsmObservabilityBuilder;
} // namespace experimental
+
} // namespace grpc
#endif // GRPCPP_EXT_CSM_OBSERVABILITY_H
diff --git a/src/cpp/ext/csm/csm_observability.cc b/src/cpp/ext/csm/csm_observability.cc
index 0b503455ef..f400a91922 100644
--- a/src/cpp/ext/csm/csm_observability.cc
+++ b/src/cpp/ext/csm/csm_observability.cc
@@ -100,8 +100,6 @@ class CsmOpenTelemetryPluginOption
} // namespace internal
-namespace experimental {
-
//
// CsmObservability
//
@@ -164,5 +162,4 @@ absl::StatusOr<CsmObservability> CsmObservabilityBuilder::BuildAndRegister() {
return CsmObservability();
}
-} // namespace experimental
} // namespace grpc
diff --git a/test/cpp/ext/csm/csm_observability_test.cc b/test/cpp/ext/csm/csm_observability_test.cc
index 34af9edd58..63c2af641c 100644
--- a/test/cpp/ext/csm/csm_observability_test.cc
+++ b/test/cpp/ext/csm/csm_observability_test.cc
@@ -32,7 +32,7 @@ namespace testing {
namespace {
TEST(CsmObservabilityBuilderTest, Basic) {
- EXPECT_EQ(experimental::CsmObservabilityBuilder().BuildAndRegister().status(),
+ EXPECT_EQ(CsmObservabilityBuilder().BuildAndRegister().status(),
absl::OkStatus());
}
@@ -41,7 +41,7 @@ TEST(GsmDependencyTest, GoogleCloudOpenTelemetryDependency) {
}
TEST(CsmChannelTargetSelectorTest, NonXdsTargets) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_FALSE(internal::CsmChannelTargetSelector("foo.bar.google.com"));
EXPECT_FALSE(internal::CsmChannelTargetSelector("dns:///foo.bar.google.com"));
EXPECT_FALSE(
@@ -51,24 +51,24 @@ TEST(CsmChannelTargetSelectorTest, NonXdsTargets) {
}
TEST(CsmChannelTargetSelectorTest, XdsTargets) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_TRUE(internal::CsmChannelTargetSelector("xds:///foo"));
EXPECT_TRUE(internal::CsmChannelTargetSelector("xds:///foo.bar"));
}
TEST(CsmChannelTargetSelectorTest, XdsTargetsWithNonTDAuthority) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_FALSE(internal::CsmChannelTargetSelector("xds://authority/foo"));
}
TEST(CsmChannelTargetSelectorTest, XdsTargetsWithTDAuthority) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_TRUE(internal::CsmChannelTargetSelector(
"xds://traffic-director-global.xds.googleapis.com/foo"));
}
TEST(CsmChannelTargetSelectorTest, CsmObservabilityOutOfScope) {
- { auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister(); }
+ { auto obs = CsmObservabilityBuilder().BuildAndRegister(); }
// When CsmObservability goes out of scope, the target selector should return
// false as well.
EXPECT_FALSE(internal::CsmChannelTargetSelector("foo.bar.google.com"));
@@ -78,18 +78,18 @@ TEST(CsmChannelTargetSelectorTest, CsmObservabilityOutOfScope) {
}
TEST(CsmServerSelectorTest, ChannelArgsWithoutXdsServerArg) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_FALSE(internal::CsmServerSelector(grpc_core::ChannelArgs()));
}
TEST(CsmServerSelectorTest, ChannelArgsWithXdsServerArg) {
- auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister();
+ auto obs = CsmObservabilityBuilder().BuildAndRegister();
EXPECT_TRUE(internal::CsmServerSelector(
grpc_core::ChannelArgs().Set(GRPC_ARG_XDS_ENABLED_SERVER, true)));
}
TEST(CsmServerSelectorTest, CsmObservabilityOutOfScope) {
- { auto obs = experimental::CsmObservabilityBuilder().BuildAndRegister(); }
+ { auto obs = CsmObservabilityBuilder().BuildAndRegister(); }
// When CsmObservability goes out of scope, the server selector should return
// false as well.
EXPECT_FALSE(internal::CsmServerSelector(grpc_core::ChannelArgs()));
diff --git a/test/cpp/interop/xds_interop_client.cc b/test/cpp/interop/xds_interop_client.cc
index 76dab581fa..d5c97c2ddc 100644
--- a/test/cpp/interop/xds_interop_client.cc
+++ b/test/cpp/interop/xds_interop_client.cc
@@ -427,7 +427,7 @@ void RunTestLoop(std::chrono::duration<double> duration_per_query,
GPR_UNREACHABLE_CODE(thread.join());
}
-grpc::experimental::CsmObservability EnableCsmObservability() {
+grpc::CsmObservability EnableCsmObservability() {
gpr_log(GPR_DEBUG, "Registering Prometheus exporter");
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE
@@ -438,7 +438,7 @@ grpc::experimental::CsmObservability EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
- auto observability = grpc::experimental::CsmObservabilityBuilder()
+ auto observability = grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
assert(observability.ok());
@@ -553,7 +553,7 @@ int main(int argc, char** argv) {
}
BuildRpcConfigsFromFlags(&rpc_config_queue);
- grpc::experimental::CsmObservability observability;
+ grpc::CsmObservability observability;
if (absl::GetFlag(FLAGS_enable_csm_observability)) {
observability = EnableCsmObservability();
}
diff --git a/test/cpp/interop/xds_interop_server.cc b/test/cpp/interop/xds_interop_server.cc
index 80637dfa05..6de9c18042 100644
--- a/test/cpp/interop/xds_interop_server.cc
+++ b/test/cpp/interop/xds_interop_server.cc
@@ -43,7 +43,7 @@ ABSL_FLAG(bool, secure_mode, false,
ABSL_FLAG(bool, enable_csm_observability, false,
"Whether to enable CSM Observability");
-grpc::experimental::CsmObservability EnableCsmObservability() {
+grpc::CsmObservability EnableCsmObservability() {
gpr_log(GPR_DEBUG, "Registering Prometheus exporter");
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE
@@ -54,7 +54,7 @@ grpc::experimental::CsmObservability EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
- auto observability = grpc::experimental::CsmObservabilityBuilder()
+ auto observability = grpc::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
assert(observability.ok());
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
}
grpc::EnableDefaultHealthCheckService(false);
bool enable_csm_observability = absl::GetFlag(FLAGS_enable_csm_observability);
- grpc::experimental::CsmObservability observability;
+ grpc::CsmObservability observability;
if (enable_csm_observability) {
observability = EnableCsmObservability();
}