diff --git a/src/python/grpcio_observability/grpc_observability/client_call_tracer.cc b/src/python/grpcio_observability/grpc_observability/client_call_tracer.cc index 496f678f04e..9fe2b71acba 100644 --- a/src/python/grpcio_observability/grpc_observability/client_call_tracer.cc +++ b/src/python/grpcio_observability/grpc_observability/client_call_tracer.cc @@ -88,7 +88,7 @@ void PythonOpenCensusCallTracer::RecordAnnotation( PythonOpenCensusCallTracer::~PythonOpenCensusCallTracer() { if (PythonCensusStatsEnabled()) { - context_.Labels().emplace_back(kClientMethod, std::string(method_)); + context_.Labels().emplace_back(kClientMethod, method_); RecordIntMetric(kRpcClientRetriesPerCallMeasureName, retries_ - 1, context_.Labels(), identifier_, registered_method_, /*include_exchange_labels=*/true); // exclude first attempt @@ -159,8 +159,8 @@ PythonOpenCensusCallTracer::PythonOpenCensusCallAttemptTracer:: if (!PythonCensusStatsEnabled()) { return; } - context_.Labels().emplace_back(kClientMethod, std::string(parent_->method_)); - context_.Labels().emplace_back(kClientTarget, std::string(parent_->target_)); + context_.Labels().emplace_back(kClientMethod, parent_->method_); + context_.Labels().emplace_back(kClientTarget, parent_->target_); RecordIntMetric(kRpcClientStartedRpcsMeasureName, 1, context_.Labels(), parent_->identifier_, parent_->registered_method_, /*include_exchange_labels=*/false); @@ -264,8 +264,8 @@ void PythonOpenCensusCallTracer::PythonOpenCensusCallAttemptTracer:: } std::string final_status = absl::StatusCodeToString(status_code_); - context_.Labels().emplace_back(kClientMethod, std::string(parent_->method_)); - context_.Labels().emplace_back(kClientTarget, std::string(parent_->target_)); + context_.Labels().emplace_back(kClientMethod, parent_->method_); + context_.Labels().emplace_back(kClientTarget, parent_->target_); context_.Labels().emplace_back(kClientStatus, final_status); if (parent_->add_csm_optional_labels_) { parent_->labels_injector_.AddXdsOptionalLabels( @@ -323,7 +323,7 @@ void PythonOpenCensusCallTracer::PythonOpenCensusCallAttemptTracer::RecordEnd( const gpr_timespec& /*latency*/) { if (PythonCensusStatsEnabled()) { context_.Labels().emplace_back(kClientMethod, - std::string(parent_->method_)); + parent_->method_); context_.Labels().emplace_back(kClientStatus, StatusCodeToString(status_code_)); RecordIntMetric(kRpcClientSentMessagesPerRpcMeasureName, diff --git a/src/python/grpcio_observability/grpc_observability/client_call_tracer.h b/src/python/grpcio_observability/grpc_observability/client_call_tracer.h index 8c251268fb8..bb1b97813f5 100644 --- a/src/python/grpcio_observability/grpc_observability/client_call_tracer.h +++ b/src/python/grpcio_observability/grpc_observability/client_call_tracer.h @@ -140,9 +140,9 @@ class PythonOpenCensusCallTracer : public grpc_core::ClientCallTracer { PythonCensusContext CreateCensusContextForCallAttempt(); // Client method. - absl::string_view method_; + std::string method_; // Client target. - absl::string_view target_; + std::string target_; PythonCensusContext context_; bool tracing_enabled_; bool add_csm_optional_labels_; diff --git a/src/python/grpcio_observability/grpc_observability/python_observability_context.h b/src/python/grpcio_observability/grpc_observability/python_observability_context.h index 81bb39b7755..027375c0edc 100644 --- a/src/python/grpcio_observability/grpc_observability/python_observability_context.h +++ b/src/python/grpcio_observability/grpc_observability/python_observability_context.h @@ -272,16 +272,16 @@ void GenerateClientContext(absl::string_view method, absl::string_view trace_id, void GenerateServerContext(absl::string_view header, absl::string_view method, PythonCensusContext* context); -inline absl::string_view GetMethod(const char* method) { +inline std::string GetMethod(const char* method) { if (std::string(method).empty()) { return ""; } // Check for leading '/' and trim it if present. - return absl::StripPrefix(absl::string_view(method), "/"); + return std::string(absl::StripPrefix(method, "/")); } -inline absl::string_view GetTarget(const char* target) { - return absl::string_view(target); +inline std::string GetTarget(const char* target) { + return std::string(target); } // Fills a pre-allocated buffer with the value for the grpc-trace-bin header.