Release v0.8.0
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
andcontainer.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 toCHANGELOG.md
with each pull request. (#879) - Use lowercase header names for B3 Multiple Headers. (#881)
- The B3 propagator
SingleHeader
field has been replaced withInjectEncoding
.
This new field can be set to combinations of theB3Encoding
bitmasks and will inject trace information in these encodings.
If no encoding is set, the propagator will default toMultipleHeader
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, theFaaS*
key names are appended with a suffix ofKey
. (#920)"api/standard".FaaSName
->FaaSNameKey
"api/standard".FaaSID
->FaaSIDKey
"api/standard".FaaSVersion
->FaaSVersionKey
"api/standard".FaaSInstance
->FaaSInstanceKey
Removed
- The
FlagsUnused
trace flag is removed.
The purpose of this flag was to act as the inverse ofFlagsSampled
, the inverse ofFlagsSampled
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 previousX-B3
. (#881) - The B3 propagator now correctly supports sampling only values (
b3: 0
,b3: 1
, orb3: d
) for a Single B3 Header. (#882) - The B3 propagator now propagates the debug flag.
This removes the behavior of changing the debug flag into a set sampling bit.
Instead, this now follow the B3 specification and omits theX-B3-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 be200 OK
. (#908) - Ensure
httptrace.clientTracer
closeshttp.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 anrpc.method
attribute now set to the gRPC method name. (#900, #922) - The
grpctrace
instrumentationrpc.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)