Package co.elastic.apm.agent.premain

THIS PACKAGE MUST HAVE NO DEPENDENCY ON ANYTHING!

It contains the minimal code required to bootstrap the agent without causing any implicit initializations of anything related to the agent, including agent classes loading and linkage. The bootstrap sequence includes:
  • bootstrap checks to abort initialization if required (can be disabled through the elastic.apm.disable_bootstrap_checks System property).
  • load the co.elastic.apm.agent.bci.ElasticApmAgent class and execute the agent initialization process through reflection. This can be done synchronously, blocking the bootstrapping thread, or asynchronously on a different thread after some delay, that may be configured through the elastic.apm.delay_agent_premain_ms System property.