From 4efdca72e45337ea6da39192a583173aac84ca32 Mon Sep 17 00:00:00 2001 From: Douglas Barker Date: Fri, 13 Mar 2026 16:59:05 +0000 Subject: [PATCH 1/4] fix clang-tidy bugprone-use-after-move warning --- exporters/otlp/src/otlp_grpc_client.cc | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/exporters/otlp/src/otlp_grpc_client.cc b/exporters/otlp/src/otlp_grpc_client.cc index 02ec8d6a4e..9e065bc010 100644 --- a/exporters/otlp/src/otlp_grpc_client.cc +++ b/exporters/otlp/src/otlp_grpc_client.cc @@ -162,13 +162,13 @@ template static sdk::common::ExportResult InternalDelegateAsyncExport( const std::shared_ptr &async_data, StubType *stub, - std::unique_ptr &&context, - std::unique_ptr &&arena, - RequestType &&request, + std::unique_ptr context, + std::unique_ptr arena, + RequestType request, std::function &&, const RequestType &, - ResponseType *)> &&result_callback, + ResponseType *)> result_callback, int32_t export_data_count, const char *export_data_name) noexcept { @@ -188,11 +188,14 @@ static sdk::common::ExportResult InternalDelegateAsyncExport( std::shared_ptr> call_data = std::make_shared>(); - call_data->arena.swap(arena); - call_data->result_callback.swap(result_callback); + call_data->arena = std::move(arena); + call_data->result_callback = std::move(result_callback); - call_data->request = google::protobuf::Arena::Create( - call_data->arena.get(), std::forward(request)); + call_data->request = google::protobuf::Arena::Create(call_data->arena.get()); + if (call_data->request != nullptr) + { + call_data->request->Swap(&request); + } call_data->response = google::protobuf::Arena::Create(call_data->arena.get()); if (call_data->request == nullptr || call_data->response == nullptr) @@ -210,7 +213,7 @@ static sdk::common::ExportResult InternalDelegateAsyncExport( return opentelemetry::sdk::common::ExportResult::kFailure; } - call_data->grpc_context.swap(context); + call_data->grpc_context = std::move(context); call_data->grpc_async_callback = [](OtlpGrpcAsyncCallDataBase *base_call_data) { OtlpGrpcAsyncCallData *real_call_data = From a00bb69a329c1bc831a524d05ff5d770b5bf8d56 Mon Sep 17 00:00:00 2001 From: Douglas Barker Date: Fri, 13 Mar 2026 17:01:28 +0000 Subject: [PATCH 2/4] fix clang-tidy bugprone-empty-catch warning --- api/include/opentelemetry/plugin/detail/utility.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/include/opentelemetry/plugin/detail/utility.h b/api/include/opentelemetry/plugin/detail/utility.h index 8007f285df..8e78fb4270 100644 --- a/api/include/opentelemetry/plugin/detail/utility.h +++ b/api/include/opentelemetry/plugin/detail/utility.h @@ -29,7 +29,9 @@ try } #if __EXCEPTIONS catch (const std::bad_alloc &) -{} +{ + return; +} #endif } // namespace detail } // namespace plugin From e149c64a108f2d1d7a8198f7ef20ac2af9502777 Mon Sep 17 00:00:00 2001 From: Douglas Barker Date: Fri, 13 Mar 2026 13:39:42 -0400 Subject: [PATCH 3/4] fix clang-tidy bugprone-forward-declaration-namespace warning --- .../exporters/otlp/otlp_file_client_options.h | 9 --------- .../aligned_histogram_bucket_exemplar_reservoir.h | 5 ----- .../exemplar/simple_fixed_size_exemplar_reservoir.h | 5 ----- 3 files changed, 19 deletions(-) diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_file_client_options.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_file_client_options.h index 0fa56239bf..1b72d95307 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_file_client_options.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_file_client_options.h @@ -14,15 +14,6 @@ #include #include -// forward declare google::protobuf::Message -namespace google -{ -namespace protobuf -{ -class Message; -} -} // namespace google - OPENTELEMETRY_BEGIN_NAMESPACE namespace exporter { diff --git a/sdk/include/opentelemetry/sdk/metrics/exemplar/aligned_histogram_bucket_exemplar_reservoir.h b/sdk/include/opentelemetry/sdk/metrics/exemplar/aligned_histogram_bucket_exemplar_reservoir.h index 2690493d7d..14a5174081 100644 --- a/sdk/include/opentelemetry/sdk/metrics/exemplar/aligned_histogram_bucket_exemplar_reservoir.h +++ b/sdk/include/opentelemetry/sdk/metrics/exemplar/aligned_histogram_bucket_exemplar_reservoir.h @@ -17,11 +17,6 @@ # include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE -namespace common -{ -class OrderedAttributeMap; -} // namespace common - namespace context { class Context; diff --git a/sdk/include/opentelemetry/sdk/metrics/exemplar/simple_fixed_size_exemplar_reservoir.h b/sdk/include/opentelemetry/sdk/metrics/exemplar/simple_fixed_size_exemplar_reservoir.h index 99e659bf30..13228c9388 100644 --- a/sdk/include/opentelemetry/sdk/metrics/exemplar/simple_fixed_size_exemplar_reservoir.h +++ b/sdk/include/opentelemetry/sdk/metrics/exemplar/simple_fixed_size_exemplar_reservoir.h @@ -17,11 +17,6 @@ # include "src/common/random.h" OPENTELEMETRY_BEGIN_NAMESPACE -namespace common -{ -class OrderedAttributeMap; -} // namespace common - namespace context { class Context; From 082581271742882f3084cf8083cafe7a7c0924e1 Mon Sep 17 00:00:00 2001 From: Douglas Barker Date: Fri, 13 Mar 2026 13:40:42 -0400 Subject: [PATCH 4/4] fix clang-tidy bugprone-macro-parentheses warnings --- sdk/include/opentelemetry/sdk/common/global_log_handler.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/common/global_log_handler.h b/sdk/include/opentelemetry/sdk/common/global_log_handler.h index 2afaba85d6..2fd3bfe43a 100644 --- a/sdk/include/opentelemetry/sdk/common/global_log_handler.h +++ b/sdk/include/opentelemetry/sdk/common/global_log_handler.h @@ -143,7 +143,7 @@ OPENTELEMETRY_END_NAMESPACE { \ using opentelemetry::sdk::common::internal_log::GlobalLogHandler; \ using opentelemetry::sdk::common::internal_log::LogHandler; \ - if (level > GlobalLogHandler::GetLogLevel()) \ + if ((level) > GlobalLogHandler::GetLogLevel()) \ { \ break; \ } \ @@ -153,8 +153,9 @@ OPENTELEMETRY_END_NAMESPACE break; \ } \ std::stringstream tmp_stream; \ + /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \ tmp_stream << message; \ - log_handler->Handle(level, __FILE__, __LINE__, tmp_stream.str().c_str(), attributes); \ + log_handler->Handle((level), __FILE__, __LINE__, tmp_stream.str().c_str(), attributes); \ } while (false); #define OTEL_INTERNAL_LOG_GET_3RD_ARG(arg1, arg2, arg3, ...) arg3