You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
trace_methods is dynamic, but it looks like it needs to be defined with SOMETHING at startup, then it can successfully be redefined. But if not defined at all at startup, the redefinition fails with mapping errors
java.lang.IllegalStateException: There's no mapping for key co.elastic.apm.agent.tracemethods.TraceMethodInstrumentation$TraceMethodAdvice
Steps to reproduce
Do NOT define trace_methods at startup (ie it should be absent from properties and config files), then sometime after startup define it, eg
For that example, all methods in somepackage should produce no transactions until about 30 seconds after startup, when it should start producing transactions for any method executed in somepackage
Debug logs
2023-08-21 14:48:06,614 [Thread-16] ERROR co.elastic.apm.agent.bci.IndyBootstrap - There's no mapping for key co.elastic.apm.agent.tracemethods.TraceMethodInstrumentation$TraceMethodAdvice
java.lang.IllegalStateException: There's no mapping for key co.elastic.apm.agent.tracemethods.TraceMethodInstrumentation$TraceMethodAdvice
at co.elastic.apm.agent.bci.ElasticApmAgent.getInstrumentationClassLoader(ElasticApmAgent.java:946) ~[elastic-apm-agent-1.38.1-SNAPSHOT.jar:1.38.1-SNAPSHOT]
at co.elastic.apm.agent.bci.IndyBootstrap.internalBootstrap(IndyBootstrap.java:416) ~[elastic-apm-agent-1.38.1-SNAPSHOT.jar:1.38.1-SNAPSHOT]
at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:389) ~[elastic-apm-agent-1.38.1-SNAPSHOT.jar:1.38.1-SNAPSHOT]
at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:61) ~[?:?]
at java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:147) ~[?:?]
at java.lang.invoke.CallSite.makeSite(CallSite.java:315) ~[?:?]
at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:281) ~[?:?]
at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:271) ~[?:?]
at wimtjgf.ScoreUI.getGcTime(ScoreUI.java:215) ~[bin/:?]
at wimtjgf.ScoreUI.lambda$2(Unknown Source) ~[bin/:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Workaround
Add a dummy trace_methods definition at startup, eg -Delastic.apm.trace_methods=nothing.at.all then redefine dynamically as desired
The text was updated successfully, but these errors were encountered:
Describe the bug
trace_methods is dynamic, but it looks like it needs to be defined with SOMETHING at startup, then it can successfully be redefined. But if not defined at all at startup, the redefinition fails with mapping errors
Steps to reproduce
Do NOT define trace_methods at startup (ie it should be absent from properties and config files), then sometime after startup define it, eg
Expected behavior
For that example, all methods in
somepackage
should produce no transactions until about 30 seconds after startup, when it should start producing transactions for any method executed insomepackage
Debug logs
Workaround
Add a dummy trace_methods definition at startup, eg
-Delastic.apm.trace_methods=nothing.at.all
then redefine dynamically as desiredThe text was updated successfully, but these errors were encountered: