Skip to content

Release v0.8.0

Compare
Choose a tag to compare
@MrAlias MrAlias released this 10 Jul 16:31
v0.8.0
aff7a80

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)