Skip to content

Releases: open-telemetry/opentelemetry-dotnet

1.0.0-rc9.2 of non-core

13 Apr 03:09
33125ac
Compare
Choose a tag to compare
Pre-release

Same bits as previous release (1.0.0-rc9.1), except bumps the requires core package versions to be 1.2.0-rc5

1.2.0-rc5 of Core Components

13 Apr 03:07
33125ac
Compare
Choose a tag to compare
Pre-release

This is the final RC for 1.2.0 release.
OpenTelemetry

  • Removed the Temporality setting on MetricReader and replaced it with
    TemporalityPreference. This is a breaking change.
    TemporalityPreference is used to determine the AggregationTemporality
    used on a per-instrument kind basis. Currently, there are two preferences:

    • Cumulative: Measurements from all instrument kinds are aggregated using
      AggregationTemporality.Cumulative.
    • Delta: Measurements from Counter, ObservableCounter, and Histogram
      instruments are aggregated using AggregationTemporality.Delta. When
      UpDownCounters are supported with
      DiagnosticSource version 7.0 onwards,
      they will be aggregated using AggregationTemporality.Cumulative.
      (#3153)
  • Fix issue where ExplicitBucketHistogramConfiguration could be used to
    configure metric streams for instruments that are not histograms. Currently,
    it is not possible to change the aggregation of an instrument with views. This
    may be possible in the future.
    (#3126)

  • Conformed to the specification to ensure that each view that an instrument
    matches results in a new metric stream. With this change it is possible for
    views to introduce conflicting metric streams. Any conflicts encountered will
    result in a diagnostic log.
    (#3148)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Updated underlying proto files to
    v0.16.0.
    The LogRecord.Name field was removed. The CategoryName provided
    when calling CreateLogger previously populated this field. For now,
    CategoryName is no longer exported via OTLP. It will be reintroduced
    in the future as an attribute.

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

1.0.0-rc9.1 of non-core componets

30 Mar 19:18
eaa2e0e
Compare
Choose a tag to compare
Pre-release

This is mostly just changing the versioning.

This version is 1.0.0-rc9.1, with next releases taking 1.0.0-rc9.2, 1.0.0-rc9.3 and so on. The previous version 1.0.0-rc10 is invalid, and will be unlisted.
See discussion on this: #2991 (comment)

Changes:
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.ZPages

OpenTelemetry.Extensions.Hosting

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

  • Updated TracerProviderBuilderExtensions.AddHttpClientInstrumentation to support
    IDeferredTracerProviderBuilder and IOptions<HttpClientInstrumentationOptions>
    (#3051)

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

1.2.0-rc4 of core components

30 Mar 19:15
eaa2e0e
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • The PeriodicExportingMetricReader now accepts an
    ExportIntervalMilliseconds of -1 indicating an infinite export interval
    period.
    (#2982)

  • Added the PeriodicExportingMetricReaderOptions.ExportTimeoutMilliseconds
    option.
    (#3038)

  • Removed MetricReaderType. This enumeration was previously used when
    configuing a metric reader with an exporter to configure whether the export
    cycle would be periodic or manual (i.e., requiring a explicit call to flush
    metrics). This change affects the push-based metric exporters: OTLP, Console,
    and InMemory. For these exporters, a manual export cycle can now be achieved
    by setting PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds
    to -1.
    (#3038)

  • Marked members of the MetricPoint struct which do not mutate state as
    readonly
    (#3065)

  • [Bug fix] OpenTelemetryLoggerProvider is now unaffected by changes to
    OpenTelemetryLoggerOptions after the LoggerFactory is built.
    (#3055)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

  • Added StatusCode, StatusDescription support to
    ConsoleActivityExporter.
    (#2929
    #3061)

  • AddConsoleExporter extension method by default sets up exporter
    to export metrics every 10 seconds.

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3073)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3100)

  • Fixed OTLP metric exporter to default to a periodic 60 second export cycle.
    A bug was introduced in #2717 that caused the OTLP metric export to default
    to a manual export cycle (i.e., requiring an explicit flush). A workaround
    for this bug has been provided
    here.
    (#2982)

  • Bumped minimum required gRPC version (2.23.0 to 2.44.0).
    Fixes issues building on Apple Silicon (M1).
    (#2963)

  • Fixed issue where the configuration of an OTLP exporter could be changed
    after instantiation by altering the original OtlpExporterOptions provided.
    (#3066)

  • TraceExporter to stop populating DeprecatedCode in OTLP Status.
    OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Added support for Activity Status and StatusDescription which were
    added to Activity from System.Diagnostics.DiagnosticSource version 6.0.
    Prior to version 6.0, setting the status of an Activity was provided by the
    .NET OpenTelemetry API via the Activity.SetStatus extension method in the
    OpenTelemetry.Trace namespace. Internally, this extension method added the
    status as tags on the Activity: otel.status_code and otel.status_description.
    Therefore, to maintain backward compatibility, the exporter falls back to using
    these tags to infer status.
    (#3003)

1.0.0-rc10 of non-core

05 Mar 04:37
6e31ab6
Compare
Choose a tag to compare
Pre-release

Most packages have no change from previous release. Only updates to use the newest API/SDK reference.

OpenTelemetry.Extensions.Hosting

  • Fixes an issue where the initialization of some aspects of the SDK can be
    delayed when using the AddOpenTelemetryTracing and
    AddOpenTelemetryMetrics methods. Namely, self-diagnostics and the default
    context propagator responsible for propagating trace context and baggage.
    (#2901)

OpenTelemetry.Instrumentation.AspNet

OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule

OpenTelemetry.Instrumentation.AspNetCore

OpenTelemetry.Instrumentation.GrpcNetClient

OpenTelemetry.Instrumentation.Http

OpenTelemetry.Instrumentation.SqlClient

OpenTelemetry.Instrumentation.StackExchangeRedis

OpenTelemetry.Shims.OpenTracing

1.2.0-RC3 of core components

05 Mar 04:36
6e31ab6
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Instantiating multiple metric instruments with the same name and also
    identical in all other respects - same type, description, and unit - result
    in a single metric stream aggregating measurements from all the identical
    instruments.

    Instantiating multiple metric instruments with the same name but differ in
    some respect - different type, description, or unit - will result in a
    separate metric stream for each distinct instrument.

    (#2916)

  • The Meter property on OpenTelemetry.Metrics.Metric has been removed.
    It now has MeterName and MeterVersion properties.
    (#2916)

  • Added support for implementing custom ResourceDetector.
    (#2949
    #2897)

  • Perf improvement for Histogram and HistogramSumCount by implementing lock-free
    updates.
    (#2951
    #2961)

OpenTelemetry.Api

  • Improved wildcard support for AddSource, AddMeter to cover ? (which
    matches exactly one character).
    (#2875)

OpenTelemetry.Exporter.Console

  • Removes metric related configuration options from ConsoleExporterOptions.
    MetricReaderType, PeriodicExporterMetricReaderOptions, and Temporality
    are now configurable via the MetricReaderOptions.
    (#2929)

OpenTelemetry.Exporter.InMemory

  • Adds the ability to configure MetricReaderOptions via the
    AddInMemoryExporter extension method.
    (#2931)

OpenTelemetry.Exporter.Jaeger

  • Change supported values for OTEL_EXPORTER_JAEGER_PROTOCOL
    Supported values: udp/thrift.compact and http/thrift.binary defined
    in the specification.
    (#2914)
  • Change handling of OTEL_EXPORTER_JAEGER_ENDPOINT to require the path to
    post. Previous versions of this library would append /api/traces to the
    value specified in this variable, but now the application author must do so.
    This change must also be made if you manually configure the
    JaegerExporterOptions class - the Endpoint must now include the path.
    For most environments, this will be /api/traces. The effective default
    is still http://localhost:14268/api/traces. This was done to match
    the clarified specification)
    (#2847)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • LogExporter bug fix to handle null EventName.
    (#2871)

  • Fixed the default endpoint for OTLP exporter over HTTP/Protobuf.
    The default value is http://localhost:4318.
    (#2868)

  • Removes metric related configuration options from OtlpExporterOptions.
    MetricReaderType, PeriodicExporterMetricReaderOptions, and Temporality
    are now configurable via the MetricReaderOptions.
    (#2717)

  • Exporter bug fix to not throw exceptions from Export method.
    (#2915)

  • OTLP LogExporter modified to not drop the whole batch if a single log from the
    batch is invalid.
    (#2934)

OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs

OpenTelemetry.Exporter.Prometheus

OpenTelemetry.Exporter.Zipkin

  • Modified Export method to catch all exceptions.
    (#2935)

1.0.0-rc9 of Instrumentation libraries and other non-core components

03 Feb 02:11
d3afacc
Compare
Choose a tag to compare

Instrumentation Libraries, OT shim, Hosting packages.
Refer to individual changelog.md files for details.

1.2.0-rc2 of core components

03 Feb 02:10
d3afacc
Compare
Choose a tag to compare
Pre-release

API, SDK, and Exporters.
Refer to individual changelog.md files for details.

1.2.0-rc1 - Core components

30 Nov 05:42
dfcaea3
Compare
Choose a tag to compare
Pre-release

OpenTelemetry

  • Prevent accessing activity Id before sampler runs in case of legacy
    activities.
    (2659)

  • Added ReadOnlyTagCollection and expose Tags on MetricPoint instead of
    Keys+Values
    (#2642)

  • Refactored MetricPoint and added public methods: GetBucketCounts,
    GetExplicitBounds, GetHistogramCount, and GetHistogramSum
    (#2657)

  • Remove MetricStreamConfiguration.Aggregation, as the feature to customize
    aggregation is not implemented yet.
    (#2660)

  • Removed the public property HistogramMeasurements and added a public method
    GetHistogramBuckets instead. Renamed the class HistogramMeasurements to
    HistogramBuckets and added an enumerator of type HistogramBucket for
    enumerating BucketCounts and ExplicitBounds. Removed GetBucketCounts and
    GetExplicitBounds methods from MetricPoint.
    (#2664)

  • Refactored temporality setting to align with the latest spec.
    (#2666)

  • Removed the public properties LongValue, DoubleValue, in favor of their
    counterpart public methods GetSumLong, GetSumDouble,
    GetGaugeLastValueLong, GetGaugeLastValueDouble.
    (#2667)

  • MetricType modified to reserve bits for future types.
    (#2693)

OpenTelemetry.Api

OpenTelemetry.Exporter.Console

  • Added configuration options for MetricReaderType to allow for configuring
    the ConsoleMetricExporter to export either manually or periodically.
    (#2648)

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Added configuration options for MetricReaderType to allow for configuring
    the OtlpMetricExporter to export either manually or periodically.
    (#2674)

  • The internal log message used when OTLP export client connection failure occurs,
    will now include the endpoint uri as well.
    (#2686)

  • Support HttpProtobuf protocol with metrics & added HttpClientFactory
    option
    (#2696)

OpenTelemetry.Exporter.Prometheus

  • Bug fix for handling Histogram with empty buckets.
    (#2651)

1.2.0-beta2 of core components

19 Nov 20:14
29ad13c
Compare
Choose a tag to compare
Pre-release

Please note that "1.2.0-beta2.1" is the version of the nugets.

OpenTelemetry

  • Renamed HistogramConfiguration to ExplicitBucketHistogramConfiguration
    and changed its member BucketBounds to Boundaries.
    (#2638)

  • Metrics with the same name but from different meters are allowed.
    (#2634)

  • Metrics SDK will not provide inactive Metrics to delta exporter.
    (#2629)

  • Histogram bounds are validated when added to a View.
    (#2573)

  • Changed BatchExportActivityProcessorOptions constructor to throw
    FormatException if it fails to parse any of the supported environment
    variables.

  • Added BaseExporter.ForceFlush.
    (#2525)

  • Exposed public Batch(T[] items, int count) constructor on Batch<T> struct
    (#2542)

  • Added wildcard support for AddMeter.
    (#2459)

  • Add support for multiple Metric readers
    (#2596)

  • Add ability to configure MaxMetricStreams, MaxMetricPointsPerMetricStream
    (#2635)

OpenTelemetry.Api

  • Updated System.Diagnostics.DiagnosticSource to version 6.0.0.
    (#2582)

OpenTelemetry.Exporter.Console

OpenTelemetry.Exporter.InMemory

OpenTelemetry.Exporter.Jaeger

  • Changed JaegerExporterOptions constructor to throw
    FormatException if it fails to parse any of the supported environment
    variables.

  • Added support for sending spans directly to a Jaeger Collector over HTTP
    (#2574)

OpenTelemetry.Exporter.OpenTelemetryProtocol

  • Changed OtlpExporterOptions constructor to throw
    FormatException if it fails to parse any of the supported environment
    variables.

  • Changed OtlpExporterOptions.MetricExportIntervalMilliseconds to default
    60000 milliseconds.
    (#2641)

OpenTelemetry.Exporter.Prometheus

  • Added scrape endpoint response caching feature &
    ScrapeResponseCacheDurationMilliseconds option
    (#2610)

OpenTelemetry.Exporter.Zipkin

  • Changed ZipkinExporterOptions constructor to throw
    FormatException if it fails to parse any of the supported environment
    variables.

New Contributors