You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Metrics testing components have been moved from io.opentelemetry:opentelemetry-sdk-metrics-testing to the stable io.opentelemetry:opentelemetry-sdk-testing.
While the API of the metrics SDK is now stable, there are a couple of known issues that will be addressed in the next release:
The start time is incorrect for delta metrics when the first recording for a set of attributes occurs after the first collections (#4400).
Registering multiple readers results in incorrect metrics (#4436).
SDK
Traces
Fix bug where non-runtime exception breaks BatchSpanProcessor.
Fix bug preventing attribute limits from applying to exception events.
Logs
BREAKING: Drop deprecated methods referencing InstrumentationLibraryInfo from Log SDK.
Metrics
Instrument name is validated. If invalid, a warning is logged and a noop instrument is returned.
Default unit is empty instead of 1. If an invalid unit is set, a warning is logged and empty is used.
Ensure symmetry between type of PointData and their type of exemplars (double or long).
BREAKING: Rename MetricReader#flush() to MetricReader#forceFlush().
Introduce AggregationTemporalitySelector interface for selecting aggregation temporality based on instrument. MetricReader and MetricExporter extend AggregationTemporalitySelector.
SDK Extensions
BREAKING: Remove deprecated option to specify temporality with otel.exporter.otlp.metrics.temporality. Use otel.exporter.otlp.metrics.temporality.preference instead.
Log warning when AwsXrayPropagator can't identify parent span id.
Fix prometheus exporter formatting bug when there are no attributes.
Ensure prometheus metrics with the same name are serialized as a group.
BREAKING: OtlpHttpMetricExporterBuilder and OtlpGrpcMetricExporterBuilder configure aggregation temporality via #setAggregationTemporalitySelector(AggregationTemporalitySelector).
Testing
BREAKING: Metrics testing components added to stable io.opentelemetry:opentelemetry-sdk-testing module, including InMemoryMetricReader, InMemoryMetricExporter, and MetricAssertions.assertThat(MetricData) has been moved to OpenTelemetryAssertions.assertThat(MetricData).
BREAKING: The patterns for metrics assertions have been adjusted to better align with assertj conventions. See #4444 for examples demonstrating the change in assertion patterns.
BREAKING: Metric assertion class names have been simplified.
Instrumentation scope name changed to io.opentelemetry.micrometer1shim.
Project tooling
Many improvements to the build and release workflows. Big thanks to @trask for driving standardization across opentelemetry-java, opentelemetry-java-instrumentation, and opentelemetry-java-contrib!
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
The metrics SDK is stable! New stable artifacts include:
io.opentelemetry:opentelemetry-sdk-metrics
(also now included inio.opentelemetry:opentelemetry-sdk
)io.opentelemetry:opentelemetry-exporter-otlp-metrics
(also now included inio.opentelemetry:opentelemetry-exporter-otlp
)io.opentelemetry:opentelemetry-exporter-otlp-http-metrics
io.opentelemetry:opentelemetry-sdk-metrics-testing
to the stableio.opentelemetry:opentelemetry-sdk-testing
.While the API of the metrics SDK is now stable, there are a couple of known issues that will be addressed in the next release:
SDK
Traces
BatchSpanProcessor
.Logs
InstrumentationLibraryInfo
from Log SDK.Metrics
1
. If an invalid unit is set, a warning is logged and empty is used.PointData
and their type of exemplars (double or long).MetricReader#flush()
toMetricReader#forceFlush()
.AggregationTemporalitySelector
interface for selecting aggregation temporality based on instrument.MetricReader
andMetricExporter
extendAggregationTemporalitySelector
.SDK Extensions
otel.exporter.otlp.metrics.temporality
. Useotel.exporter.otlp.metrics.temporality.preference
instead.AwsXrayPropagator
can't identify parent span id.Exporter
OtlpHttpMetricExporterBuilder
andOtlpGrpcMetricExporterBuilder
configure aggregation temporality via#setAggregationTemporalitySelector(AggregationTemporalitySelector)
.Testing
io.opentelemetry:opentelemetry-sdk-testing
module, includingInMemoryMetricReader
,InMemoryMetricExporter
, andMetricAssertions.assertThat(MetricData)
has been moved toOpenTelemetryAssertions.assertThat(MetricData)
.TraceAssert.hasSpansSatisfyingExactlyInAnyOrder(..)
methods.Micrometer shim
io.opentelemetry.micrometer1shim
.Project tooling
opentelemetry-java
,opentelemetry-java-instrumentation
, andopentelemetry-java-contrib
!🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@arminru
@cbos
@chrismgrayftsinc
@gfelbing
@jack-berg
@jkwatson
@jsuereth
@kubawach
@laurit
@mateuszrzeszutek
@middlewareman
@OliverO2
@trask
@wallezhang
@ZQiannnn
This discussion was created from the release Version v1.14.0.
Beta Was this translation helpful? Give feedback.
All reactions