in src/main/java/org/apache/sling/cta/impl/Agent.java [32:71]
public static void premain(String args, Instrumentation inst) {
String[] parsedArgs = args != null ? args.split(",") : new String[0];
long connectTimeout = TimeUnit.MINUTES.toMillis(1);
long readTimeout = TimeUnit.MINUTES.toMillis(1);
String logSpec = "";
if ( parsedArgs.length > 0 )
connectTimeout = Long.parseLong(parsedArgs[0]);
if ( parsedArgs.length > 1 )
readTimeout = Long.parseLong(parsedArgs[1]);
if ( parsedArgs.length > 2)
logSpec = parsedArgs[2];
Log.configure(logSpec);
Log.get().log("Preparing to install URL transformers. Configured timeouts - connectTimeout : %d, readTimeout: %d", connectTimeout, readTimeout);
AgentInfo agentInfoMBean = new AgentInfo(connectTimeout, readTimeout);
ClassFileTransformer[] transformers = new ClassFileTransformer[] {
new JavaNetTimeoutTransformer(connectTimeout, readTimeout, agentInfoMBean),
new HttpClient3TimeoutTransformer(connectTimeout, readTimeout, agentInfoMBean),
new HttpClient4TimeoutTransformer(connectTimeout, readTimeout, agentInfoMBean),
new OkHttpTimeoutTransformer(connectTimeout, readTimeout, agentInfoMBean)
};
List<String> transformerNames = new ArrayList<>();
for ( ClassFileTransformer transformer : transformers ) {
inst.addTransformer(transformer, true);
transformerNames.add(transformer.getClass().getName());
}
try {
ManagementFactory.getPlatformMBeanServer().registerMBean(agentInfoMBean, AgentInfo.NAME);
} catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e) {
Log.get().log("Failed registering MBean: %s", e.getMessage());
}
Log.get().log("All transformers installed");
}