@Override
    public void start() {
        synchronized (agentStatusLock) {
            if (this.agentStatus == AgentStatus.INITIALIZING) {
                changeStatus(AgentStatus.RUNNING);
            } else {
                logger.warn("Agent already started.");
                return;
            }
        }

        logger.info("Starting pinpoint Agent.");
        this.applicationContext.start();
        printBanner();
    }
@author emeroad
@author koo.taejin
@author hyungil.jeong
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/DefaultAgent.java