diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index cb0f9a3513..96d4c50cfd 100644 --- a/.github/workflows/clang-tidy.yaml +++ b/.github/workflows/clang-tidy.yaml @@ -17,9 +17,9 @@ jobs: matrix: include: - cmake_options: all-options-abiv1-preview - warning_limit: 269 + warning_limit: 240 - cmake_options: all-options-abiv2-preview - warning_limit: 279 + warning_limit: 250 env: CC: /usr/bin/clang-22 CXX: /usr/bin/clang++-22 diff --git a/CHANGELOG.md b/CHANGELOG.md index d45ea6ee90..88ded66fd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -150,6 +150,9 @@ Increment the: * [CODE HEALTH] Fix clang-tidy bugprone-unchecked-string-to-number-conversion warnings [#4216](https://github.com/open-telemetry/opentelemetry-cpp/pull/4216) +* [CODE HEALTH] Fix clang-tidy misc-override-with-different-visibility warnings + [#4215](https://github.com/open-telemetry/opentelemetry-cpp/pull/4215) + ## [1.27.0] 2026-05-13 * [RELEASE] Bump main branch to 1.27.0-dev diff --git a/api/include/opentelemetry/trace/propagation/http_trace_context.h b/api/include/opentelemetry/trace/propagation/http_trace_context.h index 76b94284ef..f8f349d33e 100644 --- a/api/include/opentelemetry/trace/propagation/http_trace_context.h +++ b/api/include/opentelemetry/trace/propagation/http_trace_context.h @@ -191,6 +191,7 @@ class HttpTraceContext : public context::propagation::TextMapPropagator return ExtractContextFromTraceHeaders(trace_parent, trace_state); } +public: bool Fields(nostd::function_ref callback) const noexcept override { return (callback(kTraceParent) && callback(kTraceState)); diff --git a/api/test/logs/logger_test.cc b/api/test/logs/logger_test.cc index 9f0bfcf481..932a28455c 100644 --- a/api/test/logs/logger_test.cc +++ b/api/test/logs/logger_test.cc @@ -263,6 +263,7 @@ TEST(Logger, EventLogMethodOverloads) // Define a basic Logger class class TestLogger : public Logger { +public: const nostd::string_view GetName() noexcept override { return "test logger"; } using Logger::CreateLogRecord; @@ -459,6 +460,7 @@ class EnablementAwareTestLogger : public Logger // Define a basic LoggerProvider class that returns an instance of the logger class defined above class TestProvider : public LoggerProvider { +public: nostd::shared_ptr GetLogger(nostd::string_view /* logger_name */, nostd::string_view /* library_name */, nostd::string_view /* library_version */, diff --git a/api/test/logs/provider_test.cc b/api/test/logs/provider_test.cc index 83c66a7a07..817092b4b6 100644 --- a/api/test/logs/provider_test.cc +++ b/api/test/logs/provider_test.cc @@ -30,6 +30,7 @@ namespace nostd = opentelemetry::nostd; class TestProvider : public LoggerProvider { +public: nostd::shared_ptr GetLogger( nostd::string_view /* logger_name */, nostd::string_view /* library_name */, diff --git a/api/test/trace/provider_test.cc b/api/test/trace/provider_test.cc index 441d7f226d..9745c51191 100644 --- a/api/test/trace/provider_test.cc +++ b/api/test/trace/provider_test.cc @@ -17,7 +17,7 @@ namespace nostd = opentelemetry::nostd; class TestProvider : public TracerProvider { - +public: #if OPENTELEMETRY_ABI_VERSION_NO >= 2 nostd::shared_ptr GetTracer( nostd::string_view /* name */, diff --git a/examples/configuration/custom_pull_metric_exporter.h b/examples/configuration/custom_pull_metric_exporter.h index d7fc3b3282..5082b9bf2a 100644 --- a/examples/configuration/custom_pull_metric_exporter.h +++ b/examples/configuration/custom_pull_metric_exporter.h @@ -21,12 +21,12 @@ class CustomPullMetricExporter : public opentelemetry::sdk::metrics::MetricReade opentelemetry::sdk::metrics::AggregationTemporality GetAggregationTemporality( opentelemetry::sdk::metrics::InstrumentType instrument_type) const noexcept override; +private: bool OnForceFlush(std::chrono::microseconds timeout) noexcept override; bool OnShutDown(std::chrono::microseconds timeout) noexcept override; void OnInitialized() noexcept override; -private: std::string comment_; }; diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc index 0c1c6c68a1..0807a405dc 100644 --- a/ext/test/http/curl_http_test.cc +++ b/ext/test/http/curl_http_test.cc @@ -72,6 +72,7 @@ class CustomEventHandler : public http_client::EventHandler class GetEventHandler : public CustomEventHandler { +public: void OnResponse(http_client::Response &response) noexcept override { ASSERT_EQ(200, response.GetStatusCode()); @@ -83,6 +84,7 @@ class GetEventHandler : public CustomEventHandler class PostEventHandler : public CustomEventHandler { +public: void OnResponse(http_client::Response &response) noexcept override { ASSERT_EQ(200, response.GetStatusCode()); @@ -120,6 +122,7 @@ class FinishInCallbackHandler : public CustomEventHandler class RetryEventHandler : public CustomEventHandler { +public: void OnResponse(http_client::Response &response) noexcept override { ASSERT_EQ(429, response.GetStatusCode()); @@ -145,6 +148,7 @@ class BasicCurlHttpTests : public ::testing::Test, public HTTP_SERVER_NS::HttpRe public: BasicCurlHttpTests() : is_setup_(false), is_running_(false) {} +protected: void SetUp() override { if (is_setup_.exchange(true)) @@ -173,6 +177,7 @@ class BasicCurlHttpTests : public ::testing::Test, public HTTP_SERVER_NS::HttpRe is_running_ = false; } +public: int onHttpRequest(HTTP_SERVER_NS::HttpRequest const &request, HTTP_SERVER_NS::HttpResponse &response) override { diff --git a/sdk/include/opentelemetry/sdk/logs/logger.h b/sdk/include/opentelemetry/sdk/logs/logger.h index 8be05720a1..6f72587bc9 100644 --- a/sdk/include/opentelemetry/sdk/logs/logger.h +++ b/sdk/include/opentelemetry/sdk/logs/logger.h @@ -72,7 +72,7 @@ class Logger final : public opentelemetry::logs::Logger return GetInstrumentationScope(); } -private: +protected: bool EnabledImplementation(opentelemetry::logs::Severity severity, const opentelemetry::logs::EventId &event_id) const noexcept override; @@ -89,6 +89,8 @@ class Logger final : public opentelemetry::logs::Logger opentelemetry::logs::Severity severity, const opentelemetry::logs::EventId &event_id) const noexcept override; #endif // OPENTELEMETRY_ABI_VERSION_NO >= 2 + +private: // The name of this logger std::string logger_name_; 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 82985b2da6..0ae31b4be3 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 @@ -75,11 +75,13 @@ class AlignedHistogramBucketExemplarReservoir : public FixedSizeExemplarReservoi return static_cast(max_size); } - private: + public: void reset() override { // Do nothing } + + private: std::vector boundaries_; }; }; diff --git a/sdk/include/opentelemetry/sdk/metrics/view/predicate.h b/sdk/include/opentelemetry/sdk/metrics/view/predicate.h index b4170e9698..85cdef0ba4 100644 --- a/sdk/include/opentelemetry/sdk/metrics/view/predicate.h +++ b/sdk/include/opentelemetry/sdk/metrics/view/predicate.h @@ -75,11 +75,13 @@ class ExactPredicate : public Predicate class MatchEverythingPattern : public Predicate { +public: bool Match(opentelemetry::nostd::string_view /* str */) const noexcept override { return true; } }; class MatchNothingPattern : public Predicate { +public: bool Match(opentelemetry::nostd::string_view /* str */) const noexcept override { return false; } }; } // namespace metrics diff --git a/sdk/test/logs/logger_provider_sdk_test.cc b/sdk/test/logs/logger_provider_sdk_test.cc index e33c9d8116..8fb47d2cfe 100644 --- a/sdk/test/logs/logger_provider_sdk_test.cc +++ b/sdk/test/logs/logger_provider_sdk_test.cc @@ -242,6 +242,7 @@ class DummyLogRecordable final : public opentelemetry::sdk::logs::Recordable class DummyProcessor : public LogRecordProcessor { +public: std::unique_ptr MakeRecordable() noexcept override { return std::unique_ptr(new DummyLogRecordable()); diff --git a/sdk/test/logs/logger_provider_set_test.cc b/sdk/test/logs/logger_provider_set_test.cc index a48d26eb47..aa899bbcbd 100644 --- a/sdk/test/logs/logger_provider_set_test.cc +++ b/sdk/test/logs/logger_provider_set_test.cc @@ -30,6 +30,7 @@ namespace logs_sdk = opentelemetry::sdk::logs; class TestProvider : public LoggerProvider { +public: nostd::shared_ptr GetLogger( nostd::string_view /* logger_name */, nostd::string_view /* library_name */, diff --git a/sdk/test/metrics/common.h b/sdk/test/metrics/common.h index 7d83c03c1d..323696f847 100644 --- a/sdk/test/metrics/common.h +++ b/sdk/test/metrics/common.h @@ -42,13 +42,13 @@ class MockMetricReader : public opentelemetry::sdk::metrics::MetricReader opentelemetry::sdk::metrics::AggregationTemporality GetAggregationTemporality( opentelemetry::sdk::metrics::InstrumentType) const noexcept override; +private: bool OnForceFlush(std::chrono::microseconds) noexcept override; bool OnShutDown(std::chrono::microseconds) noexcept override; void OnInitialized() noexcept override; -private: std::unique_ptr exporter_; }; diff --git a/sdk/test/trace/tracer_provider_set_test.cc b/sdk/test/trace/tracer_provider_set_test.cc index 395b173e93..3991582264 100644 --- a/sdk/test/trace/tracer_provider_set_test.cc +++ b/sdk/test/trace/tracer_provider_set_test.cc @@ -26,7 +26,7 @@ namespace trace_sdk = opentelemetry::sdk::trace; class TestProvider : public TracerProvider { - +public: #if OPENTELEMETRY_ABI_VERSION_NO >= 2 nostd::shared_ptr GetTracer( nostd::string_view /* name */,