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 OpenTelemetryContextProviderfor 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.activeSpanandOpenTelemetry.instance.contextProvider.setActiveSpan()#131 #160
- Remove binary propagation, as it is not defined in the spec #132
- TracerSharedStateis not public anymore, all the functionality can now be set using- TracerProvider#133
- TracerSDKconstructor is not public anymore, instances should be created only through- TracerProvider.getTracer()#133
- B3Propagatorconfiguration only affects header injection, it now extracts single or multi formats, with priority to single #134
- Create Resources by default with service.nameand Telemetry attributes #144
- Rename ResourceConstantstoResourceAttributes#144
- SpanBuilderSDKis not public anymore, it didn't add any functionality over- SpanBuilder#145
- Renamed TracerSdkProvidertoTracerProviderSdk#146
- NoopSpanProcessoris not public anymore #147
- TracerProviderSdkallows configuration in parameters of- init(), 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.activeBaggageandOpenTelemetry.instance.contextProvider.setActiveBaggage()#131 #160
- Implemented a Jaeger propagator #158
Metrics
- Renamed MeterSdkProvidertoMeterProviderSdk#146
- Renamed MetricSdkProcessortoMetricProcessorSdk#146
- MeterProviderSdkallows 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