public void doCancel(PerfTest perfTest, SingleConsole singleConsoleInUse, String message) {
		LOG.info(format(perfTest, "Cancel test."));
		singleConsoleInUse.unregisterSampling();
		LOG.info(format(perfTest, "Sampling is stopped"));
		try {
			perfTestService.markProgressAndStatusAndFinishTimeAndStatistics(perfTest, CANCELED, message);
		} catch (Exception e) {
			LOG.error(format(perfTest,"Error while canceling test : {}", e.getMessage()));
			LOG.debug(format(perfTest, "Details : "), e);
		}
		consoleManager.returnBackConsole(perfTest.getTestIdentifier(), singleConsoleInUse);
	}
Cancel the given {@link PerfTest}.

@param perfTest           {@link PerfTest} to be canceled
@param singleConsoleInUse {@link SingleConsole} which is being used for the given
@param message            cancel message
ngrinder-controller/src/main/java/org/ngrinder/perftest/service/PerfTestRunnable.java