Skip to content

Commit ec7a933

Browse files
authored
Diskbuffering config and README updates (#1169)
1 parent 5b0b51b commit ec7a933

18 files changed

+22
-24
lines changed

disk-buffering/README.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Each wrapper will need the following when instantiating them:
5555
* A File instance of the root directory where all the data is going to be written. The same root dir
5656
can be used for all the wrappers, since each will create their own folder inside it.
5757
* An instance
58-
of [StorageConfiguration](src/main/java/io/opentelemetry/contrib/disk/buffering/internal/StorageConfiguration.java)
58+
of [StorageConfiguration](src/main/java/io/opentelemetry/contrib/disk/buffering/StorageConfiguration.java)
5959
with the desired parameters. You can create one with default values by
6060
calling `StorageConfiguration.getDefault()`.
6161

@@ -64,16 +64,21 @@ take care of always storing the data it receives.
6464

6565
#### Set up example for spans
6666

67+
### Writing data
68+
69+
The data is written in the disk by "ToDisk" exporters, these are exporters that serialize and store the data as received by their processors. If for some reason
70+
the "ToDisk" cannot store data in the disk, they'll delegate the data to their wrapped exporter.
71+
6772
```java
6873
// Creating the SpanExporter of our choice.
6974
SpanExporter mySpanExporter = OtlpGrpcSpanExporter.getDefault();
7075

71-
// Wrapping our exporter with its disk exporter.
72-
SpanDiskExporter diskExporter = SpanDiskExporter.create(mySpanExporter, new File("/my/signals/cache/dir"), StorageConfiguration.getDefault());
76+
// Wrapping our exporter with its "ToDisk" exporter.
77+
SpanToDiskExporter toDiskExporter = SpanToDiskExporter.create(mySpanExporter, StorageConfiguration.getDefault(new File("/my/signals/cache/dir")));
7378

7479
// Registering the disk exporter within our OpenTelemetry instance.
7580
SdkTracerProvider myTraceProvider = SdkTracerProvider.builder()
76-
.addSpanProcessor(SimpleSpanProcessor.create(diskExporter))
81+
.addSpanProcessor(SimpleSpanProcessor.create(toDiskExporter))
7782
.build();
7883
OpenTelemetrySdk.builder()
7984
.setTracerProvider(myTraceProvider)
@@ -83,12 +88,13 @@ OpenTelemetrySdk.builder()
8388

8489
### Reading data
8590

86-
Each of the exporter wrappers can read from the disk and send the retrieved data over to their
87-
wrapped exporter by calling this method from them:
91+
In order to read data, we need to create "FromDisk" exporters, which read data from the disk, parse it and delegate it
92+
to their wrapped exporters.
8893

8994
```java
9095
try {
91-
if(diskExporter.exportStoredBatch(1, TimeUnit.SECONDS)) {
96+
SpanFromDiskExporter fromDiskExporter = SpanFromDiskExporter.create(memorySpanExporter, storageConfig);
97+
if(fromDiskExporter.exportStoredBatch(1, TimeUnit.SECONDS)) {
9298
// A batch was successfully exported and removed from disk. You can call this method for as long as it keeps returning true.
9399
} else {
94100
// Either there was no data in the disk or the wrapped exporter returned CompletableResultCode.ofFailure().

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/LogRecordFromDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporterImpl;
1110
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/LogRecordToDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.ToDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.serialization.serializers.SignalSerializer;
1110
import io.opentelemetry.sdk.common.CompletableResultCode;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/MetricFromDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporterImpl;
1110
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/MetricToDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.ToDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.serialization.serializers.SignalSerializer;
1110
import io.opentelemetry.sdk.common.CompletableResultCode;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/SpanFromDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.exporter.FromDiskExporterImpl;
1110
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/SpanToDiskExporter.java

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

66
package io.opentelemetry.contrib.disk.buffering;
77

8-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
98
import io.opentelemetry.contrib.disk.buffering.internal.exporter.ToDiskExporter;
109
import io.opentelemetry.contrib.disk.buffering.internal.serialization.serializers.SignalSerializer;
1110
import io.opentelemetry.sdk.common.CompletableResultCode;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.contrib.disk.buffering.internal;
6+
package io.opentelemetry.contrib.disk.buffering;
77

88
import com.google.auto.value.AutoValue;
99
import io.opentelemetry.contrib.disk.buffering.internal.files.DefaultTemporaryFileProvider;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/exporter/FromDiskExporterBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import static java.util.Collections.emptyList;
99

1010
import com.google.errorprone.annotations.CanIgnoreReturnValue;
11-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
11+
import io.opentelemetry.contrib.disk.buffering.StorageConfiguration;
1212
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;
1313
import io.opentelemetry.contrib.disk.buffering.internal.storage.Storage;
1414
import io.opentelemetry.contrib.disk.buffering.internal.storage.StorageBuilder;

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/exporter/ToDiskExporterBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
package io.opentelemetry.contrib.disk.buffering.internal.exporter;
77

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
9-
import io.opentelemetry.contrib.disk.buffering.internal.StorageConfiguration;
9+
import io.opentelemetry.contrib.disk.buffering.StorageConfiguration;
1010
import io.opentelemetry.contrib.disk.buffering.internal.serialization.serializers.SignalSerializer;
1111
import io.opentelemetry.contrib.disk.buffering.internal.storage.Storage;
1212
import io.opentelemetry.contrib.disk.buffering.internal.storage.StorageBuilder;

0 commit comments

Comments
 (0)