diff --git a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/ViewBuilder.java b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/ViewBuilder.java index b387481b474..0d1d6824c1b 100644 --- a/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/ViewBuilder.java +++ b/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/ViewBuilder.java @@ -71,6 +71,12 @@ public ViewBuilder setAggregation(Aggregation aggregation) { /** * Sets a filter which retains attribute keys included in {@code keysToRetain}. * + *

Note: Attributes dropped by this filter may still appear on recorded exemplars. If you need + * to remove sensitive data from exemplars, you must disable exemplars entirely (e.g., using + * {@link SdkMeterProviderBuilder#setExemplarFilter(ExemplarFilter)} with {@link + * ExemplarFilter#alwaysOff()}), filter them using a delegating exporter, or filter them in the + * OpenTelemetry Collector. + * * @since 1.30.0 */ public ViewBuilder setAttributeFilter(Set keysToRetain) { @@ -89,6 +95,12 @@ public ViewBuilder setAttributeFilter(Set keysToRetain) { * *

Only attribute keys that pass the supplied {@link Predicate} will be included in the output. * + *

Note: Attributes dropped by this filter may still appear on recorded exemplars. If you need + * to remove sensitive data from exemplars, you must disable exemplars entirely (e.g., using + * {@link SdkMeterProviderBuilder#setExemplarFilter(ExemplarFilter)} with {@link + * ExemplarFilter#alwaysOff()}), filter them using a delegating exporter, or filter them in the + * OpenTelemetry Collector. + * * @param keyFilter filter for attribute keys to include. */ public ViewBuilder setAttributeFilter(Predicate keyFilter) {