@@ -194,12 +194,20 @@ private boolean isApplicationSignalsRuntimeEnabled(ConfigProperties configProps)
194
194
}
195
195
196
196
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
+ }
201
208
202
- if (!isLambdaEnvironment ()) {
209
+ if (isApplicationSignalsEnabled (configProps )) {
210
+ if (!isLambdaEnvironment ) {
203
211
// Check if properties exist in `configProps`, and only set if missing
204
212
if (configProps .getString (OTEL_METRICS_EXPORTER ) == null ) {
205
213
propsOverride .put (OTEL_METRICS_EXPORTER , "none" );
@@ -236,25 +244,24 @@ private Map<String, String> customizeProperties(ConfigProperties configProps) {
236
244
propsOverride .put (OTEL_JMX_TARGET_SYSTEM_CONFIG , String .join ("," , jmxTargets ));
237
245
}
238
246
}
239
- return propsOverride ;
240
247
}
241
- return Collections .emptyMap ();
248
+
249
+ return propsOverride ;
242
250
}
243
251
244
252
private Map <String , String > customizeLambdaEnvProperties (ConfigProperties configProperties ) {
245
253
if (isLambdaEnvironment ()) {
246
254
Map <String , String > propsOverride = new HashMap <>(2 );
247
255
248
256
// 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 );
258
265
259
266
// Set the max export batch size for BatchSpanProcessors
260
267
propsOverride .put (
@@ -265,6 +272,16 @@ private Map<String, String> customizeLambdaEnvProperties(ConfigProperties config
265
272
return Collections .emptyMap ();
266
273
}
267
274
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
+
268
285
private Resource customizeResource (Resource resource , ConfigProperties configProps ) {
269
286
if (isApplicationSignalsEnabled (configProps )) {
270
287
AttributesBuilder builder = Attributes .builder ();
0 commit comments