Skip to content

Commit 09e6e2d

Browse files
authored
fix: stabilize OpenTelemetry exporter builder API (#2257)
Blocked by #2265 - to make sure that breaking api change is correctly flagged ## Summary - deprecate the `OpenTelemetryExporter(MetricReader)` constructor instead of treating it as stable API - make the builder entry points the stable surface for `OpenTelemetryExporter` - grandfather the already-accepted constructor removal in the API diff workflow so unrelated PRs stop inheriting the failure on `main` ## Testing - mise run lint:fix - mise run build - ./mvnw -B verify -pl prometheus-metrics-exporter-opentelemetry,prometheus-metrics-exporter-opentelemetry-shaded -am -P 'api-diff,!examples-and-integration-tests' -DskipTests -Dcoverage.skip=true -Dcheckstyle.skip=true -Dwarnings=-nowarn
1 parent 52124a3 commit 09e6e2d

3 files changed

Lines changed: 43 additions & 3 deletions

File tree

‎docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry-shaded.txt‎

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docs/apidiffs/current_vs_latest/prometheus-metrics-exporter-opentelemetry.txt‎

Lines changed: 19 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎prometheus-metrics-exporter-opentelemetry/src/main/java/io/prometheus/metrics/exporter/opentelemetry/OpenTelemetryExporter.java‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,35 @@
88
import java.util.Map;
99
import javax.annotation.Nullable;
1010

11-
@StableApi
1211
public class OpenTelemetryExporter implements AutoCloseable {
1312
private final MetricReader reader;
1413

14+
/**
15+
* @deprecated This constructor is not part of the stable API. Use {@link #builder()} or {@link
16+
* #builder(PrometheusProperties)} instead.
17+
*/
18+
@Deprecated
1519
public OpenTelemetryExporter(MetricReader reader) {
1620
this.reader = reader;
1721
}
1822

23+
@StableApi
1924
@Override
2025
public void close() {
2126
reader.shutdown();
2227
}
2328

29+
@StableApi
2430
public static Builder builder() {
2531
return new Builder(PrometheusProperties.get());
2632
}
2733

34+
@StableApi
2835
public static Builder builder(PrometheusProperties config) {
2936
return new Builder(config);
3037
}
3138

39+
@StableApi
3240
public static class Builder {
3341

3442
private final PrometheusProperties config;

0 commit comments

Comments
 (0)