OpenTelemetry - CNCF/opentelemetry-dotnet: Release 1.0.0-rc2

Name: opentelemetry-dotnet

Owner: OpenTelemetry - CNCF

Release: 1.0.0-rc2

Released: 2021-01-30

License: Apache-2.0

Release Assets:

OpenTelemetry

  • The following extension methods on ResourceBuilder has been moved from the OpenTelemetry namespace to the OpenTelemetry.Resources namespace: AddEnvironmentVariableDetector, AddAttributes, AddService, and AddTelemetrySdk. (#1576)
  • Metrics API/SDK support is in an experimental state and is not recommended for production use. All metric APIs have been marked with the Obsolete attribute. See #1501 for more information. (#1611)
  • Modified SimpleExportProcessor and BatchExportProcessor to abstract classes; Added SimpleActivityExportProcessor, SimpleLogRecordExportProcessor, BatchActivityExportProcessor, BatchLogRecordExportProcessor; Added the check for Activity.Recorded in SimpleActivityExportProcessor and BatchActivityExportProcessor (#1622)
  • Added check in ActivitySourceAdapter class for root activity if traceid is overridden by calling SetParentId (#1355)
  • Resource Attributes now accept int, short, and float as values, converting them to supported data types (long for int/short, double for float). For invalid attributes we now throw an exception instead of logging an error. (#1720)
  • Merging "this" resource with an "other" resource now prioritizes the "other" resource's attributes in a conflict. We've rectified to follow a recent change to the spec. We previously prioritized "this" resource's tags. (#1728)
  • BatchExportProcessor will now flush any remaining spans left in a Batch after the export operation has completed. (#1726)
  • Fixed a bug to allow the Self Diagnostics log file to be opened simutaneously by another process in read-only mode for .NET Framework. (#1693)
  • Metrics removed as it is not part 1.0.0 release. See issue #1501 for details on Metric release plans.
  • Fix Resource attribute telemetry.sdk.version to have correct file version.

OpenTelemetry.Api

  • In order to align with the spec the Status (otel.status_code) tag (added on Activity using the SetStatus extension) will now be set as the UNSET, OK, or ERROR string representation instead of the 0, 1, or 2 integer representation. (#1579 & #1620)
  • Metrics API/SDK support is in an experimental state and is not recommended for production use. All metric APIs have been marked with the Obsolete attribute. See #1501 for more information. (#1611)
  • Status.WithDescription will now ignore the provided description if the Status.StatusCode is anything other than ERROR. (#1655)
  • Metrics removed as it is not part 1.0.0 release. See issue #1501 for details on Metric release plans.
  • Relax System.Diagnostics.DiagnosticSource version requirement to allow versions >=5.0. Previously only versions up to 6.0 (excluding 6.0) was allowed.

OpenTelemetry.Exporter.Console

  • AddConsoleExporter extension method for logs moved from OpenTelemetry.Trace namespace to OpenTelemetry.Logs namespace. (#1576)

  • Added ConsoleActivityExporter and ConsoleLogExporter. Refactored ConsoleExporter to get rid of type specific check in the class (#1593)

  • Replaced Debug.WriteLine with Trace.WriteLine to display the logs to the Debug window with Release configuration (#1719)

OpenTelemetry.Exporter.InMemory

  • AddInMemoryExporter extension method for traces moved from OpenTelemetry namespace to OpenTelemetry.Trace namespace. (#1576)
  • AddInMemoryExporter extension method for logs moved from Microsoft.Extensions.Logging namespace to OpenTelemetry.Logs namespace. (#1576)

OpenTelemetry.Exporter.Jaeger

  • Changed JaegerExporter class and constructor from internal to public. (#1612)

  • In JaegerExporterOptions: Exporter options now include a switch for Batch vs Simple exporter, and settings for batch exporting properties.

  • Jaeger will now set the error tag when otel.status_code is set to ERROR. (#1579 & #1620)

  • Jaeger will no longer send the otel.status_code tag if the value is UNSET. (#1609 & #1620)

  • Span Event.Name will now be populated as the event field on Jaeger Logs instead of message. (#1609)

  • JaegerExporter batch format has changed to be compliant with the spec. This may impact the way spans are displayed in Jaeger UI. (#1732)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Changed OltpTraceExporter class and constructor from internal to public. (#1612)

  • In OtlpExporterOptions.cs: Exporter options now include a switch for Batch vs Simple exporter, and settings for batch exporting properties.

  • Introduce a netstandard2.1 build enabling the exporter to use the gRPC for .NET library instead of the gRPC for C# library for .NET Core 3.0+ applications. This required some breaking changes to the OtlpExporterOptions. (#1662)

OpenTelemetry.Exporter.Zipkin

  • Changed ZipkinExporter class and constructor from internal to public. (#1612)

  • Zipkin will now set the error tag to the Status.Description value or an empty string when Status.StatusCode (otel.status_code tag) is set to ERROR. (#1579, #1620, & #1655)

  • Zipkin will no longer send the otel.status_code tag if the value is UNSET. (#1609 & #1620)

  • Zipkin bool tag values will now be sent as true/false instead of True/False. (#1609)

  • Span tags will no longer be populated with Resource Attributes. (#1663)

  • Spans will no longer be held in memory indefinitely when ZipkinExporter cannot connect to the configured endpoint. (#1726)

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

  • otel.status_description tag will no longer be set to the http status description/reason phrase for outgoing http spans. (#1579)

  • Moved the DiagnosticListener filtering logic from HttpClientInstrumentation ctor to OnStartActivity method of HttpHandlerDiagnosticListener.cs; Updated the logic of OnStartActivity to inject propagation data into Headers for filtered out events as well. (#1707)

OpenTelemetry.Instrumentation.SqlClient

  • Microsoft.Data.SqlClient v2.0.0 and higher is now properly instrumented on .NET Framework. (#1599)
  • SqlClientInstrumentationOptions API changes: SetStoredProcedureCommandName and SetTextCommandContent have been renamed to SetDbStatementForStoredProcedure and SetDbStatementForText. They are now only available on .NET Core. On .NET Framework they are replaced by a single SetDbStatement property.
  • On .NET Framework, "db.statement_type" attribute is no longer set for activities created by the instrumentation.
  • New setting on SqlClientInstrumentationOptions on .NET Core: RecordException can be set to instruct the instrumentation to record SqlExceptions as Activity events. (#1592)

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

  • Made the following shim classes internal: ScopeManagerShim, SpanBuilderShim, SpanContextShim, SpanShim. (#1619)

To top