From c9fd38285445e42a33358f9b6dfc94622084f2a4 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 19 Feb 2026 00:38:45 +0100 Subject: [PATCH 1/7] [CODE HEALTH] Fix clang-tidy warnings, part 2 --- .../sdk/common/atomic_unique_ptr.h | 4 +++ .../sdk/common/thread_instrumentation.h | 8 +++++- .../instrumentation_scope.h | 5 +++- .../sdk/logs/batch_log_record_processor.h | 5 ++++ .../sdk/logs/event_logger_provider.h | 5 ++++ sdk/include/opentelemetry/sdk/logs/exporter.h | 6 +++++ .../opentelemetry/sdk/logs/logger_provider.h | 5 ++++ .../sdk/logs/multi_log_record_processor.h | 6 +++++ .../opentelemetry/sdk/logs/processor.h | 7 +++++ .../sdk/logs/read_write_log_record.h | 6 +++++ .../sdk/logs/simple_log_record_processor.h | 6 +++++ .../sdk/metrics/aggregation/aggregation.h | 7 +++++ .../metrics/aggregation/aggregation_config.h | 5 ++++ .../base2_exponential_histogram_indexer.h | 8 +++--- .../sdk/metrics/async_instruments.h | 6 +++++ .../sdk/metrics/data/circular_buffer.h | 4 +++ .../sdk/metrics/data/point_data.h | 12 ++++++--- .../sdk/metrics/exemplar/reservoir.h | 7 +++++ .../exemplar/reservoir_cell_selector.h | 7 +++++ .../sdk/metrics/export/metric_producer.h | 10 +++++-- .../opentelemetry/sdk/metrics/metric_reader.h | 5 ++++ .../sdk/metrics/observer_result.h | 5 ++++ .../sdk/metrics/push_metric_exporter.h | 7 +++++ .../state/filtered_ordered_attribute_map.h | 2 ++ .../sdk/metrics/state/metric_collector.h | 13 ++++++++- .../sdk/metrics/state/metric_storage.h | 27 ++++++++++++++++--- 26 files changed, 172 insertions(+), 16 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/common/atomic_unique_ptr.h b/sdk/include/opentelemetry/sdk/common/atomic_unique_ptr.h index 7190c0173b..c7b8d157e7 100644 --- a/sdk/include/opentelemetry/sdk/common/atomic_unique_ptr.h +++ b/sdk/include/opentelemetry/sdk/common/atomic_unique_ptr.h @@ -22,6 +22,10 @@ class AtomicUniquePtr { public: AtomicUniquePtr() noexcept {} + AtomicUniquePtr(const AtomicUniquePtr &) = delete; + AtomicUniquePtr(AtomicUniquePtr &&) = delete; + AtomicUniquePtr &operator=(const AtomicUniquePtr &) = delete; + AtomicUniquePtr &operator=(AtomicUniquePtr &&) = delete; explicit AtomicUniquePtr(std::unique_ptr &&other) noexcept : ptr_(other.release()) {} diff --git a/sdk/include/opentelemetry/sdk/common/thread_instrumentation.h b/sdk/include/opentelemetry/sdk/common/thread_instrumentation.h index 7886af71b5..89212f36db 100644 --- a/sdk/include/opentelemetry/sdk/common/thread_instrumentation.h +++ b/sdk/include/opentelemetry/sdk/common/thread_instrumentation.h @@ -71,7 +71,13 @@ namespace common class ThreadInstrumentation { public: - ThreadInstrumentation() = default; + ThreadInstrumentation() = default; + + ThreadInstrumentation(const ThreadInstrumentation &) = delete; + ThreadInstrumentation(ThreadInstrumentation &&) = delete; + ThreadInstrumentation &operator=(const ThreadInstrumentation &) = delete; + ThreadInstrumentation &operator=(ThreadInstrumentation &&) = delete; + virtual ~ThreadInstrumentation() = default; /* diff --git a/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h b/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h index 68e9d10d40..27d383ef93 100644 --- a/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h +++ b/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h @@ -26,7 +26,10 @@ using InstrumentationScopeAttributes = opentelemetry::sdk::common::AttributeMap; class InstrumentationScope { public: - InstrumentationScope(const InstrumentationScope &) = default; + InstrumentationScope(const InstrumentationScope &) = default; + InstrumentationScope(InstrumentationScope &&) = default; + InstrumentationScope &operator=(const InstrumentationScope &) = default; + InstrumentationScope &operator=(InstrumentationScope &&) = default; /** * Returns a newly created InstrumentationScope with the specified library name and version. diff --git a/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h b/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h index 49398a1454..e5b2046ae0 100644 --- a/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h +++ b/sdk/include/opentelemetry/sdk/logs/batch_log_record_processor.h @@ -73,6 +73,11 @@ class BatchLogRecordProcessor : public LogRecordProcessor const BatchLogRecordProcessorOptions &options, const BatchLogRecordProcessorRuntimeOptions &runtime_options); + BatchLogRecordProcessor(const BatchLogRecordProcessor &) = delete; + BatchLogRecordProcessor(BatchLogRecordProcessor &&) = delete; + BatchLogRecordProcessor &operator=(const BatchLogRecordProcessor &) = delete; + BatchLogRecordProcessor &operator=(BatchLogRecordProcessor &&) = delete; + /** Makes a new recordable **/ std::unique_ptr MakeRecordable() noexcept override; diff --git a/sdk/include/opentelemetry/sdk/logs/event_logger_provider.h b/sdk/include/opentelemetry/sdk/logs/event_logger_provider.h index 6c7fafab54..51d5d6b62a 100644 --- a/sdk/include/opentelemetry/sdk/logs/event_logger_provider.h +++ b/sdk/include/opentelemetry/sdk/logs/event_logger_provider.h @@ -29,6 +29,11 @@ class OPENTELEMETRY_EXPORT OPENTELEMETRY_DEPRECATED EventLoggerProvider final public: EventLoggerProvider() noexcept; + EventLoggerProvider(const EventLoggerProvider &) = delete; + EventLoggerProvider(EventLoggerProvider &&) = delete; + EventLoggerProvider &operator=(const EventLoggerProvider &) = delete; + EventLoggerProvider &operator=(EventLoggerProvider &&) = delete; + ~EventLoggerProvider() override; nostd::shared_ptr CreateEventLogger( diff --git a/sdk/include/opentelemetry/sdk/logs/exporter.h b/sdk/include/opentelemetry/sdk/logs/exporter.h index 5e83fe4609..42d90b3305 100644 --- a/sdk/include/opentelemetry/sdk/logs/exporter.h +++ b/sdk/include/opentelemetry/sdk/logs/exporter.h @@ -23,6 +23,12 @@ class OPENTELEMETRY_EXPORT LogRecordExporter { public: LogRecordExporter(); + + LogRecordExporter(const LogRecordExporter &) = delete; + LogRecordExporter(LogRecordExporter &&) = delete; + LogRecordExporter &operator=(const LogRecordExporter &) = delete; + LogRecordExporter &operator=(LogRecordExporter &&) = delete; + virtual ~LogRecordExporter(); /** diff --git a/sdk/include/opentelemetry/sdk/logs/logger_provider.h b/sdk/include/opentelemetry/sdk/logs/logger_provider.h index ee5165ebd2..32be5040f9 100644 --- a/sdk/include/opentelemetry/sdk/logs/logger_provider.h +++ b/sdk/include/opentelemetry/sdk/logs/logger_provider.h @@ -76,6 +76,11 @@ class OPENTELEMETRY_EXPORT LoggerProvider final : public opentelemetry::logs::Lo */ explicit LoggerProvider(std::unique_ptr context) noexcept; + LoggerProvider(const LoggerProvider &) = delete; + LoggerProvider(LoggerProvider &&) = delete; + LoggerProvider &operator=(const LoggerProvider &) = delete; + LoggerProvider &operator=(LoggerProvider &&) = delete; + ~LoggerProvider() override; using opentelemetry::logs::LoggerProvider::GetLogger; diff --git a/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h b/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h index 4db2b3497a..37fc8e5784 100644 --- a/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h +++ b/sdk/include/opentelemetry/sdk/logs/multi_log_record_processor.h @@ -26,6 +26,12 @@ class MultiLogRecordProcessor : public LogRecordProcessor { public: MultiLogRecordProcessor(std::vector> &&processors); + + MultiLogRecordProcessor(const MultiLogRecordProcessor &) = delete; + MultiLogRecordProcessor(MultiLogRecordProcessor &&) = delete; + MultiLogRecordProcessor &operator=(const MultiLogRecordProcessor &) = delete; + MultiLogRecordProcessor &operator=(MultiLogRecordProcessor &&) = delete; + ~MultiLogRecordProcessor() override; void AddProcessor(std::unique_ptr &&processor); diff --git a/sdk/include/opentelemetry/sdk/logs/processor.h b/sdk/include/opentelemetry/sdk/logs/processor.h index 57dbdb2130..8b6a88a536 100644 --- a/sdk/include/opentelemetry/sdk/logs/processor.h +++ b/sdk/include/opentelemetry/sdk/logs/processor.h @@ -22,6 +22,13 @@ class Recordable; class LogRecordProcessor { public: + LogRecordProcessor() = default; + + LogRecordProcessor(const LogRecordProcessor &) = delete; + LogRecordProcessor(LogRecordProcessor &&) = delete; + LogRecordProcessor &operator=(const LogRecordProcessor &) = delete; + LogRecordProcessor &operator=(LogRecordProcessor &&) = delete; + virtual ~LogRecordProcessor() = default; /** diff --git a/sdk/include/opentelemetry/sdk/logs/read_write_log_record.h b/sdk/include/opentelemetry/sdk/logs/read_write_log_record.h index 24e70f4705..ec3cd70e03 100644 --- a/sdk/include/opentelemetry/sdk/logs/read_write_log_record.h +++ b/sdk/include/opentelemetry/sdk/logs/read_write_log_record.h @@ -34,6 +34,12 @@ class ReadWriteLogRecord final : public ReadableLogRecord { public: ReadWriteLogRecord(); + + ReadWriteLogRecord(const ReadWriteLogRecord &) = delete; + ReadWriteLogRecord(ReadWriteLogRecord &&) = delete; + ReadWriteLogRecord &operator=(const ReadWriteLogRecord &) = delete; + ReadWriteLogRecord &operator=(ReadWriteLogRecord &&) = delete; + ~ReadWriteLogRecord() override; /** diff --git a/sdk/include/opentelemetry/sdk/logs/simple_log_record_processor.h b/sdk/include/opentelemetry/sdk/logs/simple_log_record_processor.h index 23b6efa46f..7c0e76d361 100644 --- a/sdk/include/opentelemetry/sdk/logs/simple_log_record_processor.h +++ b/sdk/include/opentelemetry/sdk/logs/simple_log_record_processor.h @@ -31,6 +31,12 @@ class SimpleLogRecordProcessor : public LogRecordProcessor public: explicit SimpleLogRecordProcessor(std::unique_ptr &&exporter); + + SimpleLogRecordProcessor(const SimpleLogRecordProcessor &) = delete; + SimpleLogRecordProcessor(SimpleLogRecordProcessor &&) = delete; + SimpleLogRecordProcessor &operator=(const SimpleLogRecordProcessor &) = delete; + SimpleLogRecordProcessor &operator=(SimpleLogRecordProcessor &&) = delete; + ~SimpleLogRecordProcessor() override; std::unique_ptr MakeRecordable() noexcept override; diff --git a/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation.h b/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation.h index c932d5069c..89a2f6a920 100644 --- a/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation.h +++ b/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation.h @@ -48,6 +48,13 @@ class Aggregation virtual PointType ToPoint() const noexcept = 0; + Aggregation() = default; + + Aggregation(const Aggregation &) = delete; + Aggregation(Aggregation &&) = delete; + Aggregation &operator=(const Aggregation &) = delete; + Aggregation &operator=(Aggregation &&) = delete; + virtual ~Aggregation() = default; }; diff --git a/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation_config.h b/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation_config.h index 088a115f9e..33792ca688 100644 --- a/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation_config.h +++ b/sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation_config.h @@ -22,6 +22,11 @@ class AggregationConfig : cardinality_limit_(cardinality_limit) {} + AggregationConfig(const AggregationConfig &) = default; + AggregationConfig(AggregationConfig &&) = default; + AggregationConfig &operator=(const AggregationConfig &) = default; + AggregationConfig &operator=(AggregationConfig &&) = default; + virtual AggregationType GetType() const noexcept { return AggregationType::kDefault; } static const AggregationConfig *GetOrDefault(const AggregationConfig *config) diff --git a/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h b/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h index ba6904d319..8962a43875 100644 --- a/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h +++ b/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h @@ -24,9 +24,11 @@ class Base2ExponentialHistogramIndexer * Construct a new indexer for a given scale. */ explicit Base2ExponentialHistogramIndexer(int32_t scale = 0); - Base2ExponentialHistogramIndexer(const Base2ExponentialHistogramIndexer &other) = default; - Base2ExponentialHistogramIndexer &operator=(const Base2ExponentialHistogramIndexer &other) = - default; + + Base2ExponentialHistogramIndexer(const Base2ExponentialHistogramIndexer &) = default; + Base2ExponentialHistogramIndexer(Base2ExponentialHistogramIndexer &&) = default; + Base2ExponentialHistogramIndexer &operator=(const Base2ExponentialHistogramIndexer &) = default; + Base2ExponentialHistogramIndexer &operator=(Base2ExponentialHistogramIndexer &&) = default; /** * Compute the index for the given value. diff --git a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h index 2ff8c9702e..af6888b2d5 100644 --- a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h +++ b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h @@ -23,6 +23,12 @@ class ObservableInstrument : public opentelemetry::metrics::ObservableInstrument ObservableInstrument(InstrumentDescriptor instrument_descriptor, std::unique_ptr storage, std::shared_ptr observable_registry); + + ObservableInstrument(const ObservableInstrument &) = delete; + ObservableInstrument(ObservableInstrument &&) = delete; + ObservableInstrument &operator=(const ObservableInstrument &) = delete; + ObservableInstrument &operator=(ObservableInstrument &&) = delete; + ~ObservableInstrument() override; void AddCallback(opentelemetry::metrics::ObservableCallbackPtr callback, diff --git a/sdk/include/opentelemetry/sdk/metrics/data/circular_buffer.h b/sdk/include/opentelemetry/sdk/metrics/data/circular_buffer.h index 01588f71d4..38cea2839a 100644 --- a/sdk/include/opentelemetry/sdk/metrics/data/circular_buffer.h +++ b/sdk/include/opentelemetry/sdk/metrics/data/circular_buffer.h @@ -36,6 +36,8 @@ class AdaptingIntegerArray AdaptingIntegerArray &operator=(const AdaptingIntegerArray &other) = default; AdaptingIntegerArray &operator=(AdaptingIntegerArray &&other) = default; + ~AdaptingIntegerArray() = default; + /** * Increments the value at the specified index by the given count in the array. * @@ -92,6 +94,8 @@ class AdaptingCircularBufferCounter AdaptingCircularBufferCounter &operator=(const AdaptingCircularBufferCounter &other) = default; AdaptingCircularBufferCounter &operator=(AdaptingCircularBufferCounter &&other) = default; + ~AdaptingCircularBufferCounter() = default; + /** * The first index with a recording. May be negative. * diff --git a/sdk/include/opentelemetry/sdk/metrics/data/point_data.h b/sdk/include/opentelemetry/sdk/metrics/data/point_data.h index a88bf25a76..2f64df81df 100644 --- a/sdk/include/opentelemetry/sdk/metrics/data/point_data.h +++ b/sdk/include/opentelemetry/sdk/metrics/data/point_data.h @@ -141,6 +141,8 @@ class Base2ExponentialHistogramPointData // Default constructor Base2ExponentialHistogramPointData() = default; + ~Base2ExponentialHistogramPointData() = default; + // Members double sum_ = {}; double min_ = {}; @@ -161,10 +163,12 @@ class DropPointData { public: // TODO: remove ctors and initializers when GCC<5 stops shipping on Ubuntu - DropPointData(DropPointData &&) = default; - DropPointData(const DropPointData &) = default; - DropPointData() = default; - DropPointData &operator=(DropPointData &&) = default; + DropPointData(DropPointData &&) = default; + DropPointData(const DropPointData &) = default; + DropPointData() = default; + DropPointData &operator=(const DropPointData &) = default; + DropPointData &operator=(DropPointData &&) = default; + ~DropPointData() = default; }; } // namespace metrics diff --git a/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir.h b/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir.h index ef1df1c9a5..d618aee09f 100644 --- a/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir.h +++ b/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir.h @@ -37,6 +37,13 @@ class ExemplarData; class ExemplarReservoir { public: + ExemplarReservoir() = default; + + ExemplarReservoir(const ExemplarReservoir &) = delete; + ExemplarReservoir(ExemplarReservoir &&) = delete; + ExemplarReservoir &operator=(const ExemplarReservoir &) = delete; + ExemplarReservoir &operator=(ExemplarReservoir &&) = delete; + virtual ~ExemplarReservoir() = default; /** Offers a long measurement to be sampled. */ diff --git a/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir_cell_selector.h b/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir_cell_selector.h index 79136ed9e8..9ea0eed643 100644 --- a/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir_cell_selector.h +++ b/sdk/include/opentelemetry/sdk/metrics/exemplar/reservoir_cell_selector.h @@ -26,6 +26,13 @@ class ReservoirCellSelector { public: + ReservoirCellSelector() = default; + + ReservoirCellSelector(const ReservoirCellSelector &) = delete; + ReservoirCellSelector(ReservoirCellSelector &&) = delete; + ReservoirCellSelector &operator=(const ReservoirCellSelector &) = delete; + ReservoirCellSelector &operator=(ReservoirCellSelector &&) = delete; + virtual ~ReservoirCellSelector() = default; /** Determine the index of the {@code cells} to record the measurement to. */ diff --git a/sdk/include/opentelemetry/sdk/metrics/export/metric_producer.h b/sdk/include/opentelemetry/sdk/metrics/export/metric_producer.h index c12b9c6db4..6f9b7d3685 100644 --- a/sdk/include/opentelemetry/sdk/metrics/export/metric_producer.h +++ b/sdk/include/opentelemetry/sdk/metrics/export/metric_producer.h @@ -50,6 +50,8 @@ struct ScopeMetrics inline ScopeMetrics &operator=(const ScopeMetrics &) = default; inline ScopeMetrics &operator=(ScopeMetrics &&) = default; + + ~ScopeMetrics() = default; }; struct ResourceMetrics @@ -70,6 +72,8 @@ struct ResourceMetrics inline ResourceMetrics &operator=(const ResourceMetrics &) = default; inline ResourceMetrics &operator=(ResourceMetrics &&) = default; + + ~ResourceMetrics() = default; }; /** @@ -85,8 +89,10 @@ class MetricProducer MetricProducer() = default; virtual ~MetricProducer() = default; - MetricProducer(const MetricProducer &) = delete; - MetricProducer(const MetricProducer &&) = delete; + MetricProducer(const MetricProducer &) = delete; + MetricProducer(MetricProducer &&) = delete; + MetricProducer &operator=(const MetricProducer &) = delete; + MetricProducer &operator=(MetricProducer &&) = delete; enum class Status { diff --git a/sdk/include/opentelemetry/sdk/metrics/metric_reader.h b/sdk/include/opentelemetry/sdk/metrics/metric_reader.h index 30d5e60823..222cb1d2c9 100644 --- a/sdk/include/opentelemetry/sdk/metrics/metric_reader.h +++ b/sdk/include/opentelemetry/sdk/metrics/metric_reader.h @@ -24,6 +24,11 @@ class MetricReader public: MetricReader(); + MetricReader(const MetricReader &) = delete; + MetricReader(MetricReader &&) = delete; + MetricReader &operator=(const MetricReader &) = delete; + MetricReader &operator=(MetricReader &&) = delete; + void SetMetricProducer(MetricProducer *metric_producer); /** diff --git a/sdk/include/opentelemetry/sdk/metrics/observer_result.h b/sdk/include/opentelemetry/sdk/metrics/observer_result.h index cc60cf5f64..ee7e7bd58c 100644 --- a/sdk/include/opentelemetry/sdk/metrics/observer_result.h +++ b/sdk/include/opentelemetry/sdk/metrics/observer_result.h @@ -26,6 +26,11 @@ class ObserverResultT final : public opentelemetry::metrics::ObserverResultT : attributes_processor_(attributes_processor) {} + ObserverResultT(const ObserverResultT &) = delete; + ObserverResultT(ObserverResultT &&) = delete; + ObserverResultT &operator=(const ObserverResultT &) = delete; + ObserverResultT &operator=(ObserverResultT &&) = delete; + ~ObserverResultT() override = default; void Observe(T value) noexcept override diff --git a/sdk/include/opentelemetry/sdk/metrics/push_metric_exporter.h b/sdk/include/opentelemetry/sdk/metrics/push_metric_exporter.h index 9c5e6ad2b6..92220db48e 100644 --- a/sdk/include/opentelemetry/sdk/metrics/push_metric_exporter.h +++ b/sdk/include/opentelemetry/sdk/metrics/push_metric_exporter.h @@ -24,6 +24,13 @@ struct ResourceMetrics; class PushMetricExporter { public: + PushMetricExporter() = default; + + PushMetricExporter(const PushMetricExporter &) = delete; + PushMetricExporter(PushMetricExporter &&) = delete; + PushMetricExporter &operator=(const PushMetricExporter &) = delete; + PushMetricExporter &operator=(PushMetricExporter &&) = delete; + virtual ~PushMetricExporter() = default; /** diff --git a/sdk/include/opentelemetry/sdk/metrics/state/filtered_ordered_attribute_map.h b/sdk/include/opentelemetry/sdk/metrics/state/filtered_ordered_attribute_map.h index 814134d0c1..aaed261900 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/filtered_ordered_attribute_map.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/filtered_ordered_attribute_map.h @@ -61,6 +61,8 @@ class FilteredOrderedAttributeMap : public opentelemetry::sdk::common::OrderedAt FilteredOrderedAttributeMap &operator=(const FilteredOrderedAttributeMap &other) = default; FilteredOrderedAttributeMap &operator=(FilteredOrderedAttributeMap &&other) = default; + ~FilteredOrderedAttributeMap() = default; + // // equality operator // diff --git a/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h b/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h index e1df3f61fc..f01a36854b 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h @@ -25,7 +25,13 @@ class MeterContext; class CollectorHandle { public: - CollectorHandle() = default; + CollectorHandle() = default; + + CollectorHandle(const CollectorHandle &) = delete; + CollectorHandle(CollectorHandle &&) = delete; + CollectorHandle &operator=(const CollectorHandle &) = delete; + CollectorHandle &operator=(CollectorHandle &&) = delete; + virtual ~CollectorHandle() = default; virtual AggregationTemporality GetAggregationTemporality( @@ -45,6 +51,11 @@ class MetricCollector : public MetricProducer, public CollectorHandle std::shared_ptr metric_reader, std::unique_ptr metric_filter = nullptr); + MetricCollector(const MetricCollector &) = delete; + MetricCollector(MetricCollector &&) = delete; + MetricCollector &operator=(const MetricCollector &) = delete; + MetricCollector &operator=(MetricCollector &&) = delete; + ~MetricCollector() override = default; AggregationTemporality GetAggregationTemporality( diff --git a/sdk/include/opentelemetry/sdk/metrics/state/metric_storage.h b/sdk/include/opentelemetry/sdk/metrics/state/metric_storage.h index 26adc37c08..af743bea9f 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/metric_storage.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/metric_storage.h @@ -32,7 +32,13 @@ class CollectorHandle; class MetricStorage { public: - MetricStorage() = default; + MetricStorage() = default; + + MetricStorage(const MetricStorage &) = delete; + MetricStorage(MetricStorage &&) = delete; + MetricStorage &operator=(const MetricStorage &) = delete; + MetricStorage &operator=(MetricStorage &&) = delete; + virtual ~MetricStorage() = default; /* collect the metrics from this storage */ @@ -47,6 +53,15 @@ class MetricStorage class SyncWritableMetricStorage { public: + SyncWritableMetricStorage() = default; + + SyncWritableMetricStorage(const SyncWritableMetricStorage &) = delete; + SyncWritableMetricStorage(SyncWritableMetricStorage &&) = delete; + SyncWritableMetricStorage &operator=(const SyncWritableMetricStorage &) = delete; + SyncWritableMetricStorage &operator=(SyncWritableMetricStorage &&) = delete; + + virtual ~SyncWritableMetricStorage() = default; + virtual void RecordLong(int64_t value, const opentelemetry::context::Context &context) noexcept = 0; @@ -60,15 +75,19 @@ class SyncWritableMetricStorage virtual void RecordDouble(double value, const opentelemetry::common::KeyValueIterable &attributes, const opentelemetry::context::Context &context) noexcept = 0; - - virtual ~SyncWritableMetricStorage() = default; }; /* Represents the async metric stroage */ class AsyncWritableMetricStorage { public: - AsyncWritableMetricStorage() = default; + AsyncWritableMetricStorage() = default; + + AsyncWritableMetricStorage(const AsyncWritableMetricStorage &) = delete; + AsyncWritableMetricStorage(AsyncWritableMetricStorage &&) = delete; + AsyncWritableMetricStorage &operator=(const AsyncWritableMetricStorage &) = delete; + AsyncWritableMetricStorage &operator=(AsyncWritableMetricStorage &&) = delete; + virtual ~AsyncWritableMetricStorage() = default; /* Records a batch of measurements */ From 63c9de222276963741631b015684bb663de9bb66 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 21 Feb 2026 20:44:52 +0100 Subject: [PATCH 2/7] cleanup, continued --- .../sdk/instrumentationscope/instrumentation_scope.h | 1 + .../aggregation/base2_exponential_histogram_indexer.h | 1 + .../opentelemetry/sdk/metrics/meter_provider.h | 5 +++++ .../sdk/metrics/state/observable_registry.h | 6 ++++++ .../sdk/metrics/view/attributes_processor.h | 7 +++++++ .../opentelemetry/sdk/metrics/view/predicate.h | 10 +++++++++- sdk/include/opentelemetry/sdk/metrics/view/view.h | 5 +++++ .../opentelemetry/sdk/metrics/view/view_registry.h | 8 +++++++- sdk/include/opentelemetry/sdk/resource/resource.h | 4 ++++ .../opentelemetry/sdk/resource/resource_detector.h | 11 +++++++++-- .../opentelemetry/sdk/trace/batch_span_processor.h | 5 +++++ sdk/include/opentelemetry/sdk/trace/exporter.h | 6 ++++++ sdk/include/opentelemetry/sdk/trace/id_generator.h | 5 +++++ .../opentelemetry/sdk/trace/multi_span_processor.h | 5 +++++ sdk/include/opentelemetry/sdk/trace/processor.h | 7 +++++++ sdk/include/opentelemetry/sdk/trace/recordable.h | 7 +++++++ sdk/include/opentelemetry/sdk/trace/sampler.h | 9 ++++++++- .../opentelemetry/sdk/trace/simple_processor.h | 5 +++++ sdk/include/opentelemetry/sdk/trace/tracer_context.h | 5 +++++ sdk/include/opentelemetry/sdk/trace/tracer_provider.h | 5 +++++ sdk/src/trace/span.h | 5 +++++ sdk/test/metrics/common.h | 5 +++++ 22 files changed, 122 insertions(+), 5 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h b/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h index 27d383ef93..9ede694530 100644 --- a/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h +++ b/sdk/include/opentelemetry/sdk/instrumentationscope/instrumentation_scope.h @@ -30,6 +30,7 @@ class InstrumentationScope InstrumentationScope(InstrumentationScope &&) = default; InstrumentationScope &operator=(const InstrumentationScope &) = default; InstrumentationScope &operator=(InstrumentationScope &&) = default; + ~InstrumentationScope() = default; /** * Returns a newly created InstrumentationScope with the specified library name and version. diff --git a/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h b/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h index 8962a43875..e48c7d131e 100644 --- a/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h +++ b/sdk/include/opentelemetry/sdk/metrics/aggregation/base2_exponential_histogram_indexer.h @@ -29,6 +29,7 @@ class Base2ExponentialHistogramIndexer Base2ExponentialHistogramIndexer(Base2ExponentialHistogramIndexer &&) = default; Base2ExponentialHistogramIndexer &operator=(const Base2ExponentialHistogramIndexer &) = default; Base2ExponentialHistogramIndexer &operator=(Base2ExponentialHistogramIndexer &&) = default; + ~Base2ExponentialHistogramIndexer() = default; /** * Compute the index for the given value. diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_provider.h b/sdk/include/opentelemetry/sdk/metrics/meter_provider.h index b2c5d36b18..cbdeb80b6e 100644 --- a/sdk/include/opentelemetry/sdk/metrics/meter_provider.h +++ b/sdk/include/opentelemetry/sdk/metrics/meter_provider.h @@ -58,6 +58,11 @@ class OPENTELEMETRY_EXPORT MeterProvider final : public opentelemetry::metrics:: */ explicit MeterProvider(std::unique_ptr context) noexcept; + MeterProvider(const MeterProvider &) = delete; + MeterProvider(MeterProvider &&) = delete; + MeterProvider &operator=(const MeterProvider &) = delete; + MeterProvider &operator=(MeterProvider &&) = delete; + /* Make sure GetMeter() helpers from the API are seen in overload resolution. */ diff --git a/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h b/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h index d06801a007..dd2b353214 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h @@ -34,6 +34,12 @@ class ObservableRegistry // than implicitly defaulted here, so that we can have a unique_ptr to an incomplete // class as a member. ObservableRegistry(); + + ObservableRegistry(const ObservableRegistry &) = delete; + ObservableRegistry(ObservableRegistry &&) = delete; + ObservableRegistry &operator=(const ObservableRegistry &) = delete; + ObservableRegistry &operator=(ObservableRegistry &&) = delete; + ~ObservableRegistry(); // Add a callback of the single-instrument form diff --git a/sdk/include/opentelemetry/sdk/metrics/view/attributes_processor.h b/sdk/include/opentelemetry/sdk/metrics/view/attributes_processor.h index b00687a5c1..b4d5e61801 100644 --- a/sdk/include/opentelemetry/sdk/metrics/view/attributes_processor.h +++ b/sdk/include/opentelemetry/sdk/metrics/view/attributes_processor.h @@ -37,6 +37,13 @@ typedef std::unordered_map &&processor) { // Add preocessor to end of the list. diff --git a/sdk/include/opentelemetry/sdk/trace/processor.h b/sdk/include/opentelemetry/sdk/trace/processor.h index 951c2ec6b3..5c4a6a2d54 100644 --- a/sdk/include/opentelemetry/sdk/trace/processor.h +++ b/sdk/include/opentelemetry/sdk/trace/processor.h @@ -29,6 +29,13 @@ class Recordable; class OPENTELEMETRY_EXPORT SpanProcessor { public: + SpanProcessor() = default; + + SpanProcessor(const SpanProcessor &) = delete; + SpanProcessor(SpanProcessor &&) = delete; + SpanProcessor &operator=(const SpanProcessor &) = delete; + SpanProcessor &operator=(SpanProcessor &&) = delete; + virtual ~SpanProcessor() = default; /** diff --git a/sdk/include/opentelemetry/sdk/trace/recordable.h b/sdk/include/opentelemetry/sdk/trace/recordable.h index b85e007e85..fbd2ccd69e 100644 --- a/sdk/include/opentelemetry/sdk/trace/recordable.h +++ b/sdk/include/opentelemetry/sdk/trace/recordable.h @@ -44,6 +44,13 @@ class SpanData; class Recordable { public: + Recordable() = default; + + Recordable(const Recordable &) = delete; + Recordable(Recordable &&) = delete; + Recordable &operator=(const Recordable &) = delete; + Recordable &operator=(Recordable &&) = delete; + virtual ~Recordable() = default; /** diff --git a/sdk/include/opentelemetry/sdk/trace/sampler.h b/sdk/include/opentelemetry/sdk/trace/sampler.h index c8339ea7b1..28620189ca 100644 --- a/sdk/include/opentelemetry/sdk/trace/sampler.h +++ b/sdk/include/opentelemetry/sdk/trace/sampler.h @@ -71,7 +71,15 @@ struct SamplingResult class Sampler { public: + Sampler() = default; + + Sampler(const Sampler &) = delete; + Sampler(Sampler &&) = delete; + Sampler &operator=(const Sampler &) = delete; + Sampler &operator=(Sampler &&) = delete; + virtual ~Sampler() = default; + /** * Called during Span creation to make a sampling decision. * @@ -86,7 +94,6 @@ class Sampler * @return sampling result whether span should be sampled or not. * @since 0.1.0 */ - virtual SamplingResult ShouldSample( const opentelemetry::trace::SpanContext &parent_context, opentelemetry::trace::TraceId trace_id, diff --git a/sdk/include/opentelemetry/sdk/trace/simple_processor.h b/sdk/include/opentelemetry/sdk/trace/simple_processor.h index 6a562a8f0a..6b6122eef7 100644 --- a/sdk/include/opentelemetry/sdk/trace/simple_processor.h +++ b/sdk/include/opentelemetry/sdk/trace/simple_processor.h @@ -43,6 +43,11 @@ class SimpleSpanProcessor : public SpanProcessor : exporter_(std::move(exporter)) {} + SimpleSpanProcessor(const SimpleSpanProcessor &) = delete; + SimpleSpanProcessor(SimpleSpanProcessor &&) = delete; + SimpleSpanProcessor &operator=(const SimpleSpanProcessor &) = delete; + SimpleSpanProcessor &operator=(SimpleSpanProcessor &&) = delete; + std::unique_ptr MakeRecordable() noexcept override { return exporter_->MakeRecordable(); diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_context.h b/sdk/include/opentelemetry/sdk/trace/tracer_context.h index 90beb9a2ca..81edbb5322 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_context.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_context.h @@ -52,6 +52,11 @@ class TracerContext TracerConfig::Default()) .Build())) noexcept; + TracerContext(const TracerContext &) = delete; + TracerContext(TracerContext &&) = delete; + TracerContext &operator=(const TracerContext &) = delete; + TracerContext &operator=(TracerContext &&) = delete; + virtual ~TracerContext() = default; /** diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h index 97b7ab7d30..096f64bec6 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h @@ -74,6 +74,11 @@ class OPENTELEMETRY_EXPORT TracerProvider final : public opentelemetry::trace::T */ explicit TracerProvider(std::unique_ptr context) noexcept; + TracerProvider(const TracerProvider &) = delete; + TracerProvider(TracerProvider &&) = delete; + TracerProvider &operator=(const TracerProvider &) = delete; + TracerProvider &operator=(TracerProvider &&) = delete; + ~TracerProvider() override; /* diff --git a/sdk/src/trace/span.h b/sdk/src/trace/span.h index 5e0ff2c570..4521217909 100644 --- a/sdk/src/trace/span.h +++ b/sdk/src/trace/span.h @@ -35,6 +35,11 @@ class Span final : public opentelemetry::trace::Span const opentelemetry::trace::SpanContext &parent_span_context, std::unique_ptr span_context) noexcept; + Span(const Span &) = delete; + Span(Span &&) = delete; + Span &operator=(const Span &) = delete; + Span &operator=(Span &&) = delete; + ~Span() override; // opentelemetry::trace::Span diff --git a/sdk/test/metrics/common.h b/sdk/test/metrics/common.h index ff2060e285..ac19fc94d7 100644 --- a/sdk/test/metrics/common.h +++ b/sdk/test/metrics/common.h @@ -53,6 +53,11 @@ class MockCollectorHandle : public opentelemetry::sdk::metrics::CollectorHandle public: MockCollectorHandle(opentelemetry::sdk::metrics::AggregationTemporality); + MockCollectorHandle(const MockCollectorHandle &) = delete; + MockCollectorHandle(MockCollectorHandle &&) = delete; + MockCollectorHandle &operator=(const MockCollectorHandle &) = delete; + MockCollectorHandle &operator=(MockCollectorHandle &&) = delete; + ~MockCollectorHandle() override = default; opentelemetry::sdk::metrics::AggregationTemporality GetAggregationTemporality( From 3658d488432b76b2b6f867100b6481df27355bd3 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 21 Feb 2026 21:08:47 +0100 Subject: [PATCH 3/7] cleanup, ext --- .../ext/http/client/curl/http_client_curl.h | 11 +++++ .../http/client/curl/http_operation_curl.h | 7 ++++ .../ext/http/client/http_client.h | 42 +++++++++++++++++++ .../ext/http/server/http_server.h | 11 +++++ .../ext/http/server/socket_tools.h | 18 +++++++- 5 files changed, 88 insertions(+), 1 deletion(-) diff --git a/ext/include/opentelemetry/ext/http/client/curl/http_client_curl.h b/ext/include/opentelemetry/ext/http/client/curl/http_client_curl.h index 1dc4e6a905..6a1f9c3e5e 100644 --- a/ext/include/opentelemetry/ext/http/client/curl/http_client_curl.h +++ b/ext/include/opentelemetry/ext/http/client/curl/http_client_curl.h @@ -242,6 +242,11 @@ class HttpClientSync : public opentelemetry::ext::http::client::HttpClientSync public: HttpClientSync() : curl_global_initializer_(HttpCurlGlobalInitializer::GetInstance()) {} + HttpClientSync(const HttpClientSync &) = delete; + HttpClientSync(HttpClientSync &&) = delete; + HttpClientSync &operator=(const HttpClientSync &) = delete; + HttpClientSync &operator=(HttpClientSync &&) = delete; + opentelemetry::ext::http::client::Result Get( const nostd::string_view &url, const opentelemetry::ext::http::client::HttpSslOptions &ssl_options, @@ -312,6 +317,12 @@ class HttpClient : public opentelemetry::ext::http::client::HttpClient // The call (curl_global_init) is not thread safe. Ensure this is called only once. HttpClient(); HttpClient(const std::shared_ptr &thread_instrumentation); + + HttpClient(const HttpClient &) = delete; + HttpClient(HttpClient &&) = delete; + HttpClient &operator=(const HttpClient &) = delete; + HttpClient &operator=(HttpClient &&) = delete; + ~HttpClient() override; std::shared_ptr CreateSession( diff --git a/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h b/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h index 76879fc1df..a0dcab3d68 100644 --- a/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h +++ b/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h @@ -73,6 +73,8 @@ struct HttpCurlEasyResource HttpCurlEasyResource(const HttpCurlEasyResource &other) = delete; HttpCurlEasyResource &operator=(const HttpCurlEasyResource &other) = delete; + + ~HttpCurlEasyResource() = default; }; class HttpOperation @@ -166,6 +168,11 @@ class HttpOperation bool is_log_enabled = false, const opentelemetry::ext::http::client::RetryPolicy &retry_policy = {}); + HttpOperation(const HttpOperation &) = delete; + HttpOperation(HttpOperation &&) = delete; + HttpOperation &operator=(const HttpOperation &) = delete; + HttpOperation &operator=(HttpOperation &&) = delete; + /** * Destroy CURL instance */ diff --git a/ext/include/opentelemetry/ext/http/client/http_client.h b/ext/include/opentelemetry/ext/http/client/http_client.h index 36f4e2d0a6..74fe793a2b 100644 --- a/ext/include/opentelemetry/ext/http/client/http_client.h +++ b/ext/include/opentelemetry/ext/http/client/http_client.h @@ -251,6 +251,13 @@ struct RetryPolicy class Request { public: + Request() = default; + + Request(const Request &) = delete; + Request(Request &&) = delete; + Request &operator=(const Request &) = delete; + Request &operator=(Request &&) = delete; + virtual void SetMethod(Method method) noexcept = 0; virtual void SetUri(nostd::string_view uri) noexcept = 0; @@ -277,6 +284,13 @@ class Request class Response { public: + Response() = default; + + Response(const Response &) = delete; + Response(Response &&) = delete; + Response &operator=(const Response &) = delete; + Response &operator=(Response &&) = delete; + virtual const Body &GetBody() const noexcept = 0; virtual bool ForEachHeader( @@ -344,6 +358,13 @@ class Result class EventHandler { public: + EventHandler() = default; + + EventHandler(const EventHandler &) = delete; + EventHandler(EventHandler &&) = delete; + EventHandler &operator=(const EventHandler &) = delete; + EventHandler &operator=(EventHandler &&) = delete; + virtual void OnResponse(Response &) noexcept = 0; virtual void OnEvent(SessionState, nostd::string_view) noexcept = 0; @@ -354,6 +375,13 @@ class EventHandler class Session { public: + Session() = default; + + Session(const Session &) = delete; + Session(Session &&) = delete; + Session &operator=(const Session &) = delete; + Session &operator=(Session &&) = delete; + virtual std::shared_ptr CreateRequest() noexcept = 0; virtual void SendRequest(std::shared_ptr) noexcept = 0; @@ -370,6 +398,13 @@ class Session class HttpClient { public: + HttpClient() = default; + + HttpClient(const HttpClient &) = delete; + HttpClient(HttpClient &&) = delete; + HttpClient &operator=(const HttpClient &) = delete; + HttpClient &operator=(HttpClient &&) = delete; + virtual std::shared_ptr CreateSession(nostd::string_view url) noexcept = 0; virtual bool CancelAllSessions() noexcept = 0; @@ -384,6 +419,13 @@ class HttpClient class HttpClientSync { public: + HttpClientSync() = default; + + HttpClientSync(const HttpClientSync &) = delete; + HttpClientSync(HttpClientSync &&) = delete; + HttpClientSync &operator=(const HttpClientSync &) = delete; + HttpClientSync &operator=(HttpClientSync &&) = delete; + Result GetNoSsl(const nostd::string_view &url, const Headers &headers = {{}}, const Compression &compression = Compression::kNone) noexcept diff --git a/ext/include/opentelemetry/ext/http/server/http_server.h b/ext/include/opentelemetry/ext/http/server/http_server.h index 16a5b9879d..8f17a29a92 100644 --- a/ext/include/opentelemetry/ext/http/server/http_server.h +++ b/ext/include/opentelemetry/ext/http/server/http_server.h @@ -54,6 +54,12 @@ class HttpRequestCallback public: HttpRequestCallback() {} + + HttpRequestCallback(const HttpRequestCallback &) = delete; + HttpRequestCallback(HttpRequestCallback &&) = delete; + HttpRequestCallback &operator=(const HttpRequestCallback &) = delete; + HttpRequestCallback &operator=(HttpRequestCallback &&) = delete; + virtual ~HttpRequestCallback() = default; HttpRequestCallback &operator=(HttpRequestCallback other) @@ -176,6 +182,11 @@ class HttpServer : private SocketTools::Reactor::SocketCallback addListeningPort(port); } + HttpServer(const HttpServer &) = delete; + HttpServer(HttpServer &&) = delete; + HttpServer &operator=(const HttpServer &) = delete; + HttpServer &operator=(HttpServer &&) = delete; + ~HttpServer() override { for (auto &sock : m_listeningSockets) diff --git a/ext/include/opentelemetry/ext/http/server/socket_tools.h b/ext/include/opentelemetry/ext/http/server/socket_tools.h index e2cbcaff71..257e7a9270 100644 --- a/ext/include/opentelemetry/ext/http/server/socket_tools.h +++ b/ext/include/opentelemetry/ext/http/server/socket_tools.h @@ -272,6 +272,11 @@ struct Socket Socket(int af, int type, int proto) : m_sock(::socket(af, type, proto)) {} + Socket(const Socket &) = delete; + Socket(Socket &&) = delete; + Socket &operator=(const Socket &) = delete; + Socket &operator=(Socket &&) = delete; + ~Socket() {} operator Socket::Type() const { return m_sock; } @@ -447,7 +452,13 @@ struct Reactor : protected common::Thread class SocketCallback { public: - SocketCallback() = default; + SocketCallback() = default; + + SocketCallback(const SocketCallback &) = delete; + SocketCallback(SocketCallback &&) = delete; + SocketCallback &operator=(const SocketCallback &) = delete; + SocketCallback &operator=(SocketCallback &&) = delete; + virtual ~SocketCallback() = default; virtual void onSocketReadable(Socket sock) = 0; virtual void onSocketWritable(Socket sock) = 0; @@ -504,6 +515,11 @@ struct Reactor : protected common::Thread #endif } + Reactor(const Reactor &) = delete; + Reactor(Reactor &&) = delete; + Reactor &operator=(const Reactor &) = delete; + Reactor &operator=(Reactor &&) = delete; + ~Reactor() override { #ifdef __linux__ From a66e7c164b3de0986fd8218107a5d635aeefa930 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 21 Feb 2026 21:48:11 +0100 Subject: [PATCH 4/7] Changelog --- .github/workflows/clang-tidy.yaml | 4 ++-- CHANGELOG.md | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index 6ef0818e08..ea5a27a591 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: 595 + warning_limit: 288 - cmake_options: all-options-abiv2-preview - warning_limit: 597 + warning_limit: 292 env: CC: /usr/bin/clang-18 CXX: /usr/bin/clang++-18 diff --git a/CHANGELOG.md b/CHANGELOG.md index 07005073f4..0bca6db4fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ Increment the: * [BUILD] Avoid break caused by max() macro on windows [#3863](https://github.com/open-telemetry/opentelemetry-cpp/pull/3863) +* [CODE HEALTH] Fix clang-tidy warnings, part 2 + [#3872](https://github.com/open-telemetry/opentelemetry-cpp/pull/3872) + ## [1.25 2026-02-07] * [RELEASE] Bump main branch to 1.25.0-dev (#3759) From 13e415f46a89db5a427c068819629b1a104c8a2b Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 21 Feb 2026 22:44:26 +0100 Subject: [PATCH 5/7] cleanup --- ext/include/opentelemetry/ext/http/server/socket_tools.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/include/opentelemetry/ext/http/server/socket_tools.h b/ext/include/opentelemetry/ext/http/server/socket_tools.h index 257e7a9270..eabfe78d79 100644 --- a/ext/include/opentelemetry/ext/http/server/socket_tools.h +++ b/ext/include/opentelemetry/ext/http/server/socket_tools.h @@ -272,10 +272,10 @@ struct Socket Socket(int af, int type, int proto) : m_sock(::socket(af, type, proto)) {} - Socket(const Socket &) = delete; - Socket(Socket &&) = delete; - Socket &operator=(const Socket &) = delete; - Socket &operator=(Socket &&) = delete; + Socket(const Socket &) = default; + Socket(Socket &&) = default; + Socket &operator=(const Socket &) = default; + Socket &operator=(Socket &&) = default; ~Socket() {} From 7f9eb675eb9bfd73f5afa59270f3da6536415795 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 21 Feb 2026 23:41:47 +0100 Subject: [PATCH 6/7] cleanup --- .github/workflows/clang-tidy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/clang-tidy.yaml b/.github/workflows/clang-tidy.yaml index ea5a27a591..fb097585d5 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: 288 + warning_limit: 483 - cmake_options: all-options-abiv2-preview - warning_limit: 292 + warning_limit: 485 env: CC: /usr/bin/clang-18 CXX: /usr/bin/clang++-18 From b78c114546e6d0d18c3bcb8c54ec1e708cc6d856 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sun, 22 Feb 2026 12:41:13 +0100 Subject: [PATCH 7/7] Revert ObservableRegistry changes. --- .../opentelemetry/sdk/metrics/state/observable_registry.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h b/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h index dd2b353214..d06801a007 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/observable_registry.h @@ -34,12 +34,6 @@ class ObservableRegistry // than implicitly defaulted here, so that we can have a unique_ptr to an incomplete // class as a member. ObservableRegistry(); - - ObservableRegistry(const ObservableRegistry &) = delete; - ObservableRegistry(ObservableRegistry &&) = delete; - ObservableRegistry &operator=(const ObservableRegistry &) = delete; - ObservableRegistry &operator=(ObservableRegistry &&) = delete; - ~ObservableRegistry(); // Add a callback of the single-instrument form