Skip to content

Releases: open-telemetry/opentelemetry-go

Release v0.2.3

04 Mar 21:16
v0.2.3
ffdbc05
Compare
Choose a tag to compare

Corrects lack of tags on v0.2.2 modules, and updates dependencies to function with go1.14

Added

  • RecordError method on Spans in the trace API to Simplify adding error events to spans. (#473)
  • Configurable push frequency for exporters setup pipeline. (#504)

Changed

  • Rename the exporter directory to exporters.
    The go.opentelemetry.io/otel/exporter/trace/jaeger package was mistakenly released with a v1.0.0 tag instead of v0.1.0.
    This resulted in all subsequent releases not becoming the default latest.
    A consequence of this was that all go gets pulled in the incompatible v0.1.0 release of that package when pulling in more recent packages from other otel packages.
    Renaming the exporter directory to exporters fixes this issue by renaming the package and therefore clearing any existing dependency tags.
    Consequentially, this action also renames all exporter packages. (#502)

Removed

  • The CorrelationContextHeader constant in the correlation package is no longer exported. (#503)

Release v0.2.2

28 Feb 06:52
8ebc7bb
Compare
Choose a tag to compare

Added

  • HTTPSupplier interface in the propagation API to specify methods to retrieve and store a single value for a key to be associated with a carrier. (#467)
  • HTTPExtractor interface in the propagation API to extract information from an HTTPSupplier into a context. (#467)
  • HTTPInjector interface in the propagation API to inject information into an HTTPSupplier. (#467)
  • Config and configuring Option to the propagator API. (#467)
  • Propagators interface in the propagation API to contain the set of injectors and extractors for all supported carrier formats. (#467)
  • HTTPPropagator interface in the propagation API to inject and extract from an HTTPSupplier. (#467)
  • WithInjectors and WithExtractors functions to the propagator API to configure injectors and extractors to use. (#467)
  • ExtractHTTP and InjectHTTP functions to apply configured HTTP extractors and injectors to a passed context. (#467)
  • Histogram aggregator. (#433)
  • DefaultPropagator function and have it return trace.TraceContext as the default context propagator. (#456)
  • AlwaysParentSample sampler to the trace API. (#455)
  • WithNewRoot option function to the trace API to specify the created span should be considered a root span. (#451)

Changed

  • Renamed WithMap to ContextWithMap in the correlation package. (#481)
  • Renamed FromContext to MapFromContext in the correlation package. (#481)
  • Move correlation context propagation to correlation package. (#479)
  • Do not default to putting remote span context into links. (#480)
  • Propagators extrac
  • Tracer.WithSpan updated to accept StartOptions. (#472)
  • Renamed MetricKind to Kind to not stutter in the type usage. (#432)
  • Renamed the export package to metric to match directory structure. (#432)
  • Rename the api/distributedcontext package to api/correlation. (#444)
  • Rename the api/propagators package to api/propagation. (#444)
  • Move the propagators from the propagators package into the trace API package. (#444)
  • Update Float64Gauge, Int64Gauge, Float64Counter, Int64Counter, Float64Measure, and Int64Measure metric methods to use value receivers instead of pointers. (#462)
  • Moved all dependencies of tools package to a tools directory. (#466)

Removed

  • Binary propagators. (#467)
  • NOOP propagator. (#467)

Fixed

  • Upgraded github.com/golangci/golangci-lint from v1.21.0 to v1.23.6 in tools/. (#492)
  • Fix a possible nil-dereference crash (#478)
  • Correct comments for InstallNewPipeline in the stdout exporter. (#483)
  • Correct comments for InstallNewPipeline in the dogstatsd exporter. (#484)
  • Correct comments for InstallNewPipeline in the prometheus exporter. (#482)
  • Initialize onError based on Config in prometheus exporter. (#486)
  • Correct module name in prometheus exporter README. (#475)
  • Removed tracer name prefix from span names. (#430)
  • Fix aggregator_test.go import package comment. (#431)
  • Improved detail in stdout exporter. (#436)
  • Fix a dependency issue (generate target should depend on stringer, not lint target) in Makefile. (#442)
  • Reorders the Makefile targets within precommit target so we generate files and build the code before doing linting, so we can get much nicer errors about syntax errors from the compiler. (#442)
  • Reword function documentation in gRPC plugin. (#446)
  • Send the span.kind tag to Jaeger from the jaeger exporter. (#441)
  • Fix metadataSupplier in the jaeger exporter to overwrite the header if existing instead of appending to it. (#441)
  • Upgraded to Go 1.13 in CI. (#465)
  • Correct opentelemetry.io URL in trace SDK documentation. (#464)
  • Refactored reference counting logic in SDK determination of stale records. (#468)
  • Add call to runtime.Gosched in instrument acquireHandle logic to not block the collector. (#469)

Changes since v0.2.1.1

8ebc7bb Name context functions consistently (#481)
a6b8058 Update tools (#492)
29cd0c0 Fix a possible nil-dereference crash (#478)
6b97bb0 Move correlation context propagation to correlation package (#479)
bfe569d exporter/metric/stdout: fix incorrect code format comments for InstallNewPipeline (#483)
bd74f31 exporter/metric/dogstatsd: fix incorrect code format comments for InstallNewPipeline (#484)
f9a5484 exporter/metric/prometheus: fix incorrect code format comments for InstallNewPipeline (#482)
84d0a2a prometheus exporter initialize on error based on config (#486)
f99337f Do not always put remote span context into links (#480)
cf7a4d9 Refactor propagators (#467)
c397451 exporter/metric/prometheus: fix wrong module in README.md (#475)
f0c70ff Add StartOptions to Tracer.WithSpan() (#472)
0f1771f Add @MrAlias as an approver (#471)
2584c3e Call Gosched if load an unmapped record (#469)
69df67d Refactor metric records logic (#468)
4818358 Move dependencies of tools package to a tools directory (#466)
cab6b28 Fix URL to opentelemetry.io (#464)
5d6654d Use latest version of golang 1.13 in CI (#465)
493e13f Update metric types to not use pointer receivers (#462)
942713a Replace span relationship with a potentially remote parent context (#451)
574463c Allow dropping items from correlations + docs + cleanups (#454)
6051c81 Add AlwaysParentSample sampler (#455)
32489dd make trace.TraceContext as default context propagator (#456)
8fcdf8b Send span.kind to jaeger and overwrite grpc metadata instead of using append (#441)
405a92a Misc fixes from PR 381 (#443)
6b4acf4 Reorganize propagation code (shrink PR 381) (#444)
437d9af Reword some function documentation in grpc plugin (#446)
7200bb9 finish adding krnowak to approvers (#445)
0278559 Some makefile fixes (#442)
20bb650 Improve detail in stdout exporter (#436)
2c460f0 Adds Histogram Aggregator (#433)
dcd0a10 Rename the sdk/export/metric package name (#432)
3a32a19 fix aggregator.go import package (#431)
2d5ba32 Remove Tracer name prefix for Span names (#430)

v0.2.1.1

13 Jan 16:21
v0.2.1.1
Compare
Choose a tag to compare

Fixed

  • Use stateful batcher on Prometheus exporter fixing regresion introduced in #395. (#428)

Release v0.2.1

08 Jan 14:46
v0.2.1
ea67a56
Compare
Choose a tag to compare

Added

  • Global meter forwarding implementation.
    This enables deferred initialization for metric instruments registered before the first Meter SDK is installed. (#392)
  • Global trace forwarding implementation.
    This enables deferred initialization for tracers registered before the first Trace SDK is installed. (#406)
  • Standardize export pipeline creation in all exporters. (#395)
  • A testing, organization, and comments for 64-bit field alignment. (#418)
  • Script to tag all modules in the project. (#414)

Changed

  • Renamed propagation package to propagators. (#362)
  • Renamed B3Propagator propagator to B3. (#362)
  • Renamed TextFormatPropagator propagator to TextFormat. (#362)
  • Renamed BinaryPropagator propagator to Binary. (#362)
  • Renamed BinaryFormatPropagator propagator to BinaryFormat. (#362)
  • Renamed NoopTextFormatPropagator propagator to NoopTextFormat. (#362)
  • Renamed TraceContextPropagator propagator to TraceContext. (#362)
  • Renamed SpanOption to StartOption in the trace API. (#369)
  • Renamed StartOptions to StartConfig in the trace API. (#369)
  • Renamed EndOptions to EndConfig in the trace API. (#369)
  • Number now has a pointer receiver for its methods. (#375)
  • Renamed CurrentSpan to SpanFromContext in the trace API. (#379)
  • Renamed SetCurrentSpan to ContextWithSpan in the trace API. (#379)
  • Renamed Message in Event to Name in the trace API. (#389)
  • Prometheus exporter no longer aggregates metrics, instead it only exports them. (#385)
  • Renamed HandleImpl to BoundInstrumentImpl in the metric API. (#400)
  • Renamed Float64CounterHandle to Float64CounterBoundInstrument in the metric API. (#400)
  • Renamed Int64CounterHandle to Int64CounterBoundInstrument in the metric API. (#400)
  • Renamed Float64GaugeHandle to Float64GaugeBoundInstrument in the metric API. (#400)
  • Renamed Int64GaugeHandle to Int64GaugeBoundInstrument in the metric API. (#400)
  • Renamed Float64MeasureHandle to Float64MeasureBoundInstrument in the metric API. (#400)
  • Renamed Int64MeasureHandle to Int64MeasureBoundInstrument in the metric API. (#400)
  • Renamed Release method for bound instruments in the metric API to Unbind. (#400)
  • Renamed AcquireHandle method for bound instruments in the metric API to Bind. (#400)
  • Renamed the File option in the stdout exporter to Writer. (#404)
  • Renamed all Options to Config for all metric exports where this wasn't already the case.

Fixed

  • Aggregator import path corrected. (#421)
  • Correct links in README. (#368)
  • The README was updated to match latest code changes in its examples. (#374)
  • Don't capitalize error statements. (#375)
  • Fix ignored errors. (#375)
  • Fix ambiguous variable naming. (#375)
  • Removed unnecessary type casting. (#375)
  • Use named parameters. (#375)
  • Updated release schedule. (#378)
  • Correct http-stackdriver example module name. (#394)
  • Removed the http.request span in httptrace package. (#397)
  • Add comments in the metrics SDK (#399)
  • Initialize checkpoint when creating ddsketch aggregator to prevent panic when merging into a empty one. (#402) (#403)
  • Add documentation of compatible exporters in the README. (#405)
  • Typo fix. (#408)
  • Simplify span check logic in SDK tracer implementation. (#419)

Release v0.2.0

03 Dec 08:19
d35ea75
Compare
Choose a tag to compare

Added

  • Unary gRPC tracing example. (#351)
  • Prometheus exporter. (#334)
  • Dogstatsd metrics exporter. (#326)

Changed

  • Rename MaxSumCount aggregation to MinMaxSumCount and add the Min interface for this aggregation. (#352)
  • Rename GetMeter to Meter. (#357)
  • Rename HTTPTraceContextPropagator to TraceContextPropagator. (#355)
  • Rename HTTPB3Propagator to B3Propagator. (#355)
  • Rename HTTPTraceContextPropagator to TraceContextPropagator. (#355)
  • Move /global package to /api/global. (#356)
  • Rename GetTracer to Tracer. (#347)

Removed

  • SetAttribute from the Span interface in the trace API. (#361)
  • AddLink from the Span interface in the trace API. (#349)
  • Link from the Span interface in the trace API. (#349)

Fixed

  • Exclude example directories from coverage report. (#365)
  • Lint make target now implements automatic fixes with golangci-lint before a second run to report the remaining issues. (#360)
  • Drop GO111MODULE environment variable in Makefile as Go 1.13 is the project specified minimum version and this is environment variable is not needed for that version of Go. (#359)
  • Run the race checker for all test. (#354)
  • Redundant commands in the Makefile are removed. (#354)
  • Split the generate and lint targets of the Makefile. (#354)
  • Renames circle-ci target to more generic ci in Makefile. (#354)
  • Add example Prometheus binary to gitignore. (#358)
  • Support negative numbers with the MaxSumCount. (#335)
  • Resolve race conditions in push_test.go identified in #339. (#340)
  • Use /usr/bin/env bash as a shebang in scripts rather than /bin/bash. (#336)
  • Trace benchmark now tests both AlwaysSample and NeverSample.
    Previously it was testing AlwaysSample twice. (#325)
  • Trace benchmark now uses a []byte for TraceID to fix failing test. (#325)
  • Added a trace benchmark to test variadic functions in setAttribute vs setAttributes (#325)
  • The defaultkeys batcher was only using the encoded label set as its map key while building a checkpoint.
    This allowed distinct label sets through, but any metrics sharing a label set could be overwritten or merged incorrectly.
    This was corrected. (#333)

Changes since v0.1.2

d35ea75 go module update for release v0.2.0 (#366)
f0eb35b exclude example dirs from coverage test/report. (#365)
eb9fe13 Drop SetAttribute from Span (#361)
f25c84f Fix lint target (#360)
921ea03 Drop GO111MODULE environment variable (#359)
e6d7256 Simplify Makefile (#354)
77543cd Unary gRPC tracing example (#351)
fef504d Add Min() interface - rename MaxSumCount to MinMaxSumCount (#352)
5ec1f5c Add example prometheus binary to gitignore (#358)
a99f872 Span interface should only allow LinkedTo at creation. (#349)
3d78564 Prometheus exporter (#334)
1b08d82 Rename GetMeter() to Meter() (#357)
5f776db Remove "HTTP" from propagator names (#355)
13cd2ac move /global to /api/global (#356)
9a2484c Implement support for NonAbsolute Measurement MaxSumCount (#335)
0f052af Rename GetTracer to Tracer (#347)
059ca3e Removing pjanotti from owners (#342)
799a418 Fix race conditions in push_test.go (#340)
b9706b2 Dogstatsd metrics exporter (#326)
6b63281 Use /usr/bin/env bash rather than /bin/bash (#336)
2c437c9 fix benchmark error, with always/never sample and add benchmark setAttribute vs setAttributes (#325)
dfae2ac Fix the defaultkeys metrics batcher (#333)

Release v0.1.2

18 Nov 19:19
9d1a0d5
Compare
Choose a tag to compare

Fixed

  • Optimized the simplelru map for attributes to reduce the number of allocations. (#328)
  • Removed unnecessary unslicing of parameters that are already a slice. (#324)

Changes since v0.1.1

9d1a0d5 go module update for release v0.1.2 (#330)
3495d74 specialize simplelru(span's lruMap) for attributes only (#328)
eb3b31e Unslice to simplify (#324)

Release v0.1.1

18 Nov 18:10
Compare
Choose a tag to compare

This release contains a Metrics SDK with stdout exporter and supports basic aggregations such as counter, gauges, array, maxsumcount, and ddsketch.

Added

  • Metrics stdout export pipeline. (#265)
  • Array aggregation for raw measure metrics. (#282)
  • The core.Value now have a MarshalJSON method. (#281)

Removed

  • WithService, WithResources, and WithComponent methods of tracers. (#314)
  • Prefix slash in Tracer.Start() for the Jaeger example. (#292)

Changed

  • Allocation in LabelSet construction to reduce GC overhead. (#318)
  • trace.WithAttributes to append values instead of replacing (#315)
  • Use a formula for tolerance in sampling tests. (#298)
  • Move export types into trace and metric-specific sub-directories. (#289)
  • SpanKind back to being based on an int type. (#288)

Fixed

  • URL to OpenTelemetry website in README. (#323)
  • Name of othttp default tracer. (#321)
  • ExportSpans for the stackdriver exporter now handles nil context. (#294)
  • CI modules cache to correctly restore/save from/to the cache. (#316)
  • Fix metric SDK race condition between LoadOrStore and the assignment rec.recorder = i.meter.exporter.AggregatorFor(rec). (#293)
  • README now reflects the new code structure introduced with these changes. (#291)
  • Make the basic example work. (#279)

Changes since v0.1.0

90ba74e Fix url to website in readme (#323)
9878f3b Metrics stdout export pipeline (#265)
c3d5b7b remove empty package (#322)
64eaee8 fix typo in othttp handler (#321)
ee87858 Avoid one memory allocation in LabelSet construction (#318)
9d19d82 Clear NoopTracer implementation and improve Tracer argument names (#314)
1fd93b2 change trace.WithAttributes to append values instead of replacing (#315)
a228baf exporter(stackdriver): fix ExportSpans when ctx is not nil (#294)
f403198 propose additional CODEOWNERS (#313)
b6ada23 Fix CI modules cache (#316)
2950978 Remove myself from CODEOWNERS (#308)
769a03a Use a formula for tolerance in sampling tests (#298)
2546646 Fix metric SDK race condition (#293)
68bd627 Move export types into trace and metric-specific subdirs (#289)
17439d8 [example/jaeger] Remove prefix slash in Tracer.Start() (#292)
2ac5725 update README for v0.1.0 (#291)
1bfa1aa Change SpanKind type an integer type (#288)
9040d82 Add array aggregation for raw measure metrics, improve testing (#282)
6b48fce example/basic: make basic example work (#279)
881e51f Add MarshalJSON for core.Value (#281)

Release v0.1.0

04 Nov 19:51
ded8fe6
Compare
Choose a tag to compare

Alpha Release v0.1.0

This is the first release of open-telemetry go library.
It contains api and sdk for trace and meter.

Added

  • Initial OpenTelemetry trace and metric API prototypes.
  • Initial OpenTelemetry trace, metric, and export SDK packages.
  • A wireframe bridge to support compatibility with OpenTracing.
  • Example code for a basic, http-stackdriver, http, jaeger, and named tracer setup.
  • Exporters for Jaeger, Stackdriver, and stdout.
  • Propagators for binary, B3, and trace-context protocols.
  • Project information and guidelines in the form of a README and CONTRIBUTING.
  • Tools to build the project and a Makefile to automate the process.
  • Apache-2.0 license.
  • CircleCI build CI manifest files.
  • CODEOWNERS file to track owners of this project.