Releases: open-telemetry/opentelemetry-dotnet
1.4.0-beta.3 / 1.0.0-rc9.9
1.4.0-beta.3
OpenTelemetry
-
Fix instrument naming enforcement implementation to match the spec.
(#3821) -
Added support for loading environment variables from
IConfiguration
when
using theMetricReaderOptions
&BatchExportActivityProcessorOptions
classes.
(#3760,
#3776) -
Added dependency injection support in the
ResourceBuilder
class and added
support for loading environment variables fromIConfiguration
for the
AddEnvironmentVariableDetector
extension
(#3782,
#3798) -
Breaking: MetricPoint API to retrieve Histogram Min, Max changed. The existing
pattern of checking if Min/Max is available withHasMinMax()
and then
retrieving the same usingGetHistogramMin()
,GetHistogramMax()
is replaced
with a single APITryGetHistogramMinMaxValues(out double min, out double max)
.
(#3822)
OpenTelemetry.Api
- Updated to System.Diagnostics.DiagnosticSource version
7.0.0-rc.2.22472.3
.
OpenTelemetry.Exporter.Console
- Bumped the minimum required version of
System.Text.Json
to 4.7.2 in response
to CVE-2021-26701.
(#3789)
LogRecordExporter to print full exception details instead of just Message, when
using ILogger
to log exception.
(#3784)
Added support to print Histogram Min, Max in MetricExporter.
OpenTelemetry.Exporter.InMemory
OpenTelemetry.Exporter.Jaeger
- Bumped the minimum required version of
System.Text.Json
to 4.7.2 in response
to CVE-2021-26701.
(#3789)
OpenTelemetry.Exporter.OpenTelemetryProtocol
- Log Exporter modified to no longer prefix scope-depth when exporting ILogger
scopes as attributes. Empty keys and {OriginalFormat} key will be ignored from
scopes.
(3843)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
OpenTelemetry.Exporter.Prometheus.AspNetCore
- Support named options in
UseOpenTelemetryPrometheusScrapingEndpoint
&
MapPrometheusScrapingEndpoint
extensions
(#3780)
OpenTelemetry.Exporter.Prometheus.HttpListener
OpenTelemetry.Exporter.Zipkin
- Bumped the minimum required version of
System.Text.Json
to 4.7.2 in response
to CVE-2021-26701.
(#3789)
OpenTelemetry.Extensions.Propagators
1.0.0-rc9.9
OpenTelemetry.Exporter.ZPages
OpenTelemetry.Extensions.Hosting
OpenTelemetry.Instrumentation.AspNetCore
-
Breaking change The
Enrich
callback option has been removed.
For better usability, it has been replaced by three separate options:
EnrichWithHttpRequest
,EnrichWithHttpResponse
andEnrichWithException
.
Previously, the singleEnrich
callback required the consumer to detect
which event triggered the callback to be invoked (e.g., request start,
response end, or an exception) and then cast the object received to the
appropriate type:HttpRequest
,HttpResponse
, orException
. The separate
callbacks make it clear what event triggers them and there is no longer the
need to cast the argument to the expected type.
(#3749) -
Added back
netstandard2.0
andnetstandard2.1
targets.
(#3755)
OpenTelemetry.Instrumentation.GrpcNetClient
Breaking change The Enrich
callback option has been removed. For better
usability, it has been replaced by two separate options:
EnrichWithHttpRequestMessage
and EnrichWithHttpResponseMessage
. Previously,
the single Enrich
callback required the consumer to detect which event
triggered the callback to be invoked (e.g., request start or response end) and
then cast the object received to the appropriate type: HttpRequestMessage
and HttpResponseMessage
. The separate callbacks make it clear what event
triggers them and there is no longer the need to cast the argument to the
expected type.
(#3804)
OpenTelemetry.Instrumentation.Http
-
Added back
netstandard2.0
target.
(#3787) -
Breaking change: The
Enrich
callback option has been removed. For better
usability, it has been replaced by three separate options: In case of
HttpClient
the new options areEnrichWithHttpRequestMessage
,
EnrichWithHttpResponseMessage
andEnrichWithException
and in case of
HttpWebRequest
the new options areEnrichWithHttpWebRequest
,
EnrichWithHttpWebResponse
andEnrichWithException
. Previously, the single
Enrich
callback required the consumer to detect which event triggered the
callback to be invoked (e.g., request start, response end, or an exception)
and then cast the object received to the appropriate type:
HttpRequestMessage
,HttpResponsemessage
, orException
in case of
HttpClient
andHttpWebRequest
,HttpWebResponse
andException
in case of
HttpWebRequest
. The separate callbacks make it clear what event triggers
them and there is no longer the need to cast the argument to the expected
type.
(#3792) -
Fixed an issue which prevented custom propagators from being called on .NET 7+
runtimes for non-sampled outgoingHttpClient
spans.
(#3828) -
Breaking change: The same API is now exposed for
net462
and
netstandard2.0
targets. TheFilter
property on options is now exposed as
FilterHttpRequestMessage
(called for .NET & .NET Core) and
FilterHttpWebRequest
(called for .NET Framework).
(#3793)
OpenTelemetry.Instrumentation.SqlClient
OpenTelemetry.Shims.OpenTracing
1.4.0-beta.2 / 1.0.0-rc9.8
1.4.0-beta.2
OpenTelemetry
-
Make recording of
Min
andMax
for histograms configurable, enabled by
default.
(#2735) -
Changed default bucket boundaries for Explicit Bucket Histogram from [0, 5,
10, 25, 50, 75, 100, 250, 500, 1000] to [0, 5, 10, 25, 50, 75, 100, 250, 500,
750, 1000, 2500, 5000, 7500, 10000].
(#3722) -
Fixed an issue where
LogRecord.ForEachScope
may return scopes from a
previous log if accessed in a custom processor before
BatchLogRecordExportProcessor.OnEnd
is fired.
(#3731) -
Added support for loading environment variables from
IConfiguration
when
usingTracerProviderBuilder
orMeterProviderBuilder
(#3720)
OpenTelemetry.Api
OpenTelemetry.Exporter.Console
OpenTelemetry.Exporter.InMemory
OpenTelemetry.Exporter.Jaeger
- Added support for loading environment variables from
IConfiguration
when
using theAddJaegerExporter
extension
(#3720)
OpenTelemetry.Exporter.OpenTelemetryProtocol
-
OTLP histogram data points will now include
Min
andMax
values when
they are present.
(#2735) -
Adds support for limiting the length and count of attributes exported from
the OTLP log exporter. These
Attribute Limits
are configured via the environment variables defined in the specification.
(#3684)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
OpenTelemetry.Exporter.Prometheus.AspNetCore
- Changed configuration class name from
PrometheusExporterOptions
toPrometheusAspNetCoreOptions
(#3717)
OpenTelemetry.Exporter.Prometheus.HttpListener
OpenTelemetry.Exporter.Zipkin
- Added support for loading environment variables from
IConfiguration
when
using theAddZipkinExporter
extension
(#3759)
OpenTelemetry.Extensions.Propagators
1.0.0-rc9.8
OpenTelemetry.Exporter.ZPages
OpenTelemetry.Extensions.Hosting
OpenTelemetry.Instrumentation.AspNetCore
OpenTelemetry.Instrumentation.GrpcNetClient
OpenTelemetry.Instrumentation.Http
- In case of .NET Core, additional spans created during retries will now be
exported.
([#3729])
OpenTelemetry.Instrumentation.SqlClient
- Use
Activity.Status
andActivity.StatusDescription
properties instead of
OpenTelemetry.Trace.Status
andOpenTelemetry.Trace.Status.Description
respectively to set activity status.
(#3118)
(#3751)
OpenTelemetry.Shims.OpenTracing
1.4.0-beta.1 / 1.0.0-rc9.7
1.4.0-beta.1
OpenTelemetry
-
Use binary search for histograms with 50 or more supplied boundaries.
(#3252) -
Allows samplers the ability to modify tracestate if desired.
(#3610) -
Added support for
UpDownCounter
andObservableUpDownCounter
instruments.
(#3606) -
Added support for dependency injection scenarios when configuring
MeterProvider
(#3646) -
Revert new logging APIs pending OTel specification changes
(#3702)
OpenTelemetry.Api
- Updated to System.Diagnostics.DiagnosticSource version
7.0.0-rc.1.22426.10
.
(#3698)
OpenTelemetry.Exporter.Console
-
Changed the behavior of
ConsoleExporter
, the exporter will stop outputting
the data if it is disposed.
(#3578) -
Added overloads which accept a name to the
MeterProviderBuilder
AddConsoleExporter
extension to allow for more fine-grained options
management
(#3648) -
Added overloads which accept a name to the
TracerProviderBuilder
AddConsoleExporter
extension to allow for more fine-grained options
management
(#3657)
OpenTelemetry.Exporter.InMemory
-
Changed error handling,
InMemoryExporter
will now throw
ObjectDisposedException
ifExport
is invoked after the exporter is
disposed.
(#3607) -
Added overloads which accept a name to the
MeterProviderBuilder
AddInMemoryExporter
extension to allow for more fine-grained options
management
(#3648)
OpenTelemetry.Exporter.Jaeger
- Added overloads which accept a name to the
TracerProviderBuilder
AddJaegerExporter
extension to allow for more fine-grained options
management
(#3656)
OpenTelemetry.Exporter.OpenTelemetryProtocol
-
Added overloads which accept a name to the
MeterProviderBuilder
AddOtlpExporter
extension to allow for more fine-grained options management
(#3648) -
Added overloads which accept a name to the
TracerProviderBuilder
AddOtlpExporter
extension to allow for more fine-grained options management
(#3653)
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
OtlpExporterOptions
can now be bound toIConfiguation
and
HttpClientFactory
may be used to manage theHttpClient
instance used when
HttpProtobuf
is configured
(#3640)
OpenTelemetry.Exporter.Prometheus.AspNetCore
- Bug fix for Prometheus Exporter reporting StatusCode 204
instead of 200, when no metrics are collected
(#3643) - Added overloads which accept a name to the
MeterProviderBuilder
AddPrometheusExporter
extension to allow for more fine-grained options
management
(#3648) - Added support for OpenMetrics UNIT metadata
(#3651) - Added
"# EOF\n"
ending following the OpenMetrics
specification
(#3654)
OpenTelemetry.Exporter.Prometheus.HttpListener
- Bug fix for Prometheus Exporter reporting StatusCode 204
instead of 200, when no metrics are collected
(#3643) - Added overloads which accept a name to the
MeterProviderBuilder
AddPrometheusHttpListener
extension to allow for more fine-grained options
management
(#3648) - Added support for OpenMetrics UNIT metadata
(#3651) - Added
"# EOF\n"
ending following the OpenMetrics
specification
(#3654)
OpenTelemetry.Exporter.Zipkin
- Added overloads which accept a name to the
TracerProviderBuilder
AddZipkinExporter
extension to allow for more fine-grained options
management
(#3655)
OpenTelemetry.Extensions.Propagators
1.0.0-rc9.7
OpenTelemetry.Exporter.ZPages
OpenTelemetry.Extensions.Hosting
-
Dependency injection support when configuring
TracerProvider
has been moved into the SDK.
(#3533) -
Dependency injection support when configuring
MeterProvider
has been moved into the SDK.
(#3646)
OpenTelemetry.Instrumentation.AspNetCore
-
Performance improvement (Reduced memory allocation) - Updated DiagnosticSource
event subscription to specific set of events.
(#3519) -
Added overloads which accept a name to the
TracerProviderBuilder
AddAspNetCoreInstrumentation
extension to allow for more fine-grained
options management
(#3661) -
Fix issue where when an application has an ExceptionFilter, the exception data
wouldn't be collected.
(#3475)
OpenTelemetry.Instrumentation.GrpcNetClient
- Added overloads which accept a name to the
TracerProviderBuilder
AddGrpcClientInstrumentation
extension to allow for more fine-grained
options management
(#3665)
OpenTelemetry.Instrumentation.Http
-
Dropped
netstandard2.0
target and addednet6.0
. .NET 5 reached EOL
in May 2022 and .NET Core 3.1 reaches EOL in December 2022. End of support
dates for .NET are published
here.
The instrumentation for HttpClient now requires .NET 6 or later.
This does not affect applications targeting .NET Framework.
(#3664) -
Added overloads which accept a name to the
TracerProviderBuilder
AddHttpClientInstrumentation
extension to allow for more fine-grained
options management
(#3664,
#3667)
OpenTelemetry.Instrumentation.SqlClient
OpenTelemetry.Shims.OpenTracing
core-1.3.1
OpenTelemetry.Api
- Added support for the .NET7 version of the
System.Diagnostics.DiagnosticSource
package (#3605). For more details, refer to the issue (#3629).
OpenTelemetry.Exporter.Jaeger
- Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).
OpenTelemetry.Exporter.OpenTelemetryProtocol
- Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).
OpenTelemetry.Exporter.Zipkin
- Fixed an issue that can crash applications when using 1.3.0 of the exporter with System.Diagnostics.DiagnosticSource 7.0+ (#3629).
1.0.0-rc9.6
OpenTelemetry.Instrumentation.AspNetCore
-
Removed
netstandard2.0
andnetstandard2.1
targets. .NET 5 reached EOL
in May 2022 and .NET Core 3.1 reaches EOL in December 2022. The
instrumentation for ASP.NET Core now requires .NET 6 or later.
(#3567) -
Fixed an issue where activity started within middleware was modified by
instrumentation library.
(#3498) -
Updated to use Activity native support from
System.Diagnostics.DiagnosticSource
to set activity status.
(#3118)
(#3555)
OpenTelemetry.Instrumentation.GrpcNetClient
- Updated to use Activity native support from
System.Diagnostics.DiagnosticSource
to set activity status.
(#3118)
(#3569)
OpenTelemetry.Instrumentation.Http
-
Updated to use Activity native support from
System.Diagnostics.DiagnosticSource
to set activity status.
(#3118)
(#3555) -
Changed activity source name from
OpenTelemetry.HttpWebRequest
toOpenTelemetry.Instrumentation.Http.HttpWebRequest
forHttpWebRequest
s
and fromOpenTelemetry.Instrumentation.Http
toOpenTelemetry.Instrumentation.Http.HttpClient
forHttpClient
.
(#3515)
core-1.4.0-alpha.2
OpenTelemetry
- Added
Sdk.CreateLoggerProviderBuilder
method and support for dependency
injection scenarios when configuringOpenTelemetryLoggerProvider
(#3504)
OpenTelemetry.Api
-
Updated to System.Diagnostics.DiagnosticSource preview version 7.0.0.
With this update, applications targeting .NET 5 and lower will receive a
warning at build time as described here
(note: building using older versions of the .NET SDK produces an error at
build time). This is because .NET 5 reached EOL in May 2022 and .NET
Core 3.1 reaches EOL in December 2022.There is no guarantee that System.Diagnostics.DiagnosticSource will continue
to work on older versions of .NET. However, the build warning can be
suppressed by setting theSuppressTfmSupportBuildWarnings
MSBuild property.This does not affect applications targeting .NET Framework.
#3539
OpenTelemetry.Exporter.OpenTelemetryProtocol
- When using Attribute
Limits
the OTLP exporter will now send "dropped" counts where applicable (ex:
dropped_attributes_count).
(#3580)
OpenTelemetry.Exporter.Prometheus.AspNetCore
-
Split up Prometheus projects based on its hosting mechanism,
HttpListener and AspNetCore, into their own projects
and assemblies.
(#3430
#3503
#3507) -
Added
IEndpointRouteBuilder
extension methods to help with Prometheus
middleware configuration on ASP.NET Core
(#3295)
OpenTelemetry.Exporter.Prometheus.HttpListener
1.0.0-rc9.5
OpenTelemetry.Instrumentation.AspNetCore
- Fix Remote IP Address - NULL reference exception.
(#3481) - Metrics instrumentation to correctly populate
http.flavor
tag.
(1.1 instead of HTTP/1.1 etc.)
(#3379) - Tracing instrumentation to populate
http.flavor
tag.
(#3372) - Tracing instrumentation to populate
http.scheme
tag.
(#3392)
OpenTelemetry.Instrumentation.Http
-
Added
http.scheme
tag to tracing instrumentation.
(#3464) -
[Breaking] Removes
SetHttpFlavor
option. "http.flavor" is
now always automatically populated.
To remove this tag, set "http.flavor" to null usingActivityProcessor
.
(#3380) -
Fix
Enrich
not getting invoked when SocketException due to HostNotFound
occurs.
(#3407)
OpenTelemetry.Instrumentation.SqlClient
- Update the
ActivitySource.Name
from "OpenTelemetry.SqlClient" to
"OpenTelemetry.Instrumentation.SqlClient".
(#3435)
core-1.4.0-alpha.1
OpenTelemetry
TracerProviderSDK
modified for spans with remote parent. For such spans
activity will be created irrespective of SamplingResult, to maintain context
propagation.
(#3329)- Fix issue where a measurement would be dropped when recording it with a
null-valued tag.
(#3325) CompositeProcessor
will now ensureParentProvider
is set on its children
(#3368)- Added
ForceFlush
and helper ctors onOpenTelemetryLoggerProvider
(#3364) Timestamp
,TraceId
,SpanId
,TraceFlags
,TraceState
,CategoryName
,
LogLevel
,EventId
, &Exception
properties onLogRecord
now expose
set
methods
(#3378)- Handle possible exception when initializing the default service name.
(#3405) LogRecord
instances are now reused to reduce memory pressure
(#3385)- Fix exact match of activity source name when
wildcard
is used.
(#3446) - Added AddOpenTelemetry
ILoggingBuilder
extensions which accept
OpenTelemetryLoggerProvider
directly
(#3489)
OpenTelemetry.Api
- Add
Activity.RecordException
overload accepting additional attributes to
add to theActivityEvent
.
#3433
OpenTelemetry.Exporter.Console
- The
MetricReaderOptions
defaults can be overridden using
OTEL_METRIC_EXPORT_INTERVAL
andOTEL_METRIC_EXPORT_TIMEOUT
environmental variables as defined in the
specification.
(#3424)
OpenTelemetry.Exporter.InMemory
-
InMemoryExporter
will now buffer scopes when exportingLogRecord
(#3360) -
The
MetricReaderOptions
defaults can be overridden using
OTEL_METRIC_EXPORT_INTERVAL
andOTEL_METRIC_EXPORT_TIMEOUT
environmental variables as defined in the
specification.
(#3424)
OpenTelemetry.Exporter.OpenTelemetryProtocol
-
Adds support for limiting the length and count of attributes exported from
the OTLP exporter. These
Attribute Limits
are configured via the environment variables defined in the specification.
(#3376) -
The
MetricReaderOptions
defaults can be overridden using
OTEL_METRIC_EXPORT_INTERVAL
andOTEL_METRIC_EXPORT_TIMEOUT
environmental variables as defined in the
specification.
(#3424)
OpenTelemetry.Extensions.Propagators
- Add
JaegerPropagator
.
(1881)
1.0.0-rc9.4 of all non core
All packages is updated to refer to 1.3.0 of the core API/.SDK. Rest of the changelog is below:
OpenTelemetry.Exporter.ZPages
- Removes .NET Framework 4.6.1. The minimum .NET Framework
version supported is .NET 4.6.2. (#3190)
OpenTelemetry.Extensions.Hosting
OpenTelemetry.Extensions.Propagators
Use own EventSource named "OpenTelemetry.Extensions.Propagators"
for internal logging.
OpenTelemetry.Instrumentation.AspNet
OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule
OpenTelemetry.Instrumentation.AspNetCore
-
Added additional metric dimensions.
(3247) -
Removes net5.0 target as .NET 5.0 is going out
of support. The package keeps netstandard2.1 target, so it
can still be used with .NET5.0 apps.
(#3147)
OpenTelemetry.Instrumentation.GrpcNetClient
- Add
netstandard2.0
target enabling the Grpc.Net.Client instrumentation to
be consumed by .NET Framework applications.
(#3105)
OpenTelemetry.Instrumentation.Http
OpenTelemetry.Instrumentation.SqlClient
OpenTelemetry.Instrumentation.StackExchangeRedis
OpenTelemetry.Shims.OpenTracing
- Removes .NET Framework 4.6.1. The minimum .NET Framework version supported is
.NET 4.6.2.
(#3190)
1.3.0 core components
Same as 1.3.0-rc.2