[OTel] De-experimentalize API (#35509)

Closes #35509

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35509 from yashykt:DeeexperimentalizeOTelPlugin f5edf94f2c
PiperOrigin-RevId: 597613307
pull/35527/head
Yash Tibrewal 1 year ago committed by Copybara-Service
parent 2812bb4d08
commit d2cc24f189
  1. 1
      BUILD
  2. 5
      include/grpcpp/ext/csm_observability.h
  3. 10
      include/grpcpp/ext/otel_plugin.h
  4. 59
      src/cpp/ext/otel/otel_plugin.cc
  5. 2
      src/cpp/ext/otel/otel_plugin.h
  6. 2
      test/cpp/ext/csm/csm_observability_test.cc
  7. 18
      test/cpp/ext/csm/metadata_exchange_test.cc
  8. 76
      test/cpp/ext/otel/otel_plugin_test.cc
  9. 2
      test/cpp/interop/observability_client.cc
  10. 2
      test/cpp/interop/xds_interop_client.cc
  11. 2
      test/cpp/interop/xds_interop_server.cc

@ -2384,6 +2384,7 @@ grpc_cc_library(
language = "c++",
tags = ["nofixdeps"],
deps = [
":grpcpp_otel_plugin",
"//src/cpp/ext/csm:csm_observability",
],
)

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

@ -36,8 +36,6 @@ namespace internal {
class OpenTelemetryPluginBuilderImpl;
} // namespace internal
namespace experimental {
class OpenTelemetryPluginOption {
public:
virtual ~OpenTelemetryPluginOption() = default;
@ -114,7 +112,15 @@ class OpenTelemetryPluginBuilder {
private:
std::unique_ptr<internal::OpenTelemetryPluginBuilderImpl> impl_;
};
namespace experimental {
// TODO(yashykt): Delete this after the 1.62 release.
GRPC_DEPRECATED(
"Use grpc::OpenTelemetryPluginBuilder instead. The experimental version "
"will be deleted after the 1.62 release.")
typedef grpc::OpenTelemetryPluginBuilder OpenTelemetryPluginBuilder;
} // namespace experimental
} // namespace grpc
#endif // GRPCPP_EXT_OTEL_PLUGIN_H

@ -61,23 +61,23 @@ absl::string_view OpenTelemetryTargetKey() { return "grpc.target"; }
namespace {
absl::flat_hash_set<std::string> BaseMetrics() {
return absl::flat_hash_set<std::string>{
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName),
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName),
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptSentTotalCompressedMessageSizeInstrumentName),
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptRcvdTotalCompressedMessageSizeInstrumentName),
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallStartedInstrumentName),
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName),
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(
grpc::OpenTelemetryPluginBuilder::kServerCallStartedInstrumentName),
std::string(
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName),
std::string(grpc::OpenTelemetryPluginBuilder::
kServerCallSentTotalCompressedMessageSizeInstrumentName),
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kServerCallRcvdTotalCompressedMessageSizeInstrumentName)};
}
} // namespace
@ -172,74 +172,74 @@ void OpenTelemetryPluginBuilderImpl::BuildAndRegisterGlobal() {
return;
}
auto meter = meter_provider->GetMeter("grpc-c++", GRPC_CPP_VERSION_STRING);
if (metrics_.contains(grpc::experimental::OpenTelemetryPluginBuilder::
if (metrics_.contains(grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName)) {
g_otel_plugin_state_->client.attempt.started = meter->CreateUInt64Counter(
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName),
"Number of client call attempts started", "{attempt}");
}
if (metrics_.contains(grpc::experimental::OpenTelemetryPluginBuilder::
if (metrics_.contains(grpc::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName)) {
g_otel_plugin_state_->client.attempt.duration =
meter->CreateDoubleHistogram(
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName),
"End-to-end time taken to complete a client call attempt", "s");
}
if (metrics_.contains(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptSentTotalCompressedMessageSizeInstrumentName)) {
g_otel_plugin_state_->client.attempt.sent_total_compressed_message_size =
meter->CreateUInt64Histogram(
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptSentTotalCompressedMessageSizeInstrumentName),
"Compressed message bytes sent per client call attempt", "By");
}
if (metrics_.contains(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptRcvdTotalCompressedMessageSizeInstrumentName)) {
g_otel_plugin_state_->client.attempt.rcvd_total_compressed_message_size =
meter->CreateUInt64Histogram(
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kClientAttemptRcvdTotalCompressedMessageSizeInstrumentName),
"Compressed message bytes received per call attempt", "By");
}
if (metrics_.contains(grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallStartedInstrumentName)) {
if (metrics_.contains(
grpc::OpenTelemetryPluginBuilder::kServerCallStartedInstrumentName)) {
g_otel_plugin_state_->server.call.started = meter->CreateUInt64Counter(
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallStartedInstrumentName),
std::string(
grpc::OpenTelemetryPluginBuilder::kServerCallStartedInstrumentName),
"Number of server calls started", "{call}");
}
if (metrics_.contains(grpc::experimental::OpenTelemetryPluginBuilder::
if (metrics_.contains(grpc::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName)) {
g_otel_plugin_state_->server.call.duration = meter->CreateDoubleHistogram(
std::string(grpc::experimental::OpenTelemetryPluginBuilder::
std::string(grpc::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName),
"End-to-end time taken to complete a call from server transport's "
"perspective",
"s");
}
if (metrics_.contains(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kServerCallSentTotalCompressedMessageSizeInstrumentName)) {
g_otel_plugin_state_->server.call.sent_total_compressed_message_size =
meter->CreateUInt64Histogram(
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kServerCallSentTotalCompressedMessageSizeInstrumentName),
"Compressed message bytes sent per server call", "By");
}
if (metrics_.contains(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kServerCallRcvdTotalCompressedMessageSizeInstrumentName)) {
g_otel_plugin_state_->server.call.rcvd_total_compressed_message_size =
meter->CreateUInt64Histogram(
std::string(
grpc::experimental::OpenTelemetryPluginBuilder::
grpc::OpenTelemetryPluginBuilder::
kServerCallRcvdTotalCompressedMessageSizeInstrumentName),
"Compressed message bytes received per server call", "By");
}
@ -272,8 +272,6 @@ void OpenTelemetryPluginBuilderImpl::BuildAndRegisterGlobal() {
} // namespace internal
namespace experimental {
constexpr absl::string_view
OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName;
constexpr absl::string_view
@ -336,5 +334,4 @@ void OpenTelemetryPluginBuilder::BuildAndRegisterGlobal() {
impl_->BuildAndRegisterGlobal();
}
} // namespace experimental
} // namespace grpc

@ -82,7 +82,7 @@ class LabelsInjector {
};
class InternalOpenTelemetryPluginOption
: public grpc::experimental::OpenTelemetryPluginOption {
: public grpc::OpenTelemetryPluginOption {
public:
~InternalOpenTelemetryPluginOption() override = default;
// Determines whether a plugin option is active on a given channel target

@ -64,7 +64,7 @@ TEST(CsmChannelTargetSelectorTest, XdsTargetsWithTDAuthority) {
}
TEST(CsmPluginOptionTest, Basic) {
experimental::OpenTelemetryPluginBuilder()
OpenTelemetryPluginBuilder()
.AddPluginOption(experimental::MakeCsmOpenTelemetryPluginOption())
.BuildAndRegisterGlobal();
}

@ -206,8 +206,8 @@ class MetadataExchangeTest
// Verify that grpc.client.attempt.started does not get service mesh attributes
TEST_P(MetadataExchangeTest, ClientAttemptStarted) {
Init(/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName});
Init(/*metric_names=*/{
grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName});
SendRPC();
const char* kMetricName = "grpc.client.attempt.started";
auto data = ReadCurrentMetricsData(
@ -230,8 +230,8 @@ TEST_P(MetadataExchangeTest, ClientAttemptStarted) {
}
TEST_P(MetadataExchangeTest, ClientAttemptDuration) {
Init(/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName});
Init(/*metric_names=*/{
grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName});
SendRPC();
const char* kMetricName = "grpc.client.attempt.duration";
auto data = ReadCurrentMetricsData(
@ -256,8 +256,8 @@ TEST_P(MetadataExchangeTest, ClientAttemptDuration) {
// Verify that grpc.server.call.started does not get service mesh attributes
TEST_P(MetadataExchangeTest, ServerCallStarted) {
Init(
/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallStartedInstrumentName});
/*metric_names=*/{
grpc::OpenTelemetryPluginBuilder::kServerCallStartedInstrumentName});
SendRPC();
const char* kMetricName = "grpc.server.call.started";
auto data = ReadCurrentMetricsData(
@ -277,8 +277,8 @@ TEST_P(MetadataExchangeTest, ServerCallStarted) {
TEST_P(MetadataExchangeTest, ServerCallDuration) {
Init(
/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName});
/*metric_names=*/{
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName});
SendRPC();
const char* kMetricName = "grpc.server.call.duration";
auto data = ReadCurrentMetricsData(
@ -301,7 +301,7 @@ TEST_P(MetadataExchangeTest, ServerCallDuration) {
// Test that the server records unknown when the client does not send metadata
TEST_P(MetadataExchangeTest, ClientDoesNotSendMetadata) {
Init(
/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder::
/*metric_names=*/{grpc::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
/*enable_client_side_injector=*/false);
SendRPC();

@ -47,12 +47,11 @@ TEST(OpenTelemetryPluginBuildTest, SdkDependency) {
}
TEST(OpenTelemetryPluginBuildTest, Basic) {
grpc::experimental::OpenTelemetryPluginBuilder builder;
grpc::OpenTelemetryPluginBuilder builder;
}
TEST_F(OpenTelemetryPluginEnd2EndTest, ClientAttemptStarted) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName});
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName});
SendRPC();
const char* kMetricName = "grpc.client.attempt.started";
auto data = ReadCurrentMetricsData(
@ -80,8 +79,8 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, ClientAttemptStarted) {
}
TEST_F(OpenTelemetryPluginEnd2EndTest, ClientAttemptDuration) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName});
Init(
{grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName});
SendRPC();
const char* kMetricName = "grpc.client.attempt.duration";
auto data = ReadCurrentMetricsData(
@ -113,7 +112,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, ClientAttemptDuration) {
TEST_F(OpenTelemetryPluginEnd2EndTest,
ClientAttemptSentTotalCompressedMessageSize) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptSentTotalCompressedMessageSizeInstrumentName});
SendRPC();
const char* kMetricName =
@ -148,7 +147,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
TEST_F(OpenTelemetryPluginEnd2EndTest,
ClientAttemptRcvdTotalCompressedMessageSize) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptRcvdTotalCompressedMessageSizeInstrumentName});
SendRPC();
const char* kMetricName =
@ -182,8 +181,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
}
TEST_F(OpenTelemetryPluginEnd2EndTest, ServerCallStarted) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallStartedInstrumentName});
Init({grpc::OpenTelemetryPluginBuilder::kServerCallStartedInstrumentName});
SendRPC();
const char* kMetricName = "grpc.server.call.started";
auto data = ReadCurrentMetricsData(
@ -207,8 +205,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, ServerCallStarted) {
}
TEST_F(OpenTelemetryPluginEnd2EndTest, ServerCallDuration) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName});
Init({grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName});
SendRPC();
const char* kMetricName = "grpc.server.call.duration";
auto data = ReadCurrentMetricsData(
@ -236,7 +233,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, ServerCallDuration) {
TEST_F(OpenTelemetryPluginEnd2EndTest,
ServerCallSentTotalCompressedMessageSize) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kServerCallSentTotalCompressedMessageSizeInstrumentName});
SendRPC();
const char* kMetricName =
@ -267,7 +264,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
TEST_F(OpenTelemetryPluginEnd2EndTest,
ServerCallRcvdTotalCompressedMessageSize) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kServerCallRcvdTotalCompressedMessageSizeInstrumentName});
SendRPC();
const char* kMetricName =
@ -298,8 +295,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
// Make sure that no meter provider results in normal operations.
TEST_F(OpenTelemetryPluginEnd2EndTest, NoMeterProviderRegistered) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/true);
@ -308,7 +304,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, NoMeterProviderRegistered) {
// Test that a channel selector returning true records metrics on the channel.
TEST_F(OpenTelemetryPluginEnd2EndTest, TargetSelectorReturnsTrue) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName}, /*resource=*/
opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
@ -344,7 +340,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, TargetSelectorReturnsTrue) {
// Test that a target selector returning false does not record metrics on the
// channel.
TEST_F(OpenTelemetryPluginEnd2EndTest, TargetSelectorReturnsFalse) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName}, /*resource=*/
opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
@ -363,7 +359,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, TargetSelectorReturnsFalse) {
// Test that a target attribute filter returning true records metrics with the
// target as is on the channel.
TEST_F(OpenTelemetryPluginEnd2EndTest, TargetAttributeFilterReturnsTrue) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName}, /*resource=*/
opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
@ -401,7 +397,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, TargetAttributeFilterReturnsTrue) {
// Test that a target attribute filter returning false records metrics with the
// target as "other".
TEST_F(OpenTelemetryPluginEnd2EndTest, TargetAttributeFilterReturnsFalse) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
Init({grpc::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName}, /*resource=*/
opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
@ -438,8 +434,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, TargetAttributeFilterReturnsFalse) {
// Test that generic method names are scrubbed properly on the client side.
TEST_F(OpenTelemetryPluginEnd2EndTest, GenericClientRpc) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName});
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName});
SendGenericRPC();
const char* kMetricName = "grpc.client.attempt.started";
auto data = ReadCurrentMetricsData(
@ -470,8 +465,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, GenericClientRpc) {
// the method attribute filter is set and it returns false.
TEST_F(OpenTelemetryPluginEnd2EndTest,
GenericClientRpcWithMethodAttributeFilterReturningFalse) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -510,8 +504,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
// the method attribute filter is set and it returns true.
TEST_F(OpenTelemetryPluginEnd2EndTest,
GenericClientRpcWithMethodAttributeFilterReturningTrue) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptStartedInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -548,8 +541,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
// Test that generic method names are scrubbed properly on the server side.
TEST_F(OpenTelemetryPluginEnd2EndTest, GenericServerRpc) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName});
Init({grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName});
SendGenericRPC();
const char* kMetricName = "grpc.server.call.duration";
auto data = ReadCurrentMetricsData(
@ -579,8 +571,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest, GenericServerRpc) {
// the method attribute filter is set and it returns false.
TEST_F(OpenTelemetryPluginEnd2EndTest,
GenericServerRpcWithMethodAttributeFilterReturningFalse) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -618,8 +609,7 @@ TEST_F(OpenTelemetryPluginEnd2EndTest,
// the method attribute filter is set and it returns true.
TEST_F(OpenTelemetryPluginEnd2EndTest,
GenericServerRpcWithMethodAttributeFilterReturningTrue) {
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -736,10 +726,8 @@ TEST_F(OpenTelemetryPluginOptionEnd2EndTest, Basic) {
plugin_option_list.emplace_back(std::make_unique<CustomPluginOption>(
/*enabled_on_client*/ true, /*enabled_on_server*/ true,
std::make_pair("key", "value")));
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName,
grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName,
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -779,10 +767,8 @@ TEST_F(OpenTelemetryPluginOptionEnd2EndTest, ClientOnlyPluginOption) {
plugin_option_list.emplace_back(std::make_unique<CustomPluginOption>(
/*enabled_on_client*/ true, /*enabled_on_server*/ false,
std::make_pair("key", "value")));
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName,
grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName,
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -823,10 +809,8 @@ TEST_F(OpenTelemetryPluginOptionEnd2EndTest, ServerOnlyPluginOption) {
plugin_option_list.emplace_back(std::make_unique<CustomPluginOption>(
/*enabled_on_client*/ false, /*enabled_on_server*/ true,
std::make_pair("key", "value")));
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName,
grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName,
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,
@ -881,10 +865,8 @@ TEST_F(OpenTelemetryPluginOptionEnd2EndTest,
plugin_option_list.emplace_back(std::make_unique<CustomPluginOption>(
/*enabled_on_client*/ false, /*enabled_on_server*/ true,
std::make_pair("key5", "value5")));
Init({grpc::experimental::OpenTelemetryPluginBuilder::
kClientAttemptDurationInstrumentName,
grpc::experimental::OpenTelemetryPluginBuilder::
kServerCallDurationInstrumentName},
Init({grpc::OpenTelemetryPluginBuilder::kClientAttemptDurationInstrumentName,
grpc::OpenTelemetryPluginBuilder::kServerCallDurationInstrumentName},
/*resource=*/opentelemetry::sdk::resource::Resource::Create({}),
/*labels_injector=*/nullptr,
/*test_no_meter_provider=*/false,

@ -236,7 +236,7 @@ int main(int argc, char** argv) {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
grpc::experimental::OpenTelemetryPluginBuilder otel_builder;
grpc::OpenTelemetryPluginBuilder otel_builder;
otel_builder.SetMeterProvider(std::move(meter_provider));
otel_builder.BuildAndRegisterGlobal();
}

@ -403,7 +403,7 @@ void EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
grpc::experimental::OpenTelemetryPluginBuilder()
grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();

@ -54,7 +54,7 @@ void EnableCsmObservability() {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
grpc::experimental::OpenTelemetryPluginBuilder()
grpc::OpenTelemetryPluginBuilder()
.AddPluginOption(grpc::experimental::MakeCsmOpenTelemetryPluginOption())
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();

Loading…
Cancel
Save