Skip to content

Releases: open-telemetry/opentelemetry-go

Release v0.9.0

20 Jul 19:48
v0.9.0
58e50e2
Compare
Choose a tag to compare

This release includes a new Resource auto-detector interface and a generation of the OTLP locally.

Added

  • A new Resource Detector interface is included to allow resources to be automatically detected and included. (#939)
  • A Detector to automatically detect resources from an environment variable. (#939)
  • Github action to generate protobuf Go bindings locally in internal/opentelemetry-proto-gen. (#938)
  • OTLP .proto files from open-telemetry/opentelemetry-proto imported as a git submodule under internal/opentelemetry-proto. References to github.com/open-telemetry/opentelemetry-proto changed to go.opentelemetry.io/otel/internal/opentelemetry-proto-gen. (#942)

Changed

  • Non-nil value structs for key-value pairs will be marshalled using JSON rather than Sprintf. (#948)

Removed

  • Removed dependency on github.com/open-telemetry/opentelemetry-collector. (#943)

Raw changes made between v0.8.0 and v0.9.0

58e50e2 (HEAD -> master, tag: v0.9.0, tag: exporters/trace/zipkin/v0.9.0, tag: exporters/trace/jaeger/v0.9.0, tag: exporters/otlp/v0.9.0, tag: exporters/metric/prometheus/v0.9.0, tag: example/zipkin/v0.9.0, tag: example/prometheus/v0.9.0, tag: example/otel-collector/v0.9.0, tag: example/namedtracer/v0.9.0, tag: example/jaeger/v0.9.0, tag: example/http/v0.9.0, tag: example/grpc/v0.9.0, tag: example/basic/v0.9.0, upstream/master, origin/master, origin/HEAD) Release v0.9.0 (#952)
e6537c6 Fix typo in comment (#951)
99c2998 OT resource detector (#939)
b2b23e1 supports marshaling values as json (#948)
d6ad4d4 [jaeger] Stop ignoring uints (#945)
4f3fab3 Remove github.com/open-telemetry/opentelemetry-collector dependency (#943)
166c703 Import open-telemetry/opentelemetry-proto submodule and generate protobuf bindings locally (#942)
dd79483 Create protobuf generation GitHub action (#938)
31dd06a Bump github.com/golangci/golangci-lint from 1.28.2 to 1.28.3 in /tools (#936)
9edcad3 Backport tag script from contrib repo (#934)

Release v0.8.0

10 Jul 16:31
v0.8.0
aff7a80
Compare
Choose a tag to compare

This release includes additions and changes to implements the v0.6.0 OpenTelemetry specification and other fixes.

Added

  • The B3Encoding type 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 FlagsDeferred trace flag to indicate if the trace sampling decision has been deferred. (#882)
  • The FlagsDebug trace flag to indicate if the trace is a debug trace. (#882)
  • Add peer.service semantic attribute. (#898)
  • Add database-specific semantic attributes. (#899)
  • Add semantic convention for faas.coldstart and container.id. (#909)
  • Add http content size semantic conventions. (#905)
  • Include http.request_content_length in HTTP request basic attributes. (#905)
  • Add semantic conventions for operating system process resource attribute keys. (#919)
  • The Jaeger exporter now has a WithBatchMaxCount option to specify the maximum number of spans sent in a batch. (#931)

Changed

  • Update CONTRIBUTING.md to ask for updates to CHANGELOG.md with each pull request. (#879)
  • Use lowercase header names for B3 Multiple Headers. (#881)
  • The B3 propagator SingleHeader field has been replaced with InjectEncoding.
    This new field can be set to combinations of the B3Encoding bitmasks and will inject trace information in these encodings.
    If no encoding is set, the propagator will default to MultipleHeader encoding. (#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/standard package, the FaaS* key names are appended with a suffix of Key. (#920)
    • "api/standard".FaaSName -> FaaSNameKey
    • "api/standard".FaaSID -> FaaSIDKey
    • "api/standard".FaaSVersion -> FaaSVersionKey
    • "api/standard".FaaSInstance -> FaaSInstanceKey

Removed

  • The FlagsUnused trace flag is removed.
    The purpose of this flag was to act as the inverse of FlagsSampled, the inverse of FlagsSampled is 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 b3 instead of the previous X-B3. (#881)
  • The B3 propagator now correctly supports sampling only values (b3: 0, b3: 1, or b3: 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 the X-B3-Sampling header. (#882)
  • The B3 propagator now tracks "unset" sampling state (meaning "defer the decision") and does not set the X-B3-Sampling header 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 Unknown when no HTTP status code is provided as it is assumed to be 200 OK. (#908)
  • Ensure httptrace.clientTracer closes http.headers span. (#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 grpctrace instrumentation uses a span name conforming to the OpenTelemetry semantic conventions (does not contain a leading slash (/)). (#922)
  • The grpctrace instrumentation includes an rpc.method attribute now set to the gRPC method name. (#900, #922)
  • The grpctrace instrumentation rpc.service attribute 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

26 Jun 22:05
v0.7.0
01b6452
Compare
Choose a tag to compare

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 Accumulation type to metric SDK to transport telemetry from Accumulators to Processors.
    This replaces the prior Record struct use for this purpose. (#835)
  • New dependabot integration to automate package upgrades. (#814)
  • Meter and Tracer implementations 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.Kind in the export metric API. (#808)
  • New example that uses OTLP and the collector. (#790)
  • Handle errors in the span SetName during 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/oterror package to uniformly support error handling and definitions for the project. (#778)
  • New global default implementation of the go.opentelemetry.io/otel/api/oterror.Handler interface to be used to handle errors prior to an user defined Handler.
    There is also functionality for the user to register their Handler as well as a convenience function Handle to handle an error with this global Handler(#778)
  • Options to specify propagators for httptrace and grpctrace instrumentation. (#784)
  • The required application/json header for the Zipkin exporter is included in all exports. (#774)
  • Integrate HTTP semantics helpers from the contrib repository into the api/standard package. #769

Changed

  • Rename Integrator to Processor in the metric SDK. (#863)
  • Rename AggregationSelector to AggregatorSelector. (#859)
  • Rename SynchronizedCopy to SynchronizedMove. (#858)
  • Rename simple integrator to basic integrator. (#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.Checkpoint API is renamed to SynchronizedCopy and adds an argument, a different Aggregator into which the copy is stored. (#812)
  • The export.Aggregator contract is that Update() and SynchronizedCopy() 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 the Accumulator.
    Some of the Aggregators used unnecessary locking and that has been cleaned up. (#812)
  • Use of metric.Number was replaced by int64 now that we use sync.Mutex in the MinMaxSumCount and Histogram Aggregators. (#812)
  • Replace AlwaysParentSample with ParentSample(fallback) to match the OpenTelemetry v0.5.0 specification. (#810)
  • Rename sdk/export/metric/aggregator to sdk/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.Handle function. (#791)
  • Rename plugin directory to instrumentation to match the OpenTelemetry specification. (#779)
  • Makes the argument order to Histogram and DDSketch New() consistent. (#781)

Removed

  • Uint64NumberKind and related functions from the API. (#864)
  • Context arguments from Aggregator.Checkpoint and Integrator.Process as they were unused. (#803)
  • SpanID is 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.sum and go.mod when 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 Aggregator testing has been updated and cleaned. (#812)
  • metric.Number(0) expressions are replaced by 0 where possible. (#812)
  • Fixed global handler_test.go test failure. #804
  • Fixed BatchSpanProcessor.Shutdown to 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/standard keys instead of custom keys. (#782)
  • Clean up tools and RELEASING documentation. (#762)

Release v0.6.0

21 May 23:14
v0.6.0
370114e
Compare
Choose a tag to compare

Added

  • Support for Resources in the prometheus exporter. (#757)
  • New pull controller. (#751)
  • New UpDownSumObserver instrument. (#750)
  • OpenTelemetry collector demo. (#711)
  • New SumObserver instrument. (#747)
  • New UpDownCounter instrument. (#745)
  • New timeout Option and configuration function WithTimeout to the push controller. (#742)
  • New api/standards package to implement semantic conventions and standard key-value generation. (#731)

Changed

  • Rename Register* functions in the metric API to New* for all Observer instruments. (#761)
  • Use []float64 for histogram boundaries, not []metric.Number. (#758)
  • Change OTLP example to use exporter as a trace Syncer instead of as an unneeded Batcher. (#756)
  • Replace WithResourceAttributes() with WithResource() in the trace SDK. (#754)
  • The prometheus exporter now uses the new pull controller. (#751)
  • Rename ScheduleDelayMillis to BatchTimeout in the trace BatchSpanProcessor.(#752)
  • Support use of synchronous instruments in asynchronous callbacks (#725)
  • Move Resource from the Export method parameter into the metric export Record. (#739)
  • Rename Observer instrument to ValueObserver. (#734)
  • The push controller now has a method (Provider()) to return a metric.Provider instead of the old Meter method that acted as a metric.Provider. (#738)
  • Replace Measure instrument by ValueRecorder instrument. (#732)
  • Rename correlation context header from "Correlation-Context" to "otcorrelations" to match the OpenTelemetry specification. 727)

Fixed

  • Ensure gRPC ClientStream override methods do not panic in grpctrace package. (#755)
  • Disable parts of BatchSpanProcessor test until a fix is found. (#743)
  • Fix string case in kv Infer function. (#746)
  • Fix panic in grpctrace client interceptors. (#740)
  • Refactor the api/metrics push controller and add CheckpointSet synchronization. (#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.14 for examples. (#733)
  • Added test for grpctrace UnaryInterceptorClient. (#695)
  • Rearrange api/metric code layout. (#724)

Release v0.5.0

14 May 00:41
v0.5.0
ce266f9
Compare
Choose a tag to compare

Added

  • Batch Observer callback support. (#717)
  • Alias api types to root package of project. (#696)
  • Create basic othttp.Transport for simple client instrumentation. (#678)
  • SetAttribute(string, interface{}) to the trace API. (#674)
  • Jaeger exporter option that allows user to specify custom http client. (#671)
  • Stringer and Infer methods to keys. (#662)

Changed

  • Rename NewKey in the kv package to just Key. (#721)
  • Move core and key to kv package. (#720)
  • Make the metric API Meter a struct so the abstract MeterImpl can be passed and simplify implementation. (#709)
  • Rename SDK Batcher to Integrator to match draft OpenTelemetry SDK specification. (#710)
  • Rename SDK Ungrouped integrator to simple.Integrator to match draft OpenTelemetry SDK specification. (#710)
  • Rename SDK SDK struct to Accumulator to match draft OpenTelemetry SDK specification. (#710)
  • Move Number from core to api/metric package. (#706)
  • Move SpanContext from core to trace package. (#692)
  • Change traceparent header from Traceparent to traceparent to 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 const for padding 64-bit B3 trace IDs. (#701)
  • Update mockZipkin listen address from :0 to 127.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 StateLocker implementation. (#688)
  • Increase instance size CI system uses. (#690)
  • Add a key benchmark and use reflection in key.Infer(). (#679)
  • Fix internal global test by using global.Meter with RecordBatch(). (#680)
  • Reimplement histogram using mutex instead of StateLocker. (#669)
  • Switch MinMaxSumCount to a mutex lock implementation instead of StateLocker. (#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-lint and work around the corrupting bug. (#666) (#670)

Release v0.4.3

24 Apr 22:32
v0.4.3
1de7f68
Compare
Choose a tag to compare

Added

  • Dockerfile and docker-compose.yml to run example code. (#635)
  • New grpctrace package that provides gRPC client and server interceptors for both unary and stream connections. (#621)
  • New api/label package, providing common label set implementation. (#651)
  • Support for JSON marshaling of Resources. (#654)
  • TraceID and SpanID implementations for Stringer interface. (#642)
  • RemoteAddrKey in the othttp plugin to include the HTTP client address in top-level spans. (#627)
  • WithSpanFormatter option 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 String method to the Resource to return a hashable identifier for a now unique resource. (#613)
  • An Iter method to the Resource to return an array AttributeIterator. (#613)
  • An Equal method to the Resource test the equivalence of resources. (#613)
  • An iterable structure (AttributeIterator) for Resource attributes.

Changed

  • zipkin export's NewExporter now requires a serviceName argument to ensure this needed values is provided. (#644)
  • Pass Resources through the metrics export pipeline. (#659)

Removed

  • WithKeys option from the metric API. (#639)

Fixed

  • Use the label.Set.Equivalent value instead of an encoding in the batcher. (#658)
  • Correct typo trace.Exporter to trace.SpanSyncer in comments. (#653)
  • Use type names for return values in jaeger exporter. (#648)
  • Increase the visibility of the api/key package by updating comments and fixing usages locally. (#650)
  • Checkpoint only after Update; Keep records in the sync.Map longer. (#647)
  • Do not cache reflect.ValueOf() in metric Labels. (#649)
  • Batch metrics exported from the OTLP exporter based on Resource and labels. (#626)
  • Add error wrapping to the prometheus exporter. (#631)
  • Update the OTLP exporter batching of traces to use a unique string representation of an associated Resource as the batching key. (#623)
  • Update OTLP SpanData transform to only include the ParentSpanID if one exists. (#614)
  • Update Resource internal representation to uniquely and reliably identify resources. (#613)
  • Check return value from CheckpointSet.ForEach in 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

31 Mar 20:01
v0.4.2
857e80c
Compare
Choose a tag to compare

Fixed

  • Fix pre_release.sh to update version in sdk/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

31 Mar 17:07
v0.4.1
02b6be1
Compare
Choose a tag to compare

Fixed

  • Update tag.sh to create signed tags. (#604)

Changes since v0.4.0

02b6be1 Pre release v0.4.1 (#605)
af0514b update tag.sh to create signed tags. (#604)

Release v0.4.0

30 Mar 21:40
v0.4.0
57d5f55
Compare
Choose a tag to compare

Added

  • New API package api/metric/registry that exposes a MeterImpl wrapper 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)
  • LabelSet from the metric API.
    This is replaced by a []core.KeyValue slice. (#595)
  • Labels from the metric API's Meter interface. (#595)

Changed

  • The metric export.Labels became an interface which the SDK implements and the export package provides a simple, immutable implementation of this interface intended for testing purposes. (#574)
  • Renamed internal/metric.Meter to MeterImpl. (#580)
  • Renamed api/global/internal.obsImpl to asyncImpl. (#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 RecordBatch benchmark. (#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 BatchedSpanProcessor to 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

21 Mar 21:16
a1c2439
Compare
Choose a tag to compare

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 Observer metric instrument. (#474)
  • Add global Propagators functionality 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 StatusMessage field was add to the trace Span. (#524)
  • Context propagation in OpenTracing bridge in terms of OpenTelemetry context propagation. (#525)
  • The Resource type was added to the SDK. (#528)
  • The global API now supports a Tracer and Meter function as shortcuts to getting a global *Provider and calling these methods directly. (#538)
  • The metric API now defines a generic MeterImpl interface to support general purpose Meter construction.
    Additionally, SyncImpl and AsyncImpl are added to support general purpose instrument construction. (#560)
  • A metric Kind is added to represent the MeasureKind, ObserverKind, and CounterKind. (#560)
  • Scripts to better automate the release process. (#576)

Changed

  • Default to to use AlwaysSampler instead of ProbabilitySampler to match OpenTelemetry specification. (#506)
  • Renamed AlwaysSampleSampler to AlwaysOnSampler in the trace API. (#511)
  • Renamed NeverSampleSampler to AlwaysOffSampler in the trace API. (#511)
  • The Status field of the Span was changed to StatusCode to disambiguate with the added StatusMessage. (#524)
  • Updated the trace Sampler interface conform to the OpenTelemetry specification. (#531)
  • Rename metric API Options to Config. (#541)
  • Rename metric Counter aggregator to be Sum. (#541)
  • Unify metric options into Option from instrument specific options. (#541)
  • The trace API's TraceProvider now support Resources. (#545)
  • Correct error in zipkin module name. (#548)
  • The jaeger trace exporter now supports Resources. (#551)
  • Metric SDK now supports Resources.
    The WithResource option was added to configure a Resource on creation and the Resource method was added to the metric Descriptor to return the associated Resource. (#552)
  • Replace ErrNoLastValue and ErrEmptyDataSet by ErrNoData in the metric SDK. (#557)
  • The stdout trace exporter now supports Resources. (#558)
  • The metric Descriptor is now included at the API instead of the SDK. (#560)
  • Replace Ordered with an iterator in export.Labels. (#567)

Removed

  • The vendor specific Stackdriver. It is now hosted on 3rd party vendor infrastructure. (#452)
  • The Unregister method for metric observers as it is not in the OpenTelemetry specification. (#560)
  • GetDescriptor from the metric SDK. (#575)
  • The Gauge instrument 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 NewRoot in 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 StateLocker implementation in MinMaxSumCount. (#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)