Skip to content

Commit e72361e

Browse files
committed
map min duration
1 parent d6b0de2 commit e72361e

File tree

5 files changed

+25
-6
lines changed

5 files changed

+25
-6
lines changed

span-stacktrace/README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ You can enable the stacktrace span processor using declarative YAML configuratio
3232
file_format: 1.0-rc.1
3333
tracer_provider:
3434
processors:
35-
- experimental-stacktrace:
36-
min:
37-
duration: 10 # minimal duration in ms, default is 5, MUST be an integer
35+
- experimental_stacktrace:
36+
min_duration: 10 # minimal duration in ms, default is 5, MUST be an integer
3837
filter: my.class.Name # optional, default is to include all spans
3938
```
4039

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class StackTraceAutoConfig implements AutoConfigurationCustomizerProvider
2727
private static final Logger log = Logger.getLogger(StackTraceAutoConfig.class.getName());
2828

2929
static final String PREFIX = "otel.java.experimental.span-stacktrace.";
30-
private static final String CONFIG_MIN_DURATION = PREFIX + "min.duration";
30+
static final String CONFIG_MIN_DURATION = PREFIX + "min.duration";
3131
private static final Duration CONFIG_MIN_DURATION_DEFAULT = Duration.ofMillis(5);
3232
private static final String CONFIG_FILTER = PREFIX + "filter";
3333

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public String getName() {
2323
public SpanProcessor create(DeclarativeConfigProperties config) {
2424
return StackTraceAutoConfig.create(
2525
new DeclarativeConfigPropertiesBridgeBuilder()
26+
.addMapping(StackTraceAutoConfig.CONFIG_MIN_DURATION, "min_duration")
2627
.addMapping(StackTraceAutoConfig.PREFIX, "")
2728
.build(config));
2829
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,14 @@ private static String removeInternalFrames(String stackTrace) {
9494
}
9595
return stackTrace.substring(nextNewLine + 1);
9696
}
97+
98+
@Override
99+
public String toString() {
100+
return "StackTraceSpanProcessor{"
101+
+ "minSpanDurationNanos="
102+
+ minSpanDurationNanos
103+
+ ", filterPredicate="
104+
+ filterPredicate
105+
+ '}';
106+
}
97107
}

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import io.opentelemetry.sdk.extension.incubator.fileconfig.DeclarativeConfiguration;
1212
import java.io.ByteArrayInputStream;
1313
import java.nio.charset.StandardCharsets;
14+
import java.util.Locale;
15+
import java.util.concurrent.TimeUnit;
1416
import org.junit.jupiter.api.Test;
1517

1618
class StackTraceComponentProviderTest {
@@ -20,13 +22,20 @@ void endToEnd() {
2022
"file_format: 1.0-rc.1\n"
2123
+ "tracer_provider:\n"
2224
+ " processors:\n"
23-
+ " - experimental_stacktrace:\n";
25+
+ " - experimental_stacktrace: \n"
26+
+ " min_duration: 100\n"
27+
+ " filter: io.opentelemetry.contrib.stacktrace.StackTraceSpanProcessorTest$YesPredicate\n";
2428

2529
OpenTelemetrySdk openTelemetrySdk =
2630
DeclarativeConfiguration.parseAndCreate(
2731
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8)));
2832

2933
assertThat(openTelemetrySdk.getSdkTracerProvider().toString())
30-
.contains("StackTraceSpanProcessor");
34+
.contains(
35+
String.format(
36+
Locale.ROOT,
37+
"StackTraceSpanProcessor{minSpanDurationNanos=%d, "
38+
+ "filterPredicate=io.opentelemetry.contrib.stacktrace.StackTraceSpanProcessorTest$YesPredicate",
39+
TimeUnit.MILLISECONDS.toNanos(100)));
3140
}
3241
}

0 commit comments

Comments
 (0)