Skip to content

Commit 7caaec2

Browse files
authored
Deprecate View File Configuration mechanism (#8133)
1 parent 90b52af commit 7caaec2

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

sdk-extensions/incubator/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ Notes:
3333

3434
## View File Configuration
3535

36+
> [!WARNING]
37+
> This mechanism is superseded by declarative config, which is now stable (spec and schema at [opentelemetry-configuration](https://github.com/open-telemetry/opentelemetry-configuration)) and will be removed after the 1.62.0 release. Please use [declarative configuration](#declarative-configuration) instead.
38+
3639
Adds support for file based YAML configuration of Metric SDK Views.
3740

3841
For example, suppose `/Users/user123/view.yaml` has the following content:

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfig.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@
7373
* .setAttributesFilter(key -> new HashSet<>(Arrays.asList("foo", "bar")).contains(key))
7474
* .build());
7575
* }</pre>
76+
*
77+
* @deprecated this mechanism is superseded by declarative config, which is now stable (spec and
78+
* schema at <a
79+
* href="https://github.com/open-telemetry/opentelemetry-configuration">opentelemetry-configuration</a>.
80+
* Please uses {@link
81+
* io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration#parseAndCreate(InputStream)}
82+
* instead.
7683
*/
84+
@Deprecated
7785
public final class ViewConfig {
7886

7987
private ViewConfig() {}

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfigCustomizer.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,21 @@
1515
import java.io.IOException;
1616
import java.io.InputStream;
1717
import java.util.List;
18+
import java.util.logging.Logger;
1819

19-
/** SPI implementation for loading view configuration YAML. */
20+
/**
21+
* SPI implementation for loading view configuration YAML.
22+
*
23+
* @deprecated this mechanism is superseded by declarative config, which is now stable (spec and
24+
* schema at <a
25+
* href="https://github.com/open-telemetry/opentelemetry-configuration">opentelemetry-configuration</a>)
26+
* and will be removed after the 1.62.0 release. Please uses {@link
27+
* io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration#parseAndCreate(InputStream)}
28+
* instead.
29+
*/
30+
@Deprecated
2031
public final class ViewConfigCustomizer implements AutoConfigurationCustomizerProvider {
32+
private static final Logger LOGGER = Logger.getLogger(ViewConfigCustomizer.class.getName());
2133

2234
@Override
2335
public void customize(AutoConfigurationCustomizer autoConfiguration) {
@@ -29,6 +41,10 @@ static SdkMeterProviderBuilder customizeMeterProvider(
2941
SdkMeterProviderBuilder meterProviderBuilder, ConfigProperties configProperties) {
3042
List<String> configFileLocations =
3143
configProperties.getList("otel.experimental.metrics.view.config");
44+
if (!configFileLocations.isEmpty()) {
45+
LOGGER.warning(
46+
"otel.experimental.metrics.view.config is deprecated and will be removed after 1.62 release. Please use declarative config instead.");
47+
}
3248
for (String configFileLocation : configFileLocations) {
3349
if (configFileLocation.startsWith("classpath:")) {
3450
String classpathLocation = configFileLocation.substring("classpath:".length());

sdk-extensions/incubator/src/test/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfigCustomizerTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.UUID;
2323
import org.junit.jupiter.api.Test;
2424

25+
@SuppressWarnings("deprecation") // Testing deprecated methods
2526
class ViewConfigCustomizerTest {
2627

2728
@Test

sdk-extensions/incubator/src/test/java/io/opentelemetry/sdk/extension/incubator/metric/viewconfig/ViewConfigTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.assertj.core.api.InstanceOfAssertFactories;
3636
import org.junit.jupiter.api.Test;
3737

38+
@SuppressWarnings("deprecation") // Testing deprecated methods
3839
class ViewConfigTest {
3940

4041
@Test

0 commit comments

Comments
 (0)