v1.1.0-beta.8
Pre-release
Pre-release
·
54 commits
to main
since this release
Added
OTEL_PROPAGATORSsupport and global propagator wiring.
OTel.initialize()now installs the API's globalTextMapPropagator
per the spec ("Global Propagators"): the default is the W3C
tracecontext,baggagecomposite;none(or no supported values)
leaves the API's spec-mandated no-op in place; unsupported names emit
anOTelLog.warnand are ignored. Supported values:tracecontext,
baggage,none. Instrumentation libraries can now obtain "the"
propagator viaOTelAPI.textMapPropagatorinstead of being handed one
explicitly.OTEL_BSP_*environment variables for configuringBatchSpanProcessor
(OTEL_BSP_SCHEDULE_DELAY,OTEL_BSP_EXPORT_TIMEOUT,OTEL_BSP_MAX_QUEUE_SIZE,
OTEL_BSP_MAX_EXPORT_BATCH_SIZE). Values are read by
BatchSpanProcessorConfig.fromEnvironment()whichOTel.initialize()uses
by default. Invalid or out-of-range values now emitOTelLog.warndiagnostics.
OTEL_BSP_EXPORT_TIMEOUT=0is honored as "no limit" per spec.- Comma-separated
OTEL_*_EXPORTERlists. The spec's "implementation
MAY accept a comma-separated list to enable setting multiple exporters"
is now supported for all three signals:OTEL_TRACES_EXPORTER=otlp,console
installs aCompositeExporter, metrics use aCompositeMetricExporter,
and logs install one processor per exporter.nonein a list wins;
unsupported values (zipkin, the deprecatedlogging) emit an
OTelLog.warnand are ignored; a list with no usable values falls back
to the spec defaultotlp. Previously a list value silently installed
no exporter at all. - Unknown
OTEL_METRICS_EXPORTERvalues now warn and are ignored
instead of silently becomingotlp;prometheusgets a dedicated
warning pointing at programmaticPrometheusExporteruse and the
planned scrape server (#82) — auto-wiring it today would be a silent
no-op since the env-created exporter is unreachable by the app.
Removed
- Breaking:
OTel.initializeno longer acceptsdartasticApiKeyor
tenantId, and theOTel.dartasticApiKeystatic is gone. Both were
non-standard, vendor-specific parameters that predate the platform
layering: API keys belong in OTLP exporter headers
(OTEL_EXPORTER_OTLP_HEADERS) and tenant identity is platform-layer
context, not an SDK concern. Thetenant_idresource-attribute
stamping and its debug-log special-casing are removed with them. - Breaking: the non-standard
OTEL_*-namespace extensions are renamed
or removed. The per-signal diagnostic vars squatted the spec's core
namespace and are renamed to the spec's language-specific convention
(OTEL_{LANGUAGE}_{FEATURE}):OTEL_LOG_SPANS→OTEL_DART_LOG_SPANS,
OTEL_LOG_METRICS→OTEL_DART_LOG_METRICS,OTEL_LOG_EXPORT→
OTEL_DART_LOG_EXPORT(same semantics: enable theOTelLogper-signal
diagnostic sinks; programmatic setters unchanged). The
OTEL_CONSOLE_EXPORTERdart-define is removed — console output of the
telemetry itself uses the standardOTEL_*_EXPORTER=console(or the
comma-list form, e.g.otlp,console).
Changed
- Depends on
dartastic_opentelemetry_api1.0.0-beta.10 and re-exports
its surface: the Weaver-generated semantic-convention enums (90 registry
namespaces incl. entities/metrics/events),NonRecordingSpan, and the
globalTextMapPropagator. SDK consumers referencing renamed semconv
enums through this package inherit the API's breaking renames — the
complete old→new tables are in the API package's 1.0.0-beta.10
CHANGELOG. SDK span creation is unaffected (the API's no-SDK span
behavior only applies without an SDK factory installed). - Examples and tests migrated to the new names (
Db,Server,Code,
Http.httpRequestMethod/httpResponseStatusCode/httpResponseBodySize)
and off registry-deprecated keys: the database examples now emit
db.system.name,db.namespace,db.operation.name, and
db.query.textinstead of the deprecateddb.system/db.name/
db.operation/db.statement, and drop the deprecateddb.user. CompositePropagatoris constructed viaOTelAPI.compositePropagator
(its constructor is factory-only as of the API's beta.10).- Default span batch schedule delay changed from 1 s to 5 s (spec default).
The previous hard-codedBatchSpanProcessorConfig(scheduleDelay: Duration(seconds: 1))
inOTel.initialize()has been replaced byBatchSpanProcessorConfig.fromEnvironment(),
whose fallback is the spec-mandated 5000 ms. To restore the old behavior, set
OTEL_BSP_SCHEDULE_DELAY=1000.