Skip to content

Commit efdf186

Browse files
Copilottrask
andcommitted
Changes before error encountered
Co-authored-by: trask <[email protected]>
1 parent 5870a47 commit efdf186

File tree

4 files changed

+26
-24
lines changed

4 files changed

+26
-24
lines changed

kafka-exporter/src/main/java/io/opentelemetry/contrib/kafka/KafkaSpanExporter.java

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

66
package io.opentelemetry.contrib.kafka;
77

8+
import static java.util.Objects.requireNonNull;
9+
810
import io.opentelemetry.sdk.common.CompletableResultCode;
911
import io.opentelemetry.sdk.trace.data.SpanData;
1012
import io.opentelemetry.sdk.trace.export.SpanExporter;
@@ -26,7 +28,7 @@
2628

2729
@ThreadSafe
2830
@SuppressWarnings("FutureReturnValueIgnored")
29-
public class KafkaSpanExporter implements SpanExporter {
31+
public final class KafkaSpanExporter implements SpanExporter {
3032
private static final Logger logger = LoggerFactory.getLogger(KafkaSpanExporter.class);
3133
private final String topicName;
3234
private final Producer<String, Collection<SpanData>> producer;
@@ -43,9 +45,9 @@ public static KafkaSpanExporterBuilder newBuilder() {
4345
Producer<String, Collection<SpanData>> producer,
4446
ExecutorService executorService,
4547
long timeoutInSeconds) {
46-
this.topicName = topicName;
47-
this.producer = producer;
48-
this.executorService = executorService;
48+
this.topicName = requireNonNull(topicName, "topicName");
49+
this.producer = requireNonNull(producer, "producer");
50+
this.executorService = requireNonNull(executorService, "executorService");
4951
this.timeoutInSeconds = timeoutInSeconds;
5052
}
5153

kafka-exporter/src/main/java/io/opentelemetry/contrib/kafka/KafkaSpanExporterBuilder.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import static java.util.Objects.isNull;
99
import static java.util.Objects.nonNull;
10+
import static java.util.Objects.requireNonNull;
1011
import static org.apache.kafka.clients.producer.ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG;
1112
import static org.apache.kafka.clients.producer.ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG;
1213

@@ -16,35 +17,36 @@
1617
import java.util.Map;
1718
import java.util.concurrent.ExecutorService;
1819
import java.util.concurrent.Executors;
20+
import javax.annotation.Nullable;
1921
import org.apache.kafka.clients.producer.KafkaProducer;
2022
import org.apache.kafka.clients.producer.Producer;
2123
import org.apache.kafka.common.serialization.Serializer;
2224

23-
public class KafkaSpanExporterBuilder {
25+
public final class KafkaSpanExporterBuilder {
2426
private static final long DEFAULT_TIMEOUT_IN_SECONDS = 5L;
25-
private String topicName;
26-
private Producer<String, Collection<SpanData>> producer;
27-
private ExecutorService executorService;
27+
@Nullable private String topicName;
28+
@Nullable private Producer<String, Collection<SpanData>> producer;
29+
@Nullable private ExecutorService executorService;
2830
private long timeoutInSeconds = DEFAULT_TIMEOUT_IN_SECONDS;
2931

3032
@SuppressWarnings(value = {"NullAway"})
3133
public KafkaSpanExporterBuilder() {}
3234

3335
@CanIgnoreReturnValue
3436
public KafkaSpanExporterBuilder setTopicName(String topicName) {
35-
this.topicName = topicName;
37+
this.topicName = requireNonNull(topicName, "topicName");
3638
return this;
3739
}
3840

3941
@CanIgnoreReturnValue
4042
public KafkaSpanExporterBuilder setProducer(Producer<String, Collection<SpanData>> producer) {
41-
this.producer = producer;
43+
this.producer = requireNonNull(producer, "producer");
4244
return this;
4345
}
4446

4547
@CanIgnoreReturnValue
4648
public KafkaSpanExporterBuilder setExecutorService(ExecutorService executorService) {
47-
this.executorService = executorService;
49+
this.executorService = requireNonNull(executorService, "executorService");
4850
return this;
4951
}
5052

@@ -67,10 +69,10 @@ public KafkaSpanExporter build() {
6769
return new KafkaSpanExporter(topicName, producer, executorService, timeoutInSeconds);
6870
}
6971

70-
public static class ProducerBuilder {
71-
private Map<String, Object> config;
72-
private Serializer<String> keySerializer;
73-
private Serializer<Collection<SpanData>> valueSerializer;
72+
public static final class ProducerBuilder {
73+
@Nullable private Map<String, Object> config;
74+
@Nullable private Serializer<String> keySerializer;
75+
@Nullable private Serializer<Collection<SpanData>> valueSerializer;
7476

7577
public static ProducerBuilder newInstance() {
7678
return new ProducerBuilder();
@@ -81,19 +83,19 @@ public ProducerBuilder() {}
8183

8284
@CanIgnoreReturnValue
8385
public ProducerBuilder setConfig(Map<String, Object> config) {
84-
this.config = config;
86+
this.config = requireNonNull(config, "config");
8587
return this;
8688
}
8789

8890
@CanIgnoreReturnValue
8991
public ProducerBuilder setKeySerializer(Serializer<String> keySerializer) {
90-
this.keySerializer = keySerializer;
92+
this.keySerializer = requireNonNull(keySerializer, "keySerializer");
9193
return this;
9294
}
9395

9496
@CanIgnoreReturnValue
9597
public ProducerBuilder setValueSerializer(Serializer<Collection<SpanData>> valueSerializer) {
96-
this.valueSerializer = valueSerializer;
98+
this.valueSerializer = requireNonNull(valueSerializer, "valueSerializer");
9799
return this;
98100
}
99101

kafka-exporter/src/main/java/io/opentelemetry/contrib/kafka/SpanDataDeserializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import org.apache.kafka.common.errors.SerializationException;
1212
import org.apache.kafka.common.serialization.Deserializer;
1313

14-
public class SpanDataDeserializer implements Deserializer<ExportTraceServiceRequest> {
14+
public final class SpanDataDeserializer implements Deserializer<ExportTraceServiceRequest> {
1515
@SuppressWarnings("NullAway")
1616
@Override
1717
public ExportTraceServiceRequest deserialize(String topic, byte[] data) {

kafka-exporter/src/main/java/io/opentelemetry/contrib/kafka/SpanDataSerializer.java

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

66
package io.opentelemetry.contrib.kafka;
77

8+
import static java.util.Objects.requireNonNull;
89
import static java.util.stream.Collectors.toList;
910

1011
import io.opentelemetry.exporter.internal.otlp.traces.ResourceSpansMarshaler;
@@ -16,16 +17,13 @@
1617
import java.util.Arrays;
1718
import java.util.Collection;
1819
import java.util.List;
19-
import java.util.Objects;
2020
import org.apache.kafka.common.errors.SerializationException;
2121
import org.apache.kafka.common.serialization.Serializer;
2222

23-
public class SpanDataSerializer implements Serializer<Collection<SpanData>> {
23+
public final class SpanDataSerializer implements Serializer<Collection<SpanData>> {
2424
@Override
2525
public byte[] serialize(String topic, Collection<SpanData> data) {
26-
if (Objects.isNull(data)) {
27-
throw new SerializationException("Cannot serialize null");
28-
}
26+
requireNonNull(data, "data");
2927
return convertSpansToRequest(data).toByteArray();
3028
}
3129

0 commit comments

Comments
 (0)