Skip to content

Commit eede4a7

Browse files
committed
each storage is for a single signal type only
1 parent 29536b4 commit eede4a7

File tree

7 files changed

+24
-25
lines changed

7 files changed

+24
-25
lines changed

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/storage/Storage.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import io.opentelemetry.contrib.disk.buffering.internal.storage.responses.ReadableResult;
1515
import io.opentelemetry.contrib.disk.buffering.internal.storage.responses.WritableResult;
1616
import io.opentelemetry.contrib.disk.buffering.internal.utils.DebugLogger;
17+
import io.opentelemetry.contrib.disk.buffering.internal.utils.SignalTypes;
1718
import java.io.Closeable;
1819
import java.io.IOException;
1920
import java.util.concurrent.atomic.AtomicBoolean;
@@ -37,8 +38,8 @@ public Storage(FolderManager folderManager, boolean debugEnabled) {
3738
this.debugEnabled = debugEnabled;
3839
}
3940

40-
public static StorageBuilder builder() {
41-
return new StorageBuilder();
41+
public static StorageBuilder builder(SignalTypes types) {
42+
return new StorageBuilder(types);
4243
}
4344

4445
public boolean isDebugEnabled() {

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/storage/StorageBuilder.java

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

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
99
import io.opentelemetry.contrib.disk.buffering.config.StorageConfiguration;
10+
import io.opentelemetry.contrib.disk.buffering.internal.utils.SignalTypes;
1011
import io.opentelemetry.sdk.common.Clock;
1112
import java.io.File;
1213
import java.io.IOException;
@@ -17,16 +18,12 @@ public class StorageBuilder {
1718

1819
private static final Logger logger = Logger.getLogger(StorageBuilder.class.getName());
1920

20-
private String folderName = "data";
21+
private final String folderName;
2122
private StorageConfiguration configuration = StorageConfiguration.getDefault(new File("."));
2223
private Clock clock = Clock.getDefault();
2324

24-
StorageBuilder() {}
25-
26-
@CanIgnoreReturnValue
27-
public StorageBuilder setFolderName(String folderName) {
28-
this.folderName = folderName;
29-
return this;
25+
StorageBuilder(SignalTypes types) {
26+
folderName = types.name();
3027
}
3128

3229
@CanIgnoreReturnValue

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/FromDiskExporterImplTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.DeserializationException;
1919
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;
2020
import io.opentelemetry.contrib.disk.buffering.internal.storage.TestData;
21+
import io.opentelemetry.contrib.disk.buffering.internal.utils.SignalTypes;
2122
import io.opentelemetry.sdk.common.Clock;
2223
import io.opentelemetry.sdk.common.CompletableResultCode;
2324
import io.opentelemetry.sdk.trace.data.SpanData;
@@ -40,7 +41,7 @@ class FromDiskExporterImplTest {
4041
private FromDiskExporterImpl<SpanData> exporter;
4142
private final List<SpanData> deserializedData = Collections.emptyList();
4243
@TempDir File rootDir;
43-
private static final String STORAGE_FOLDER_NAME = "testName";
44+
private static final String STORAGE_FOLDER_NAME = SignalTypes.spans.name();
4445

4546
@BeforeEach
4647
void setUp() throws IOException {
@@ -50,7 +51,7 @@ void setUp() throws IOException {
5051
wrapped = mock();
5152
exporter =
5253
FromDiskExporterImpl.<SpanData>builder(
53-
TestData.getDefaultStorage(rootDir, STORAGE_FOLDER_NAME, clock))
54+
TestData.getDefaultStorage(rootDir, SignalTypes.spans, clock))
5455
.setDeserializer(deserializer)
5556
.setExportFunction(wrapped::export)
5657
.build();

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/IntegrationTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,14 @@ public class IntegrationTest {
6565
private static final long INITIAL_TIME_IN_MILLIS = 1000;
6666
private static final long NOW_NANOS = MILLISECONDS.toNanos(INITIAL_TIME_IN_MILLIS);
6767
private StorageConfiguration storageConfig;
68-
private Storage storage;
68+
private Storage spanStorage;
6969

7070
@BeforeEach
7171
void setUp() throws IOException {
7272
clock = mock();
7373
storageConfig = StorageConfiguration.getDefault(rootDir);
74-
storage =
75-
Storage.builder()
76-
.setFolderName(SignalTypes.spans.name())
74+
spanStorage =
75+
Storage.builder(SignalTypes.spans)
7776
.setStorageConfiguration(storageConfig)
7877
.setStorageClock(clock)
7978
.build();
@@ -107,7 +106,7 @@ void setUp() throws IOException {
107106
@NotNull
108107
private <T> ToDiskExporter<T> buildToDiskExporter(
109108
SignalSerializer<T> serializer, Function<Collection<T>, CompletableResultCode> exporter) {
110-
return ToDiskExporter.<T>builder(storage)
109+
return ToDiskExporter.<T>builder(spanStorage)
111110
.setSerializer(serializer)
112111
.setExportFunction(exporter)
113112
.build();
@@ -128,7 +127,7 @@ void verifySpansIntegration() throws IOException {
128127
span.end();
129128
FromDiskExporterImpl<SpanData> fromDiskExporter =
130129
buildFromDiskExporter(
131-
FromDiskExporterImpl.builder(storage),
130+
FromDiskExporterImpl.builder(spanStorage),
132131
memorySpanExporter::export,
133132
SignalDeserializer.ofSpans());
134133
assertExporter(fromDiskExporter, () -> memorySpanExporter.getFinishedSpanItems().size());
@@ -141,7 +140,7 @@ void verifyMetricsIntegration() throws IOException {
141140

142141
FromDiskExporterImpl<MetricData> fromDiskExporter =
143142
buildFromDiskExporter(
144-
FromDiskExporterImpl.builder(storage),
143+
FromDiskExporterImpl.builder(spanStorage),
145144
memoryMetricExporter::export,
146145
SignalDeserializer.ofMetrics());
147146
assertExporter(fromDiskExporter, () -> memoryMetricExporter.getFinishedMetricItems().size());
@@ -153,7 +152,7 @@ void verifyLogRecordsIntegration() throws IOException {
153152

154153
FromDiskExporterImpl<LogRecordData> fromDiskExporter =
155154
buildFromDiskExporter(
156-
FromDiskExporterImpl.builder(storage),
155+
FromDiskExporterImpl.builder(spanStorage),
157156
memoryLogRecordExporter::export,
158157
SignalDeserializer.ofLogs());
159158
assertExporter(

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/SpanFromDiskExporterTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ void fromDisk() throws Exception {
5151
long start = TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis());
5252
when(clock.now()).thenReturn(start);
5353
Storage storage =
54-
Storage.builder()
55-
.setFolderName(SignalTypes.spans.name())
54+
Storage.builder(SignalTypes.spans)
5655
.setStorageConfiguration(StorageConfiguration.builder().setRootDir(tempDir).build())
5756
.setStorageClock(clock)
5857
.build();

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/storage/StorageTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.opentelemetry.contrib.disk.buffering.internal.storage.files.reader.ProcessResult;
2323
import io.opentelemetry.contrib.disk.buffering.internal.storage.responses.ReadableResult;
2424
import io.opentelemetry.contrib.disk.buffering.internal.storage.responses.WritableResult;
25+
import io.opentelemetry.contrib.disk.buffering.internal.utils.SignalTypes;
2526
import java.io.File;
2627
import java.io.IOException;
2728
import java.util.function.Function;
@@ -234,7 +235,8 @@ void whenMinFileReadIsNotGraterThanMaxFileWrite_throwException() {
234235
.setRootDir(new File("."))
235236
.build();
236237

237-
assertThatThrownBy(() -> Storage.builder().setStorageConfiguration(invalidConfig))
238+
assertThatThrownBy(
239+
() -> Storage.builder(SignalTypes.logs).setStorageConfiguration(invalidConfig))
238240
.isInstanceOf(IllegalArgumentException.class)
239241
.hasMessage(
240242
"The configured max file age for writing must be lower than the configured min file age for reading");

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/storage/TestData.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.opentelemetry.contrib.disk.buffering.config.StorageConfiguration;
99
import io.opentelemetry.contrib.disk.buffering.config.TemporaryFileProvider;
1010
import io.opentelemetry.contrib.disk.buffering.internal.files.DefaultTemporaryFileProvider;
11+
import io.opentelemetry.contrib.disk.buffering.internal.utils.SignalTypes;
1112
import io.opentelemetry.sdk.common.Clock;
1213
import java.io.File;
1314
import java.io.IOException;
@@ -25,11 +26,10 @@ public static StorageConfiguration getDefaultConfiguration(File rootDir) {
2526
return getConfiguration(fileProvider, rootDir);
2627
}
2728

28-
public static Storage getDefaultStorage(File rootDir, String storageFolderName, Clock clock)
29+
public static Storage getDefaultStorage(File rootDir, SignalTypes types, Clock clock)
2930
throws IOException {
3031
TemporaryFileProvider fileProvider = DefaultTemporaryFileProvider.getInstance();
31-
return Storage.builder()
32-
.setFolderName(storageFolderName)
32+
return Storage.builder(types)
3333
.setStorageConfiguration(getConfiguration(fileProvider, rootDir))
3434
.setStorageClock(clock)
3535
.build();

0 commit comments

Comments
 (0)