Skip to content

Commit

Permalink
Ignore janino classloader (#7710)
Browse files Browse the repository at this point in the history
Fixes #7670

These obscure classloaders should be ignored completely, they process
in-line class creation and should not branch out to interactions that
are useful in distributed tracing. These two are responsible for outages
recently in many of our applications due to driving up memory usage from
WeakKey caching. In some cases, janino processing has ran wild and
stimulated over 5.7mil WeakKey objects accounting for close to 200MB of
heap.
  • Loading branch information
robododge authored Feb 2, 2023
1 parent 4ac78bb commit 00ae25b
Showing 1 changed file with 2 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ private static void configureIgnoredClassLoaders(IgnoredTypesBuilder builder) {
"org.springframework.context.support.ContextTypeMatchClassLoader$ContextOverridingClassLoader")
.ignoreClassLoader("sun.misc.Launcher$ExtClassLoader")
.ignoreClassLoader("org.openjdk.nashorn.internal.runtime.ScriptLoader")
.ignoreClassLoader("org.codehaus.janino.ByteArrayClassLoader")
.ignoreClassLoader("org.eclipse.persistence.internal.jaxb.JaxbClassLoader")
.ignoreClassLoader(AgentClassLoader.class.getName())
.ignoreClassLoader(ExtensionClassLoader.class.getName());

Expand Down

0 comments on commit 00ae25b

Please sign in to comment.