OpenTelemetry
-
The default resource provided by
ResourceBuilder.CreateDefault()
now adds
thetelemetry.sdk.*
attributes defined in the
specification.
(#4369) -
Fixed an issue with
HashCode
computations throwing exceptions on .NET
Standard 2.1 targets.
(#4362) -
Update value of the resource attribute
telemetry.sdk.version
to show the tag
name which resembles the package version of the SDK.
(#4375) -
Obsoleted
State
andStateValues
properties and addedBody
and
Attributes
properties onLogRecord
. Note:LogRecord.Attributes
and
LogRecord.StateValues
point to the same data. "Attributes" is what the
OpenTelemetry Specification defines so this was changed for clarity &
consistency with the specification.
(#4334) -
Tweaked the behavior of the
OpenTelemetryLoggerOptions.ParseStateValues
flag:-
LogRecord.Attributes
(akaLogRecord.StateValues
) are now automatically
included for all log messages with states implementingIReadOnlyList
or
IEnumerable
. -
OpenTelemetryLoggerOptions.ParseStateValues
is now used to tell the SDK to
parse (using reflection) attributes for custom states which do not implement
IReadOnlyList
orIEnumerable
. Only top-level properties are included. -
LogRecord.State
will only be set to the raw state object if no attributes
are found.
See #4334
for details. -
-
If a template (
{OriginalFormat}
attribute) cannot be found on log messages a
formatted message will now automatically be generated (even if
OpenTelemetryLoggerOptions.IncludeFormattedMessage
is set tofalse
).
(#4334)
OpenTelemetry.Api.ProviderBuilderExtensions
-
Fixed a bug which prevented the
TracerProviderBuilder.AddInstrumentation(IServiceProvider, TracerProvider)
factory extension from being called during construction of the SDK
TracerProvider
.
(#4468) -
Added an
IServiceCollection.ConfigureOpenTelemetryTracerProvider
overload
which may be used to configureTracerProviderBuilder
s while the
IServiceCollection
is modifiable (before theIServiceProvider
has been
created).
(#4508)
OpenTelemetry.Exporter.Console
-
Add display of bucket boundaries when using exponential histograms.
(#4507) -
Added direct reference to
System.Text.Encodings.Web
with minimum version of
4.7.2
in response to CVE-2021-26701. -
Updated
LogRecord
console output:Body
is now shown (if set),
StateValues
are now written asAttributes
, andState
is no longer
processed.
(#4334)
OpenTelemetry.Exporter.Jaeger
- Added direct reference to
System.Text.Encodings.Web
with minimum version of
4.7.2
in response to CVE-2021-26701.
OpenTelemetry.Exporter.OpenTelemetryProtocol
- Revert version of
Google.Protobuf
to3.19.4
(see
#4201).
This also reintroduces theSystem.Reflection.Emit.Lightweight
dependency.
(#4407)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
-
The
OpenTelemetryLoggerOptions.AddOtlpExporter
extension no longer
automatically setsOpenTelemetryLoggerOptions.ParseStateValues
totrue
.
The OpenTelemetry SDK now automatically setsAttributes
(akaStateValues
)
for the common cases whereParseStateValues
was previously required.
ParseStateValues
can be set totrue
manually by users to enable parsing of
custom states which do not implementIReadOnlyList
/IEnumerable
interfaces.
(#4334) -
Updated to use the new
LogRecord.Attributes
field asLogRecord.StateValues
is now marked obsolete. There is no impact to transmitted data (StateValues
andAttributes
are equivalent).
(#4334) -
Fixed issue where the
observed time
field of the OTLP log record was not set. It is now correctly set to equal
the
time
field.
(#4444)
OpenTelemetry.Exporter.Zipkin
- Added direct reference to
System.Text.Encodings.Web
with minimum version of
4.7.2
in response to CVE-2021-26701.