Skip to content

[CODE HEALTH] Fix more clang-tidy warnings in sdk#3951

Merged
marcalff merged 2 commits into
open-telemetry:mainfrom
dbarker:fix_clang_tidy_warnings_in_sdk
Mar 24, 2026
Merged

[CODE HEALTH] Fix more clang-tidy warnings in sdk#3951
marcalff merged 2 commits into
open-telemetry:mainfrom
dbarker:fix_clang_tidy_warnings_in_sdk

Conversation

@dbarker
Copy link
Copy Markdown
Member

@dbarker dbarker commented Mar 23, 2026

Contributes to #2053

Changes

Fix the following warnings:


opentelemetry-cpp/sdk/include/opentelemetry/sdk/common/atomic_unique_ptr.h (1 warnings)

Line Check Message
30 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'other' is never moved from inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/common/attributemap_hash.h (1 warnings)

Line Check Message
58 cppcoreguidelines-avoid-const-or-ref-data-members member 'seed_' of type 'size_t &' (aka 'unsigned long &') is a reference

opentelemetry-cpp/sdk/include/opentelemetry/sdk/common/circular_buffer.h (1 warnings)

Line Check Message
121 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'ptr' is never moved from inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/common/custom_hash_equality.h (1 warnings)

Line Check Message
145 cppcoreguidelines-missing-std-forward forwarding reference parameter 'map' is never forwarded inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/configuration/integer_attribute_value_configuration.h (1 warnings)

Line Check Message
26 google-runtime-int consider replacing 'long long' with 'int64'

opentelemetry-cpp/sdk/include/opentelemetry/sdk/logs/read_write_log_record.h (4 warnings)

Line Check Message
192 cppcoreguidelines-use-default-member-init use default member initializer for 'severity_'
193 cppcoreguidelines-use-default-member-init use default member initializer for 'resource_'
194 cppcoreguidelines-use-default-member-init use default member initializer for 'instrumentation_scope_'
201 cppcoreguidelines-use-default-member-init use default member initializer for 'event_id_'

opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/instrument_metadata_validator.h (2 warnings)

Line Check Message
28 cppcoreguidelines-avoid-const-or-ref-data-members member 'name_reg_key_' of type 'const std::regex' (aka 'const basic_regex') is const qualified
29 cppcoreguidelines-avoid-const-or-ref-data-members member 'unit_reg_key_' of type 'const std::regex' (aka 'const basic_regex') is const qualified

opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/metric_reader.h (1 warnings)

Line Check Message
75 cppcoreguidelines-use-default-member-init use default member initializer for 'metric_producer_'

opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/state/async_metric_storage.h (1 warnings)

Line Check Message
41 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'exemplar_reservoir' is never moved from inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h (2 warnings)

Line Check Message
30 cppcoreguidelines-special-member-functions class 'ObservableRegistry' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator
30 cppcoreguidelines-special-member-functions class 'ObservableRegistry' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

opentelemetry-cpp/sdk/include/opentelemetry/sdk/metrics/state/sync_metric_storage.h (1 warnings)

Line Check Message
65 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'exemplar_reservoir' is never moved from inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/trace/multi_recordable.h (1 warnings)

Line Check Message
18 google-build-namespaces do not use unnamed namespaces in header files

opentelemetry-cpp/sdk/include/opentelemetry/sdk/trace/multi_span_processor.h (5 warnings)

Line Check Message
34 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'processors' is never moved from inside the function body
98 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'span' is never moved from inside the function body
195 cppcoreguidelines-use-default-member-init use default member initializer for 'tail_'
195 cppcoreguidelines-use-default-member-init use default member initializer for 'head_'
196 cppcoreguidelines-use-default-member-init use default member initializer for 'count_'

opentelemetry-cpp/sdk/include/opentelemetry/sdk/trace/simple_processor.h (1 warnings)

Line Check Message
60 cppcoreguidelines-rvalue-reference-param-not-moved rvalue reference parameter 'span' is never moved from inside the function body

opentelemetry-cpp/sdk/include/opentelemetry/sdk/trace/span_data.h (2 warnings)

Line Check Message
324 cppcoreguidelines-use-default-member-init use default member initializer for 'resource_'
325 cppcoreguidelines-use-default-member-init use default member initializer for 'instrumentation_scope_'

opentelemetry-cpp/sdk/src/configuration/configuration_parser.cc (1 warnings)

Line Check Message
2089 cppcoreguidelines-narrowing-conversions narrowing conversion from 'std::size_t' (aka 'unsigned long') to signed type 'long long' is implementation-defined

opentelemetry-cpp/sdk/src/configuration/sdk_builder.cc (1 warnings)

Line Check Message
268 cppcoreguidelines-narrowing-conversions narrowing conversion from 'value_type' (aka 'unsigned long') to signed type 'value_type' (aka 'long') is implementation-defined

opentelemetry-cpp/sdk/src/metrics/meter.cc (2 warnings)

Line Check Message
56 cppcoreguidelines-avoid-const-or-ref-data-members member 'scope' of type 'const opentelemetry::sdk::instrumentationscope::InstrumentationScope &' is a reference
61 cppcoreguidelines-avoid-const-or-ref-data-members member 'instrument' of type 'const opentelemetry::sdk::metrics::InstrumentDescriptor &' is a reference

For significant contributions please make sure you have completed the following items:

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.08%. Comparing base (88e83a8) to head (48d2c76).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3951      +/-   ##
==========================================
- Coverage   90.09%   90.08%   -0.00%     
==========================================
  Files         227      227              
  Lines        7251     7247       -4     
==========================================
- Hits         6532     6528       -4     
  Misses        719      719              
Files with missing lines Coverage Δ
...clude/opentelemetry/sdk/common/atomic_unique_ptr.h 100.00% <ø> (ø)
...clude/opentelemetry/sdk/common/attributemap_hash.h 81.25% <ø> (ø)
...include/opentelemetry/sdk/common/circular_buffer.h 100.00% <100.00%> (ø)
...de/opentelemetry/sdk/common/custom_hash_equality.h 100.00% <100.00%> (ø)
.../include/opentelemetry/sdk/metrics/metric_reader.h 66.67% <100.00%> (+16.67%) ⬆️
...telemetry/sdk/metrics/state/async_metric_storage.h 94.45% <ø> (ø)
...ntelemetry/sdk/metrics/state/sync_metric_storage.h 88.58% <ø> (ø)
...include/opentelemetry/sdk/trace/multi_recordable.h 88.68% <100.00%> (ø)
...ude/opentelemetry/sdk/trace/multi_span_processor.h 100.00% <100.00%> (ø)
...include/opentelemetry/sdk/trace/simple_processor.h 100.00% <100.00%> (ø)
... and 7 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dbarker dbarker marked this pull request as ready for review March 23, 2026 22:02
@dbarker dbarker requested a review from a team as a code owner March 23, 2026 22:02
Copy link
Copy Markdown
Member

@marcalff marcalff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

The cast between uint64_t and int64_t resolve the warnings for now, but I think this area will need a second pass and more analysis later, to have more clarity in the code (define which exact type is appropriate) and less casting.

@marcalff marcalff merged commit 2a6062b into open-telemetry:main Mar 24, 2026
68 checks passed
@dbarker dbarker deleted the fix_clang_tidy_warnings_in_sdk branch March 24, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants