Example usage for org.apache.commons.math.stat.descriptive SynchronizedSummaryStatistics addValue

List of usage examples for org.apache.commons.math.stat.descriptive SynchronizedSummaryStatistics addValue

Introduction

In this page you can find the example usage for org.apache.commons.math.stat.descriptive SynchronizedSummaryStatistics addValue.

Prototype

@Override
public synchronized void addValue(double value) 

Source Link

Usage

From source file:com.fatwire.dta.sscrawler.reporting.reporters.PageletTimingsStatisticsReporter.java

public void addToReport(final ResultPage page) {
    pagesDone.incrementAndGet();//w ww. j a v a 2s  .co  m
    total.addValue(page.getReadTime());
    final String pagename = page.getPageName();
    if (pagename != null) {
        SynchronizedSummaryStatistics ss = stats.get(pagename);
        if (ss == null) {
            ss = new SynchronizedSummaryStatistics();
            stats.put(pagename, ss);
            cached.put(pagename, CacheHelper.shouldCache(page.getResponseHeaders()));
        }
        ss.addValue(page.getReadTime());
    }

}

From source file:azkaban.monitor.stats.WorkflowClassStats.java

/**
 * Update workflow statistics based on the ending of a workflow.
 * @param wfModel//ww w.j  a  v  a  2  s.  co m
 *            the workflow execution behind workflow ending stats.
 */
public synchronized void updateWorkflowEndedStats(WorkflowExecutionModel wfModel) {
    SynchronizedSummaryStatistics wfStats = null;
    switch (wfModel.getFinalWorkflowState()) {
    case SUCCESSFUL:
        numTimesWorkflowSuccessful++;
        wfStats = normalWfRunStats;
        break;
    case FAILED:
        numTimesWorkflowFailed++;
        wfStats = failedWfRunStats;
        break;
    case CANCELED:
        numTimesWorkflowCanceled++;
        wfStats = canceledWfRunStats;
        break;
    default:
        return;
    }

    /**
     * We are only keeping averages and std dev on successful workflows.
     */
    long incTime = wfModel.getEndTime() - wfModel.getStartTime();
    wfStats.addValue(incTime);
    double avg = wfStats.getMean();
    double std = wfStats.getStandardDeviation();
    switch (wfModel.getFinalWorkflowState()) {
    case SUCCESSFUL:
        avgWorkflowRunTime = avg;
        stdWorkflowRunTime = std;
        break;
    case FAILED:
        avgWorkflowFailedTime = avg;
        stdWorkflowFailedTime = std;
        break;
    case CANCELED:
        avgWorkflowCanceledTime = avg;
        stdWorkflowCanceledTime = std;
        break;
    }
}

From source file:azkaban.monitor.stats.JobClassStats.java

/**
 * Update a non delegating job's statistics.
 * @param jobModel/* w w  w . j a  v  a 2  s . c  o m*/
 *            the job execution model used to update job completion stats.
 */
private void updateNormalJobCompletionStats(JobExecutionModel jobModel) {
    SynchronizedSummaryStatistics jobStats = null;
    switch (jobModel.getFinalJobState()) {
    case SUCCESSFUL:
        numTimesJobSuccessful++;
        jobStats = normalJobStats;
        break;
    case FAILED:
        numTimesJobFailed++;
        jobStats = failedJobStats;
        break;
    case CANCELED:
        numTimesJobCanceled++;
        jobStats = canceledJobStats;
        break;
    default:
        logger.debug("Unknown JobState.");
        return;
    }

    /**
     * Take average and std dev for the different job states.
     */
    long incTime = jobModel.getEndTime() - jobModel.getStartTime();
    jobStats.addValue(incTime);
    double avg = jobStats.getMean();
    double std = jobStats.getStandardDeviation();
    switch (jobModel.getFinalJobState()) {
    case SUCCESSFUL:
        avgJobRunTime = avg;
        stdJobRunTime = std;
        break;
    case FAILED:
        avgJobFailedTime = avg;
        stdJobFailedTime = std;
        break;
    case CANCELED:
        avgJobCanceledTime = avg;
        stdJobCanceledTime = std;
        break;
    }
}