Skip to content

Commit faa6e69

Browse files
Copilottrask
andcommitted
Add static imports and final keywords to improve style guide compliance
Co-authored-by: trask <[email protected]>
1 parent 93a6cf8 commit faa6e69

9 files changed

+55
-52
lines changed

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AttributePropagatingSpanProcessorBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55

66
package io.opentelemetry.contrib.awsxray;
77

8+
import static java.util.Collections.unmodifiableList;
89
import static java.util.Objects.requireNonNull;
910

1011
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1112
import io.opentelemetry.api.common.AttributeKey;
1213
import java.util.Arrays;
13-
import java.util.Collections;
1414
import java.util.List;
1515

1616
/**
@@ -19,7 +19,7 @@
1919
* #setAttributesKeysToPropagate} are not invoked, the builder defaults to using specific {@link
2020
* AwsAttributeKeys} as propagation targets.
2121
*/
22-
public class AttributePropagatingSpanProcessorBuilder {
22+
public final class AttributePropagatingSpanProcessorBuilder {
2323

2424
private AttributeKey<String> spanNamePropagationKey = AwsAttributeKeys.AWS_LOCAL_OPERATION;
2525
private List<AttributeKey<String>> attributesKeysToPropagate =
@@ -43,7 +43,7 @@ public AttributePropagatingSpanProcessorBuilder setSpanNamePropagationKey(
4343
public AttributePropagatingSpanProcessorBuilder setAttributesKeysToPropagate(
4444
List<AttributeKey<String>> attributesKeysToPropagate) {
4545
requireNonNull(attributesKeysToPropagate, "attributesKeysToPropagate");
46-
this.attributesKeysToPropagate = Collections.unmodifiableList(attributesKeysToPropagate);
46+
this.attributesKeysToPropagate = unmodifiableList(attributesKeysToPropagate);
4747
return this;
4848
}
4949

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsAttributeKeys.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,34 @@
55

66
package io.opentelemetry.contrib.awsxray;
77

8+
import static io.opentelemetry.api.common.AttributeKey.stringKey;
9+
810
import io.opentelemetry.api.common.AttributeKey;
911

1012
/** Utility class holding attribute keys with special meaning to AWS components */
1113
final class AwsAttributeKeys {
1214

1315
private AwsAttributeKeys() {}
1416

15-
static final AttributeKey<String> AWS_SPAN_KIND = AttributeKey.stringKey("aws.span.kind");
17+
static final AttributeKey<String> AWS_SPAN_KIND = stringKey("aws.span.kind");
1618

17-
static final AttributeKey<String> AWS_LOCAL_SERVICE = AttributeKey.stringKey("aws.local.service");
19+
static final AttributeKey<String> AWS_LOCAL_SERVICE = stringKey("aws.local.service");
1820

19-
static final AttributeKey<String> AWS_LOCAL_OPERATION =
20-
AttributeKey.stringKey("aws.local.operation");
21+
static final AttributeKey<String> AWS_LOCAL_OPERATION = stringKey("aws.local.operation");
2122

22-
static final AttributeKey<String> AWS_REMOTE_SERVICE =
23-
AttributeKey.stringKey("aws.remote.service");
23+
static final AttributeKey<String> AWS_REMOTE_SERVICE = stringKey("aws.remote.service");
2424

25-
static final AttributeKey<String> AWS_REMOTE_OPERATION =
26-
AttributeKey.stringKey("aws.remote.operation");
25+
static final AttributeKey<String> AWS_REMOTE_OPERATION = stringKey("aws.remote.operation");
2726

28-
static final AttributeKey<String> AWS_REMOTE_TARGET = AttributeKey.stringKey("aws.remote.target");
27+
static final AttributeKey<String> AWS_REMOTE_TARGET = stringKey("aws.remote.target");
2928

3029
// use the same AWS Resource attribute name defined by OTel java auto-instr for aws_sdk_v_1_1
3130
// TODO: all AWS specific attributes should be defined in semconv package and reused cross all
3231
// otel packages. Related sim -
3332
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8710
3433

35-
static final AttributeKey<String> AWS_BUCKET_NAME = AttributeKey.stringKey("aws.bucket.name");
36-
static final AttributeKey<String> AWS_QUEUE_NAME = AttributeKey.stringKey("aws.queue.name");
37-
static final AttributeKey<String> AWS_STREAM_NAME = AttributeKey.stringKey("aws.stream.name");
38-
static final AttributeKey<String> AWS_TABLE_NAME = AttributeKey.stringKey("aws.table.name");
34+
static final AttributeKey<String> AWS_BUCKET_NAME = stringKey("aws.bucket.name");
35+
static final AttributeKey<String> AWS_QUEUE_NAME = stringKey("aws.queue.name");
36+
static final AttributeKey<String> AWS_STREAM_NAME = stringKey("aws.stream.name");
37+
static final AttributeKey<String> AWS_TABLE_NAME = stringKey("aws.table.name");
3938
}

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsMetricAttributesSpanExporter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
* attributes.
3131
*/
3232
@Immutable
33-
public class AwsMetricAttributesSpanExporter implements SpanExporter {
33+
public final class AwsMetricAttributesSpanExporter implements SpanExporter {
3434

3535
private final SpanExporter delegate;
3636
private final MetricAttributeGenerator generator;

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsMetricAttributesSpanExporterBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import io.opentelemetry.sdk.resources.Resource;
1212
import io.opentelemetry.sdk.trace.export.SpanExporter;
1313

14-
public class AwsMetricAttributesSpanExporterBuilder {
14+
public final class AwsMetricAttributesSpanExporterBuilder {
1515

1616
// Defaults
1717
private static final MetricAttributeGenerator DEFAULT_GENERATOR =

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsSpanMetricsProcessor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
package io.opentelemetry.contrib.awsxray;
77

8+
import static io.opentelemetry.api.common.AttributeKey.longKey;
9+
810
import io.opentelemetry.api.common.AttributeKey;
911
import io.opentelemetry.api.common.Attributes;
1012
import io.opentelemetry.api.metrics.DoubleHistogram;
@@ -41,7 +43,7 @@
4143
public final class AwsSpanMetricsProcessor implements SpanProcessor {
4244

4345
private static final AttributeKey<Long> HTTP_STATUS_CODE =
44-
AttributeKey.longKey("http.status_code");
46+
longKey("http.status_code");
4547

4648
private static final double NANOS_TO_MILLIS = 1_000_000.0;
4749

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsXrayRemoteSampler.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55

66
package io.opentelemetry.contrib.awsxray;
77

8+
import static java.util.concurrent.TimeUnit.NANOSECONDS;
9+
import static java.util.concurrent.TimeUnit.SECONDS;
10+
import static java.util.stream.Collectors.toList;
11+
import static java.util.stream.Collectors.toMap;
12+
import static java.util.stream.Collectors.toSet;
13+
814
import io.opentelemetry.api.common.Attributes;
915
import io.opentelemetry.api.trace.SpanKind;
1016
import io.opentelemetry.context.Context;
@@ -29,17 +35,15 @@
2935
import java.util.concurrent.ScheduledExecutorService;
3036
import java.util.concurrent.ScheduledFuture;
3137
import java.util.concurrent.ThreadLocalRandom;
32-
import java.util.concurrent.TimeUnit;
3338
import java.util.function.Function;
3439
import java.util.logging.Level;
3540
import java.util.logging.Logger;
36-
import java.util.stream.Collectors;
3741
import javax.annotation.Nullable;
3842

3943
/** Remote sampler that gets sampling configuration from AWS X-Ray. */
4044
public final class AwsXrayRemoteSampler implements Sampler, Closeable {
4145

42-
static final long DEFAULT_TARGET_INTERVAL_NANOS = TimeUnit.SECONDS.toNanos(10);
46+
static final long DEFAULT_TARGET_INTERVAL_NANOS = SECONDS.toNanos(10);
4347

4448
private static final Logger logger = Logger.getLogger(AwsXrayRemoteSampler.class.getName());
4549

@@ -134,16 +138,15 @@ private void getAndUpdateSampler() {
134138
initialSampler,
135139
response.getSamplingRules().stream()
136140
.map(SamplingRuleRecord::getRule)
137-
.collect(Collectors.toList())));
141+
.collect(toList())));
138142

139143
previousRulesResponse = response;
140144
ScheduledFuture<?> existingFetchTargetsFuture = fetchTargetsFuture;
141145
if (existingFetchTargetsFuture != null) {
142146
existingFetchTargetsFuture.cancel(false);
143147
}
144148
fetchTargetsFuture =
145-
executor.schedule(
146-
this::fetchTargets, DEFAULT_TARGET_INTERVAL_NANOS, TimeUnit.NANOSECONDS);
149+
executor.schedule(this::fetchTargets, DEFAULT_TARGET_INTERVAL_NANOS, NANOSECONDS);
147150
}
148151
} catch (Throwable t) {
149152
logger.log(Level.FINE, "Failed to update sampler", t);
@@ -153,7 +156,7 @@ private void getAndUpdateSampler() {
153156

154157
private void scheduleSamplerUpdate() {
155158
long delay = pollingIntervalNanos + jitterNanos.next();
156-
pollFuture = executor.schedule(this::getAndUpdateSampler, delay, TimeUnit.NANOSECONDS);
159+
pollFuture = executor.schedule(this::getAndUpdateSampler, delay, NANOSECONDS);
157160
}
158161

159162
/**
@@ -168,7 +171,7 @@ Duration getNextSamplerUpdateScheduledDuration() {
168171
if (pollFuture == null) {
169172
return null;
170173
}
171-
return Duration.ofNanos(pollFuture.getDelay(TimeUnit.NANOSECONDS));
174+
return Duration.ofNanos(pollFuture.getDelay(NANOSECONDS));
172175
}
173176

174177
private void fetchTargets() {
@@ -181,28 +184,25 @@ private void fetchTargets() {
181184
Date now = Date.from(Instant.ofEpochSecond(0, clock.now()));
182185
List<SamplingStatisticsDocument> statistics = xrayRulesSampler.snapshot(now);
183186
Set<String> requestedTargetRuleNames =
184-
statistics.stream()
185-
.map(SamplingStatisticsDocument::getRuleName)
186-
.collect(Collectors.toSet());
187+
statistics.stream().map(SamplingStatisticsDocument::getRuleName).collect(toSet());
187188

188189
GetSamplingTargetsResponse response =
189190
client.getSamplingTargets(GetSamplingTargetsRequest.create(statistics));
190191
Map<String, SamplingTargetDocument> targets =
191192
response.getDocuments().stream()
192-
.collect(Collectors.toMap(SamplingTargetDocument::getRuleName, Function.identity()));
193+
.collect(toMap(SamplingTargetDocument::getRuleName, Function.identity()));
193194
updateInternalSamplers(xrayRulesSampler.withTargets(targets, requestedTargetRuleNames, now));
194195
} catch (Throwable t) {
195196
// Might be a transient API failure, try again after a default interval.
196197
fetchTargetsFuture =
197-
executor.schedule(
198-
this::fetchTargets, DEFAULT_TARGET_INTERVAL_NANOS, TimeUnit.NANOSECONDS);
198+
executor.schedule(this::fetchTargets, DEFAULT_TARGET_INTERVAL_NANOS, NANOSECONDS);
199199
return;
200200
}
201201

202202
long nextTargetFetchIntervalNanos =
203203
xrayRulesSampler.nextTargetFetchTimeNanos() - clock.nanoTime();
204204
fetchTargetsFuture =
205-
executor.schedule(this::fetchTargets, nextTargetFetchIntervalNanos, TimeUnit.NANOSECONDS);
205+
executor.schedule(this::fetchTargets, nextTargetFetchIntervalNanos, NANOSECONDS);
206206
}
207207

208208
@Override

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsXrayRemoteSamplerBuilder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
package io.opentelemetry.contrib.awsxray;
77

88
import static java.util.Objects.requireNonNull;
9+
import static java.util.concurrent.TimeUnit.NANOSECONDS;
10+
import static java.util.concurrent.TimeUnit.SECONDS;
911

1012
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1113
import io.opentelemetry.sdk.common.Clock;
@@ -26,7 +28,7 @@ public final class AwsXrayRemoteSamplerBuilder {
2628
private Clock clock = Clock.getDefault();
2729
private String endpoint = DEFAULT_ENDPOINT;
2830
@Nullable private Sampler initialSampler;
29-
private long pollingIntervalNanos = TimeUnit.SECONDS.toNanos(DEFAULT_POLLING_INTERVAL_SECS);
31+
private long pollingIntervalNanos = SECONDS.toNanos(DEFAULT_POLLING_INTERVAL_SECS);
3032

3133
AwsXrayRemoteSamplerBuilder(Resource resource) {
3234
this.resource = resource;
@@ -51,7 +53,7 @@ public AwsXrayRemoteSamplerBuilder setEndpoint(String endpoint) {
5153
@CanIgnoreReturnValue
5254
public AwsXrayRemoteSamplerBuilder setPollingInterval(Duration delay) {
5355
requireNonNull(delay, "delay");
54-
return setPollingInterval(delay.toNanos(), TimeUnit.NANOSECONDS);
56+
return setPollingInterval(delay.toNanos(), NANOSECONDS);
5557
}
5658

5759
/**

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/AwsXrayRemoteSamplerProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import java.util.Map;
1616

1717
@AutoService(ConfigurableSamplerProvider.class)
18-
public class AwsXrayRemoteSamplerProvider implements ConfigurableSamplerProvider {
18+
public final class AwsXrayRemoteSamplerProvider implements ConfigurableSamplerProvider {
1919

2020
@Override
2121
public Sampler createSampler(ConfigProperties config) {

aws-xray/src/main/java/io/opentelemetry/contrib/awsxray/SamplingRuleApplier.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55

66
package io.opentelemetry.contrib.awsxray;
77

8+
import static io.opentelemetry.api.common.AttributeKey.stringKey;
89
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME;
10+
import static java.util.Collections.emptyMap;
11+
import static java.util.Collections.unmodifiableMap;
12+
import static java.util.concurrent.TimeUnit.SECONDS;
913

1014
import io.opentelemetry.api.common.AttributeKey;
1115
import io.opentelemetry.api.common.Attributes;
@@ -23,12 +27,10 @@
2327
import io.opentelemetry.semconv.ServerAttributes;
2428
import io.opentelemetry.semconv.UrlAttributes;
2529
import java.time.Duration;
26-
import java.util.Collections;
2730
import java.util.Date;
2831
import java.util.HashMap;
2932
import java.util.List;
3033
import java.util.Map;
31-
import java.util.concurrent.TimeUnit;
3234
import java.util.concurrent.atomic.LongAdder;
3335
import java.util.regex.Pattern;
3436
import java.util.stream.Collectors;
@@ -38,25 +40,23 @@ final class SamplingRuleApplier {
3840

3941
// copied from AwsIncubatingAttributes
4042
private static final AttributeKey<String> AWS_ECS_CONTAINER_ARN =
41-
AttributeKey.stringKey("aws.ecs.container.arn");
43+
stringKey("aws.ecs.container.arn");
4244
// copied from CloudIncubatingAttributes
43-
private static final AttributeKey<String> CLOUD_PLATFORM =
44-
AttributeKey.stringKey("cloud.platform");
45-
private static final AttributeKey<String> CLOUD_RESOURCE_ID =
46-
AttributeKey.stringKey("cloud.resource_id");
45+
private static final AttributeKey<String> CLOUD_PLATFORM = stringKey("cloud.platform");
46+
private static final AttributeKey<String> CLOUD_RESOURCE_ID = stringKey("cloud.resource_id");
4747
// copied from CloudIncubatingAttributes.CloudPlatformIncubatingValues
4848
public static final String AWS_EC2 = "aws_ec2";
4949
public static final String AWS_ECS = "aws_ecs";
5050
public static final String AWS_EKS = "aws_eks";
5151
public static final String AWS_LAMBDA = "aws_lambda";
5252
public static final String AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk";
5353
// copied from HttpIncubatingAttributes
54-
private static final AttributeKey<String> HTTP_HOST = AttributeKey.stringKey("http.host");
55-
private static final AttributeKey<String> HTTP_METHOD = AttributeKey.stringKey("http.method");
56-
private static final AttributeKey<String> HTTP_TARGET = AttributeKey.stringKey("http.target");
57-
private static final AttributeKey<String> HTTP_URL = AttributeKey.stringKey("http.url");
54+
private static final AttributeKey<String> HTTP_HOST = stringKey("http.host");
55+
private static final AttributeKey<String> HTTP_METHOD = stringKey("http.method");
56+
private static final AttributeKey<String> HTTP_TARGET = stringKey("http.target");
57+
private static final AttributeKey<String> HTTP_URL = stringKey("http.url");
5858
// copied from NetIncubatingAttributes
59-
private static final AttributeKey<String> NET_HOST_NAME = AttributeKey.stringKey("net.host.name");
59+
private static final AttributeKey<String> NET_HOST_NAME = stringKey("net.host.name");
6060

6161
private static final Map<String, String> XRAY_CLOUD_PLATFORM;
6262

@@ -71,7 +71,7 @@ final class SamplingRuleApplier {
7171
xrayCloudPlatform.put(AWS_EKS, "AWS::EKS::Container");
7272
xrayCloudPlatform.put(AWS_ELASTIC_BEANSTALK, "AWS::ElasticBeanstalk::Environment");
7373
xrayCloudPlatform.put(AWS_LAMBDA, "AWS::Lambda::Function");
74-
XRAY_CLOUD_PLATFORM = Collections.unmodifiableMap(xrayCloudPlatform);
74+
XRAY_CLOUD_PLATFORM = unmodifiableMap(xrayCloudPlatform);
7575
}
7676

7777
private final String clientId;
@@ -127,7 +127,7 @@ final class SamplingRuleApplier {
127127
fixedRateSampler = createFixedRate(rule.getFixedRate());
128128

129129
if (rule.getAttributes().isEmpty()) {
130-
attributeMatchers = Collections.emptyMap();
130+
attributeMatchers = emptyMap();
131131
} else {
132132
attributeMatchers =
133133
rule.getAttributes().entrySet().stream()
@@ -317,7 +317,7 @@ SamplingRuleApplier withTarget(SamplingTargetDocument target, Date now) {
317317
}
318318
long intervalNanos =
319319
target.getIntervalSecs() != null
320-
? TimeUnit.SECONDS.toNanos(target.getIntervalSecs())
320+
? SECONDS.toNanos(target.getIntervalSecs())
321321
: AwsXrayRemoteSampler.DEFAULT_TARGET_INTERVAL_NANOS;
322322
long newNextSnapshotTimeNanos = clock.nanoTime() + intervalNanos;
323323

0 commit comments

Comments
 (0)