dd-trace-java
dd-trace-java copied to clipboard
Dependencies resolution distributed in time.
What Does This Do
Reworked dependency resolution. Now - distributed in time. Always computing hash if there is no reliable (built-in) maven info inside the dependency jar-file.
Motivation
Dependency resolution and hash computation can take a lot of resource depends on jar-file size. In practice this will looks like CPU usage spike at application startup.
Additional Notes
In current implementation we are resolving one new dependency every second. We assume that 1 second is enough to traverse entries of one jar and compute hash. E.g. in one minute we will recognise 60 dependencies without huge impact to a customer's application.