Release v0.7.0
This release implements the v0.5.0 version of the OpenTelemetry specification.
Added
- The othttp instrumentation now includes default metrics. (#861)
- This CHANGELOG file to track all changes in the project going forward.
- Support for array type attributes. (#798)
- Apply transitive dependabot go.mod dependency updates as part of a new automatic Github workflow. (#844)
- Timestamps are now passed to exporters for each export. (#835)
- Add new
Accumulationtype to metric SDK to transport telemetry fromAccumulators toProcessors.
This replaces the priorRecordstructuse for this purpose. (#835) - New dependabot integration to automate package upgrades. (#814)
MeterandTracerimplementations accept instrumentation version version as an optional argument.
This instrumentation version is passed on to exporters. (#811) (#805) (#802)- The OTLP exporter includes the instrumentation version in telemetry it exports. (#811)
- Environment variables for Jaeger exporter are supported. (#796)
- New
aggregation.Kindin the export metric API. (#808) - New example that uses OTLP and the collector. (#790)
- Handle errors in the span
SetNameduring span initialization. (#791) - Default service config to enable retries for retry-able failed requests in the OTLP exporter and an option to override this default. (#777)
- New
go.opentelemetry.io/otel/api/oterrorpackage to uniformly support error handling and definitions for the project. (#778) - New
globaldefault implementation of thego.opentelemetry.io/otel/api/oterror.Handlerinterface to be used to handle errors prior to an user definedHandler.
There is also functionality for the user to register theirHandleras well as a convenience functionHandleto handle an error with this globalHandler(#778) - Options to specify propagators for httptrace and grpctrace instrumentation. (#784)
- The required
application/jsonheader for the Zipkin exporter is included in all exports. (#774) - Integrate HTTP semantics helpers from the contrib repository into the
api/standardpackage. #769
Changed
- Rename
IntegratortoProcessorin the metric SDK. (#863) - Rename
AggregationSelectortoAggregatorSelector. (#859) - Rename
SynchronizedCopytoSynchronizedMove. (#858) - Rename
simpleintegrator tobasicintegrator. (#857) - Merge otlp collector examples. (#841)
- Change the metric SDK to support cumulative, delta, and pass-through exporters directly.
With these changes, cumulative and delta specific exporters are able to request the correct kind of aggregation from the SDK. (#840) - The
Aggregator.CheckpointAPI is renamed toSynchronizedCopyand adds an argument, a differentAggregatorinto which the copy is stored. (#812) - The
export.Aggregatorcontract is thatUpdate()andSynchronizedCopy()are synchronized with each other.
All the aggregation interfaces (Sum,LastValue, ...) are not meant to be synchronized, as the caller is expected to synchronize aggregators at a higher level after theAccumulator.
Some of theAggregatorsused unnecessary locking and that has been cleaned up. (#812) - Use of
metric.Numberwas replaced byint64now that we usesync.Mutexin theMinMaxSumCountandHistogramAggregators. (#812) - Replace
AlwaysParentSamplewithParentSample(fallback)to match the OpenTelemetry v0.5.0 specification. (#810) - Rename
sdk/export/metric/aggregatortosdk/export/metric/aggregation. #808 - Send configured headers with every request in the OTLP exporter, instead of just on connection creation. (#806)
- Update error handling for any one off error handlers, replacing, instead, with the
global.Handlefunction. (#791) - Rename
plugindirectory toinstrumentationto match the OpenTelemetry specification. (#779) - Makes the argument order to Histogram and DDSketch
New()consistent. (#781)
Removed
Uint64NumberKindand related functions from the API. (#864)- Context arguments from
Aggregator.CheckpointandIntegrator.Processas they were unused. (#803) SpanIDis no longer included in parameters for sampling decision to match the OpenTelemetry specification. (#775)
Fixed
- Upgrade OTLP exporter to opentelemetry-proto matching the opentelemetry-collector v0.4.0 release. (#866)
- Allow changes to
go.sumandgo.modwhen running dependabot tidy-up. (#871) - Bump github.com/stretchr/testify from 1.4.0 to 1.6.1. (#824)
- Bump github.com/prometheus/client_golang from 1.7.0 to 1.7.1 in /exporters/metric/prometheus. (#867)
- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 in /exporters/trace/jaeger. (#853)
- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 in /exporters/trace/zipkin. (#854)
- Bumps github.com/golang/protobuf from 1.3.2 to 1.4.2 (#848)
- Bump github.com/stretchr/testify from 1.4.0 to 1.6.1 in /exporters/otlp (#817)
- Bump github.com/golangci/golangci-lint from 1.25.1 to 1.27.0 in /tools (#828)
- Bump github.com/prometheus/client_golang from 1.5.0 to 1.7.0 in /exporters/metric/prometheus (#838)
- Bump github.com/stretchr/testify from 1.4.0 to 1.6.1 in /exporters/trace/jaeger (#829)
- Bump github.com/benbjohnson/clock from 1.0.0 to 1.0.3 (#815)
- Bump github.com/stretchr/testify from 1.4.0 to 1.6.1 in /exporters/trace/zipkin (#823)
- Bump github.com/itchyny/gojq from 0.10.1 to 0.10.3 in /tools (#830)
- Bump github.com/stretchr/testify from 1.4.0 to 1.6.1 in /exporters/metric/prometheus (#822)
- Bump google.golang.org/grpc from 1.27.1 to 1.29.1 in /exporters/trace/zipkin (#820)
- Bump google.golang.org/grpc from 1.27.1 to 1.29.1 in /exporters/trace/jaeger (#831)
- Bump github.com/google/go-cmp from 0.4.0 to 0.5.0 (#836)
- Bump github.com/google/go-cmp from 0.4.0 to 0.5.0 in /exporters/trace/jaeger (#837)
- Bump github.com/google/go-cmp from 0.4.0 to 0.5.0 in /exporters/otlp (#839)
- Bump google.golang.org/api from 0.20.0 to 0.28.0 in /exporters/trace/jaeger (#843)
- Set span status from HTTP status code in the othttp instrumentation. (#832)
- Fixed typo in push controller comment. (#834)
- The
Aggregatortesting has been updated and cleaned. (#812) metric.Number(0)expressions are replaced by0where possible. (#812)- Fixed
globalhandler_test.gotest failure. #804 - Fixed
BatchSpanProcessor.Shutdownto wait until all spans are processed. (#766) - Fixed OTLP example's accidental early close of exporter. (#807)
- Ensure zipkin exporter reads and closes response body. (#788)
- Update instrumentation to use
api/standardkeys instead of custom keys. (#782) - Clean up tools and RELEASING documentation. (#762)