Skip to content

Releases: open-telemetry/opentelemetry-go

Release v0.19.0

19 Mar 15:45
v0.19.0
2b4fa96
Compare
Choose a tag to compare

Added

  • Added Marshaler config option to otlphttp to enable otlp over json or protobufs. (#1586)
  • A ForceFlush method to the "go.opentelemetry.io/otel/sdk/trace".TracerProvider to flush all registered SpanProcessors. (#1608)
  • Added WithSampler and WithSpanLimits to tracer provider. (#1633, #1702)
  • "go.opentelemetry.io/otel/trace".SpanContext now has a remote property, and IsRemote() predicate, that is true when the SpanContext has been extracted from remote context data. (#1701)
  • A Valid method to the "go.opentelemetry.io/otel/attribute".KeyValue type. (#1703)

Changed

  • trace.SpanContext is now immutable and has no exported fields. (#1573)
    • trace.NewSpanContext() can be used in conjunction with the trace.SpanContextConfig struct to initialize a new SpanContext where all values are known.
  • Update the ForceFlush method signature to the "go.opentelemetry.io/otel/sdk/trace".SpanProcessor to accept a context.Context and return an error. (#1608)
  • Update the Shutdown method to the "go.opentelemetry.io/otel/sdk/trace".TracerProvider return an error on shutdown failure. (#1608)
  • The SimpleSpanProcessor will now shut down the enclosed SpanExporter and gracefully ignore subsequent calls to OnEnd after Shutdown is called. (#1612)
  • "go.opentelemetry.io/sdk/metric/controller.basic".WithPusher is replaced with WithExporter to provide consistent naming across project. (#1656)
  • Added non-empty string check for trace Attribute keys. (#1659)
  • Add description to SpanStatus only when StatusCode is set to error. (#1662)
  • Jaeger exporter falls back to resource.Default's service.name if the exported Span does not have one. (#1673)
  • Jaeger exporter populates Jaeger's Span Process from Resource. (#1673)
  • Renamed the LabelSet method of "go.opentelemetry.io/otel/sdk/resource".Resource to Set. (#1692)
  • Changed WithSDK to WithSDKOptions to accept variadic arguments of TracerProviderOption type in go.opentelemetry.io/otel/exporters/trace/jaeger package. (#1693)
  • Changed WithSDK to WithSDKOptions to accept variadic arguments of TracerProviderOption type in go.opentelemetry.io/otel/exporters/trace/zipkin package. (#1693)
  • "go.opentelemetry.io/otel/sdk/resource".NewWithAttributes will now drop any invalid attributes passed. (#1703)
  • "go.opentelemetry.io/otel/sdk/resource".StringDetector will now error if the produced attribute is invalid. (#1703)

Removed

  • Removed serviceName parameter from Zipkin exporter and uses resource instead. (#1549)
  • Removed WithConfig from tracer provider to avoid overriding configuration. (#1633)
  • Removed the exported SimpleSpanProcessor and BatchSpanProcessor structs.
    These are now returned as a SpanProcessor interface from their respective constructors. (#1638)
  • Removed WithRecord() from trace.SpanOption when creating a span. (#1660)
  • Removed setting status to Error while recording an error as a span event in RecordError. (#1663)
  • Removed jaeger.WithProcess configuration option. (#1673)
  • Removed ApplyConfig method from "go.opentelemetry.io/otel/sdk/trace".TracerProvider and the now unneeded Config struct. (#1693)

Fixed

  • Jaeger Exporter: Ensure mapping between OTEL and Jaeger span data complies with the specification. (#1626)
  • SamplingResult.TraceState is correctly propagated to a newly created span's SpanContext. (#1655)
  • The otel-collector example now correctly flushes metric events prior to shutting down the exporter. (#1678)
  • Do not set span status message in SpanStatusFromHTTPStatusCode if it can be inferred from http.status_code. (#1681)
  • Synchronization issues in global trace delegate implementation. (#1686)
  • Reduced excess memory usage by global TracerProvider. (#1687)

Raw changes made between v0.18.0 and v0.19.0

2b4fa96 (HEAD -> main, tag: v0.19.0, tag: trace/v0.19.0, tag: sdk/v0.19.0, tag: sdk/metric/v0.19.0, tag: sdk/export/metric/v0.19.0, tag: oteltest/v0.19.0, tag: metric/v0.19.0, tag: exporters/trace/zipkin/v0.19.0, tag: exporters/trace/jaeger/v0.19.0, tag: exporters/stdout/v0.19.0, tag: exporters/otlp/v0.19.0, tag: exporters/metric/prometheus/v0.19.0, tag: example/zipkin/v0.19.0, tag: example/prometheus/v0.19.0, tag: example/prom-collector/v0.19.0, tag: example/otel-collector/v0.19.0, tag: example/opencensus/v0.19.0, tag: example/namedtracer/v0.19.0, tag: example/jaeger/v0.19.0, tag: bridge/opentracing/v0.19.0, tag: bridge/opencensus/v0.19.0, upstream/main, origin/main) Release v0.19.0 (#1710)
4beb704 sdk/trace: removing ApplyConfig and Config (#1693)
1d42be1 Rename WithDefaultSampler TracerProvider option to WithSampler and update docs (#1702)
860d5d8 Add flag to determine whether SpanContext is remote (#1701)
0fe65e6 Comply with OpenTelemetry attributes specification (#1703)
8888435 Bump google.golang.org/api from 0.40.0 to 0.41.0 in /exporters/trace/jaeger (#1700)
345f264 (global-docs) breaking(zipkin): removes servicName from zipkin exporter. (#1697)
62cbf0f Populate Jaeger's Span.Process from Resource (#1673)
28eaaa9 Add a test to prove the Tracer is safe for concurrent calls (#1665)
8b1be11 Rename resource pkg label vars and methods (#1692)
a1539d4 OpenCensus metric exporter bridge (#1444)
77aa218 Fix issue #1490, apply same logic as in the SDK (#1687)
9d3416c Fix synchronization issues in global trace delegate implementation (#1686)
58f69f0 Span status from HTTP code: Do not set status message if it can be inferred (#1681)
9c305bd Flush metric events prior to shutdown in OTLP example (#1678)
66b1135 Fix CHANGELOG (#1680)
90bd4ab Update employer information for maintainers (#1683)
3684191 Remove WithRecord() option from trace.SpanOption when starting a span (#1660)
65c7de2 Remove trace prefix from NoOp src files. (#1679)
e88a091 Make SpanContext Immutable (#1573)
d75e268 Avoid overriding configuration of tracer provider (#1633)
2b4d5ac Bump github.com/golangci/golangci-lint in /internal/tools (#1671)
150b868 Bump github.com/google/go-cmp from 0.5.4 to 0.5.5 (#1667)
76aa924 Fix the examples target info messaging (#1676)
a3aa9fd Bump github.com/itchyny/gojq from 0.12.1 to 0.12.2 in /internal/tools (#1672)
a5edd79 Removed setting error status while recording err as span event (#1663)
e981475 chore(zipkin): improves zipkin example to not to depend on timeouts. (#1566)
3dc91f2 Add ForceFlush method to TracerProvider (#1608)
bd0bba4 exporter: swap pusher for exporter (#1656)
5690485 Update the SimpleSpanProcessor (#1612)
a7f7aba SpanStatus description set only when status code is set to Error (#1662)
05252f4 Jaeger Exporter: Fix minor mapping discrepancies (#1626)
238e7c6 Add non-empty string check for attribute keys (#1659)
e9b9aca Add tests for propagation of Sampler Tracestate changes (#1655)
875a258 Add docs on when reviews should be cleared (#1556)
7153ef2 Add HTTP/JSON to the otlp exporter (#1586)
62e2a0f Unexport the simple and batch SpanProcessors (#1638)
992837f Add TracerProvider tests to oteltest harness (#1607)

Release v0.18.0

03 Mar 19:45
v0.18.0
bb4c297
Compare
Choose a tag to compare

Added

  • Added resource.Default() for use with meter and tracer providers. (#1507)
  • AttributePerEventCountLimit and AttributePerLinkCountLimit for SpanLimits. (#1535)
  • Added Keys() method to propagation.TextMapCarrier and propagation.HeaderCarrier to adapt http.Header to this interface. (#1544)
  • Added code attributes to go.opentelemetry.io/otel/semconv package. (#1558)
  • Compatibility testing suite in the CI system for the following systems. (#1567)
    OS Go Version Architecture
    Ubuntu 1.15 amd64
    Ubuntu 1.14 amd64
    Ubuntu 1.15 386
    Ubuntu 1.14 386
    MacOS 1.15 amd64
    MacOS 1.14 amd64
    Windows 1.15 amd64
    Windows 1.14 amd64
    Windows 1.15 386
    Windows 1.14 386

Changed

  • Replaced interface oteltest.SpanRecorder with its existing implementation
    StandardSpanRecorder (#1542).
  • Default span limit values to 128. (#1535)
  • Rename MaxEventsPerSpan, MaxAttributesPerSpan and MaxLinksPerSpan to EventCountLimit, AttributeCountLimit and LinkCountLimit, and move these fields into SpanLimits. (#1535)
  • Renamed the otel/label package to otel/attribute. (#1541)
  • Vendor the Jaeger exporter's dependency on Apache Thrift. (#1551)
  • Parallelize the CI linting and testing. (#1567)
  • Stagger timestamps in exact aggregator tests. (#1569)
  • Changed all examples to use WithBatchTimeout(5 * time.Second) rather than WithBatchTimeout(5). (#1621)
  • Prevent end-users from implementing some interfaces (#1575)
      "otel/exporters/otlp/otlphttp".Option
      "otel/exporters/stdout".Option
      "otel/oteltest".Option
      "otel/trace".TracerOption
      "otel/trace".SpanOption
      "otel/trace".EventOption
      "otel/trace".LifeCycleOption
      "otel/trace".InstrumentationOption
      "otel/sdk/resource".Option
      "otel/sdk/trace".ParentBasedSamplerOption
      "otel/sdk/trace".ReadOnlySpan
      "otel/sdk/trace".ReadWriteSpan

Removed

  • Removed attempt to resample spans upon changing the span name with span.SetName(). (#1545)
  • The test-benchmark is no longer a dependency of the precommit make target. (#1567)
  • Removed the test-386 make target.
    This was replaced with a full compatibility testing suite (i.e. multi OS/arch) in the CI system. (#1567)

Fixed

  • The sequential timing check of timestamps in the stdout exporter are now setup explicitly to be sequential (#1571). (#1572)
  • Windows build of Jaeger tests now compiles with OS specific functions (#1576). (#1577)
  • The sequential timing check of timestamps of go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue are now setup explicitly to be sequential (#1578). (#1579)
  • Validate tracestate header keys with vedors according to the W3C TraceContext specification (#1475). (#1581)
  • The OTLP exporter includes related labels for translations of a GaugeArray (#1563). (#1570)

Raw changes made between v0.17.0 and v0.18.0

bb4c297 Pre release v0.18.0 (#1635)
712c3dc Fix makefile ci target and coverage test packages (#1634)
841d2a5 Rename local var new to not collide with builtin (#1610)
13938ab Update SpanProcessor docs (#1611)
e25503a Add compatibility tests to CI (#1567)
1519d95 Use reasonable interval in sdktrace.WithBatchTimeout (#1621)
7d4496e Pass metric labels when transforming to gaugeArray (#1570)
6d4a5e0 Bump google.golang.org/grpc from 1.35.0 to 1.36.0 in /exporters/otlp (#1619)
a93393a Bump google.golang.org/grpc in /example/prom-collector (#1620)
e499ca8 Fix validation for tracestate with vendor and add tests (#1581)
43886e5 Make timestamps sequential in lastvalue agg check (#1579)
37688ef revent end-users from implementing some interfaces (#1575)
85e696d Updating documentation with an working example for creating NewExporter (#1513)
562eb28 Unify the Added sections of the unreleased changes (#1580)
c4cf1af Fix Windows build of Jaeger tests (#1577)
4a163be Fix stdout TestStdoutTimestamp failure with sleep (#1572)
bd4701e Stagger timestamps in exact aggregator tests (#1569)
b94cd4b add code attributes to semconv package (#1558)
78c06ce Update docs from gitter to slack for communication (#1554)
1307c91 Remove vendor exclude from license-check (#1552)
5d2636e Bump github.com/golangci/golangci-lint in /internal/tools (#1565)
d7aff47 Vendor Thrift dependency (#1551)
298c5a1 Update span limits to conform with OpenTelemetry specification (#1535)
ecf65d7 Rename otel/label -> otel/attribute (#1541)
1b5b662 Remove resampling on span.SetName (#1545)
8da5299 fix: grpc reconnection (#1521)
3bce9c9 Add Keys() method to propagation.TextMapCarrier (#1544)
0b1a1c7 Make oteltest.SpanRecorder into a concrete type (#1542)
7d0e3e5 SDK span no modification after ended (#1543)
7de3b58 Remove extra labels types (#1314)
73194e4 Bump google.golang.org/api from 0.39.0 to 0.40.0 in /exporters/trace/jaeger (#1536)
8fae0a6 Create resource.Default() with required attributes/default values (#1507)

Release v0.17.0

15 Feb 18:53
v0.17.0
76f9342
Compare
Choose a tag to compare

Changed

  • Rename project default branch from master to main.
  • Reverse order in which Resource attributes are merged, per change in spec. (#1501)
  • Add tooling to maintain "replace" directives in go.mod files automatically. (#1528)
  • Create new modules: otel/metric, otel/trace, otel/oteltest, otel/sdk/export/metric, otel/sdk/metric (#1528)
  • Move metric-related public global APIs from otel to otel/metric/global. (#1528)

9b242bc (upstream/main, origin/main, main) Organize API into Go modules based on stability and dependencies (#1528)
e50a1c8 Bump actions/cache from v2 to v2.1.4 (#1518)
a6aa7f0 Bump google.golang.org/api from 0.38.0 to 0.39.0 in /exporters/trace/jaeger (#1517)
38efc87 Code Improvement - Error strings should not be capitalized (#1488)
6b34050 Update default branch name (#1505)
b39fd05 nit: Fix comment to be up-to-date (#1510)
186c295 Fix golint error of package comment form (#1487)
9308d66 Bump google.golang.org/api from 0.37.0 to 0.38.0 in /exporters/trace/jaeger (#1506)
1952d7b Reverse order of attribute precedence when merging two Resources (#1501)
ad7b471 Remove build flags for runtime/trace support (#1498)
4bf4b69 Remove inaccurate and unnecessary import comment (#1481)
7e19eb6 Bump google.golang.org/api from 0.36.0 to 0.37.0 in /exporters/trace/jaeger (#1504)
c6a4406 Bump github.com/golangci/golangci-lint in /internal/tools (#1503)
9524ac0 (upstream/master, origin/master, origin/HEAD) Update workflows to include main branch as trigger (#1497)
c066f15 Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /internal/tools (#1478)
894e024 Bump github.com/golangci/golangci-lint in /internal/tools (#1477)
71ffba3 Bump google.golang.org/grpc from 1.34.0 to 1.35.0 in /exporters/otlp (#1471)
515809a Bump github.com/itchyny/gojq from 0.12.0 to 0.12.1 in /internal/tools (#1472)
3e96ad1 gitignore: remove unused example path (#1474)
c562277 Histogram aggregator functional options (#1434)
0df8cd6 Rename Makefile.proto to avoid interpretation as proto file (#1468)
979ff51 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#1453)
1df8b3b Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /exporters/otlp (#1456)
4c30a90 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /sdk (#1455)
5a9f8f6 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/stdout (#1454)
7786f34 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/trace/zipkin (#1457)
4352a7a Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/otlp (#1460)
6990b3b Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/metric/prometheus (#1461)
7af40d2 Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 in /exporters/trace/jaeger (#1463)
f16f189 Bump google.golang.org/grpc in /example/otel-collector (#1465)
fe363be Move Span Event to API (#1452)
4392224 Bump google.golang.org/grpc in /example/prom-collector (#1466)

Release v0.16.0

14 Jan 01:50
v0.16.0
0aadfb2
Compare
Choose a tag to compare

Added

  • Add the ReadOnlySpan and ReadWriteSpan interfaces to provide better control for accessing span data. (#1360)
  • NewGRPCDriver function returns a ProtocolDriver that maintains a single gRPC connection to the collector. (#1369)
  • Added documentation about the project's versioning policy. (#1388)
  • Added NewSplitDriver for OTLP exporter that allows sending traces and metrics to different endpoints. (#1418)
  • Added codeql worfklow to GitHub Actions (#1428)
  • Added Gosec workflow to GitHub Actions (#1429)
  • Add new HTTP driver for OTLP exporter in exporters/otlp/otlphttp. Currently it only supports the binary protobuf payloads. (#1420)

Changed

  • Rename internal/testing to internal/internaltest. (#1449)
  • Rename export.SpanData to export.SpanSnapshot and use it only for exporting spans. (#1360)
  • Store the parent's full SpanContext rather than just its span ID in the span struct. (#1360)
  • Improve span duration accuracy. (#1360)
  • Migrated CI/CD from CircleCI to GitHub Actions (#1382)
  • Remove duplicate checkout from GitHub Actions workflow (#1407)
  • Metric array aggregator renamed exact to match its aggregation.Kind (#1412)
  • Metric exact aggregator includes per-point timestamps (#1412)
  • Metric stdout exporter uses MinMaxSumCount aggregator for ValueRecorder instruments (#1412)
  • NewExporter from exporters/otlp now takes a ProtocolDriver as a parameter. (#1369)
  • Many OTLP Exporter options became gRPC ProtocolDriver options. (#1369)
  • Unify endpoint API that related to OTel exporter. (#1401)
  • Optimize metric histogram aggregator to re-use its slice of buckets. (#1435)
  • Metric aggregator Count() and histogram Bucket.Counts are consistently uint64. (1430)
  • SamplingResult now passed a Tracestate from the parent SpanContext (#1432)
  • Moved gRPC driver for OTLP exporter to exporters/otlp/otlpgrpc. (#1420)
  • The TraceContext propagator now correctly propagates TraceState through the SpanContext. (#1447)
  • Metric Push and Pull Controller components are combined into a single "basic" Controller:
    • WithExporter() and Start() to configure Push behavior
    • Start() is optional; use Collect() and ForEach() for Pull behavior
    • Start() and Stop() accept Context. (#1378)

Removed

  • Remove errUninitializedSpan as its only usage is now obsolete. (#1360)
  • Remove Metric export functionality related to quantiles and summary data points: this is not specified (#1412)
  • Remove DDSketch metric aggregator; our intention is to re-introduce this as an option of the histogram aggregator after new OTLP histogram data types are released (#1412)

Fixed

  • BatchSpanProcessor.Shutdown() will now shutdown underlying export.SpanExporter. (#1443)

Raw changes made between v0.15.0 and v0.16.0

0aadfb2 Prepare release v0.16.0 (#1464)
207587b Metric histogram aggregator: Swap in SynchronizedMove to avoid allocations (#1435)
c29c6fd Shutdown underlying span exporter while shutting down BatchSpanProcessor (#1443)
dfece3d Combine the Push and Pull metric controllers (#1378)
74deedd Handle tracestate in TraceContext propagator (#1447)
49f699d Remove Quantile aggregation, DDSketch aggregator; add Exact timestamps (#1412)
9c94941 Rename internal/testing to internal/internaltest (#1449)
8d80981 Move gRPC driver to a subpackage and add an HTTP driver (#1420)
9332af1 Bump github.com/golangci/golangci-lint in /internal/tools (#1445)
5ed96e9 Update exporters/otlp Readme.md (#1441)
bc9cb5e Switch CircleCI badge to GitHub Actions (#1440)
716ad08 Remove CircleCI config (#1439)
0682db1 Adding Security Workflows to GitHub Actions (2/2): gosec workflow (#1429)
11f732b Adding Security Workflows to GitHub Actions (1/2): codeql workflow (#1428)
40f1c00 Add Tracestate into the SamplingResult struct (#1432)
db06c8d Flush metric events before shutdown in collector example (#1438)
f6f458e Fix golint issue caused by typo in trace.go (#1436)
fe9d1f7 Use uint64 Count consistently in metric aggregation (#1430)
3a337d0 Bump github.com/golangci/golangci-lint in /internal/tools (#1433)
1e4c832 cleanup: drop the removed examples in gitignore (#1427)
5c9221c Unify endpoint API that related to OTel exporter (#1401)
045c3ff Build scripts: Replace mapfile with read loop for old bash versions (#1425)
2def8c3 Add Versioning Documentation (#1388)
6bcd108 Bump github.com/itchyny/gojq from 0.11.2 to 0.12.0 in /internal/tools (#1424)
38e76ef Add a split protocol driver for otlp exporter (#1418)
439cd31 Add TraceState to SpanContext in API (#1340)
3521526 Split connection management away from exporter (#1369)
add9d93 Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 in /exporters/metric/prometheus (#1414)
93d426a Add @dashpole as a project Approver (#1410)
6fe20ef Fix small typo (#1409)
b22d0d7 Mention the getting started guide (#1406)
3fb80fb Fix duplicate checkout action in GitHub workflow (#1407)
2051927 Correct CI workflow syntax (#1403)
f11a86f Fix typo in comment (#1402)
bdf87a7 Migrate CircleCI ci.yml workflow to GitHub Actions (#1382)
4e59dd1 Bump google.golang.org/grpc from 1.32.0 to 1.34.0 in /example/otel-collector (#1400)
83513f7 Bump google.golang.org/api from 0.32.0 to 0.36.0 in /exporters/trace/jaeger (#1398)
a354fc4 Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 in /exporters/metric/prometheus (#1397)
3528e42 Bump google.golang.org/grpc from 1.32.0 to 1.34.0 in /exporters/otlp (#1396)
af114ba Call otel.Handle with non-nil errors (#1384)
c3c4273 Add RO/RW span interfaces (#1360)

Release v0.15.0

11 Dec 05:06
v0.15.0
61e07a0
Compare
Choose a tag to compare

Added

  • The WithIDGenerator TracerProviderOption is added to the go.opentelemetry.io/otel/trace package to configure an IDGenerator for the TracerProvider. (#1363)

Changed

  • The Zipkin exporter now uses the Span status code to determine. (#1328)
  • NewExporter and Start functions in go.opentelemetry.io/otel/exporters/otlp now receive context.Context as a first parameter. (#1357)
  • Move the OpenCensus example into example directory. (#1359)
  • Moved the SDK's internal.IDGenerator interface in to the sdk/trace package to enable support for externally-defined ID generators. (#1363)
  • Bump github.com/google/go-cmp from 0.5.3 to 0.5.4 (#1374)
  • Bump github.com/golangci/golangci-lint in /internal/tools (#1375)

Fixed

  • Metric SDK SumObserver and UpDownSumObserver instruments correctness fixes. (#1381)

Raw changes made between v0.14.0 and v0.15.0

61e07a0 (HEAD -> master, tag: v0.15.0, tag: sdk/v0.15.0, tag: exporters/trace/zipkin/v0.15.0, tag: exporters/trace/jaeger/v0.15.0, tag: exporters/stdout/v0.15.0, tag: exporters/otlp/v0.15.0, tag: exporters/metric/prometheus/v0.15.0, tag: example/zipkin/v0.15.0, tag: example/prometheus/v0.15.0, tag: example/otel-collector/v0.15.0, tag: example/opencensus/v0.15.0, tag: example/namedtracer/v0.15.0, tag: example/jaeger/v0.15.0, tag: example/basic/v0.15.0, tag: bridge/opentracing/v0.15.0, tag: bridge/opencensus/v0.15.0, upstream/master, origin/master, origin/HEAD) Release v0.15.0 (#1392)
599c080 Fix typo in readme (#1390)
eb28005 Metric Accumulator fix for SumObservers (#1381)
970755b Enable support for externally-defined ID generators (#1363)
0021ab0 Rework proto generation (#1371)
787e3f4 chore(zipkin-exporter): relay on the status code for the request but still read the response body. (#1328)
66db2d8 (johananl/master) Build examples last (#1370)
958041d Bump github.com/golangci/golangci-lint in /internal/tools (#1375)
e1ff2d1 Bump github.com/google/go-cmp from 0.5.3 to 0.5.4 (#1374)
5d0372d Fix typo in comment (#1377)
55ff277 Fix golint issue caused by typo (#1372)
5a728db Another batch of cleanups in otlp exporter (#1357)
e081978 Move opencensus example to the example directory (#1359)

Release v0.14.0

20 Nov 16:54
v0.14.0
575df22
Compare
Choose a tag to compare

Added

  • An EventOption and the related NewEventConfig function are added to the go.opentelemetry.io/otel package to configure Span events. (#1254)
  • A TextMapPropagator and associated TextMapCarrier are added to the go.opentelemetry.io/otel/oteltest package to test TextMap type propagators and their use. (#1259)
  • SpanContextFromContext returns SpanContext from context. (#1255)
  • DeploymentEnvironmentKey added to go.opentelemetry.io/otel/semconv package. (#1323)
  • Add an OpenCensus to OpenTelemetry tracing bridge. (#1305)
  • Add a parent context argument to SpanProcessor.OnStart to follow the specification. (#1333)
  • Add missing tests for sdk/trace/attributes_map.go. (#1337)

Changed

  • Move the go.opentelemetry.io/otel/api/trace package into go.opentelemetry.io/otel/trace with the following changes. (#1229) (#1307)
    • ID has been renamed to TraceID.
    • IDFromHex has been renamed to TraceIDFromHex.
    • EmptySpanContext is removed.
  • Move the go.opentelemetry.io/otel/api/trace/tracetest package into go.opentelemetry.io/otel/oteltest. (#1229)
  • OTLP Exporter updates:
    • supports OTLP v0.6.0 (#1230, #1354)
    • supports configurable aggregation temporality (default: Cumulative, optional: Stateless). (#1296)
  • The Sampler is now called on local child spans. (#1233)
  • The Kind type from the go.opentelemetry.io/otel/api/metric package was renamed to InstrumentKind to more specifically describe what it is and avoid semantic ambiguity. (#1240)
  • The MetricKind method of the Descriptor type in the go.opentelemetry.io/otel/api/metric package was renamed to Descriptor.InstrumentKind.
    This matches the returned type and fixes misuse of the term metric. (#1240)
  • Move test harness from the go.opentelemetry.io/otel/api/apitest package into go.opentelemetry.io/otel/oteltest. (#1241)
  • Move the go.opentelemetry.io/otel/api/metric/metrictest package into go.opentelemetry.io/oteltest as part of #964. (#1252)
  • Move the go.opentelemetry.io/otel/api/metric package into go.opentelemetry.io/otel/metric as part of #1303. (#1321)
  • Move the go.opentelemetry.io/otel/api/metric/registry package into go.opentelemetry.io/otel/metric/registry as a part of #1303. (#1316)
  • Move the Number type (together with related functions) from go.opentelemetry.io/otel/api/metric package into go.opentelemetry.io/otel/metric/number as a part of #1303. (#1316)
  • The function signature of the Span AddEvent method in go.opentelemetry.io/otel is updated to no longer take an unused context and instead take a required name and a variable number of EventOptions. (#1254)
  • The function signature of the Span RecordError method in go.opentelemetry.io/otel is updated to no longer take an unused context and instead take a required error value and a variable number of EventOptions. (#1254)
  • Move the go.opentelemetry.io/otel/api/global package to go.opentelemetry.io/otel. (#1262) (#1330)
  • Move the Version function from go.opentelemetry.io/otel/sdk to go.opentelemetry.io/otel. (#1330)
  • Rename correlation context header from "otcorrelations" to "baggage" to match the OpenTelemetry specification. (#1267)
  • Fix Code.UnmarshalJSON to work with valid JSON only. (#1276)
  • The resource.New() method changes signature to support builtin attributes and functional options, including telemetry.sdk.* and
    host.name semantic conventions; the former method is renamed resource.NewWithAttributes. (#1235)
  • The Prometheus exporter now exports non-monotonic counters (i.e. UpDownCounters) as gauges. (#1210)
  • Correct the Span.End method documentation in the otel API to state updates are not allowed on a span after it has ended. (#1310)
  • Updated span collection limits for attribute, event and link counts to 1000 (#1318)
  • Renamed semconv.HTTPUrlKey to semconv.HTTPURLKey. (#1338)

Removed

  • The ErrInvalidHexID, ErrInvalidTraceIDLength, ErrInvalidSpanIDLength, ErrInvalidSpanIDLength, or ErrNilSpanID from the go.opentelemetry.io/otel package are unexported now. (#1243)
  • The AddEventWithTimestamp method on the Span interface in go.opentelemetry.io/otel is removed due to its redundancy.
    It is replaced by using the AddEvent method with a WithTimestamp option. (#1254)
  • The MockSpan and MockTracer types are removed from go.opentelemetry.io/otel/oteltest.
    Tracer and Span from the same module should be used in their place instead. (#1306)
  • WorkerCount option is removed from go.opentelemetry.io/otel/exporters/otlp. (#1350)

Fixed

  • Rename MergeItererator to MergeIterator in the go.opentelemetry.io/otel/label package. (#1244)
  • The go.opentelemetry.io/otel/api/global packages global TextMapPropagator now delegates functionality to a globally set delegate for all previously returned propagators. (#1258)
  • Fix condition in label.Any. (#1299)
  • Fix global TracerProvider to pass options to its configured provider. (#1329)
  • Fix missing handler for ExactKind aggregator in OTLP metrics transformer (#1309)

Raw changes made between v0.13.0 and v0.14.0

575df22 (HEAD -> master, tag: v0.14.0, tag: sdk/v0.14.0, tag: exporters/trace/zipkin/v0.14.0, tag: exporters/trace/jaeger/v0.14.0, tag: exporters/stdout/v0.14.0, tag: exporters/otlp/v0.14.0, tag: exporters/metric/prometheus/v0.14.0, tag: example/zipkin/v0.14.0, tag: example/prometheus/v0.14.0, tag: example/otel-collector/v0.14.0, tag: example/namedtracer/v0.14.0, tag: example/jaeger/v0.14.0, tag: example/basic/v0.14.0, tag: bridge/opentracing/v0.14.0, tag: bridge/opencensus/v0.14.0, tag: bridge/opencensus/examples/bridge/v0.14.0, upstream/master, origin/master, origin/HEAD) Release v0.14.0 (#1355)
34aa681 revert part of #1334. Move binary propagation to contrib (#1353)
6eb6801 Some cleanups in otlp exporter (#1350)
5b5b4ab Update OTLP to v0.6.0 (#1354)
4619c06 Add opencensus bridge example and readme (#1348)
2c2f985 Add missing tests for attributesMap (#1337)
fd3c82b support exact kind in OTLP metrics exporter (#1309)
c857a3d Pass options to configured TracerProvider (#1329)
7022c12 Update the package docs for the new API layout (#1346)
bbc9465 Add opencensus binary propagation to bridge (#1334)
73a0539 chore(semconv): Add PR number to changelog (#1323)
3207770 Set telemetry.sdk.name resource attribute to "opentelemetry" (#1332)
380d945 s/HTTPUrlKey/HTTPURLKey/ in semconv (#1338)
3d6e8b5 Move Version function and code from global to toplevel (#1330)
20c78fe Bump github.com/google/go-cmp from 0.5.2 to 0.5.3 (#1339)
070b657 Add parent context to SpanProcessor.OnStart (#1333)
63a1114 Move baggage and propagation to separate packages (#1325)
f6df5df add opencensus tracing bridge (#1305)
27aa1f6 update go documentation badge image (#1322)
75d4911 Move metric code to a separate package (#1321)
386331a Prepare to move metrics code to separate subpackage (#1316)
f9984f2 Support configurable AggregationTemporality in exporters; add OTLP missing sum point temporality/monotonic fields (#1296)
3a06b39 Update span collection limits to 1000 (#1318)
b7508da Export non monotonic counters as gauge values from the prometheus exporter (#1269)
757030d Update Span End method documentation (#1310)
a354c02 Clean up SDK span field docs (#1312)
1041ada Bump github.com/golangci/golangci-lint in /internal/tools (#1315)
3268501 Move tracing code to trace package (#1307)
9ac3a08 Remove MockSpan and MockTracer (#1306)
c9ae670 Fix zipkin example module name (#1308)
e22a48d chore: adds vanity import for files that don't have it. (#1297)
911d7be Check marshalled value instead of iface (#1299)
238d2c0 Bump github.com/golangci/golangci-lint in /internal/tools (#1301)
187adeb Change resource.New() to use functional options; add builtin attributes for (host., telemetry.sdk.) (#1235)
0341956 Update README and documentation to better communicate pre-GA state (#1281)
23e32b1 Minor readability fixes to the Jeager example (#1282)
d98ad10 Fix Code.UnmarshalJSON to work with valid json only (#1276)
a6b31e0 Update SpanProcessor Shutdown with context and error (#1264)
412ee70 Fix typo in example (#1278)
da3f60a Bump github.com/golangci/golangci-lint in /internal/tools (#1274)
d75ccbb Add a Shutdown method to sdk TraceProvider (#1227)
230bdd1 Add SpanContextFromContext() (#1255)
c9bc90b Renaming otcorrelations header to baggage (#1267)
d6dd84f...

Read more

Release v0.13.0

08 Oct 22:24
v0.13.0
9ebca88
Compare
Choose a tag to compare

Added

  • OTLP Metric exporter supports Histogram aggregation. (#1209)
  • The Code struct from the go.opentelemetry.io/otel/codes package now supports JSON marshaling and unmarshaling as well as implements the Stringer interface. (#1214)
  • A Baggage API to implement the OpenTelemetry specification. (#1217)

Changed

  • Set default propagator to no-op propagator. (#1184)
  • The HTTPSupplier, HTTPExtractor, HTTPInjector, and HTTPPropagator from the go.opentelemetry.io/otel/api/propagation package were replaced with unified TextMapCarrier and TextMapPropagator in the go.opentelemetry.io/otel package. (#1212)
  • The New function from the go.opentelemetry.io/otel/api/propagation package was replaced with NewCompositeTextMapPropagator in the go.opentelemetry.io/otel package. (#1212)
  • The status codes of the go.opentelemetry.io/otel/codes package have been updated to match the latest OpenTelemetry specification.
    They now are Unset, Error, and Ok.
    They no longer track the gRPC codes. (#1214)
  • The StatusCode field of the SpanData struct in the go.opentelemetry.io/otel/sdk/export/trace package now uses the codes package from this package instead of the gRPC project. (#1214)
  • Move the go.opentelemetry.io/otel/api/baggage package into go.opentelemetry.io/otel/propagators. (#1217)

Fixed

  • Copies of data from arrays and slices passed to go.opentelemetry.io/otel/label.ArrayValue() are now used in the returned Value instead of using the mutable data itself. (#1226)

Removed

  • The ExtractHTTP and InjectHTTP functions from the go.opentelemetry.io/otel/api/propagation package were removed. (#1212)
  • The Propagators interface from the go.opentelemetry.io/otel/api/propagation package was removed to conform to the OpenTelemetry specification.
    The explicit TextMapPropagator type can be used in its place as this is the Propagator type the specification defines. (#1212)
  • The SetAttribute method of the Span from the go.opentelemetry.io/otel/api/trace package was removed given its redundancy with the SetAttributes method. (#1216)
  • The internal implementation of Baggage storage is removed in favor of using the new Baggage API functionality. (#1217)
  • Remove duplicate hostname key HostHostNameKey in Resource semantic conventions. (#1219)
  • Nested array/slice support has been removed. (#1226)

Raw changes made between v0.12.0 and v0.13.0

9ebca88 Pre release v0.13.0 (#1231)
5660b0b Update label.ArrayValue to store copies of 1D arrays (#1226)
577b217 Update codes to match specification (#1214)
e9c80e6 Bump github.com/openzipkin/zipkin-go from 0.2.4 to 0.2.5 in /exporters/trace/zipkin (#1224)
b0fd424 Bump github.com/itchyny/gojq from 0.11.1 to 0.11.2 in /internal/tools (#1225)
5e66340 Add Baggage API and move Baggage propagator (#1217)
de50711 feat(span): remove SetAttribute method (#1216)
6e184cd Update propagation to conform with OpenTelemetry specification (#1212)
dc79f7f Remove duplicate hostname in Resource (#1219)
423c891 Set default propagator to no-op propagator (#1204)
04297f4 Enable exporting Histogram aggregation to OTLP metric (#1209)
a69f8fb Add integration tests for span processor ordering (#1208)
3a9f5fe Test benchmarks in precommit (#1207)

Release v0.12.0

24 Sep 23:08
v0.12.0
0b348c3
Compare
Choose a tag to compare

Added

  • A SpanConfigure function in go.opentelemetry.io/otel/api/trace to create a new SpanConfig from SpanOptions. (#1108)
  • In the go.opentelemetry.io/otel/api/trace package, NewTracerConfig was added to construct new TracerConfigs.
    This addition was made to conform with our project option conventions. (#1155)
  • Instrumentation library information was added to the Zipkin exporter. (#1119)
  • The SpanProcessor interface now has a ForceFlush() method. (#1166)
  • More semantic conventions for k8s as resource attributes. (#1167)

Changed

  • Add reconnecting udp connection type to Jaeger exporter.
    This change adds a new optional implementation of the udp conn interface used to detect changes to an agent's host dns record.
    It then adopts the new destination address to ensure the exporter doesn't get stuck. This change was ported from jaegertracing/jaeger-client-go#520. (#1063)
  • Replace StartOption and EndOption in go.opentelemetry.io/otel/api/trace with SpanOption.
    This change is matched by replacing the StartConfig and EndConfig with a unified SpanConfig. (#1108)
  • Replace the LinkedTo span option in go.opentelemetry.io/otel/api/trace with WithLinks.
    This is be more consistent with our other option patterns, i.e. passing the item to be configured directly instead of its component parts, and provides a cleaner function signature. (#1108)
  • The go.opentelemetry.io/otel/api/trace TracerOption was changed to an interface to conform to project option conventions. (#1109)
  • Move the B3 and TraceContext from within the go.opentelemetry.io/otel/api/trace package to their own go.opentelemetry.io/otel/propagators package.
    This removal of the propagators is reflective of the OpenTelemetry specification for these propagators as well as cleans up the go.opentelemetry.io/otel/api/trace API. (#1118)
  • Rename Jaeger tags used for instrumentation library information to reflect changes in OpenTelemetry specification. (#1119)
  • Rename ProbabilitySampler to TraceIDRatioBased and change semantics to ignore parent span sampling status. (#1115)
  • Move tools package under internal. (#1141)
  • Move go.opentelemetry.io/otel/api/correlation package to go.opentelemetry.io/otel/api/baggage. (#1142)
    The correlation.CorrelationContext propagator has been renamed baggage.Baggage. Other exported functions and types are unchanged.
  • Rename ParentOrElse sampler to ParentBased and allow setting samplers depending on parent span. (#1153)
  • In the go.opentelemetry.io/otel/api/trace package, SpanConfigure was renamed to NewSpanConfig. (#1155)
  • Change dependabot.yml to add a Skip Changelog label to dependabot-sourced PRs. (#1161)
  • The configuration style guide has been updated to
    recommend the use of newConfig() instead of configure(). (#1163)
  • The otlp.Config type has been unexported and changed to otlp.config, along with its initializer. (#1163)
  • Ensure exported interface types include parameter names and update the
    Style Guide to reflect this styling rule. (#1172)
  • Don't consider unset environment variable for resource detection to be an error. (#1170)
  • Rename go.opentelemetry.io/otel/api/metric.ConfigureInstrument to NewInstrumentConfig and
    go.opentelemetry.io/otel/api/metric.ConfigureMeter to NewMeterConfig.
  • ValueObserver instruments use LastValue aggregator by default. (#1165)
  • OTLP Metric exporter supports LastValue aggregation. (#1165)
  • Move the go.opentelemetry.io/otel/api/unit package to go.opentelemetry.io/otel/unit. (#1185)
  • Rename Provider to MeterProvider in the go.opentelemetry.io/otel/api/metric package. (#1190)
  • Rename NoopProvider to NoopMeterProvider in the go.opentelemetry.io/otel/api/metric package. (#1190)
  • Rename NewProvider to NewMeterProvider in the go.opentelemetry.io/otel/api/metric/metrictest package. (#1190)
  • Rename Provider to MeterProvider in the go.opentelemetry.io/otel/api/metric/registry package. (#1190)
  • Rename NewProvider to NewMeterProvider in the go.opentelemetry.io/otel/api/metri/registryc package. (#1190)
  • Rename Provider to TracerProvider in the go.opentelemetry.io/otel/api/trace package. (#1190)
  • Rename NoopProvider to NoopTracerProvider in the go.opentelemetry.io/otel/api/trace package. (#1190)
  • Rename Provider to TracerProvider in the go.opentelemetry.io/otel/api/trace/tracetest package. (#1190)
  • Rename NewProvider to NewTracerProvider in the go.opentelemetry.io/otel/api/trace/tracetest package. (#1190)
  • Rename WrapperProvider to WrapperTracerProvider in the go.opentelemetry.io/otel/bridge/opentracing package. (#1190)
  • Rename NewWrapperProvider to NewWrapperTracerProvider in the go.opentelemetry.io/otel/bridge/opentracing package. (#1190)
  • Rename Provider method of the pull controller to MeterProvider in the go.opentelemetry.io/otel/sdk/metric/controller/pull package. (#1190)
  • Rename Provider method of the push controller to MeterProvider in the go.opentelemetry.io/otel/sdk/metric/controller/push package. (#1190)
  • Rename ProviderOptions to TracerProviderConfig in the go.opentelemetry.io/otel/sdk/trace package. (#1190)
  • Rename ProviderOption to TracerProviderOption in the go.opentelemetry.io/otel/sdk/trace package. (#1190)
  • Rename Provider to TracerProvider in the go.opentelemetry.io/otel/sdk/trace package. (#1190)
  • Rename NewProvider to NewTracerProvider in the go.opentelemetry.io/otel/sdk/trace package. (#1190)
  • Renamed SamplingDecision values to comply with OpenTelemetry specification change. (#1192)
  • Renamed Zipkin attribute names from ot.status_code & ot.status_description to otel.status_code & otel.status_description. (#1201)
  • The default SDK now invokes registered SpanProcessors in the order they were registered with the TracerProvider. (#1195)

Removed

  • Remove the B3 propagator from go.opentelemetry.io/otel/propagators. It is now located in the
    go.opentelemetry.io/contrib/propagators/ module. (#1191)
  • Remove the semantic convention for HTTP status text, HTTPStatusTextKey from package go.opentelemetry.io/otel/semconv. (#1194)

Fixed

  • Zipkin example no longer mentions ParentSampler, corrected to ParentBased. (#1171)
  • Fix missing shutdown processor in otel-collector example. (#1186)
  • Fix missing shutdown processor in basic and namedtracer examples. (#1197)

Raw changes made between v0.11.0 and v0.12.0

0b348c3 (HEAD -> master, tag: v0.12.0, tag: sdk/v0.12.0, tag: exporters/trace/zipkin/v0.12.0, tag: exporters/trace/jaeger/v0.12.0, tag: exporters/stdout/v0.12.0, tag: exporters/otlp/v0.12.0, tag: exporters/metric/prometheus/v0.12.0, tag: exa
mple/zipkin/v0.12.0, tag: example/prometheus/v0.12.0, tag: example/otel-collector/v0.12.0, tag: example/namedtracer/v0.12.0, tag: example/jaeger/v0.12.0, tag: example/basic/v0.12.0, tag: bridge/opentracing/v0.12.0, origin/master, origin/HEAD) Prepare v0.12.0 release (#1205)
8c3cc43 Use LastValue by default for ValueObserver instruments (#1165)
304d4cd ensure batch span processors are shutdown in examples (#1199)
1e72b51 Add example test for a custom SpanProcessor (#1196)
b97533a Register/unregister in the fixed order (#1198)
559fecd Update the attribute names for the OTel attributes for the zipkin exporter (#1201)
7d71867 Rename *Provider names (#1190)
5dd2962 Remove semantic convention for http status text (#1194)
038f505 Remove B3 propagator from otel repo (#1191)
e7e1dce Update sampling decision names (#1192)
b9357d7 Remove flaky BatchSpanProcessor.ForceFlush() test (#1189)
fa74147 Bump google.golang.org/api from 0.31.0 to 0.32.0 in /exporters/trace/jaeger (#1188)
4b46365 Move api/unit to top level (#1185)
930b4d0 Fix missing shutdown of the batch processor (#1186)
995be31 Add ForceFlush() method to SpanProcessor interface (#1166)
a12224a Ensure exported interfaces have named method parameters (#1172)
2621bd4 Convert XConfigure into constructor for metrics (#1175)
3de7a07 Merge otel into one file and add package doc (#1176)
1f7c220 Don't consider unset env var to be an error during resource detection (#1170)
77de199 Minor change: ParentSampler -> ParentBased in Zipkin example description (#1171)
6f048eb Add more semantic conventions for k8s as resource attributes (#1167)
d91de43 Recommend use of initializers for config structs (#1163)
c9726ef Allow up to 0.5% coverage change before failing build (#1162)
0041e2d Rename ParentOrElse sampler to ParentBased and enhance it according to the spec (#1153)
34c02d1 Add Skip Changelog label to Dependabot-sourced PRs (#1161)
9f45258 Convert XConfigure into constructors (#1155)
a787f09 Update CONTRIBUTING.md to reflect PR process-as-applied (#1159)
36c323f Add the missing vanity import ...

Read more

Release v0.11.0

25 Aug 03:47
v0.11.0
1f2eba2
Compare
Choose a tag to compare

Added

  • Noop and InMemory SpanBatcher implementations to help with testing integrations. (#994)
  • Integration tests for more OTel Collector Attribute types. (#1062)
  • A dimensionality-reducing metric Processor. (#1057)
  • Support for filtering metric label sets. (#1047)
  • Support for exporting array-valued attributes via OTLP. (#992)

Changed

  • Rename sdk/metric/processor/test to sdk/metric/processor/processortest. (#1049)
  • Rename sdk/metric/controller/test to sdk/metric/controller/controllertest. (#1049)
  • Rename api/testharness to api/apitest. (#1049)
  • Rename api/trace/testtrace to api/trace/tracetest. (#1049)
  • Change Metric Processor to merge multiple observations. (#1024)
  • The go.opentelemetry.io/otel/bridge/opentracing bridge package has been made into its own module.
    This removes the package dependencies of this bridge from the rest of the OpenTelemetry based project. (#1038)
  • Renamed go.opentelemetry.io/otel/api/standard package to go.opentelemetry.io/otel/semconv to avoid the ambiguous and generic name standard and better describe the package as containing OpenTelemetry semantic conventions. (#1016)
  • The environment variable used for resource detection has been changed from OTEL_RESOURCE_LABELS to OTEL_RESOURCE_ATTRIBUTES (#1042)
  • Replace WithSyncer with WithBatcher in examples. (#1044)
  • Replace the google.golang.org/grpc/codes dependency in the API with an equivalent go.opentelemetry.io/otel/codes package. (#1046)
  • Merge the go.opentelemetry.io/otel/api/label and go.opentelemetry.io/otel/api/kv into the new go.opentelemetry.io/otel/label package. (#1060)
  • Unify Callback Function Naming.
    Rename *Callback with *Func. (#1061)
  • CI builds validate against last two versions of Go, dropping 1.13 and adding 1.15. (#1064)

Removed

  • Duplicate, unused API sampler interface. (#999)
    Use the Sampler interface provided by the SDK instead.
  • The grpctrace instrumentation was moved to the go.opentelemetry.io/contrib repository and out of this repository.
    This move includes moving the grpc example to the go.opentelemetry.io/contrib as well. (#1027)
  • The WithSpan method of the Tracer interface.
    The functionality this method provided was limited compared to what a user can provide themselves.
    It was removed with the understanding that if there is sufficient user need it can be added back based on actual user usage. (#1043)
  • The RegisterSpanProcessor and UnregisterSpanProcessor functions.
    These were holdovers from an approach prior to the TracerProvider design. They were not used anymore. (#1077)
  • The oterror package. (#1026)
  • The othttp and httptrace instrumentations were moved to go.opentelemetry.io/contrib. (#1032)

Fixed

  • The semconv.HTTPServerMetricAttributesFromHTTPRequest() function no longer generates the high-cardinality http.request.content.length label. (#1031)
  • Correct instrumentation version tag in Jaeger exporter. (#1037)
  • The SDK span will now set an error event if the End method is called during a panic (i.e. it was deferred). (#1043)
  • Move internally generated protobuf code from the go.opentelemetry.io/otel to the OTLP exporter to reduce dependency overhead. (#1050)
  • The otel-collector example referenced outdated collector processors. (#1006)

Release v0.10.0

30 Jul 16:06
v0.10.0
fd61d2e
Compare
Choose a tag to compare

This release migrates the default OpenTelemetry SDK into its own Go module, decoupling the SDK from the API and reducing dependencies for instrumentation packages.

Added

  • The Zipkin exporter now has NewExportPipeline and InstallNewPipeline constructor functions to match the common pattern.
    These function build a new exporter with default SDK options and register the exporter with the global package respectively. (#944)
  • Add propagator option for gRPC instrumentation. (#986)
  • The testtrace package now tracks the trace.SpanKind for each span. (#987)

Changed

  • Replace the RegisterGlobal Option in the Jaeger exporter with an InstallNewPipeline constructor function.
    This matches the other exporter constructor patterns and will register a new exporter after building it with default configuration. (#944)
  • The trace (go.opentelemetry.io/otel/exporters/trace/stdout) and metric (go.opentelemetry.io/otel/exporters/metric/stdout) stdout exporters are now merged into a single exporter at go.opentelemetry.io/otel/exporters/stdout.
    This new exporter was made into its own Go module to follow the pattern of all exporters and decouple it from the go.opentelemetry.io/otel module. (#956, #963)
  • Move the go.opentelemetry.io/otel/exporters/test test package to go.opentelemetry.io/otel/sdk/export/metric/metrictest. (#962)
  • The go.opentelemetry.io/otel/api/kv/value package was merged into the parent go.opentelemetry.io/otel/api/kv package. (#968)
    • value.Bool was replaced with kv.BoolValue.
    • value.Int64 was replaced with kv.Int64Value.
    • value.Uint64 was replaced with kv.Uint64Value.
    • value.Float64 was replaced with kv.Float64Value.
    • value.Int32 was replaced with kv.Int32Value.
    • value.Uint32 was replaced with kv.Uint32Value.
    • value.Float32 was replaced with kv.Float32Value.
    • value.String was replaced with kv.StringValue.
    • value.Int was replaced with kv.IntValue.
    • value.Uint was replaced with kv.UintValue.
    • value.Array was replaced with kv.ArrayValue.
  • Rename Infer to Any in the go.opentelemetry.io/otel/api/kv package. (#972)
  • Rename go.opentelemetry.io/otel/sdk/metric/aggregator/test package to go.opentelemetry.io/otel/sdk/metric/aggregator/aggregatortest. (#980)
  • Make the SDK into its own Go module called go.opentelemetry.io/otel/sdk. (#985)
  • Changed the default trace Sampler from AlwaysOn to ParentOrElse(AlwaysOn). (#989)

Removed

  • The IndexedAttribute function from the go.opentelemetry.io/otel/api/label package was removed in favor of IndexedLabel which it was synonymous with. (#970)

Fixed

  • Bump github.com/golangci/golangci-lint from 1.28.3 to 1.29.0 in /tools. (#953)
  • Bump github.com/google/go-cmp from 0.5.0 to 0.5.1. (#957)
  • Use global.Handle for span export errors in the OTLP exporter. (#946)
  • Correct Go language formatting in the README documentation. (#961)
  • Remove default SDK dependencies from the go.opentelemetry.io/otel/api package. (#977)
  • Remove default SDK dependencies from the go.opentelemetry.io/otel/instrumentation package. (#983)
  • Move documented examples for go.opentelemetry.io/otel/instrumentation/grpctrace interceptors into Go example tests. (#984)

Raw changes made between v0.9.0 and v0.10.0

fd61d2e (HEAD -> master, tag: v0.10.0, tag: sdk/v0.10.0, tag: exporters/trace/zipkin/v0.10.0, tag: exporters/trace/jaeger/v0.10.0, tag: exporters/stdout/v0.10.0, tag: exporters/otlp/v0.10.0, tag: exporters/metric/prometheus/v0.10.0, tag: example/zipkin/v0.10.0, tag: example/prometheus/v0.10.0, tag: example/otel-collector/v0.10.0, tag: example/namedtracer/v0.10.0, tag: example/jaeger/v0.10.0, tag: example/http/v0.10.0, tag: example/grpc/v0.10.0, tag: example/basic/v0.10.0, upstream/master, origin/master, origin/HEAD) Release v0.10.0 (#990)
1299210 Change default Sampler to ParentOrElse(AlwaysOn) (#989)
fa883d4 testtrace.Span tracks and returns its SpanKind. (#987)
26e85e1 Add propagator option for gRPC instrumentation (#986)
8fbaa9d Make the SDK into its own Go module (#985)
d6bf2fb Decouple instrumentation from SDK (#983)
42c2a86 Move grpctrace examples from comment to code (#984)
e06c9da Rename aggregator/test to aggregatortest (#980)
67a2c23 Update Changelog (#982)
2833212 Decouple API from SDK (#977)
7f1dc4a Update Contributing style guide section (#971)
6917167 Rename kv.Infer to kv.Any (#969) (#972)
c9c8137 Remove IndexedAttribute from api/label (#970)
3b01a85 Make the stdout exporter a package (#963)
c6611f4 Move export test package to SDK (#962)
d99ac09 Remove sub-package value from kv (#968)
fd54b6c paivagustavo to emeritus for now (#960)
7918070 README: fixup spaces on code example (#961)
452256c Unify trace and metric stdout exporters (#956)
f31d8ec Unify trace and metric exporter helpers (#944)
c5d77d2 Bump github.com/google/go-cmp from 0.5.0 to 0.5.1 (#957)
c8b657e use global handler for span export err in otlp (#946)
f6b51df Bump github.com/golangci/golangci-lint from 1.28.3 to 1.29.0 in /tools (#953)