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.
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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps opentelemetry-api from 1.13.0 to 1.14.0.
Release notes
Sourced from opentelemetry-api's releases.
... (truncated)
Changelog
Sourced from opentelemetry-api's changelog.
... (truncated)
Commits
0e0429d
Prepare release 1.14.0 (#4447)9d28d97
Prepare changelog for 1.14.0 (#4445)e067223
Convert tests to from :sdk:metrics-testing to :sdk:testing (#4444)89c6323
Move InMemoryMetricReader and InMemoryMetricExporter to :sdk:testing (#4442)d490f5b
Add AggregationTemporalitySelector functional interface (#4438)360da3c
Parse 0-probability sampling strategies correctly (fixes: open-telemetry/open...606feb4
Bump docker/build-push-action from 2.10.0 to 3.0.0 (#4440)23793f7
Bump docker/login-action from 1 to 2 (#4441)848c073
Refactor exemplars to reduce code duplication (#4430)605f40b
Rename MetricReader#flush() to forceFlush() (#4439)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)