protected void dump(PrintWriter stream) { calcStats(); stream.print(" " + descriptor.getName() + "="); stream.print("[size=" + getSnapshotsSize() + " min=" + nf.format(min) + " max=" + nf.format(max) + " avg=" + nf.format(avg) + " stddev=" + nf.format(stddev) + "]"); if (Boolean.getBoolean("StatArchiveReader.dumpall")) { series.dump(stream); } else { stream.println(); } }
void dump(PrintWriter stream) { stream.print("[size=" + count + " intervals=" + (intervalIdx + 1) + " memused=" + getMemoryUsed() + " "); for (int i = 0; i <= intervalIdx; i++) { if (i != 0) { stream.print(", "); } intervals[i].dump(stream); } if (currentCount != 0) { if (intervalIdx != -1) { stream.print(", "); } BitInterval.create(currentStartBits, currentInterval, currentCount).dump(stream); } stream.println("]"); }
@Override public double[] getSnapshots() { double[] result; int startIdx = getStartIdx(); int endIdx = getEndIdx(startIdx); int resultSize = (endIdx - startIdx) + 1; if (filter != FILTER_NONE && resultSize > 1) { long[] timestamps = null; if (filter == FILTER_PERSEC) { timestamps = resource.getAllRawTimeStamps(); } result = new double[resultSize - 1]; int tsIdx = resource.getFirstTimeStampIdx() + startIdx; double[] values = series.getValuesEx(descriptor.getTypeCode(), startIdx, resultSize); for (int i = 0; i < result.length; i++) { double valueDelta = values[i + 1] - values[i]; if (filter == FILTER_PERSEC) { double timeDelta = (timestamps[tsIdx + i + 1] - timestamps[tsIdx + i]); // millis valueDelta /= (timeDelta / 1000); // per second } result[i] = valueDelta; } } else { result = series.getValuesEx(descriptor.getTypeCode(), startIdx, resultSize); } calcStats(result); return result; }
private int getEndIdx(int startIdx) { int endIdx = series.getSize() - 1; if (endTime != -1) { long endTimeStamp = endTime - resource.getTimeBase(); long[] timestamps = resource.getAllRawTimeStamps(); endIdx = startIdx - 1; for (int i = resource.getFirstTimeStampIdx() + startIdx; i < resource.getFirstTimeStampIdx() + series.getSize(); i++) { if (timestamps[i] >= endTimeStamp) { break; } endIdx++; } Assert.assertTrue(endIdx == startIdx - 1 || timestamps[endIdx] < endTimeStamp); } return endIdx; }
private int getStartIdx() { int startIdx = 0; if (startTime != -1) { long startTimeStamp = startTime - resource.getTimeBase(); long[] timestamps = resource.getAllRawTimeStamps(); for (int i = resource.getFirstTimeStampIdx(); i < resource.getFirstTimeStampIdx() + series.getSize(); i++) { if (timestamps[i] >= startTimeStamp) { break; } startIdx++; } } return startIdx; }
protected void shrink() { this.series.shrink(); }
public double[] getValues(int typeCode) { return getValuesEx(typeCode, 0, getSize()); }
protected void initialValue(long v) { this.series.initialBits(v); }
protected SimpleValue(ResourceInst resource, StatDescriptor sd) { this.resource = resource; if (sd.isCounter()) { this.filter = FILTER_PERSEC; } else { this.filter = FILTER_NONE; } this.descriptor = sd; this.series = new BitSeries(); this.statsValid = false; }
@Override public double[] getRawSnapshots() { int startIdx = getStartIdx(); int endIdx = getEndIdx(startIdx); int resultSize = (endIdx - startIdx) + 1; return series.getValuesEx(descriptor.getTypeCode(), startIdx, resultSize); }
protected int getMemoryUsed() { int result = 0; if (series != null) { result += series.getMemoryUsed(); } return result; }