use of io.fabric8.apmagent.strategy.trace.TraceStrategy in project fabric8 by fabric8io.
the class ApmAgent method initialize.
/**
* @return false if already initialized, else true if is actually initialized
*/
public boolean initialize(final Instrumentation instrumentation, String args) throws Exception {
boolean result;
if ((result = initialized.compareAndSet(false, true))) {
this.instrumentation = instrumentation;
PropertyUtils.setProperties(configuration, args);
configuration.addChangeListener(this);
apmAgentContext.initialize();
ApmConfiguration.STRATEGY theStrategy = configuration.getStrategyImpl();
switch(theStrategy) {
case TRACE:
this.strategy = new TraceStrategy(apmAgentContext, instrumentation);
LOG.debug("Using Trace strategy");
break;
default:
this.strategy = new SamplingStrategy(apmAgentContext);
LOG.debug("Using Sampling strategy");
}
this.strategy.initialize();
// add shutdown hook
Thread cleanup = new Thread() {
@Override
public void run() {
try {
ApmAgent apmAgent = ApmAgent.INSTANCE;
apmAgent.shutDown();
} catch (Exception e) {
LOG.warn("Failed to run shutdown hook due " + e.getMessage(), e);
}
}
};
Runtime.getRuntime().addShutdownHook(cleanup);
}
return result;
}
use of io.fabric8.apmagent.strategy.trace.TraceStrategy in project fabric8 by jboss-fuse.
the class ApmAgent method initialize.
/**
* @param instrumentation
* @param args
* @return false if already initialized, else true if is actually initialized
*/
public boolean initialize(final Instrumentation instrumentation, String args) throws Exception {
boolean result;
if ((result = initialized.compareAndSet(false, true))) {
this.instrumentation = instrumentation;
PropertyUtils.setProperties(configuration, args);
configuration.addChangeListener(this);
apmAgentContext.initialize();
ApmConfiguration.STRATEGY theStrategy = configuration.getStrategyImpl();
switch(theStrategy) {
case TRACE:
this.strategy = new TraceStrategy(apmAgentContext, instrumentation);
LOG.info("Using Trace strategy");
break;
default:
this.strategy = new SamplingStrategy(apmAgentContext);
LOG.info("Using Sampling strategy");
}
this.strategy.initialize();
// add shutdown hook
Thread cleanup = new Thread() {
@Override
public void run() {
try {
ApmAgent apmAgent = ApmAgent.INSTANCE;
apmAgent.shutDown();
} catch (Exception e) {
LOG.error("Failed to run shutdown hook", e);
}
}
};
Runtime.getRuntime().addShutdownHook(cleanup);
}
return result;
}
Aggregations