Skip to content

Commit

Permalink
pr review
Browse files Browse the repository at this point in the history
  • Loading branch information
zeitlinger committed Oct 16, 2024
1 parent ef927c7 commit 9ce3fec
Show file tree
Hide file tree
Showing 16 changed files with 54 additions and 106 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.exporter.logging.otlp.internal.logs;

import io.opentelemetry.exporter.internal.marshal.Marshaler;
import io.opentelemetry.exporter.internal.otlp.logs.LogReusableDataMarshaler;
import io.opentelemetry.exporter.internal.otlp.logs.ResourceLogsMarshaler;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
Expand Down Expand Up @@ -58,12 +57,9 @@ public CompletableResultCode export(Collection<LogRecordData> logs) {
}

if (wrapperJsonObject) {
return new LogReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return jsonWriter.write(exportRequest);
}
}.export(logs);
return new LogReusableDataMarshaler(
memoryMode, (marshaler, numItems) -> jsonWriter.write(marshaler))
.export(logs);
} else {
for (ResourceLogsMarshaler resourceLogs : ResourceLogsMarshaler.create(logs)) {
CompletableResultCode resultCode = jsonWriter.write(resourceLogs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import static java.util.Objects.requireNonNull;

import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingLogRecordExporter;
import io.opentelemetry.exporter.logging.otlp.internal.OtlpStdoutExporterBuilderUtil;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.LoggerJsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.StreamJsonWriter;
Expand Down Expand Up @@ -85,7 +84,10 @@ public OtlpStdoutLogRecordExporterBuilder setOutput(Logger logger) {
* @return a new exporter's instance
*/
public OtlpStdoutLogRecordExporter build() {
OtlpStdoutExporterBuilderUtil.validate(memoryMode, wrapperJsonObject);
if (memoryMode == MemoryMode.REUSABLE_DATA && !wrapperJsonObject) {
throw new IllegalArgumentException(
"Reusable data mode is not supported without wrapperJsonObject");
}
return new OtlpStdoutLogRecordExporter(logger, jsonWriter, wrapperJsonObject, memoryMode);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.exporter.logging.otlp.internal.metrics;

import io.opentelemetry.exporter.internal.marshal.Marshaler;
import io.opentelemetry.exporter.internal.otlp.metrics.MetricReusableDataMarshaler;
import io.opentelemetry.exporter.internal.otlp.metrics.ResourceMetricsMarshaler;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
Expand Down Expand Up @@ -86,12 +85,9 @@ public CompletableResultCode export(Collection<MetricData> metrics) {
}

if (wrapperJsonObject) {
return new MetricReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return jsonWriter.write(exportRequest);
}
}.export(metrics);
return new MetricReusableDataMarshaler(
memoryMode, (marshaler, numItems) -> jsonWriter.write(marshaler))
.export(metrics);
} else {
for (ResourceMetricsMarshaler resourceMetrics : ResourceMetricsMarshaler.create(metrics)) {
CompletableResultCode resultCode = jsonWriter.write(resourceMetrics);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import static java.util.Objects.requireNonNull;

import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingMetricExporter;
import io.opentelemetry.exporter.logging.otlp.internal.OtlpStdoutExporterBuilderUtil;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.LoggerJsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.StreamJsonWriter;
Expand Down Expand Up @@ -128,7 +127,10 @@ public OtlpStdoutMetricExporterBuilder setDefaultAggregationSelector(
* @return a new exporter's instance
*/
public OtlpStdoutMetricExporter build() {
OtlpStdoutExporterBuilderUtil.validate(memoryMode, wrapperJsonObject);
if (memoryMode == MemoryMode.REUSABLE_DATA && !wrapperJsonObject) {
throw new IllegalArgumentException(
"Reusable data mode is not supported without wrapperJsonObject");
}
return new OtlpStdoutMetricExporter(
logger,
jsonWriter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

package io.opentelemetry.exporter.logging.otlp.internal.traces;

import io.opentelemetry.exporter.internal.marshal.Marshaler;
import io.opentelemetry.exporter.internal.otlp.traces.ResourceSpansMarshaler;
import io.opentelemetry.exporter.internal.otlp.traces.SpanReusableDataMarshaler;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
Expand Down Expand Up @@ -57,12 +56,9 @@ public CompletableResultCode export(Collection<SpanData> spans) {
}

if (wrapperJsonObject) {
return new SpanReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return jsonWriter.write(exportRequest);
}
}.export(spans);
return new SpanReusableDataMarshaler(
memoryMode, (marshaler, numItems) -> jsonWriter.write(marshaler))
.export(spans);
} else {
for (ResourceSpansMarshaler resourceSpans : ResourceSpansMarshaler.create(spans)) {
CompletableResultCode resultCode = jsonWriter.write(resourceSpans);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import static java.util.Objects.requireNonNull;

import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingSpanExporter;
import io.opentelemetry.exporter.logging.otlp.internal.OtlpStdoutExporterBuilderUtil;
import io.opentelemetry.exporter.logging.otlp.internal.writer.JsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.LoggerJsonWriter;
import io.opentelemetry.exporter.logging.otlp.internal.writer.StreamJsonWriter;
Expand Down Expand Up @@ -85,7 +84,10 @@ public OtlpStdoutSpanExporterBuilder setOutput(Logger logger) {
* @return a new exporter's instance
*/
public OtlpStdoutSpanExporter build() {
OtlpStdoutExporterBuilderUtil.validate(memoryMode, wrapperJsonObject);
if (memoryMode == MemoryMode.REUSABLE_DATA && !wrapperJsonObject) {
throw new IllegalArgumentException(
"Reusable data mode is not supported without wrapperJsonObject");
}
return new OtlpStdoutSpanExporter(logger, jsonWriter, wrapperJsonObject, memoryMode);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,7 @@ public final class OtlpHttpLogRecordExporter implements LogRecordExporter {
MemoryMode memoryMode) {
this.builder = builder;
this.delegate = delegate;
this.marshaler =
new LogReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new LogReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,7 @@ public final class OtlpHttpMetricExporter implements MetricExporter {
this.delegate = delegate;
this.aggregationTemporalitySelector = aggregationTemporalitySelector;
this.defaultAggregationSelector = defaultAggregationSelector;
this.marshaler =
new MetricReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new MetricReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,7 @@ public final class OtlpHttpSpanExporter implements SpanExporter {
MemoryMode memoryMode) {
this.builder = builder;
this.delegate = delegate;
this.marshaler =
new SpanReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new SpanReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,7 @@ public static OtlpGrpcLogRecordExporterBuilder builder() {
MemoryMode memoryMode) {
this.builder = builder;
this.delegate = delegate;
this.marshaler =
new LogReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new LogReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,7 @@ public static OtlpGrpcMetricExporterBuilder builder() {
this.delegate = delegate;
this.aggregationTemporalitySelector = aggregationTemporalitySelector;
this.defaultAggregationSelector = defaultAggregationSelector;
this.marshaler =
new MetricReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new MetricReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,7 @@ public static OtlpGrpcSpanExporterBuilder builder() {
MemoryMode memoryMode) {
this.builder = builder;
this.delegate = delegate;
this.marshaler =
new SpanReusableDataMarshaler(memoryMode) {
@Override
public CompletableResultCode doExport(Marshaler exportRequest, int numItems) {
return delegate.export(exportRequest, numItems);
}
};
this.marshaler = new SpanReusableDataMarshaler(memoryMode, delegate::export);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,25 @@
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Deque;
import java.util.function.BiFunction;

public abstract class LogReusableDataMarshaler {
public class LogReusableDataMarshaler {

private final Deque<LowAllocationLogsRequestMarshaler> marshalerPool = new ArrayDeque<>();

private final MemoryMode memoryMode;
private final BiFunction<Marshaler, Integer, CompletableResultCode> doExport;

public LogReusableDataMarshaler(MemoryMode memoryMode) {
public LogReusableDataMarshaler(
MemoryMode memoryMode, BiFunction<Marshaler, Integer, CompletableResultCode> doExport) {
this.memoryMode = memoryMode;
this.doExport = doExport;
}

public MemoryMode getMemoryMode() {
return memoryMode;
}

public abstract CompletableResultCode doExport(Marshaler exportRequest, int numItems);

public CompletableResultCode export(Collection<LogRecordData> logs) {
if (memoryMode == MemoryMode.REUSABLE_DATA) {
LowAllocationLogsRequestMarshaler marshaler = marshalerPool.poll();
Expand All @@ -37,7 +39,8 @@ public CompletableResultCode export(Collection<LogRecordData> logs) {
}
LowAllocationLogsRequestMarshaler exportMarshaler = marshaler;
exportMarshaler.initialize(logs);
return doExport(exportMarshaler, logs.size())
return doExport
.apply(exportMarshaler, logs.size())
.whenComplete(
() -> {
exportMarshaler.reset();
Expand All @@ -46,6 +49,6 @@ public CompletableResultCode export(Collection<LogRecordData> logs) {
}
// MemoryMode == MemoryMode.IMMUTABLE_DATA
LogsRequestMarshaler request = LogsRequestMarshaler.create(logs);
return doExport(request, logs.size());
return doExport.apply(request, logs.size());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,25 @@
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Deque;
import java.util.function.BiFunction;

public abstract class MetricReusableDataMarshaler {
public class MetricReusableDataMarshaler {

private final Deque<LowAllocationMetricsRequestMarshaler> marshalerPool = new ArrayDeque<>();

private final MemoryMode memoryMode;
private final BiFunction<Marshaler, Integer, CompletableResultCode> doExport;

public MetricReusableDataMarshaler(MemoryMode memoryMode) {
public MetricReusableDataMarshaler(
MemoryMode memoryMode, BiFunction<Marshaler, Integer, CompletableResultCode> doExport) {
this.memoryMode = memoryMode;
this.doExport = doExport;
}

public MemoryMode getMemoryMode() {
return memoryMode;
}

public abstract CompletableResultCode doExport(Marshaler exportRequest, int numItems);

public CompletableResultCode export(Collection<MetricData> metrics) {
if (memoryMode == MemoryMode.REUSABLE_DATA) {
LowAllocationMetricsRequestMarshaler marshaler = marshalerPool.poll();
Expand All @@ -37,7 +39,8 @@ public CompletableResultCode export(Collection<MetricData> metrics) {
}
LowAllocationMetricsRequestMarshaler exportMarshaler = marshaler;
exportMarshaler.initialize(metrics);
return doExport(exportMarshaler, metrics.size())
return doExport
.apply(exportMarshaler, metrics.size())
.whenComplete(
() -> {
exportMarshaler.reset();
Expand All @@ -46,6 +49,6 @@ public CompletableResultCode export(Collection<MetricData> metrics) {
}
// MemoryMode == MemoryMode.IMMUTABLE_DATA
MetricsRequestMarshaler request = MetricsRequestMarshaler.create(metrics);
return doExport(request, metrics.size());
return doExport.apply(request, metrics.size());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,25 @@
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Deque;
import java.util.function.BiFunction;

public abstract class SpanReusableDataMarshaler {
public class SpanReusableDataMarshaler {

private final Deque<LowAllocationTraceRequestMarshaler> marshalerPool = new ArrayDeque<>();

private final MemoryMode memoryMode;
private final BiFunction<Marshaler, Integer, CompletableResultCode> doExport;

public SpanReusableDataMarshaler(MemoryMode memoryMode) {
public SpanReusableDataMarshaler(
MemoryMode memoryMode, BiFunction<Marshaler, Integer, CompletableResultCode> doExport) {
this.memoryMode = memoryMode;
this.doExport = doExport;
}

public MemoryMode getMemoryMode() {
return memoryMode;
}

public abstract CompletableResultCode doExport(Marshaler exportRequest, int numItems);

public CompletableResultCode export(Collection<SpanData> spans) {
if (memoryMode == MemoryMode.REUSABLE_DATA) {
LowAllocationTraceRequestMarshaler marshaler = marshalerPool.poll();
Expand All @@ -37,7 +39,8 @@ public CompletableResultCode export(Collection<SpanData> spans) {
}
LowAllocationTraceRequestMarshaler exportMarshaler = marshaler;
exportMarshaler.initialize(spans);
return doExport(exportMarshaler, spans.size())
return doExport
.apply(exportMarshaler, spans.size())
.whenComplete(
() -> {
exportMarshaler.reset();
Expand All @@ -46,6 +49,6 @@ public CompletableResultCode export(Collection<SpanData> spans) {
}
// MemoryMode == MemoryMode.IMMUTABLE_DATA
TraceRequestMarshaler request = TraceRequestMarshaler.create(spans);
return doExport(request, spans.size());
return doExport.apply(request, spans.size());
}
}

0 comments on commit 9ce3fec

Please sign in to comment.