[CSM] Remove experimental CSM PluginOption API in favor of CsmObservability API

pull/35812/head
Yash Tibrewal 1 year ago
parent 3ebccf55cd
commit d2488f41c3
  1. 10
      include/grpcpp/ext/csm_observability.h
  2. 4
      src/cpp/ext/csm/csm_observability.cc
  3. 8
      test/cpp/ext/csm/csm_observability_test.cc
  4. 16
      test/cpp/interop/xds_interop_client.cc
  5. 16
      test/cpp/interop/xds_interop_server.cc

@ -90,16 +90,6 @@ class CsmObservabilityBuilder {
std::unique_ptr<grpc::internal::OpenTelemetryPluginBuilderImpl> builder_;
};
/// Creates an OpenTelemetryPluginOption that would add additional labels on
/// gRPC metrics to enhance observability for CSM users.
///
/// Sample Usage -
/// OpenTelemetryPluginBuilder()
/// .SetMeterProvider(provider)
/// .AddPluginOption(MakeCsmOpenTelemetryPluginOption())
/// .BuildAndRegisterGlobal();
std::unique_ptr<OpenTelemetryPluginOption> MakeCsmOpenTelemetryPluginOption();
} // namespace experimental
} // namespace grpc

@ -139,9 +139,5 @@ absl::StatusOr<CsmObservability> CsmObservabilityBuilder::BuildAndRegister() {
return CsmObservability();
}
std::unique_ptr<OpenTelemetryPluginOption> MakeCsmOpenTelemetryPluginOption() {
return std::make_unique<grpc::internal::CsmOpenTelemetryPluginOption>();
}
} // namespace experimental
} // namespace grpc

@ -63,14 +63,6 @@ TEST(CsmChannelTargetSelectorTest, XdsTargetsWithTDAuthority) {
"xds://traffic-director-global.xds.googleapis.com/foo"));
}
TEST(CsmPluginOptionTest, Basic) {
EXPECT_EQ(
OpenTelemetryPluginBuilder()
.AddPluginOption(experimental::MakeCsmOpenTelemetryPluginOption())
.BuildAndRegisterGlobal(),
absl::OkStatus());
}
} // namespace
} // namespace testing
} // namespace grpc

@ -427,7 +427,7 @@ void RunTestLoop(std::chrono::duration<double> duration_per_query,
GPR_UNREACHABLE_CODE(thread.join());
}
void EnableCsmObservability() {
grpc::experimental::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,12 +438,11 @@ void EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
assert(grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(
grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal()
.ok());
auto observability = grpc::experimental::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
assert(observability.ok());
return *observability;
}
void RunServer(const int port, StatsWatchers* stats_watchers,
@ -554,8 +553,9 @@ int main(int argc, char** argv) {
}
BuildRpcConfigsFromFlags(&rpc_config_queue);
grpc::experimental::CsmObservability observability;
if (absl::GetFlag(FLAGS_enable_csm_observability)) {
EnableCsmObservability();
observability = EnableCsmObservability();
}
std::chrono::duration<double> duration_per_query =

@ -43,7 +43,7 @@ ABSL_FLAG(bool, secure_mode, false,
ABSL_FLAG(bool, enable_csm_observability, false,
"Whether to enable CSM Observability");
void EnableCsmObservability() {
grpc::experimental::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,12 +54,11 @@ void EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
assert(grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(
grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal()
.ok());
auto observability = grpc::experimental::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
assert(observability.ok());
return *observability;
}
int main(int argc, char** argv) {
@ -82,8 +81,9 @@ int main(int argc, char** argv) {
}
grpc::EnableDefaultHealthCheckService(false);
bool enable_csm_observability = absl::GetFlag(FLAGS_enable_csm_observability);
grpc::experimental::CsmObservability observability;
if (enable_csm_observability) {
EnableCsmObservability();
observability = EnableCsmObservability();
}
grpc::testing::RunServer(absl::GetFlag(FLAGS_secure_mode),
enable_csm_observability, port, maintenance_port,

Loading…
Cancel
Save