forked from open-telemetry/opentelemetry-java-contrib
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAwsXrayRemoteSamplerProvider.java
More file actions
51 lines (41 loc) · 1.62 KB
/
AwsXrayRemoteSamplerProvider.java
File metadata and controls
51 lines (41 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.contrib.awsxray;
import com.google.auto.service.AutoService;
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSamplerProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import java.util.Map;
@AutoService(ConfigurableSamplerProvider.class)
public final class AwsXrayRemoteSamplerProvider implements ConfigurableSamplerProvider {
@Override
public Sampler createSampler(ConfigProperties config) {
Resource resource = io.opentelemetry.contrib.awsxray.ResourceHolder.getResource();
AwsXrayRemoteSamplerBuilder builder = AwsXrayRemoteSampler.newBuilder(resource);
Map<String, String> params = config.getMap("otel.traces.sampler.arg");
String endpoint = params.get("endpoint");
if (endpoint != null) {
builder.setEndpoint(endpoint);
}
return builder.build();
}
@Override
public String getName() {
return "xray";
}
/** Deprecated in favor of {@link io.opentelemetry.contrib.awsxray.ResourceHolder}. */
@Deprecated
@AutoService(AutoConfigurationCustomizerProvider.class)
public static final class ResourceHolder implements AutoConfigurationCustomizerProvider {
@Deprecated
@Override
public void customize(AutoConfigurationCustomizer autoConfiguration) {
// No-op
}
}
}