diff --git a/CHANGELOG.md b/CHANGELOG.md index f178444..786c516 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- **`*Create` classes are now `@internal` and hidden from the public library.** + They were internal by doc-comment convention only; the barrel exported them, + so `AttributesCreate.create()` etc. were callable by any consumer — an open + factory-bypass door, contradicting the beta.8/9 removal of factory cheat + paths. The analyzer now rejects outside-package use + (`invalid_use_of_internal_member`). Factories and same-package code are + unaffected. Consumers constructing objects must go through `OTelAPI` or the + installed `OTelFactory`. Covers all 29 `*Create` classes, including the + new `CompositePropagatorCreate`. + - **Breaking: the semantic-convention enums are now generated from the OpenTelemetry registry with OTel Weaver, one file per registry namespace** (#50, #51). The hand-written `semantics.dart`, diff --git a/lib/dartastic_opentelemetry_api.dart b/lib/dartastic_opentelemetry_api.dart index 7a6f027..5642aca 100644 --- a/lib/dartastic_opentelemetry_api.dart +++ b/lib/dartastic_opentelemetry_api.dart @@ -12,17 +12,19 @@ library; // Baggage -export 'src/api/baggage/baggage.dart'; +export 'src/api/baggage/baggage.dart' hide BaggageCreate; export 'src/api/baggage/baggage_entry.dart'; // Common -export 'src/api/common/attribute.dart'; -export 'src/api/common/attributes.dart'; -export 'src/api/common/instrumentation_scope.dart'; +export 'src/api/common/attribute.dart' hide AttributeCreate; +export 'src/api/common/attributes.dart' hide AttributesCreate; +export 'src/api/common/instrumentation_scope.dart' + hide InstrumentationScopeCreate; export 'src/api/common/timestamp.dart'; // Context -export 'src/api/context/context.dart'; -export 'src/api/context/context_key.dart'; -export 'src/api/context/propagation/composite_propagator.dart'; +export 'src/api/context/context.dart' hide ContextCreate; +export 'src/api/context/context_key.dart' hide ContextKeyCreate; +export 'src/api/context/propagation/composite_propagator.dart' + hide CompositePropagatorCreate; export 'src/api/context/propagation/context_propagator.dart'; export 'src/api/context/propagation/noop_text_map_propagator.dart'; export 'src/api/context/propagation/text_map_propagator.dart'; @@ -31,23 +33,24 @@ export 'src/api/factory/otel_api_factory.dart'; export 'src/api/id/id_generator.dart'; // Log export 'src/api/logs/log_record.dart'; -export 'src/api/logs/logger.dart'; -export 'src/api/logs/logger_provider.dart'; +export 'src/api/logs/logger.dart' hide LoggerCreate; +export 'src/api/logs/logger_provider.dart' hide LogProviderCreate; export 'src/api/logs/severity.dart'; //Metrics -export 'src/api/metrics/counter.dart'; -export 'src/api/metrics/gauge.dart'; -export 'src/api/metrics/histogram.dart'; +export 'src/api/metrics/counter.dart' hide CounterCreate; +export 'src/api/metrics/gauge.dart' hide GaugeCreate; +export 'src/api/metrics/histogram.dart' hide HistogramCreate; export 'src/api/metrics/instrument.dart'; -export 'src/api/metrics/measurement.dart'; -export 'src/api/metrics/meter.dart'; -export 'src/api/metrics/meter_provider.dart'; +export 'src/api/metrics/measurement.dart' hide MeasurementCreate; +export 'src/api/metrics/meter.dart' hide APIMeterCreate; +export 'src/api/metrics/meter_provider.dart' hide MeterProviderCreate; export 'src/api/metrics/observable_callback.dart'; -export 'src/api/metrics/observable_counter.dart'; -export 'src/api/metrics/observable_gauge.dart'; +export 'src/api/metrics/observable_counter.dart' hide ObservableCounterCreate; +export 'src/api/metrics/observable_gauge.dart' hide ObservableGaugeCreate; export 'src/api/metrics/observable_result.dart'; -export 'src/api/metrics/observable_up_down_counter.dart'; -export 'src/api/metrics/up_down_counter.dart'; +export 'src/api/metrics/observable_up_down_counter.dart' + hide ObservableUpDownCounterCreate; +export 'src/api/metrics/up_down_counter.dart' hide UpDownCounterCreate; // API export 'src/api/otel_api.dart'; // Semantics @@ -56,17 +59,17 @@ export 'src/api/semantics/rum.dart'; export 'src/api/semantics/semantics_base.dart'; export 'src/api/semantics/semconv/semconv.dart'; // Trace -export 'src/api/trace/span.dart'; -export 'src/api/trace/span_context.dart'; -export 'src/api/trace/span_event.dart'; -export 'src/api/trace/span_id.dart'; +export 'src/api/trace/span.dart' hide APISpanCreate; +export 'src/api/trace/span_context.dart' hide SpanContextCreate; +export 'src/api/trace/span_event.dart' hide SpanEventCreate; +export 'src/api/trace/span_id.dart' hide SpanIdCreate; export 'src/api/trace/span_kind.dart'; -export 'src/api/trace/span_link.dart'; -export 'src/api/trace/trace_flags.dart'; -export 'src/api/trace/trace_id.dart'; -export 'src/api/trace/trace_state.dart'; -export 'src/api/trace/tracer.dart'; -export 'src/api/trace/tracer_provider.dart'; +export 'src/api/trace/span_link.dart' hide SpanLinkCreate; +export 'src/api/trace/trace_flags.dart' hide TraceFlagsCreate; +export 'src/api/trace/trace_id.dart' hide TraceIdCreate; +export 'src/api/trace/trace_state.dart' hide TraceStateCreate; +export 'src/api/trace/tracer.dart' hide TracerCreate; +export 'src/api/trace/tracer_provider.dart' hide TracerProviderCreate; export 'src/factory/otel_factory.dart'; // Util export 'src/util/default_time_provider.dart'; diff --git a/lib/src/api/baggage/baggage.dart b/lib/src/api/baggage/baggage.dart index 0990e3d..d719042 100644 --- a/lib/src/api/baggage/baggage.dart +++ b/lib/src/api/baggage/baggage.dart @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:meta/meta.dart'; - import '../../factory/otel_factory.dart'; import '../../util/otel_log.dart'; import 'baggage_entry.dart'; diff --git a/lib/src/api/baggage/baggage_create.dart b/lib/src/api/baggage/baggage_create.dart index ba5dbfe..75cf009 100644 --- a/lib/src/api/baggage/baggage_create.dart +++ b/lib/src/api/baggage/baggage_create.dart @@ -5,6 +5,7 @@ part of 'baggage.dart'; /// Factory for creating Baggage instances. /// This is used internally by the OpenTelemetry API implementation. +@internal class BaggageCreate { /// Creates a new Baggage instance with the specified entries. /// diff --git a/lib/src/api/common/attribute_create.dart b/lib/src/api/common/attribute_create.dart index dcad877..bfc9c9e 100644 --- a/lib/src/api/common/attribute_create.dart +++ b/lib/src/api/common/attribute_create.dart @@ -6,6 +6,7 @@ part of 'attribute.dart'; /// Factory class for creating Attribute instances. /// This class is not intended to be used directly by users. /// Instead, use the methods provided by the OpenTelemetry API. +@internal class AttributeCreate { /// Creates a new Attribute with the specified name and value. /// diff --git a/lib/src/api/common/attributes.dart b/lib/src/api/common/attributes.dart index f982530..6b0b15b 100644 --- a/lib/src/api/common/attributes.dart +++ b/lib/src/api/common/attributes.dart @@ -7,7 +7,6 @@ import 'dart:convert'; import 'package:collection/collection.dart'; import 'package:meta/meta.dart'; - import '../../factory/otel_factory.dart'; import '../../util/otel_log.dart'; import 'attribute.dart'; diff --git a/lib/src/api/common/attributes_create.dart b/lib/src/api/common/attributes_create.dart index 8f19bdc..b27475a 100644 --- a/lib/src/api/common/attributes_create.dart +++ b/lib/src/api/common/attributes_create.dart @@ -7,6 +7,7 @@ part of 'attributes.dart'; /// Used internally and not exported to respect factories. /// This class is not intended to be used directly by users. /// Instead, use the methods provided by the OpenTelemetry API. +@internal class AttributesCreate { /// Creates a new Attributes instance containing the specified attributes. /// diff --git a/lib/src/api/common/instrumentation_scope.dart b/lib/src/api/common/instrumentation_scope.dart index fbefcf4..ea115da 100644 --- a/lib/src/api/common/instrumentation_scope.dart +++ b/lib/src/api/common/instrumentation_scope.dart @@ -3,6 +3,7 @@ library; +import 'package:meta/meta.dart'; import '../otel_api.dart'; import 'attributes.dart'; diff --git a/lib/src/api/common/instrumentation_scope_create.dart b/lib/src/api/common/instrumentation_scope_create.dart index b6ea545..e713e42 100644 --- a/lib/src/api/common/instrumentation_scope_create.dart +++ b/lib/src/api/common/instrumentation_scope_create.dart @@ -7,6 +7,7 @@ part of 'instrumentation_scope.dart'; /// Used internally and not exported to respect factories. /// This class is not intended to be used directly by users. /// Instead, use the methods provided by the [OTelAPI]. +@internal class InstrumentationScopeCreate { /// Creates a new InstrumentationScope instance containing the specified attributes. /// [name] is required and represents the instrumentation scope name (e.g. 'io.opentelemetry.contrib.mongodb') diff --git a/lib/src/api/common/timestamp.dart b/lib/src/api/common/timestamp.dart index a9f4688..8eeaecd 100644 --- a/lib/src/api/common/timestamp.dart +++ b/lib/src/api/common/timestamp.dart @@ -3,7 +3,6 @@ import 'package:fixnum/fixnum.dart'; import 'package:meta/meta.dart'; - import '../../util/time.dart'; /// Utility class for working with OpenTelemetry timestamps. diff --git a/lib/src/api/context/context.dart b/lib/src/api/context/context.dart index 666132b..7a2e15a 100644 --- a/lib/src/api/context/context.dart +++ b/lib/src/api/context/context.dart @@ -6,7 +6,6 @@ import 'dart:convert'; import 'dart:typed_data'; import 'package:meta/meta.dart'; - import '../../factory/otel_factory.dart'; import '../baggage/baggage.dart'; import '../trace/span.dart'; diff --git a/lib/src/api/context/context_create.dart b/lib/src/api/context/context_create.dart index 0d9889d..e3b9a93 100644 --- a/lib/src/api/context/context_create.dart +++ b/lib/src/api/context/context_create.dart @@ -6,6 +6,7 @@ part of 'context.dart'; /// Factory class for creating Context instances. /// /// This is a part of the Context library and not meant to be used directly. +@internal class ContextCreate { /// Creates a new Context with the given context map and optional baggage. /// diff --git a/lib/src/api/context/context_key.dart b/lib/src/api/context/context_key.dart index 4eafbf4..87587fe 100644 --- a/lib/src/api/context/context_key.dart +++ b/lib/src/api/context/context_key.dart @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import 'dart:typed_data'; +import 'package:meta/meta.dart'; import '../id/id_generator.dart'; part 'context_key_create.dart'; diff --git a/lib/src/api/context/context_key_create.dart b/lib/src/api/context/context_key_create.dart index 9fb4ae0..487abe3 100644 --- a/lib/src/api/context/context_key_create.dart +++ b/lib/src/api/context/context_key_create.dart @@ -6,6 +6,7 @@ part of 'context_key.dart'; /// Factory class for creating ContextKey instances. /// /// This is a part of the Context library and not meant to be used directly. +@internal class ContextKeyCreate { /// Creates a new ContextKey with the specified name and unique identifier. /// diff --git a/lib/src/api/context/propagation/composite_propagator.dart b/lib/src/api/context/propagation/composite_propagator.dart index 442b959..2c55907 100644 --- a/lib/src/api/context/propagation/composite_propagator.dart +++ b/lib/src/api/context/propagation/composite_propagator.dart @@ -1,6 +1,8 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; + import '../context.dart'; import 'text_map_propagator.dart'; @@ -45,6 +47,7 @@ class CompositePropagator implements TextMapPropagator { /// Internal constructor access for [CompositePropagator]. /// Used by `OTelFactory` implementations; users should create composite /// propagators with `OTelAPI.compositePropagator`. +@internal class CompositePropagatorCreate { /// Creates a [CompositePropagator] delegating to [propagators]. static CompositePropagator create( diff --git a/lib/src/api/context/propagation/context_propagator.dart b/lib/src/api/context/propagation/context_propagator.dart index d3c2d0e..48fc3d7 100644 --- a/lib/src/api/context/propagation/context_propagator.dart +++ b/lib/src/api/context/propagation/context_propagator.dart @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:meta/meta.dart'; - import '../context.dart'; /// A propagator for binary values that can inject into and extract from a carrier. diff --git a/lib/src/api/logs/logger.dart b/lib/src/api/logs/logger.dart index 87991ca..564f050 100644 --- a/lib/src/api/logs/logger.dart +++ b/lib/src/api/logs/logger.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import '../context/context.dart'; import 'severity.dart'; diff --git a/lib/src/api/logs/logger_create.dart b/lib/src/api/logs/logger_create.dart index 91a59f9..e74a1a8 100644 --- a/lib/src/api/logs/logger_create.dart +++ b/lib/src/api/logs/logger_create.dart @@ -3,6 +3,7 @@ part of 'logger.dart'; +@internal class LoggerCreate { /// Creates a Logger, only accessible within library static APILogger create({ diff --git a/lib/src/api/logs/logger_provider.dart b/lib/src/api/logs/logger_provider.dart index a4dcf3f..1be4db0 100644 --- a/lib/src/api/logs/logger_provider.dart +++ b/lib/src/api/logs/logger_provider.dart @@ -3,6 +3,7 @@ // ignore_for_file: unnecessary_getters_setters +import 'package:meta/meta.dart'; import '../../util/otel_log.dart'; import '../common/attributes.dart'; import '../common/signal_instance_key.dart'; diff --git a/lib/src/api/logs/logger_provider_create.dart b/lib/src/api/logs/logger_provider_create.dart index d815979..b334cd9 100644 --- a/lib/src/api/logs/logger_provider_create.dart +++ b/lib/src/api/logs/logger_provider_create.dart @@ -3,6 +3,7 @@ part of 'logger_provider.dart'; +@internal class LogProviderCreate { /// Creates a new [APIMeterProvider] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/counter.dart b/lib/src/api/metrics/counter.dart index 1ac55b8..bf8b052 100644 --- a/lib/src/api/metrics/counter.dart +++ b/lib/src/api/metrics/counter.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import 'meter.dart'; diff --git a/lib/src/api/metrics/counter_create.dart b/lib/src/api/metrics/counter_create.dart index 4e28a7c..da917b4 100644 --- a/lib/src/api/metrics/counter_create.dart +++ b/lib/src/api/metrics/counter_create.dart @@ -5,6 +5,7 @@ part of 'counter.dart'; /// Factory methods for creating [APICounter] instances. /// This is part of the counter.dart file to keep related code together. +@internal class CounterCreate { /// Creates a new [APICounter] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/gauge.dart b/lib/src/api/metrics/gauge.dart index dc25d7c..9ba16f5 100644 --- a/lib/src/api/metrics/gauge.dart +++ b/lib/src/api/metrics/gauge.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import 'meter.dart'; diff --git a/lib/src/api/metrics/gauge_create.dart b/lib/src/api/metrics/gauge_create.dart index 257e234..118255a 100644 --- a/lib/src/api/metrics/gauge_create.dart +++ b/lib/src/api/metrics/gauge_create.dart @@ -5,6 +5,7 @@ part of 'gauge.dart'; /// Factory methods for creating [APIGauge] instances. /// This is part of the gauge.dart file to keep related code together. +@internal class GaugeCreate { /// Creates a new [APIGauge] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/histogram.dart b/lib/src/api/metrics/histogram.dart index 57e72d6..009f73c 100644 --- a/lib/src/api/metrics/histogram.dart +++ b/lib/src/api/metrics/histogram.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import 'meter.dart'; diff --git a/lib/src/api/metrics/histogram_create.dart b/lib/src/api/metrics/histogram_create.dart index 6d26201..6d1dc75 100644 --- a/lib/src/api/metrics/histogram_create.dart +++ b/lib/src/api/metrics/histogram_create.dart @@ -5,6 +5,7 @@ part of 'histogram.dart'; /// Factory methods for creating [APIHistogram] instances. /// This is part of the histogram.dart file to keep related code together. +@internal class HistogramCreate { /// Creates a new [APIHistogram] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/measurement.dart b/lib/src/api/metrics/measurement.dart index c91283b..79d8bc7 100644 --- a/lib/src/api/metrics/measurement.dart +++ b/lib/src/api/metrics/measurement.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; part 'measurement_create.dart'; diff --git a/lib/src/api/metrics/measurement_create.dart b/lib/src/api/metrics/measurement_create.dart index 28df872..fb38e34 100644 --- a/lib/src/api/metrics/measurement_create.dart +++ b/lib/src/api/metrics/measurement_create.dart @@ -4,6 +4,7 @@ part of 'measurement.dart'; /// Factory methods for creating [Measurement] instances. +@internal class MeasurementCreate { /// Creates a new [Measurement] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/meter.dart b/lib/src/api/metrics/meter.dart index 52277e6..c6e204e 100644 --- a/lib/src/api/metrics/meter.dart +++ b/lib/src/api/metrics/meter.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import '../otel_api.dart'; import 'counter.dart'; diff --git a/lib/src/api/metrics/meter_create.dart b/lib/src/api/metrics/meter_create.dart index 973d1f3..05f4ba6 100644 --- a/lib/src/api/metrics/meter_create.dart +++ b/lib/src/api/metrics/meter_create.dart @@ -7,6 +7,7 @@ part of 'meter.dart'; /// This is part of the meter.dart file to keep related code together. /// Factory class for creating APIMeter instances. /// This class is internal and should not be used directly by application code. +@internal class APIMeterCreate { /// Creates a new [APIMeter] instance with the specified parameters. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/meter_provider.dart b/lib/src/api/metrics/meter_provider.dart index 8e52125..84a6bf4 100644 --- a/lib/src/api/metrics/meter_provider.dart +++ b/lib/src/api/metrics/meter_provider.dart @@ -3,6 +3,7 @@ // ignore_for_file: unnecessary_getters_setters +import 'package:meta/meta.dart'; import '../../util/otel_log.dart'; import '../common/attributes.dart'; import '../common/signal_instance_key.dart'; diff --git a/lib/src/api/metrics/meter_provider_create.dart b/lib/src/api/metrics/meter_provider_create.dart index ca3b80f..ca901ea 100644 --- a/lib/src/api/metrics/meter_provider_create.dart +++ b/lib/src/api/metrics/meter_provider_create.dart @@ -4,6 +4,7 @@ part of 'meter_provider.dart'; /// Factory methods for creating [APIMeterProvider] instances. +@internal class MeterProviderCreate { /// Creates a new [APIMeterProvider] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/observable_counter.dart b/lib/src/api/metrics/observable_counter.dart index 10b7535..90bbff4 100644 --- a/lib/src/api/metrics/observable_counter.dart +++ b/lib/src/api/metrics/observable_counter.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import 'measurement.dart'; import 'meter.dart'; import 'observable_callback.dart'; diff --git a/lib/src/api/metrics/observable_counter_create.dart b/lib/src/api/metrics/observable_counter_create.dart index 586e97b..6571522 100644 --- a/lib/src/api/metrics/observable_counter_create.dart +++ b/lib/src/api/metrics/observable_counter_create.dart @@ -5,6 +5,7 @@ part of 'observable_counter.dart'; /// Factory methods for creating [APIObservableCounter] instances. /// This is part of the observable_counter.dart file to keep related code together. +@internal class ObservableCounterCreate { /// Creates a new [APIObservableCounter] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/observable_gauge.dart b/lib/src/api/metrics/observable_gauge.dart index 3e36a1c..dc1db8a 100644 --- a/lib/src/api/metrics/observable_gauge.dart +++ b/lib/src/api/metrics/observable_gauge.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import 'measurement.dart'; import 'meter.dart'; import 'observable_callback.dart'; diff --git a/lib/src/api/metrics/observable_gauge_create.dart b/lib/src/api/metrics/observable_gauge_create.dart index 260c246..c57ef93 100644 --- a/lib/src/api/metrics/observable_gauge_create.dart +++ b/lib/src/api/metrics/observable_gauge_create.dart @@ -5,6 +5,7 @@ part of 'observable_gauge.dart'; /// Factory methods for creating [APIObservableGauge] instances. /// This is part of the observable_gauge.dart file to keep related code together. +@internal class ObservableGaugeCreate { /// Creates a new [APIObservableGauge] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/observable_up_down_counter.dart b/lib/src/api/metrics/observable_up_down_counter.dart index df545fb..407e993 100644 --- a/lib/src/api/metrics/observable_up_down_counter.dart +++ b/lib/src/api/metrics/observable_up_down_counter.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import 'measurement.dart'; import 'meter.dart'; import 'observable_callback.dart'; diff --git a/lib/src/api/metrics/observable_up_down_counter_create.dart b/lib/src/api/metrics/observable_up_down_counter_create.dart index b5a565d..5608d4d 100644 --- a/lib/src/api/metrics/observable_up_down_counter_create.dart +++ b/lib/src/api/metrics/observable_up_down_counter_create.dart @@ -5,6 +5,7 @@ part of 'observable_up_down_counter.dart'; /// Factory methods for creating [APIObservableUpDownCounter] instances. /// This is part of the observable_up_down_counter.dart file to keep related code together. +@internal class ObservableUpDownCounterCreate { /// Creates a new [APIObservableUpDownCounter] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/metrics/up_down_counter.dart b/lib/src/api/metrics/up_down_counter.dart index c21ec71..ed2cf51 100644 --- a/lib/src/api/metrics/up_down_counter.dart +++ b/lib/src/api/metrics/up_down_counter.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../common/attributes.dart'; import 'meter.dart'; diff --git a/lib/src/api/metrics/up_down_counter_create.dart b/lib/src/api/metrics/up_down_counter_create.dart index def0df2..ce454db 100644 --- a/lib/src/api/metrics/up_down_counter_create.dart +++ b/lib/src/api/metrics/up_down_counter_create.dart @@ -5,6 +5,7 @@ part of 'up_down_counter.dart'; /// Factory methods for creating [APIUpDownCounter] instances. /// This is part of the up_down_counter.dart file to keep related code together. +@internal class UpDownCounterCreate { /// Creates a new [APIUpDownCounter] instance. /// This is an implementation detail and should not be used directly. diff --git a/lib/src/api/otel_api.dart b/lib/src/api/otel_api.dart index 3521699..f156f20 100644 --- a/lib/src/api/otel_api.dart +++ b/lib/src/api/otel_api.dart @@ -4,7 +4,6 @@ import 'dart:typed_data'; import 'package:meta/meta.dart'; - import '../factory/otel_factory.dart'; import '../util/otel_log.dart'; import 'baggage/baggage.dart'; diff --git a/lib/src/api/trace/span.dart b/lib/src/api/trace/span.dart index 57ca8e3..5290aa7 100644 --- a/lib/src/api/trace/span.dart +++ b/lib/src/api/trace/span.dart @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:meta/meta.dart'; - import '../../factory/otel_factory.dart'; import '../../util/default_time_provider.dart'; import '../../util/time_provider.dart'; diff --git a/lib/src/api/trace/span_context.dart b/lib/src/api/trace/span_context.dart index 9e5c3ec..aa1c1bc 100644 --- a/lib/src/api/trace/span_context.dart +++ b/lib/src/api/trace/span_context.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../../factory/otel_factory.dart'; import '../otel_api.dart'; import 'span_id.dart'; diff --git a/lib/src/api/trace/span_context_create.dart b/lib/src/api/trace/span_context_create.dart index 58ff11b..ce6d4b6 100644 --- a/lib/src/api/trace/span_context_create.dart +++ b/lib/src/api/trace/span_context_create.dart @@ -4,6 +4,7 @@ part of 'span_context.dart'; /// Internal constructor access for Span +@internal class SpanContextCreate { /// Creates a Span, only accessible within library static SpanContext create({ diff --git a/lib/src/api/trace/span_create.dart b/lib/src/api/trace/span_create.dart index 82d766d..ac161cb 100644 --- a/lib/src/api/trace/span_create.dart +++ b/lib/src/api/trace/span_create.dart @@ -4,6 +4,7 @@ part of 'span.dart'; /// Internal constructor access for Span +@internal class APISpanCreate { /// Creates a new APISpan instance with the specified parameters. /// This constructor is only accessible within the library and is used by the internal factory methods. diff --git a/lib/src/api/trace/span_event.dart b/lib/src/api/trace/span_event.dart index 220987d..b7ed89d 100644 --- a/lib/src/api/trace/span_event.dart +++ b/lib/src/api/trace/span_event.dart @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:meta/meta.dart'; - import '../common/attributes.dart'; part 'span_event_create.dart'; diff --git a/lib/src/api/trace/span_event_create.dart b/lib/src/api/trace/span_event_create.dart index c710e96..854f8a4 100644 --- a/lib/src/api/trace/span_event_create.dart +++ b/lib/src/api/trace/span_event_create.dart @@ -7,6 +7,7 @@ part of 'span_event.dart'; /// /// This is a part of the OpenTelemetry API implementation and not meant /// to be used directly by application code. +@internal class SpanEventCreate { /// Creates a new SpanEvent with the given parameters. /// diff --git a/lib/src/api/trace/span_id.dart b/lib/src/api/trace/span_id.dart index 5032766..aa79f10 100644 --- a/lib/src/api/trace/span_id.dart +++ b/lib/src/api/trace/span_id.dart @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import 'dart:typed_data'; +import 'package:meta/meta.dart'; import '../id/id_generator.dart'; part 'span_id_create.dart'; diff --git a/lib/src/api/trace/span_id_create.dart b/lib/src/api/trace/span_id_create.dart index 710d57e..d64ecad 100644 --- a/lib/src/api/trace/span_id_create.dart +++ b/lib/src/api/trace/span_id_create.dart @@ -7,6 +7,7 @@ part of 'span_id.dart'; /// /// This is a part of the OpenTelemetry API implementation and not meant /// to be used directly by application code. +@internal class SpanIdCreate { /// Creates a new SpanId from the provided bytes. /// diff --git a/lib/src/api/trace/span_link.dart b/lib/src/api/trace/span_link.dart index 241b2c4..7631585 100644 --- a/lib/src/api/trace/span_link.dart +++ b/lib/src/api/trace/span_link.dart @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import 'package:meta/meta.dart'; - import '../../factory/otel_factory.dart'; import '../common/attributes.dart'; import 'span_context.dart'; diff --git a/lib/src/api/trace/span_link_create.dart b/lib/src/api/trace/span_link_create.dart index a77ce01..be812ff 100644 --- a/lib/src/api/trace/span_link_create.dart +++ b/lib/src/api/trace/span_link_create.dart @@ -4,6 +4,7 @@ part of 'span_link.dart'; /// Internal constructor access for SpanLink +@internal class SpanLinkCreate { /// Creates a SpanLink, only accessible within library static SpanLink create({ diff --git a/lib/src/api/trace/trace_flags.dart b/lib/src/api/trace/trace_flags.dart index a1e4b10..e3c8e9b 100644 --- a/lib/src/api/trace/trace_flags.dart +++ b/lib/src/api/trace/trace_flags.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import 'span_context.dart' show SpanContext; part 'trace_flags_create.dart'; diff --git a/lib/src/api/trace/trace_flags_create.dart b/lib/src/api/trace/trace_flags_create.dart index a37e45e..b02791f 100644 --- a/lib/src/api/trace/trace_flags_create.dart +++ b/lib/src/api/trace/trace_flags_create.dart @@ -4,6 +4,7 @@ part of 'trace_flags.dart'; /// Internal constructor access for TraceFlags +@internal class TraceFlagsCreate { /// Creates a TraceFlags, only accessible within library static TraceFlags create([int? flags]) { diff --git a/lib/src/api/trace/trace_id.dart b/lib/src/api/trace/trace_id.dart index d729b32..ff3f2ec 100644 --- a/lib/src/api/trace/trace_id.dart +++ b/lib/src/api/trace/trace_id.dart @@ -4,7 +4,6 @@ import 'dart:typed_data'; import 'package:meta/meta.dart'; - import '../id/id_generator.dart'; part 'trace_id_create.dart'; diff --git a/lib/src/api/trace/trace_id_create.dart b/lib/src/api/trace/trace_id_create.dart index fc23f4f..ea3fa3d 100644 --- a/lib/src/api/trace/trace_id_create.dart +++ b/lib/src/api/trace/trace_id_create.dart @@ -7,6 +7,7 @@ part of 'trace_id.dart'; /// /// This is a part of the OpenTelemetry API implementation and not meant /// to be used directly by application code. +@internal class TraceIdCreate { /// Creates a new TraceId from the provided bytes. /// diff --git a/lib/src/api/trace/trace_state.dart b/lib/src/api/trace/trace_state.dart index 7ff2119..1b6b437 100644 --- a/lib/src/api/trace/trace_state.dart +++ b/lib/src/api/trace/trace_state.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../../factory/otel_factory.dart'; import '../../util/otel_log.dart'; diff --git a/lib/src/api/trace/trace_state_create.dart b/lib/src/api/trace/trace_state_create.dart index 2fe2693..8740632 100644 --- a/lib/src/api/trace/trace_state_create.dart +++ b/lib/src/api/trace/trace_state_create.dart @@ -4,6 +4,7 @@ part of 'trace_state.dart'; /// Internal constructor access for TraceState +@internal class TraceStateCreate { /// Creates a TraceState, only accessible within library /// Enforces 32 key-value pair limit per W3C spec diff --git a/lib/src/api/trace/tracer.dart b/lib/src/api/trace/tracer.dart index ee877ce..a5ccb1d 100644 --- a/lib/src/api/trace/tracer.dart +++ b/lib/src/api/trace/tracer.dart @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +import 'package:meta/meta.dart'; import '../../factory/otel_factory.dart'; import '../../util/default_time_provider.dart'; import '../../util/time_provider.dart'; diff --git a/lib/src/api/trace/tracer_create.dart b/lib/src/api/trace/tracer_create.dart index 7225469..51355ab 100644 --- a/lib/src/api/trace/tracer_create.dart +++ b/lib/src/api/trace/tracer_create.dart @@ -4,6 +4,7 @@ part of 'tracer.dart'; /// Internal constructor access for Tracer +@internal class TracerCreate { /// Creates a Tracer, only accessible within library static APITracer create({ diff --git a/lib/src/api/trace/tracer_provider.dart b/lib/src/api/trace/tracer_provider.dart index 6bc0d3a..b5f99a8 100644 --- a/lib/src/api/trace/tracer_provider.dart +++ b/lib/src/api/trace/tracer_provider.dart @@ -3,6 +3,7 @@ // ignore_for_file: unnecessary_getters_setters +import 'package:meta/meta.dart'; import '../../util/default_time_provider.dart'; import '../../util/otel_log.dart'; import '../../util/time_provider.dart'; diff --git a/lib/src/api/trace/tracer_provider_create.dart b/lib/src/api/trace/tracer_provider_create.dart index 0da43da..c92375e 100644 --- a/lib/src/api/trace/tracer_provider_create.dart +++ b/lib/src/api/trace/tracer_provider_create.dart @@ -4,6 +4,7 @@ part of 'tracer_provider.dart'; /// Internal constructor access for TracerProvider +@internal class TracerProviderCreate { /// Creates a TracerProvider, only accessible within library static APITracerProvider create(