Skip to content

Commit 28f65a0

Browse files
committed
first implementation + config option
1 parent 07c9478 commit 28f65a0

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfigurationImpl.java

+12
Original file line numberDiff line numberDiff line change
@@ -883,6 +883,14 @@ public String toSafeString(List<WildcardMatcher> value) {
883883
.dynamic(true)
884884
.buildWithDefault(Arrays.asList(WildcardMatcher.valueOf("*")));
885885

886+
private final ConfigurationOption<Boolean> captureThreadOnStart = ConfigurationOption.booleanOption()
887+
.key("capture_thread_on_start")
888+
.configurationCategory(CORE_CATEGORY)
889+
.description("Whether to capture tread name and ID as labels.")
890+
.dynamic(true)
891+
.tags("internal")
892+
.buildWithDefault(false);
893+
886894
public boolean isEnabled() {
887895
return enabled.get();
888896
}
@@ -1217,4 +1225,8 @@ public String toString() {
12171225
}
12181226
}
12191227

1228+
@Override
1229+
public boolean isCaptureThreadOnStart() {
1230+
return captureThreadOnStart.get();
1231+
}
12201232
}

apm-agent-core/src/main/java/co/elastic/apm/agent/impl/transaction/AbstractSpanImpl.java

+6
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,12 @@ protected void onAfterStart() {
542542

543543
List<WildcardMatcher> baggageToAttach = tracer.getConfig(CoreConfigurationImpl.class).getBaggageToAttach();
544544
baggage.storeBaggageInAttributes(this, baggageToAttach);
545+
546+
if (tracer.getConfig(CoreConfigurationImpl.class).isCaptureThreadOnStart()) {
547+
Thread currentThread = Thread.currentThread();
548+
this.addLabel("thread_id", currentThread.getId());
549+
this.addLabel("thread_name", currentThread.getName());
550+
}
545551
}
546552

547553
@Override

apm-agent-tracer/src/main/java/co/elastic/apm/agent/tracer/configuration/CoreConfiguration.java

+2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ public interface CoreConfiguration {
5454

5555
boolean isUseServletAttributesForExceptionPropagation();
5656

57+
boolean isCaptureThreadOnStart();
58+
5759
enum EventType {
5860
/**
5961
* Request bodies will never be reported

0 commit comments

Comments
 (0)