/* * Copyright Amazon.com, Inc. or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package software.amazon.opentelemetry.javaagent.providers; import io.opentelemetry.contrib.awsxray.AwsXrayIdGenerator; import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer; import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider; public class AwsTracerCustomizerProvider implements AutoConfigurationCustomizerProvider { static { if (System.getProperty("otel.aws.imds.endpointOverride") == null) { String overrideFromEnv = System.getenv("OTEL_AWS_IMDS_ENDPOINT_OVERRIDE"); if (overrideFromEnv != null) { System.setProperty("otel.aws.imds.endpointOverride", overrideFromEnv); } } } @Override public void customize(AutoConfigurationCustomizer autoConfiguration) { autoConfiguration.addTracerProviderCustomizer( (tracerProviderBuilder, configProps) -> tracerProviderBuilder.setIdGenerator(AwsXrayIdGenerator.getInstance())); } }