Example usage for org.springframework.util StopWatch StopWatch

List of usage examples for org.springframework.util StopWatch StopWatch

Introduction

In this page you can find the example usage for org.springframework.util StopWatch StopWatch.

Prototype

public StopWatch() 

Source Link

Document

Construct a new StopWatch .

Usage

From source file:com.persistent.cloudninja.scheduler.TenantBlobSizeGenerator.java

@Override
public boolean execute() {
    boolean retVal = true;
    StopWatch watch = new StopWatch();
    try {//from   w ww .j av a2  s.c  om
        watch.start();
        LOGGER.debug("In generator");
        TenantBlobSizeQueue queue = (TenantBlobSizeQueue) getWorkQueue();
        //get all tenantIds
        List<TenantIdMasterEntity> listTenant = tenantIdMasterDao.getAllTenants();
        for (Iterator<TenantIdMasterEntity> iterator = listTenant.iterator(); iterator.hasNext();) {
            TenantIdMasterEntity tenant = (TenantIdMasterEntity) iterator.next();
            String tenantId = tenant.getTenantId();
            //put each tenant Id in queue
            queue.enqueue(tenantId);
            LOGGER.info("Generator : msg added is " + tenantId);
        }
        watch.stop();
        taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(), "GenerateMeterBlobSizeWork",
                "Measure blob size for " + listTenant.size() + " tenants");
    } catch (StorageException e) {
        retVal = false;
        LOGGER.error(e.getMessage(), e);
    }
    return retVal;
}

From source file:org.ngrinder.perftest.service.ConsoleManagerTest.java

@Test
public void testConsoleManagerWhenExceedingLimit() {
    // Get all console
    int initialSize = manager.getAvailableConsoleSize();
    SingleConsole availableConsole = null;
    for (int i = 1; i <= initialSize; i++) {
        availableConsole = manager.getAvailableConsole(ConsolePropertiesFactory.createEmptyConsoleProperties());
    }/* www . j a va  2 s. c  o m*/
    final SingleConsole lastConsole = availableConsole;
    assertThat(manager.getAvailableConsoleSize(), is(0));
    StopWatch elapseTime = new StopWatch();
    elapseTime.start();
    // Try to get more console, it will take time
    try {
        manager.getAvailableConsole(ConsolePropertiesFactory.createEmptyConsoleProperties());
        fail("should throw Exception");
    } catch (NGrinderRuntimeException e) {
    }
    elapseTime.stop();
    assertThat(elapseTime.getTotalTimeSeconds(), lessThan(3000D));
    // Let's try the case when console is returned back.
    Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(1000);
                manager.returnBackConsole("test", lastConsole);
            } catch (InterruptedException e) {
            }

        }
    });
    elapseTime = new StopWatch();
    elapseTime.start();
    thread.start();
    // Try to get more console, it will return console just after console is
    // returned back
    SingleConsole anotherConsole = manager
            .getAvailableConsole(ConsolePropertiesFactory.createEmptyConsoleProperties());
    elapseTime.stop();
    assertThat(elapseTime.getTotalTimeSeconds(), lessThan(3000D));
    assertThat(manager.getAvailableConsoleSize(), is(0));
    manager.returnBackConsole("test", anotherConsole);

    // return console again is always allowed
    manager.returnBackConsole("test", anotherConsole);
    ThreadUtils.sleep(2000);
    assertThat(manager.getAvailableConsoleSize(), is(1));
    assertThat(manager.getConsoleInUse().size(), is(initialSize - 1));
}

From source file:com.persistent.cloudninja.scheduler.TenantWebBandWidthUsageProcessor.java

@Override
public boolean execute() {
    StopWatch watch = new StopWatch();
    LOGGER.info("Start of TenantWebBandWidthUsageProcessor:execute");
    boolean returnFlag = true;
    TenantWebBandWidthUsageQueue queue = (TenantWebBandWidthUsageQueue) getWorkQueue();
    try {//  w  ww  .j  a va 2  s. c  o m
        watch.start();
        List<WebLogMeteringBatch> list = queue.dequeue();
        LOGGER.debug("Queue List Size :" + list.size());
        for (int i = 0; i < list.size(); i++) {
            tenantWebBandWidthUsageProcessUtility.getTenantWebBandWidthUsage(list.get(i));
        }
        watch.stop();
        taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(),
                "ProcessMeteringWebAppBandwidth", "Processed a batch of " + list.size() + " Tomcat Logs");
    } catch (StorageException e) {
        returnFlag = false;
        LOGGER.error(e.getMessage(), e);
    } catch (ParseException e) {
        returnFlag = false;
        LOGGER.error(e.getMessage(), e);
    }
    LOGGER.debug("ReturnFlag :" + returnFlag);
    LOGGER.info("End of TenantWebBandWidthUsageProcessor:execute");
    return returnFlag;
}

