DataDog / dd-trace-java

Datadog APM client for Java
https://docs.datadoghq.com/tracing/languages/java
Apache License 2.0
573 stars 284 forks source link

Support CDS #7580

Open jacobmarshmallow opened 3 weeks ago

jacobmarshmallow commented 3 weeks ago

Hi, now that Spring Boot supports it [1] [2] we were hoping to use java CDS to speed up our application start times. In local testing we saw that it improved them drastically but when we went to run it in the cloud with the datadog agent attached we could see from the class loader + class path logs (-Xlog:class+load:file and -Xlog:class+path=debug:file) that the classes were being loaded from the jars again and not the .jsa archive we generated. I'm not actually sure if it's even technically possible, but it would be great if the agent could support loading the apps classes it needs from the archive. I am happy to provide a reproduction if necessary

mcculls commented 3 weeks ago

Hi @jacobmarshmallow - thanks, a reproduction would be very helpful

Note we are limited to what the JVM instrumentation API lets us do and how that interacts with shared classes.

jacobmarshmallow commented 3 weeks ago

Hi @mcculls, Here is a repro repo, I hope it helps!

Yeah I am hoping the JVM allows for it, I am at the limits of my knowledge around agents so was just raising to with the hope that it might.