prevent absence of scala runtime and akka from disabling field injection of runnables#1910
prevent absence of scala runtime and akka from disabling field injection of runnables#1910richardstartin wants to merge 1 commit into
Conversation
|
|
f4ce8a9 to
8865852
Compare
There was a problem hiding this comment.
So this only affects the _normal _ instrumentation. The other one that should be changed is in datadog.trace.agent.tooling.context.FieldBackedProvider.additionalInstrumentation(agentBuilder)
There was a problem hiding this comment.
I tested this (see last commit) and there was a difference of less than 1 S.D.
8865852 to
01c7939
Compare
01c7939 to
69ce269
Compare
Well, on a MacBook Pro 13" they can be pretty misleading so I'll take some measurements on another machine. Also, @bantonsson is working on an alternative approach to just ignoring classloader matchers (which I still think is the right thing to do - I don't think they're an optimisation) so I won't merge this unless he buys in to this approach. |
|
Based on my startup time testing there is a small increase over master but I think we have already made that back up with the other changes you have been making |
|
I noticed that it slowed down a bit when I used |
|
we can have field injection and class loader matchers with #1920 |
These well intentioned optimisations were preventing field injection of runnables, because of a bit of technical debt in
FieldBackedProviderThis led to injection for the
Runnableinstrumentation being skipped whenever scala and akka weren't present. We figured this out because all runnables in the play smoke test get field injected (see the logs at #1908) but none for springboot or springboot-grpc, and then there were these logs.