From source file:com.persistent.cloudninja.scheduler.TenantDBSizeGenerator.java

/**
 * Adds message to tenantdbsizequeue which is shared between processor
 * and generator.//from  www . ja v a  2 s.c  o  m
 */
@Override
public boolean execute() {
    StopWatch watch = new StopWatch();
    boolean retVal = true;
    int tenantIds = 0;
    try {
        watch.start();
        LOGGER.debug("In generator");
        TenantDBSizeQueue queue = (TenantDBSizeQueue) getWorkQueue();
        List<TenantIdMasterEntity> listTenant = tenantIdMasterDao.getAllTenants();
        tenantIds = listTenant.size();
        for (Iterator<TenantIdMasterEntity> iterator = listTenant.iterator(); iterator.hasNext();) {
            TenantIdMasterEntity tenant = (TenantIdMasterEntity) iterator.next();
            String tenantId = tenant.getTenantId();
            queue.enqueue(tenantId);
            LOGGER.info("Generator : msg added is " + tenantId);
        }
        watch.stop();
        taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(),
                "GenerateMeterTenantDBSizeWork", "Measure database size for " + tenantIds + " tenants");
    } catch (StorageException e) {
        retVal = false;
        LOGGER.error(e.getMessage(), e);
    }
    return retVal;
}

From source file:com.persistent.cloudninja.scheduler.TenantWebBandWidthUsageGenerator.java

@Override
public boolean execute() {
    StopWatch watch = new StopWatch();
    LOGGER.info("Start of TenantWebBandWidthUsageGenerator:execute");
    // Generate Queue
    TenantWebBandWidthUsageQueue queue = (TenantWebBandWidthUsageQueue) getWorkQueue();
    boolean returnFlag = true;
    int batchSize = SchedulerSettings.WEB_BANDWIDTH_USAGE_BATCH_SIZE;
    int numBatchesPrepared = 0;
    int webLogMeteringBatchListSize = 0;

    try {/*w w  w  .ja  va  2  s.  com*/
        watch.start();
        List<WebLogMeteringBatch> webLogMeteringBatchList = tenantWebBandWidthUsageGeneratorUtility
                .retrieveTomcatLogs();
        webLogMeteringBatchListSize = webLogMeteringBatchList.size();
        for (int i = 0; i < webLogMeteringBatchListSize; i = i + batchSize) {

            List<WebLogMeteringBatch> batchToProcess = new ArrayList<WebLogMeteringBatch>();
            for (int j = 0; j < batchSize
                    && ((numBatchesPrepared * batchSize) + j) < webLogMeteringBatchList.size(); j++) {

                batchToProcess.add(webLogMeteringBatchList.get(j + i));
            }
            // Enqueue
            queue.enqueue(batchToProcess);
            numBatchesPrepared++;
        }

        LOGGER.debug("TenantWebBandWidthUsageGenerator:execute ---> Number of batched processed"
                + numBatchesPrepared);
        LOGGER.info("End of TenantWebBandWidthUsageGenerator:execute");
        watch.stop();
        taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(),
                "GenerateMeterWebAppBandwidthWork",
                "Measure " + webLogMeteringBatchListSize + " logs in " + numBatchesPrepared + " batches.");
    } catch (StorageException stgException) {
        LOGGER.error(stgException.getMessage(), stgException);
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
    }
    return returnFlag;
}

From source file:com.persistent.cloudninja.scheduler.TenantDeletionTask.java

@Override
public boolean execute() {
    boolean retval = true;
    try {//from   ww  w  .j a v  a  2  s  .c om
        TenantDeletionQueue tntDeletionQueue = (TenantDeletionQueue) getWorkQueue();
        String tenantId = tntDeletionQueue.dequeue(SchedulerSettings.MessageVisibilityTimeout);
        if (tenantId == null) {
            LOGGER.debug("Msg is null");
            retval = false;
        } else {
            StopWatch watch = new StopWatch();
            watch.start();
            provisioningService.removeTenant(tenantId);
            LOGGER.debug("tenant deleted :" + tenantId);
            watch.stop();
            taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(), "DeleteTenant",
                    "Tenant Id " + tenantId + " is deleted.");
        }
    } catch (StorageException e) {
        retval = false;
        LOGGER.error(e.getMessage(), e);
    }
    return retval;
}

