Releases: open-telemetry/opentelemetry-go
Release v0.8.0
This release includes additions and changes to implements the v0.6.0 OpenTelemetry specification and other fixes.
Added
- The
B3Encodingtype to represent the B3 encoding(s) the B3 propagator can inject.
A value for HTTP supported encodings (Multiple Header:MultipleHeader, Single Header:SingleHeader) are included. (#882) - The
FlagsDeferredtrace flag to indicate if the trace sampling decision has been deferred. (#882) - The
FlagsDebugtrace flag to indicate if the trace is a debug trace. (#882) - Add
peer.servicesemantic attribute. (#898) - Add database-specific semantic attributes. (#899)
- Add semantic convention for
faas.coldstartandcontainer.id. (#909) - Add http content size semantic conventions. (#905)
- Include
http.request_content_lengthin HTTP request basic attributes. (#905) - Add semantic conventions for operating system process resource attribute keys. (#919)
- The Jaeger exporter now has a
WithBatchMaxCountoption to specify the maximum number of spans sent in a batch. (#931)
Changed
- Update
CONTRIBUTING.mdto ask for updates toCHANGELOG.mdwith each pull request. (#879) - Use lowercase header names for B3 Multiple Headers. (#881)
- The B3 propagator
SingleHeaderfield has been replaced withInjectEncoding.
This new field can be set to combinations of theB3Encodingbitmasks and will inject trace information in these encodings.
If no encoding is set, the propagator will default toMultipleHeaderencoding. (#882) - The B3 propagator now extracts from either HTTP encoding of B3 (Single Header or Multiple Header) based on what is contained in the header.
Preference is given to Single Header encoding with Multiple Header being the fallback if Single Header is not found or is invalid.
This behavior change is made to dynamically support all correctly encoded traces received instead of having to guess the expected encoding prior to receiving. (#882) - Extend semantic conventions for RPC. (#900)
- To match constant naming conventions in the
api/standardpackage, theFaaS*key names are appended with a suffix ofKey. (#920)"api/standard".FaaSName->FaaSNameKey"api/standard".FaaSID->FaaSIDKey"api/standard".FaaSVersion->FaaSVersionKey"api/standard".FaaSInstance->FaaSInstanceKey
Removed
- The
FlagsUnusedtrace flag is removed.
The purpose of this flag was to act as the inverse ofFlagsSampled, the inverse ofFlagsSampledis used instead. (#882) - The B3 header constants (
B3SingleHeader,B3DebugFlagHeader,B3TraceIDHeader,B3SpanIDHeader,B3SampledHeader,B3ParentSpanIDHeader) are removed.
If B3 header keys are needed the authoritative OpenZipkin package constants should be used instead. (#882)
Fixed
- The B3 Single Header name is now correctly
b3instead of the previousX-B3. (#881) - The B3 propagator now correctly supports sampling only values (
b3: 0,b3: 1, orb3: d) for a Single B3 Header. (#882) - The B3 propagator now propagates the debug flag.
This removes the behavior of changing the debug flag into a set sampling bit.
Instead, this now follow the B3 specification and omits theX-B3-Samplingheader. (#882) - The B3 propagator now tracks "unset" sampling state (meaning "defer the decision") and does not set the
X-B3-Samplingheader when injecting. (#882) - Bump github.com/itchyny/gojq from 0.10.3 to 0.10.4 in /tools. (#883)
- Bump github.com/opentracing/opentracing-go from v1.1.1-0.20190913142402-a7454ce5950e to v1.2.0. (#885)
- The tracing time conversion for OTLP spans is now correctly set to
UnixNano. (#896) - Ensure span status is not set to
Unknownwhen no HTTP status code is provided as it is assumed to be200 OK. (#908) - Ensure
httptrace.clientTracercloseshttp.headersspan. (#912) - Prometheus exporter will not apply stale updates or forget inactive metrics. (#903)
- Add test for api.standard
HTTPClientAttributesFromHTTPRequest. (#905) - Bump github.com/golangci/golangci-lint from 1.27.0 to 1.28.1 in /tools. (#901, #913)
- Update otel-colector example to use the v0.5.0 collector. (#915)
- The
grpctraceinstrumentation uses a span name conforming to the OpenTelemetry semantic conventions (does not contain a leading slash (/)). (#922) - The
grpctraceinstrumentation includes anrpc.methodattribute now set to the gRPC method name. (#900, #922) - The
grpctraceinstrumentationrpc.serviceattribute now contains the package name if one exists.
This is in accordance with OpenTelemetry semantic conventions. (#922) - Correlation Context extractor will no longer insert an empty map into the returned context when no valid values are extracted. (#923)
- Bump google.golang.org/api from 0.28.0 to 0.29.0 in /exporters/trace/jaeger. (#925)
- Bump github.com/itchyny/gojq from 0.10.4 to 0.11.0 in /tools. (#926)
- Bump github.com/golangci/golangci-lint from 1.28.1 to 1.28.2 in /tools. (#930)
Commits since previous tag v0.7.0
aff7a80 (HEAD -> master, tag: v0.8.0, tag: exporters/trace/zipkin/v0.8.0, tag: exporters/trace/jaeger/v0.8.0, tag: exporters/otlp/v0.8.0, tag: exporters/metric/prometheus/v0.8.0, tag: example/zipkin/v0.8.0, tag: example/prometheus/v0.8.0, tag: example/otel-collector/v0.8.0, tag: example/namedtracer/v0.8.0, tag: example/jaeger/v0.8.0, tag: example/http/v0.8.0, tag: example/grpc/v0.8.0, tag: example/basic/v0.8.0, upstream/master, origin/master, origin/HEAD) Release v0.8.0 (#929)
9e99b44 Bump github.com/golangci/golangci-lint from 1.28.1 to 1.28.2 in /tools (#930)
4dec0ad [jaeger] Added WithBatchMaxCount as an option (#931)
d979977 Add semantic conventions for OS process as resource attributes (#919)
54fffd6 Update grpctrace instrumentation span names (#922)
d2913b7 Bump google.golang.org/api from 0.28.0 to 0.29.0 in /exporters/trace/jaeger (#925)
c719588 Avoid replacing existing correlation map data in context when correlation context extractor does not find any valid data (#923)
fab431e Fix api/standard constant names and documentation (#920)
cf6462c Bump github.com/itchyny/gojq from 0.10.4 to 0.11.0 in /tools (#926)
03cd779 Add http content size semantic conventions (#905)
1c9aab6 Extend semantic convetions for RPC (#900)
918c654 Update Changelog with omitted changes (#921)
c506e99 Fix B3 propagator and add tests (#882)
3475d55 Fix incorrect aggregation; Prometheus exporter behavior (#903)
808345c Bump CircleCI instance size (#917)
c219029 Update otel-collector example to use collector v0.5.0 (#915)
1c6ca87 Ensure clientTracer closes http.headers span (#912)
463c458 Add more database-specific semantic attributes (#899)
5a4b68c Add semantic convention for faas.coldstart and container.id (#909)
eaa94e9 Avoid setting span status to Unknown when no HTTP status is provided; stdlib assumes it to be 200 OK (#908)
9342eb2 Bump github.com/golangci/golangci-lint from 1.28.0 to 1.28.1 in /tools (#913)
27e892a Remove -v from Go tests (#904)
bd1e174 Add "peer.service" semantic to standard attributes (#898)
8d1f448 Bump github.com/golangci/golangci-lint from 1.27.0 to 1.28.0 in /tools (#901)
550d365 fix trace event time conversion from internal to otlp (#896)
f1e3536 Update opentracing dependency (#885)
f4b1568 Bump github.com/itchyny/gojq from 0.10.3 to 0.10.4 in /tools (#883)
8205b0b Update B3 header names (#881)
2635f96 Ask for changelog updates with PRs (#879)
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)
Release v0.6.0
Added
- Support for
Resources in the prometheus exporter. (#757) - New pull controller. (#751)
- New
UpDownSumObserverinstrument. (#750) - OpenTelemetry collector demo. (#711)
- New
SumObserverinstrument. (#747) - New
UpDownCounterinstrument. (#745) - New timeout
Optionand configuration functionWithTimeoutto the push controller. (#742) - New
api/standardspackage to implement semantic conventions and standard key-value generation. (#731)
Changed
- Rename
Register*functions in the metric API toNew*for allObserverinstruments. (#761) - Use
[]float64for histogram boundaries, not[]metric.Number. (#758) - Change OTLP example to use exporter as a trace
Syncerinstead of as an unneededBatcher. (#756) - Replace
WithResourceAttributes()withWithResource()in the trace SDK. (#754) - The prometheus exporter now uses the new pull controller. (#751)
- Rename
ScheduleDelayMillistoBatchTimeoutin the traceBatchSpanProcessor.(#752) - Support use of synchronous instruments in asynchronous callbacks (#725)
- Move
Resourcefrom theExportmethod parameter into the metric exportRecord. (#739) - Rename
Observerinstrument toValueObserver. (#734) - The push controller now has a method (
Provider()) to return ametric.Providerinstead of the oldMetermethod that acted as ametric.Provider. (#738) - Replace
Measureinstrument byValueRecorderinstrument. (#732) - Rename correlation context header from
"Correlation-Context"to"otcorrelations"to match the OpenTelemetry specification. 727)
Fixed
- Ensure gRPC
ClientStreamoverride methods do not panic in grpctrace package. (#755) - Disable parts of
BatchSpanProcessortest until a fix is found. (#743) - Fix
stringcase inkvInferfunction. (#746) - Fix panic in grpctrace client interceptors. (#740)
- Refactor the
api/metricspush controller and addCheckpointSetsynchronization. (#737) - Rewrite span batch process queue batching logic. (#719)
- Remove the push controller named Meter map. (#738)
- Fix Histogram aggregator initial state (fix #735). (#736)
- Ensure golang alpine image is running
golang-1.14for examples. (#733) - Added test for grpctrace
UnaryInterceptorClient. (#695) - Rearrange
api/metriccode layout. (#724)
Release v0.5.0
Added
- Batch
Observercallback support. (#717) - Alias
apitypes to root package of project. (#696) - Create basic
othttp.Transportfor simple client instrumentation. (#678) SetAttribute(string, interface{})to the trace API. (#674)- Jaeger exporter option that allows user to specify custom http client. (#671)
StringerandInfermethods tokeys. (#662)
Changed
- Rename
NewKeyin thekvpackage to justKey. (#721) - Move
coreandkeytokvpackage. (#720) - Make the metric API
Meterastructso the abstractMeterImplcan be passed and simplify implementation. (#709) - Rename SDK
BatchertoIntegratorto match draft OpenTelemetry SDK specification. (#710) - Rename SDK
Ungroupedintegrator tosimple.Integratorto match draft OpenTelemetry SDK specification. (#710) - Rename SDK
SDKstructtoAccumulatorto match draft OpenTelemetry SDK specification. (#710) - Move
Numberfromcoretoapi/metricpackage. (#706) - Move
SpanContextfromcoretotracepackage. (#692) - Change traceparent header from
Traceparenttotraceparentto implement the W3C specification. (#681)
Fixed
- Update tooling to run generators in all submodules. (#705)
- gRPC interceptor regexp to match methods without a service name. (#683)
- Use a
constfor padding 64-bit B3 trace IDs. (#701) - Update
mockZipkinlisten address from:0to127.0.0.1:0. (#700) - Left-pad 64-bit B3 trace IDs with zero. (#698)
- Propagate at least the first W3C tracestate header. (#694)
- Remove internal
StateLockerimplementation. (#688) - Increase instance size CI system uses. (#690)
- Add a
keybenchmark and use reflection inkey.Infer(). (#679) - Fix internal
globaltest by usingglobal.MeterwithRecordBatch(). (#680) - Reimplement histogram using mutex instead of
StateLocker. (#669) - Switch
MinMaxSumCountto a mutex lock implementation instead ofStateLocker. (#667) - Update documentation to not include any references to
WithKeys. (#672) - Correct misspelling. (#668)
- Fix clobbering of the span context if extraction fails. (#656)
- Bump
golangci-lintand work around the corrupting bug. (#666) (#670)
Release v0.4.3
Added
Dockerfileanddocker-compose.ymlto run example code. (#635)- New
grpctracepackage that provides gRPC client and server interceptors for both unary and stream connections. (#621) - New
api/labelpackage, providing common label set implementation. (#651) - Support for JSON marshaling of
Resources. (#654) TraceIDandSpanIDimplementations forStringerinterface. (#642)RemoteAddrKeyin the othttp plugin to include the HTTP client address in top-level spans. (#627)WithSpanFormatteroption to the othttp plugin. (#617)- Updated README to include section for compatible libraries and include reference to the contrib repository. (#612)
- The prometheus exporter now supports exporting histograms. (#601)
- A
Stringmethod to theResourceto return a hashable identifier for a now unique resource. (#613) - An
Itermethod to theResourceto return an arrayAttributeIterator. (#613) - An
Equalmethod to theResourcetest the equivalence of resources. (#613) - An iterable structure (
AttributeIterator) forResourceattributes.
Changed
- zipkin export's
NewExporternow requires aserviceNameargument to ensure this needed values is provided. (#644) - Pass
Resourcesthrough the metrics export pipeline. (#659)
Removed
WithKeysoption from the metric API. (#639)
Fixed
- Use the
label.Set.Equivalentvalue instead of an encoding in the batcher. (#658) - Correct typo
trace.Exportertotrace.SpanSyncerin comments. (#653) - Use type names for return values in jaeger exporter. (#648)
- Increase the visibility of the
api/keypackage by updating comments and fixing usages locally. (#650) Checkpointonly afterUpdate; Keep records in thesync.Maplonger. (#647)- Do not cache
reflect.ValueOf()in metric Labels. (#649) - Batch metrics exported from the OTLP exporter based on
Resourceand labels. (#626) - Add error wrapping to the prometheus exporter. (#631)
- Update the OTLP exporter batching of traces to use a unique
stringrepresentation of an associatedResourceas the batching key. (#623) - Update OTLP
SpanDatatransform to only include theParentSpanIDif one exists. (#614) - Update
Resourceinternal representation to uniquely and reliably identify resources. (#613) - Check return value from
CheckpointSet.ForEachin prometheus exporter. (#622) - Ensure spans created by httptrace client tracer reflect operation structure. (#618)
- Create a new recorder rather than reuse when multiple observations in same epoch for asynchronous instruments. #610
- The default port the OTLP exporter uses to connect to the OpenTelemetry collector is updated to match the one the collector listens on by default. (#611)
Changes since v0.4.2
1de7f68 Prepare for releasing v0.4.3 (#664)
52b2534 (origin/master, origin/HEAD) Update Maintainer for Otel Go. (#660)
3008c1b Pass Resources through the metrics export pipeline (#659)
cd1be0e Use the label.Set.Equivalent value instead of an encoding in the batcher (#658)
6402598 add Dockerfile and docker-compose.yml to run example code (#635)
6de3dab Resolve #72 - gRPC Interceptor (#621)
0bb12d9 New api/label package, common label set impl (#651)
acb350b Support JSON marshal of Resources (#654)
d20fc72 Fix typo trace.Exporter to trace.SpanSyncer (#653)
ddad4d4 trace exporter: using type names for return values (#648)
927d915 Increase the visibility of the api/key package (#650)
395440d Checkpoint only after Update; Keep records in the sync.Map longer (#647)
e554562 Do not cache reflect.ValueOf() in metrics Labels (#649)
cf7c4e5 fix zipkin without local endpoint with service name (#644)
669d4b3 TraceID and SpanID implementations for Stringer Interface (#642)
ebc245b Batch Metrics Exported From the OTLP Exporter (#626)
a8f7b32 Remove WithKeys() option, defaultkeys batcher (#639)
bcb8b64 prometheus: add error wrapping (#631)
8c94927 othttp: add RemoteAddrKey for including HTTP client address in top-level spans (#627)
0a9e861 Update the OTLP exporter batching of traces (#623)
856aad9 Update OTLP SpanData transform (#614)
8e97011 Update Resource (#613)
6005d01 prometheus: check return value from CheckpointSet.ForEach (#622)
c8ec530 Ensure spans created by httptrace client tracer reflect operation structure (#618)
6489b07 othttp: add WithSpanFormatter option (#617)
367635b Create a new recorder rather than reuse one for same labels (#610)
0f771bb (tools) added readme section to point to contrib repo (#612)
446727b Updated default port for OTLP exporter (#611)
8ef02a6 prometheus: add histogram support to exporter (#601)
Release v0.4.2
Fixed
- Fix
pre_release.shto update version insdk/opentelemetry.go. (#607) - Fix time conversion from internal to OTLP in OTLP exporter. (#606)
Changes since v0.4.1
857e80c Prepare for releasing v0.4.2 (#608)
c85f463 fix pre_release.sh to update version in sdk/opentelemetry.go (#607)
1f6ffa9 Fix time conversion from internal to otlp (#606)
Release v0.4.1
Release v0.4.0
Added
- New API package
api/metric/registrythat exposes aMeterImplwrapper for use by SDKs to generate unique instruments. (#580) - Script to verify examples after a new release. (#579)
Removed
- The dogstatsd exporter due to lack of support.
This additionally removes support for statsd. (#591) LabelSetfrom the metric API.
This is replaced by a[]core.KeyValueslice. (#595)Labelsfrom the metric API'sMeterinterface. (#595)
Changed
- The metric
export.Labelsbecame an interface which the SDK implements and theexportpackage provides a simple, immutable implementation of this interface intended for testing purposes. (#574) - Renamed
internal/metric.MetertoMeterImpl. (#580) - Renamed
api/global/internal.obsImpltoasyncImpl. (#580)
Fixed
- Corrected missing return in mock span. (#582)
- Update License header for all source files to match CNCF guidelines and include a test to ensure it is present. (#586) (#596)
- Update to v0.3.0 of the OTLP in the OTLP exporter. (#588)
- Update pre-release script to be compatible between GNU and BSD based systems. (#592)
- Add a
RecordBatchbenchmark. (#594) - Moved span transforms of the OTLP exporter to the internal package. (#593)
- Build both go-1.13 and go-1.14 in circleci to test for all supported versions of Go. (#569)
- Removed unneeded allocation on empty labels in OLTP exporter. (#597)
- Update
BatchedSpanProcessorto process the queue until no data but respect max batch size. (#599) - Update project documentation godoc.org links to pkg.go.dev. (#602)
Changes since v0.3.0
f474c34 Script to verify example after new release. (#579)
5d346a4 update godoc.org links to pkg.go.dev (#602)
1e8e72b Process the queue until no data but respect max batch size (#599)
e8546e3 Remove Labelset (#595)
e7a9ba1 Remove unneeded allocation on empty labels (#597)
e458809 Build both go-1.13 and go-1.14 in circleci (#569)
c97b4f7 Update project License headers and checking (#596)
c9dcc1b Move span transforms of the OTLP exporter to internal (#593)
cfe74cf Add a RecordBatch benchmark (#594)
4c69dd3 Remove dogstatsd and statsd support (#591)
06f833e Unique instrument checking (#580)
dff6265 Pre-release script fixes (#592)
d648712 Kick label encoder out of sdk (#574)
6f881b4 update to proto v0.3.0 (#588)
a485d0e Update License header for all source files (#586)
c16f56e Fix missing return in mock span (#582)
Release v0.3.0
This is a first official beta release, which provides almost fully complete metrics, tracing, and context propagation functionality.
There is still a possibility of breaking changes.
Added
- Add
Observermetric instrument. (#474) - Add global
Propagatorsfunctionality to enable deferred initialization for propagators registered before the first Meter SDK is installed. (#494) - Simplified export setup pipeline for the jaeger exporter to match other exporters. (#459)
- The zipkin trace exporter. (#495)
- The OTLP exporter to export metric and trace telemetry to the OpenTelemetry collector. (#497) (#544) (#545)
- The
StatusMessagefield was add to the traceSpan. (#524) - Context propagation in OpenTracing bridge in terms of OpenTelemetry context propagation. (#525)
- The
Resourcetype was added to the SDK. (#528) - The global API now supports a
TracerandMeterfunction as shortcuts to getting a global*Providerand calling these methods directly. (#538) - The metric API now defines a generic
MeterImplinterface to support general purposeMeterconstruction.
Additionally,SyncImplandAsyncImplare added to support general purpose instrument construction. (#560) - A metric
Kindis added to represent theMeasureKind,ObserverKind, andCounterKind. (#560) - Scripts to better automate the release process. (#576)
Changed
- Default to to use
AlwaysSamplerinstead ofProbabilitySamplerto match OpenTelemetry specification. (#506) - Renamed
AlwaysSampleSamplertoAlwaysOnSamplerin the trace API. (#511) - Renamed
NeverSampleSamplertoAlwaysOffSamplerin the trace API. (#511) - The
Statusfield of theSpanwas changed toStatusCodeto disambiguate with the addedStatusMessage. (#524) - Updated the trace
Samplerinterface conform to the OpenTelemetry specification. (#531) - Rename metric API
OptionstoConfig. (#541) - Rename metric
Counteraggregator to beSum. (#541) - Unify metric options into
Optionfrom instrument specific options. (#541) - The trace API's
TraceProvidernow supportResources. (#545) - Correct error in zipkin module name. (#548)
- The jaeger trace exporter now supports
Resources. (#551) - Metric SDK now supports
Resources.
TheWithResourceoption was added to configure aResourceon creation and theResourcemethod was added to the metricDescriptorto return the associatedResource. (#552) - Replace
ErrNoLastValueandErrEmptyDataSetbyErrNoDatain the metric SDK. (#557) - The stdout trace exporter now supports
Resources. (#558) - The metric
Descriptoris now included at the API instead of the SDK. (#560) - Replace
Orderedwith an iterator inexport.Labels. (#567)
Removed
- The vendor specific Stackdriver. It is now hosted on 3rd party vendor infrastructure. (#452)
- The
Unregistermethod for metric observers as it is not in the OpenTelemetry specification. (#560) GetDescriptorfrom the metric SDK. (#575)- The
Gaugeinstrument from the metric API. (#537)
Fixed
- Make histogram aggregator checkpoint consistent. (#438)
- Update README with import instructions and how to build and test. (#505)
- The default label encoding was updated to be unique. (#508)
- Use
NewRootin the othttp plugin for public endpoints. (#513) - Fix data race in
BatchedSpanProcessor. (#518) - Skip test-386 for Mac OS 10.15.x (Catalina and upwards). #521
- Use a variable-size array to represent ordered labels in maps. (#523)
- Update the OTLP protobuf and update changed import path. (#532)
- Use
StateLockerimplementation inMinMaxSumCount. (#546) - Eliminate goroutine leak in histogram stress test. (#547)
- Update OTLP exporter with latest protobuf. (#550)
- Add filters to the othttp plugin. (#556)
- Provide an implementation of the
Header*filters that do not depend on Go 1.14. (#565) - Encode labels once during checkpoint.
The checkpoint function is executed in a single thread so we can do the encoding lazily before passing the encoded version of labels to the exporter.
This is a cheap and quick way to avoid encoding the labels on every collection interval. (#572) - Run coverage over all packages in
COVERAGE_MOD_DIR. (#573)
Changes since v0.2.3
a1c2439 Prepare for releasing v0.3.0 (#578)
a15e507 Scripts for releasing. (#576)
7623fc5 Remove GetDescriptor (#575)
c95360f Run coverage over all packages beneath COVERAGE_MOD_DIR (#573)
cc756f6 Encode labels once during checkpoint (#572)
f7df68b Add support for Resources in the SDK (#552)
a01f63b Replace Ordered with an iterator in export.Labels. (#567)
d8682c1 Refactor the SDK helpers, create MeterImpl (#560)
e0406dd Provide an implementation of the Header* filters that does not depend on go1.14 (#565)
80b720a update stdout trace with resource. (#558)
435c39a Update OTLP exporter with latest proto (#550)
74a5285 update jaeger exporter to translate resources to tags. (#551)
2ef25ea Add filters for othttp plugin (#556)
217a97d Replace ErrNoLastValue and ErrEmptyDataSet by ErrNoData (#557)
6ada85a (resource_zipkin, go_114) add resource option to Provider. (#545)
638b865 Update Sampler descriptions (#511)
cba1664 Add metrics support to the OTLP exporter (#544)
fcc4aca Fix typo in module name (#548)
8680783 Use StateLocker in MinMaxSumCount (#546)
46ac030 Eliminate goroutine leak in histogram stress test (#547)
2ccddfe Update README with import instructions and how to build / test (#505)
23e65ac Remove metric options; rename "counter" aggregator to "sum" (#541)
d9210f5 Zipkin exporter (#495)
4047c08 Introduce metric constructor errors, MeterMust wrapper (#529)
288821c Make histogram aggregator checkpoint consistent (#438)
ae9033e Use a variable-size array to represent ordered labels in maps (#523)
8575142 add shorter version for global providers (#538)
9674c81 Drop the gauge instrument (#537)
fe0099f [tracing] add simplified export pipeline setup for Jaeger (#459)
8cddf30 Context propagation in opentracing bridge (#525)
7a1cbbc Update Samplers to conform to Spec (#531)
af54288 Update OTLP protos, fix imports (#532)
1ff0f2a add resource type. (#528)
3bf3927 Add status message parameter (#524)
5850278 opentelemetry collector trace exporter (#497)
9459629 Remove the StackDriver trace exporter (#452)
43db6ec Propose putting isobel to emeritus :( (#526)
79de90a fix data race in BatchedSpanProcessor (#518)
161556a Update provider to use AlwaysSampler instead of ProbabilitySampler (#506)
20ecc38 skip test-386 for Mac OS 10.15.x (Catalina and upwards). (#521)
a202f16 Add observer metric (#474)
547d584 Add global propagators (#494)
6769330 use NewRoot() standard code. (#513)
148c9ce Make the default label encoding unique (#508)
Release v0.2.3
Corrects lack of tags on v0.2.2 modules, and updates dependencies to function with go1.14
Added
RecordErrormethod onSpans in the trace API to Simplify adding error events to spans. (#473)- Configurable push frequency for exporters setup pipeline. (#504)
Changed
- Rename the
exporterdirectory toexporters.
Thego.opentelemetry.io/otel/exporter/trace/jaegerpackage was mistakenly released with av1.0.0tag instead ofv0.1.0.
This resulted in all subsequent releases not becoming the default latest.
A consequence of this was that allgo gets pulled in the incompatiblev0.1.0release of that package when pulling in more recent packages from other otel packages.
Renaming theexporterdirectory toexportersfixes this issue by renaming the package and therefore clearing any existing dependency tags.
Consequentially, this action also renames all exporter packages. (#502)
Removed
- The
CorrelationContextHeaderconstant in thecorrelationpackage is no longer exported. (#503)