Skip to content

Commit 3a61673

Browse files
authored
Prepare release 1.19.0 (#4821)
* wip * Add changelog entry for 1.19.0 * Add new since annotations * Add late additions to changelog * PR feedback * Fix 1.18.0 ref
1 parent 03009ce commit 3a61673

File tree

7 files changed

+108
-6
lines changed

7 files changed

+108
-6
lines changed

CHANGELOG.md

+93-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,99 @@
22

33
## Unreleased
44

5-
* Autoconfigure now supports an option to disable the SDK.
6-
If `otel.sdk.disabled=true`, `AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()`
7-
returns a minimal (but not noop) `OpenTelemetrySdk` with noop tracing, metric and logging providers. The same minimal instance is set
8-
to `GlobalOpenTelemetry`. The now deprecated property `otel.experimental.sdk.enabled` will continue to work in the same way during a transition period.
5+
This release contains a large number of changes to the log signal following a series of significant
6+
changes to
7+
the [log specification](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/logs).
8+
The changes include renaming key classes like `LogExporter` to `LogRecordExporter`,
9+
and `LogProcessor` to `LogRecordProcessor`, and `LogEmitter` to `Logger`, and more. Additionally, a
10+
log API component has been added for emitting events and for writing log appenders. Note, the log
11+
API is not a substitute for traditional log frameworks like Log4j, JUL, SLF4J, or Logback. While the
12+
event portion of the API is intended for instrumentation authors and end users, the API for emitting
13+
LogRecords is not.
14+
See [LoggerProvider](./api/logs/src/main/java/io/opentelemetry/api/logs/LoggerProvider.java)
15+
and [Logger](./api/logs/src/main/java/io/opentelemetry/api/logs/Logger.java) javadoc for more
16+
details.
17+
18+
### General
19+
20+
* Add `opentelemetry-bom` as a dependency to `opentelemetry-bom-alpha`, ensuring synchronization
21+
between alpha and stable artifact versions.
22+
23+
### API
24+
25+
#### API Extensions
26+
27+
* WARNING: `opentelemetry-extension-annotations` has been removed following its relocation
28+
to [opentelemetry-java-instrumentation/instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation-annotations),
29+
which is published under
30+
coordinates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:{version}`.
31+
We will push security patches to `1.18.x` as needed. The latest `opentelemetry-bom` will point
32+
to the latest published version, currently `1.18.0`.
33+
34+
#### Logs
35+
36+
* Introduce log API for emitting events and writing log appenders. The artifact is available at
37+
coordinates `io.opentelemetry:opentelemetry-api-logs:1.19.0-alpha`.
38+
39+
### SDK
40+
41+
#### Metrics
42+
43+
* Change exponential histogram bucket boundaries to be lower exclusive / upper inclusive, instead of
44+
lower inclusive / upper exclusive.
45+
46+
#### Logs
47+
48+
* BREAKING: Rename `SdkLogEmitterProvider` to `SdkLoggerProvider`.
49+
`OpenTelemetrySdkBuilder#setLogEmitterProvider` has changed
50+
to `OpenTelemetrySdkBuilder#setLoggerProvider`. `OpenTelemetrySdk#getSdkLogEmitterProvider` has
51+
changed to `OpenTelemetrySdk#getSdkLoggerProvider`.
52+
`AutoConfigurationCustomizer#addLogEmitterProviderCustomizer` has changed
53+
to `AutoConfigurationCustomizer#addLoggerProviderCustomizer`.
54+
* BREAKING: Rename `LogEmitter` to `Logger`.
55+
* BREAKING: Rename `LogExporter` to `LogRecordExporter`. `SystemOutLogExporter` has changed
56+
to `SystemOutLogRecordExporter`. `OtlpJsonLoggingLogExporter` has changed
57+
to `OtlpJsonLoggingLogRecordExporter`. `OtlpHttpLogExporter` has changed
58+
to `OtlpHttpLogRecordExporter`. `OtlpGrpcLogExporter` has changed to `OtlpGrpcLogRecordExporter`.
59+
`InMemoryLogExporter` has changed to `InMemoryLogRecordExporter`.
60+
ConfigurableLogExporterProvider` has changed to `ConfigurableLogRecordExporterProvider`.
61+
* BREAKING: Rename `LogData` to `LogRecordData`. `TestLogData` has changed to `TestLogRecordData`.
62+
* BREAKING: Rename `LogProcessor` to `LogRecordProcessor`. `BatchLogProcessor` has changed
63+
to `BatchLogRecordProcessor`. `SimpleLogProcessor` has changed to `SimpleLogRecordProcessor`.
64+
65+
#### Exporter
66+
67+
* OTLP log record exporters now
68+
include [dropped_attributes_count](https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/logs/v1/logs.proto#L157).
69+
70+
#### SDK Extensions
71+
72+
* Autoconfigure now supports an option to disable the SDK. If `otel.sdk.disabled=true`,
73+
`AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()` returns a minimal (but not
74+
noop) `OpenTelemetrySdk` with noop tracing, metric and logging providers. The same minimal
75+
instance is set to `GlobalOpenTelemetry`. The now deprecated
76+
property `otel.experimental.sdk.enabled` will continue to work in the same way during a transition
77+
period.
78+
* Fix `ProcessResource` directory separator to use `/` or `\` instead of `:` or `;`.
79+
* DEPRECATION: the `opentelemetry-sdk-extension-resource` module containing
80+
various `ResourceProvider` implementations has been deprecated for removal in next major version.
81+
A copy of the code will instead be maintained
82+
in [opentelemetry-java-instrumentation/instrumentation/resources/library](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/resources/library)
83+
and published under
84+
coordinates `io.opentelemetry.instrumentation:opentelemetry-resources:{version}`.
85+
* DEPRECATION: the `opentelemetry-sdk-extension-aws` module containing AWS `ResourceProvider`
86+
implementations has been deprecated for removal in next major version. A copy of the code will
87+
instead be maintained
88+
in [opentelemetry-java-contrib/aws-resources](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-resources)
89+
and published under coordinates `io.opentelemetry.contrib:opentelemetry-aws-resources:{version}`.
90+
91+
### OpenTracing Shim
92+
93+
* Fully support Baggage-only propagation.
94+
95+
### Semantic conventions
96+
97+
* The semantic conventions have been updated to 1.13.0.
998

1099
## Version 1.18.0 (2022-09-09)
11100

exporters/logging-otlp/src/main/java/io/opentelemetry/exporter/logging/otlp/OtlpJsonLoggingLogRecordExporter.java

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
/**
2222
* A {@link LogRecordExporter} which writes {@linkplain LogRecordData logs} to a {@link Logger} in
2323
* OTLP JSON format. Each log line will include a single {@code ResourceLogs}.
24+
*
25+
* @since 1.19.0
2426
*/
2527
public final class OtlpJsonLoggingLogRecordExporter implements LogRecordExporter {
2628

exporters/logging/src/main/java/io/opentelemetry/exporter/logging/SystemOutLogRecordExporter.java

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
*
2323
* <p>Note: this doesn't use a {@code java.util.logging Logger}, as that could result in
2424
* logging-loops if an OTel appender is configured for {@code java.util.logging}.
25+
*
26+
* @since 1.19.0
2527
*/
2628
@SuppressWarnings("SystemOut")
2729
public class SystemOutLogRecordExporter implements LogRecordExporter {

sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/AutoConfigurationCustomizer.java

+4
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ default AutoConfigurationCustomizer addMetricExporterCustomizer(
141141
* customization. The return value of the {@link BiFunction} will replace the passed-in argument.
142142
*
143143
* <p>Multiple calls will execute the customizers in order.
144+
*
145+
* @since 1.19.0
144146
*/
145147
default AutoConfigurationCustomizer addLoggerProviderCustomizer(
146148
BiFunction<SdkLoggerProviderBuilder, ConfigProperties, SdkLoggerProviderBuilder>
@@ -154,6 +156,8 @@ default AutoConfigurationCustomizer addLoggerProviderCustomizer(
154156
* argument.
155157
*
156158
* <p>Multiple calls will execute the customizers in order.
159+
*
160+
* @since 1.19.0
157161
*/
158162
default AutoConfigurationCustomizer addLogRecordExporterCustomizer(
159163
BiFunction<? super LogRecordExporter, ConfigProperties, ? extends LogRecordExporter>

sdk-extensions/autoconfigure-spi/src/main/java/io/opentelemetry/sdk/autoconfigure/spi/logs/ConfigurableLogRecordExporterProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* returned by {@link #getName()}, the exporter returned by {@link
1515
* #createExporter(ConfigProperties)} will be enabled and added to the SDK.
1616
*
17-
* @since 1.17.0
17+
* @since 1.19.0
1818
*/
1919
public interface ConfigurableLogRecordExporterProvider {
2020

sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdk.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ public SdkMeterProvider getSdkMeterProvider() {
6464
return meterProvider.unobfuscate();
6565
}
6666

67-
/** Returns the {@link SdkLoggerProvider} for this {@link OpenTelemetrySdk}. */
67+
/**
68+
* Returns the {@link SdkLoggerProvider} for this {@link OpenTelemetrySdk}.
69+
*
70+
* @since 1.19.0
71+
*/
6872
public SdkLoggerProvider getSdkLoggerProvider() {
6973
return loggerProvider;
7074
}

sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public OpenTelemetrySdkBuilder setMeterProvider(SdkMeterProvider meterProvider)
5757
* returning the instance created by a {@link SdkLoggerProviderBuilder}.
5858
*
5959
* @see SdkLoggerProvider#builder()
60+
* @since 1.19.0
6061
*/
6162
public OpenTelemetrySdkBuilder setLoggerProvider(SdkLoggerProvider loggerProvider) {
6263
this.loggerProvider = loggerProvider;

0 commit comments

Comments
 (0)