Skip to content

Commit 60451c0

Browse files
committed
increase coverage + reformat
1 parent 3072467 commit 60451c0

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

span-stacktrace/src/main/java/io/opentelemetry/contrib/stacktrace/StackTraceSpanProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public boolean isOnEndingRequired() {
5353

5454
@Override
5555
public void onEnding(ReadWriteSpan span) {
56-
if (minSpanDurationNanos < 0 || span.getLatencyNanos() < minSpanDurationNanos) {
56+
if (span.getLatencyNanos() < minSpanDurationNanos) {
5757
return;
5858
}
5959
if (span.getAttribute(SPAN_STACKTRACE) != null) {

span-stacktrace/src/test/java/io/opentelemetry/contrib/stacktrace/StackTraceSpanProcessorTest.java

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package io.opentelemetry.contrib.stacktrace;
77

88
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
9+
import static org.assertj.core.api.Assertions.assertThatCode;
910

1011
import io.opentelemetry.api.trace.Span;
1112
import io.opentelemetry.api.trace.SpanBuilder;
@@ -35,6 +36,12 @@ private static long msToNs(int ms) {
3536
return Duration.ofMillis(ms).toNanos();
3637
}
3738

39+
@Test
40+
void tryInvalidMinDuration() {
41+
assertThatCode(() -> new StackTraceSpanProcessor(-1, null))
42+
.isInstanceOf(IllegalArgumentException.class);
43+
}
44+
3845
@Test
3946
void durationAndFiltering() {
4047
// on duration threshold
@@ -45,7 +52,7 @@ void durationAndFiltering() {
4552
checkSpanWithoutStackTrace(YesPredicate.class, "2ms", msToNs(1));
4653

4754
// filtering out span
48-
checkSpanWithoutStackTrace(NoPredicate.class, "1ms", 20);
55+
checkSpanWithoutStackTrace(NoPredicate.class, "1ms", msToNs(20));
4956
}
5057

5158
public static class YesPredicate implements Predicate<ReadableSpan> {
@@ -99,7 +106,8 @@ private static void checkSpanWithStackTrace(String minDurationString, long spanD
99106
}
100107

101108
private static void checkSpanWithoutStackTrace(
102-
Class<? extends Predicate<?>> predicateClass, String minDurationString,
109+
Class<? extends Predicate<?>> predicateClass,
110+
String minDurationString,
103111
long spanDurationNanos) {
104112
checkSpan(
105113
predicateClass,
@@ -120,21 +128,23 @@ private static void checkSpan(
120128
InMemorySpanExporter spansExporter = InMemorySpanExporter.create();
121129

122130
AutoConfiguredOpenTelemetrySdkBuilder sdkBuilder = AutoConfiguredOpenTelemetrySdk.builder();
123-
sdkBuilder.addPropertiesSupplier(() -> {
124-
Map<String, String> configMap = new HashMap<>();
125-
126-
configMap.put("otel.metrics.exporter", "none");
127-
configMap.put("otel.traces.exporter", "logging");
128-
configMap.put("otel.logs.exporter", "none");
129-
130-
if (minDurationString != null) {
131-
configMap.put("otel.java.experimental.span-stacktrace.min.duration", minDurationString);
132-
}
133-
if (predicateClass != null) {
134-
configMap.put("otel.java.experimental.span-stacktrace.filter", predicateClass.getName());
135-
}
136-
return configMap;
137-
});
131+
sdkBuilder.addPropertiesSupplier(
132+
() -> {
133+
Map<String, String> configMap = new HashMap<>();
134+
135+
configMap.put("otel.metrics.exporter", "none");
136+
configMap.put("otel.traces.exporter", "logging");
137+
configMap.put("otel.logs.exporter", "none");
138+
139+
if (minDurationString != null) {
140+
configMap.put("otel.java.experimental.span-stacktrace.min.duration", minDurationString);
141+
}
142+
if (predicateClass != null) {
143+
configMap.put(
144+
"otel.java.experimental.span-stacktrace.filter", predicateClass.getName());
145+
}
146+
return configMap;
147+
});
138148
// duplicate export to our in-memory span exporter
139149
sdkBuilder.addSpanExporterCustomizer(
140150
(exporter, config) -> SpanExporter.composite(exporter, spansExporter));

0 commit comments

Comments
 (0)