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

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

Introduction

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

Prototype

@Override
public synchronized double getStandardDeviation() 

Source Link

Usage

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

/**
 * Update workflow statistics based on the ending of a workflow.
 * @param wfModel//from   ww w . j a v a2  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/*from   w  ww .  j a v a2 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;
    }
}