From source file:io.github.jhipster.config.apidoc.SwaggerConfiguration.java

/**
 * Swagger Springfox configuration./*  w w  w  . ja v  a2s.com*/
 *
 * @param jHipsterProperties the properties of the application
 * @return the Swagger Springfox configuration
 */
@Bean
public Docket swaggerSpringfoxDocket(JHipsterProperties jHipsterProperties) {
    log.debug("Starting Swagger");
    StopWatch watch = new StopWatch();
    watch.start();
    Contact contact = new Contact(jHipsterProperties.getSwagger().getContactName(),
            jHipsterProperties.getSwagger().getContactUrl(), jHipsterProperties.getSwagger().getContactEmail());

    ApiInfo apiInfo = new ApiInfo(jHipsterProperties.getSwagger().getTitle(),
            jHipsterProperties.getSwagger().getDescription(), jHipsterProperties.getSwagger().getVersion(),
            jHipsterProperties.getSwagger().getTermsOfServiceUrl(), contact,
            jHipsterProperties.getSwagger().getLicense(), jHipsterProperties.getSwagger().getLicenseUrl());

    Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo).forCodeGeneration(true)
            .directModelSubstitute(java.nio.ByteBuffer.class, String.class)
            .genericModelSubstitutes(ResponseEntity.class).select()
            .paths(regex(jHipsterProperties.getSwagger().getDefaultIncludePattern())).build();
    watch.stop();
    log.debug("Started Swagger in {} ms", watch.getTotalTimeMillis());
    return docket;
}

From source file:de.uniwue.dmir.heatmap.point.sources.geo.datasources.RTreeGeoDatasource.java

@Override
public void reload() {

    this.rtree.clear();

    StopWatch stopWatch = new StopWatch();
    stopWatch.start("getting data");

    List<TData> data = super.dataSource.getData(null);

    stopWatch.stop();/*  w w  w .j av a  2s.  co  m*/
    super.logger.debug("getting data - count: {}", data.size());
    super.logger.debug("getting data - time: {}", stopWatch.toString());

    stopWatch.start("adding data");

    for (TData s : data) {
        GeoCoordinates geoCoordinates = this.mapper.map(s);
        this.rtree.insert(
                new float[] { (float) geoCoordinates.getLongitude(), (float) geoCoordinates.getLatitude() }, s);
    }

    stopWatch.stop();
    super.logger.debug("building r-tree: {}", stopWatch.toString());
}

From source file:com.persistent.cloudninja.scheduler.TenantStorageBWGenerator.java

/**
 * Adds message to storagebandwidthqueue which is shared between processor
 * and generator./*from   w w w .  jav a 2 s . c o  m*/
 */
@Override
public boolean execute() {
    StopWatch watch = new StopWatch();
    boolean retVal = true;
    try {
        watch.start();
        LOGGER.debug("In generator");
        TenantStorageBWQueue queue = (TenantStorageBWQueue) getWorkQueue();
        List<StorageBandwidthBatchEntity> batchesToProcess = getLogsToProcess();
        queue.enqueue(batchesToProcess);
        watch.stop();
        taskCompletionDao.updateTaskCompletionDetails(watch.getTotalTimeSeconds(), "GenerateStorageBandwidth",
                "BatchSize = " + batchesToProcess.size());
    } catch (Exception e) {
        retVal = false;
        LOGGER.error(e.getMessage(), e);
    }
    return retVal;
}

From source file:de.accso.performancetesting.tools.PerformanceLogger.java

private Object measureTime(ProceedingJoinPoint thisJoinPoint, String tag) throws Throwable {
    StopWatch sp = new StopWatch();
    sp.start();/*w  w w  .j ava 2s  .co m*/
    Object result = thisJoinPoint.proceed();
    sp.stop();
    logger.info(append("durationinmillis", sp.getTotalTimeMillis()).and(append("tag", tag))
            .and(append("req_id", CTX_HOLDER.get().reqId)).and(append("url", getCtxUrl()))
            .and(append("servicename", thisJoinPoint.getTarget().getClass().getCanonicalName() + "."
                    + thisJoinPoint.getSignature().getName())),
            "Performance");

    return result;
}