OpenTelemetry - CNCF/opentelemetry-swift: Release 1.0.0
Name: opentelemetry-swift
Owner: OpenTelemetry - CNCF
Release: 1.0.0 (beta)
Released: 2021-05-08
License: Apache-2.0
Release Assets:
This version is marked as beta based on the OpenTelemetry specification. Current APIs can be considered stable, but not all pieces have gone through rigorous beta testing. Components reportedly in use by external projects include: Tracing, Propagators, Zipkin, OTLP, and Datadog exporters.
Most of the changes have been made in order to better follow the OpenTelemetry specification. Also some Swift specific components have been added like URLSession instrumentation and SwiftMetric support.
Swift package
- Renamed some libraries with the experimental tag to show that spec is still not final in those areas
General
- Automated Semantic Attributes Generation #157
- Added
OpenTelemetryContextProvider
for implementing different context handling approaches in the future, currently only implements previousActivity.framework
(only available in Apple OS's) #160 - Removed Scope class and its functionality #160
Traces
- Added semantic attributes for exceptions #114
- DefaultSpan, and DefaultSpanBuilder were not useful for users and are not public anymore (renamed to PropagatedSpan and PropagatedSpanBuilder) #130
- Active Span functionality moved from Tracer to
OpenTelemetryContextProvider
. Usage:OpenTelemetry.instance.contextProvider.activeSpan
andOpenTelemetry.instance.contextProvider.setActiveSpan()
#131 #160 - Remove binary propagation, as it is not defined in the spec #132
TracerSharedState
is not public anymore, all the functionality can now be set usingTracerProvider
#133TracerSDK
constructor is not public anymore, instances should be created only throughTracerProvider.getTracer()
#133B3Propagator
configuration only affects header injection, it now extracts single or multi formats, with priority to single #134- Create Resources by default with
service.name
and Telemetry attributes #144 - Rename
ResourceConstants
toResourceAttributes
#144 SpanBuilderSDK
is not public anymore, it didn't add any functionality overSpanBuilder
#145- Renamed
TracerSdkProvider
toTracerProviderSdk
#146 NoopSpanProcessor
is not public anymore #147TracerProviderSdk
allows configuration in parameters ofinit()
, and warns when no name is set. #147- Implemented a Jaeger propagator #158
- Added
EnvironmentContextPropagator
, it allows context propagation between parent/child processes #170
Baggage
- Active Baggage functionality is now handled using
OpenTelemetryContextProvider
, e.g.OpenTelemetry.instance.contextProvider.activeBaggage
andOpenTelemetry.instance.contextProvider.setActiveBaggage()
#131 #160 - Implemented a Jaeger propagator #158
Metrics
- Renamed
MeterSdkProvider
toMeterProviderSdk
#146 - Renamed
MetricSdkProcessor
toMetricProcessorSdk
#146 MeterProviderSdk
allows configuration on construction #168- Added support for multiple metric exporters #168
OpenTelemetryProtocol (OTLP) Exporter
- Added OTLP JSON exporter #149
Stdout Exporter
- Add Span events to the output #135
SwiftMetrics Shim
- First release, redirects SwiftMetrics data to OpenTelemetry #155
ResourceExtension
- First release, provides a number of resource generating objects that captures various system related attributes for use with TracerProviders. #165
URLSessionInstrumentation
- First release, it allows automatic capturing of network traffic using URLSession #171