Traditional code analysis tools like profilers and IDEs do not provide a complete view of the code used due to their static nature, lack context of what code is actually invoked in production over time, or are so overhead-intensive they cannot practically be used in production settings.
Static analyzers in IDE tools can only find trivial cases of unused and dead code such as private methods that are statically unreachable, and so do not scale to larger projects.
Runtime profilers require adding and managing another piece of software which can introduce runtime overhead on every method call; even where agents claim to be efficient, manual effort is needed to summarize results.
Log-line insertions are manually time-intensive and typically do not result in 100% coverage, missing much of unused and dead code.
Code Inventory introduces no manual or performance overhead, detects what actually runs in production, and summarizes results across all JVMs over time to provide a true and accurate signal for confidently removing unused and dead code.