Skip to content

Commit 576ab8e

Browse files
committed
Avoids NoClassDefFoundError: Could not initialize class DDSpanLink$EncoderHolder in Graal native-image
Both fromJson and toJson methods need to be registered, do the same for other JSON entries to be consistent. Also declare some JsonRule types need reflective access for a related issue using DD_TRACE_SAMPLING_RULES
1 parent 508c314 commit 576ab8e

File tree

1 file changed

+21
-3
lines changed
  • dd-java-agent/agent-bootstrap/src/main/resources/META-INF/native-image/com.datadoghq/dd-java-agent

1 file changed

+21
-3
lines changed

dd-java-agent/agent-bootstrap/src/main/resources/META-INF/native-image/com.datadoghq/dd-java-agent/reflect-config.json

+21-3
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,42 @@
3838
{
3939
"name" : "datadog.trace.agent.common.sampling.SpanSamplingRules$RuleAdapter",
4040
"methods": [
41-
{"name": "fromJson"}
41+
{"name": "fromJson"},
42+
{"name": "toJson"}
4243
]
4344
},
45+
{
46+
"name" : "datadog.trace.agent.common.sampling.SpanSamplingRules$JsonRule",
47+
"allDeclaredConstructors" : true,
48+
"allPublicConstructors" : true,
49+
"allDeclaredFields" : true,
50+
"allPublicFields" : true
51+
},
4452
{
4553
"name" : "datadog.trace.agent.common.sampling.TraceSamplingRules$RuleAdapter",
4654
"methods": [
47-
{"name": "fromJson"}
55+
{"name": "fromJson"},
56+
{"name": "toJson"}
4857
]
4958
},
59+
{
60+
"name" : "datadog.trace.agent.common.sampling.TraceSamplingRules$JsonRule",
61+
"allDeclaredConstructors" : true,
62+
"allPublicConstructors" : true,
63+
"allDeclaredFields" : true,
64+
"allPublicFields" : true
65+
},
5066
{
5167
"name" : "datadog.trace.agent.core.TracingConfigPoller$TracingSamplingRulesAdapter",
5268
"methods": [
53-
{"name": "fromJson"}
69+
{"name": "fromJson"},
70+
{"name": "toJson"}
5471
]
5572
},
5673
{
5774
"name" : "datadog.trace.agent.core.DDSpanLink$SpanLinkAdapter",
5875
"methods": [
76+
{"name": "fromSpanLinkJson"},
5977
{"name": "toSpanLinkJson"}
6078
]
6179
},

0 commit comments

Comments
 (0)