diff --git a/include/grpcpp/ext/otel_plugin.h b/include/grpcpp/ext/otel_plugin.h index 619da6b512f..f0b14280004 100644 --- a/include/grpcpp/ext/otel_plugin.h +++ b/include/grpcpp/ext/otel_plugin.h @@ -39,6 +39,7 @@ class OpenTelemetryPluginBuilderImpl; namespace experimental { // Metrics absl::string_view OpenTelemetryClientAttemptStartedInstrumentName(); +absl::string_view OpenTelemetryClientAttemptStartedInstrumentName(); absl::string_view OpenTelemetryClientAttemptDurationInstrumentName(); absl::string_view OpenTelemetryClientAttemptSentTotalCompressedMessageSizeInstrumentName(); @@ -66,6 +67,9 @@ OpenTelemetryServerCallRcvdTotalCompressedMessageSizeInstrumentName(); /// grpc.server.call.rcvd_total_compressed_message_size class OpenTelemetryPluginBuilder { public: + static constexpr absl::string_view kClientAttemptStartedInstrumentName = + "grpc.client.attempt.started"; + OpenTelemetryPluginBuilder(); /// If `SetMeterProvider()` is not called, no metrics are collected. OpenTelemetryPluginBuilder& SetMeterProvider( diff --git a/src/cpp/ext/otel/otel_plugin.cc b/src/cpp/ext/otel/otel_plugin.cc index 2514117beda..862edf2e631 100644 --- a/src/cpp/ext/otel/otel_plugin.cc +++ b/src/cpp/ext/otel/otel_plugin.cc @@ -266,6 +266,10 @@ void OpenTelemetryPluginBuilderImpl::BuildAndRegisterGlobal() { } // namespace internal namespace experimental { + +constexpr absl::string_view + OpenTelemetryPluginBuilder::kClientAttemptStartedInstrumentName; + absl::string_view OpenTelemetryClientAttemptStartedInstrumentName() { return "grpc.client.attempt.started"; } diff --git a/test/cpp/ext/csm/metadata_exchange_test.cc b/test/cpp/ext/csm/metadata_exchange_test.cc index 921823d2710..e25c19a0b7f 100644 --- a/test/cpp/ext/csm/metadata_exchange_test.cc +++ b/test/cpp/ext/csm/metadata_exchange_test.cc @@ -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::OpenTelemetryClientAttemptStartedInstrumentName()}); + Init(/*metric_names=*/{grpc::experimental::OpenTelemetryPluginBuilder:: + kClientAttemptStartedInstrumentName}); SendRPC(); const char* kMetricName = "grpc.client.attempt.started"; auto data = ReadCurrentMetricsData(