Skip to content

Commit 864ede1

Browse files
committed
enable aws resource detector for non app signals environments
1 parent 24dd4aa commit 864ede1

File tree

1 file changed

+33
-16
lines changed

1 file changed

+33
-16
lines changed

awsagentprovider/src/main/java/software/amazon/opentelemetry/javaagent/providers/AwsApplicationSignalsCustomizerProvider.java

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,20 @@ private boolean isApplicationSignalsRuntimeEnabled(ConfigProperties configProps)
194194
}
195195

196196
private Map<String, String> customizeProperties(ConfigProperties configProps) {
197-
if (isApplicationSignalsEnabled(configProps)) {
198-
Map<String, String> propsOverride = new HashMap<>();
199-
// Enable AWS Resource Providers
200-
propsOverride.put(OTEL_RESOURCE_PROVIDERS_AWS_ENABLED, "true");
197+
boolean isLambdaEnvironment = isLambdaEnvironment();
198+
Map<String, String> propsOverride = new HashMap<>();
199+
200+
// Enable AWS Resource Providers
201+
propsOverride.put(OTEL_RESOURCE_PROVIDERS_AWS_ENABLED, "true");
202+
if (!isLambdaEnvironment) {
203+
this.disableAwsResourceProvider(
204+
propsOverride,
205+
configProps,
206+
List.of("io.opentelemetry.contrib.aws.resource.LambdaResourceProvider"));
207+
}
201208

202-
if (!isLambdaEnvironment()) {
209+
if (isApplicationSignalsEnabled(configProps)) {
210+
if (!isLambdaEnvironment) {
203211
// Check if properties exist in `configProps`, and only set if missing
204212
if (configProps.getString(OTEL_METRICS_EXPORTER) == null) {
205213
propsOverride.put(OTEL_METRICS_EXPORTER, "none");
@@ -236,25 +244,24 @@ private Map<String, String> customizeProperties(ConfigProperties configProps) {
236244
propsOverride.put(OTEL_JMX_TARGET_SYSTEM_CONFIG, String.join(",", jmxTargets));
237245
}
238246
}
239-
return propsOverride;
240247
}
241-
return Collections.emptyMap();
248+
249+
return propsOverride;
242250
}
243251

244252
private Map<String, String> customizeLambdaEnvProperties(ConfigProperties configProperties) {
245253
if (isLambdaEnvironment()) {
246254
Map<String, String> propsOverride = new HashMap<>(2);
247255

248256
// Disable other AWS Resource Providers
249-
List<String> list = configProperties.getList(OTEL_DISABLED_RESOURCE_PROVIDERS_CONFIG);
250-
List<String> disabledResourceProviders = new ArrayList<>(list);
251-
disabledResourceProviders.add(
252-
"io.opentelemetry.contrib.aws.resource.BeanstalkResourceProvider");
253-
disabledResourceProviders.add("io.opentelemetry.contrib.aws.resource.Ec2ResourceProvider");
254-
disabledResourceProviders.add("io.opentelemetry.contrib.aws.resource.EcsResourceProvider");
255-
disabledResourceProviders.add("io.opentelemetry.contrib.aws.resource.EksResourceProvider");
256-
propsOverride.put(
257-
OTEL_DISABLED_RESOURCE_PROVIDERS_CONFIG, String.join(",", disabledResourceProviders));
257+
List<String> disabledResourceProviders =
258+
List.of(
259+
"io.opentelemetry.contrib.aws.resource.BeanstalkResourceProvider",
260+
"io.opentelemetry.contrib.aws.resource.Ec2ResourceProvider",
261+
"io.opentelemetry.contrib.aws.resource.EcsResourceProvider",
262+
"io.opentelemetry.contrib.aws.resource.EksResourceProvider");
263+
264+
this.disableAwsResourceProvider(propsOverride, configProperties, disabledResourceProviders);
258265

259266
// Set the max export batch size for BatchSpanProcessors
260267
propsOverride.put(
@@ -265,6 +272,16 @@ private Map<String, String> customizeLambdaEnvProperties(ConfigProperties config
265272
return Collections.emptyMap();
266273
}
267274

275+
private void disableAwsResourceProvider(
276+
Map<String, String> newProps, ConfigProperties oldProps, List<String> resourceProviders) {
277+
278+
List<String> list = oldProps.getList(OTEL_DISABLED_RESOURCE_PROVIDERS_CONFIG);
279+
List<String> disabledResourceProviders = new ArrayList<>(list);
280+
disabledResourceProviders.addAll(resourceProviders);
281+
newProps.put(
282+
OTEL_DISABLED_RESOURCE_PROVIDERS_CONFIG, String.join(",", disabledResourceProviders));
283+
}
284+
268285
private Resource customizeResource(Resource resource, ConfigProperties configProps) {
269286
if (isApplicationSignalsEnabled(configProps)) {
270287
AttributesBuilder builder = Attributes.builder();

0 commit comments

Comments
 (0)