@Override public boolean reportObjectSizes(Appendable target) { if (RunningStdDev.sampleCount(objectSizeData)>=2) { try { target.append("Pipe object writing size data for ") .append(backingPipe.toString()) .append("\n"); RunningStdDev.appendTo(objectSizeData, target); target.append("\n"); } catch (IOException e) { throw new RuntimeException(e); } } return true; }
public static <A extends Appendable>A appendTo(RunningStdDev runStdDev, A target) throws IOException { Appendables.appendValue(target.append("count:"), sampleCount(runStdDev)); target.append(" mean:").append(Float.toString((float)mean(runStdDev))); //TODO: someday Appendables should also support garbage free float to text target.append(" std:").append(Float.toString((float)stdDeviation(runStdDev))); target.append(" max:").append(Float.toString((float)maxSample(runStdDev))); target.append(" min:").append(Float.toString((float)minSample(runStdDev))); return target; }
@Override public boolean reportObjectSizes(Appendable target) { if (RunningStdDev.sampleCount(objectSizeData)>=2) { try { target.append("Pipe object writing size data for ") .append(backingPipe.toString()) .append("\n"); RunningStdDev.appendTo(objectSizeData, target); target.append("\n"); } catch (IOException e) { throw new RuntimeException(e); } } return true; }
public static <A extends Appendable>A appendTo(RunningStdDev runStdDev, A target) throws IOException { Appendables.appendValue(target.append("count:"), sampleCount(runStdDev)); target.append(" mean:").append(Float.toString((float)mean(runStdDev))); //TODO: someday Appendables should also support garbage free float to text target.append(" std:").append(Float.toString((float)stdDeviation(runStdDev))); target.append(" max:").append(Float.toString((float)maxSample(runStdDev))); target.append(" min:").append(Float.toString((float)minSample(runStdDev))); return target; }
public static <A extends Appendable>A appendTo(RunningStdDev runStdDev, A target) throws IOException { Appendables.appendValue(target.append("count:"), sampleCount(runStdDev)); target.append(" mean:").append(Float.toString((float)mean(runStdDev))); //TODO: someday Appendables should also support garbage free float to text target.append(" std:").append(Float.toString((float)stdDeviation(runStdDev))); target.append(" max:").append(Float.toString((float)maxSample(runStdDev))); target.append(" min:").append(Float.toString((float)minSample(runStdDev))); return target; }
@Override public boolean reportObjectSizes(Appendable target) { if (RunningStdDev.sampleCount(objectSizeData)>=2) { try { target.append("Pipe object writing size data for ") .append(backingPipe.toString()) .append("\n"); RunningStdDev.appendTo(objectSizeData, target); target.append("\n"); } catch (IOException e) { throw new RuntimeException(e); } } return true; }
public ClientConnection leadingCandidate() { if (null!=candidate && (RunningStdDev.sampleCount(stdDev)>1)) { long limit = (long)((stdDevsToAbandon*RunningStdDev.stdDeviation(stdDev))+RunningStdDev.mean(stdDev)); // boolean debug = false; // if (debug) { // Appendables.appendNearestTimeUnit(System.out.append("Candidate: "), maxOutstandingCallTime).append("\n"); // Appendables.appendNearestTimeUnit(System.out.append("StdDev Limit: "), limit).append("\n"); // Appendables.appendNearestTimeUnit(System.out.append("StdDev: "), (long)RunningStdDev.stdDeviation(stdDev) ).append("\n"); // } if (maxOutstandingCallTime > absoluteNSToKeep) { //must be greater than the keep value or it is not a candidate. if (maxOutstandingCallTime > Math.min(limit, absoluteNSToAbandon)) { //logger.info("\n{} waiting connection to {} has been assumed abandoned and is the leading candidate to be closed.",Appendables.appendNearestTimeUnit(new StringBuilder(), maxOutstandingCallTime),candidate); //this is the worst offender at this time return candidate; } } } return null; }
if (RunningStdDev.sampleCount(stdDev)<3) { return; //do nothing
if (null!=writtenFragsStdDev && writtenFragsStdDev.sampleCount(writtenFragsStdDev)>0) {