v1.0.0-beta.9
Pre-release
Pre-release
·
32 commits
to main
since this release
Fixed
OTelAPI.instrumentationScope()recursed into itself when called before
initialization, causing an immediateStackOverflowError; it now lazily
installs the no-op API factory like the other accessors (#27). Thanks
@kevmoo.OTelAPI.tracer()andOTelAPI.logger()threw a null-check error before
initialization instead of lazily installing the no-op API factory (#27).TraceState.fromString/fromMap/empty,SpanContext.fromJson, and
Baggage.fromJsonthrewStateError('Call initialize() first.')instead
of lazily installing the no-op API factory —fromStringparses the W3C
tracestateheader (a propagator path) and thefromJsons run in fresh
isolates during deserialization, both classic pre-init calls (#33).OTelAPI.tracerProviders()/meterProviders()/loggerProviders()
read OTelAPI's private factory cache instead of the global factory, so
providers of a factory installed by an SDK were invisible until some
OTelAPI accessor ran (#33).OTelAPI.attributesFromMap,Attributes.of, andMap.toAttributes()no
longer bypass the factory via the staticattrsFromMap"cheat" (obsolete
since the beta.8 lazy-install lifecycle); a factory that overrides
attributesFromMapis now respected on all three paths (#33).TraceStatemulti-tenanttracestatekeys (tenant-id@system-id) now
match the W3C Trace Context key grammar: atenant-idmay start with a
digit, andtenant-id/system-idare length-capped (241/14 chars).
Previously a digit-leading tenant was rejected and over-long ids
accepted (#38).