@Override public double[] getSnapshots() { double[] result; if (filter != FILTER_NONE) { long[] timestamps = getRawAbsoluteTimeStamps(); double[] snapshots = getRawSnapshots(timestamps); if (snapshots.length <= 1) { return new double[0]; } result = new double[snapshots.length - 1]; for (int i = 0; i < result.length; i++) { double valueDelta = snapshots[i + 1] - snapshots[i]; if (filter == FILTER_PERSEC) { long timeDelta = timestamps[i + 1] - timestamps[i]; result[i] = valueDelta / (timeDelta / 1000.0); } else { result[i] = valueDelta; } } } else { result = getRawSnapshots(); } calcStats(result); return result; } }
@Override public double[] getRawSnapshots() { return getRawSnapshots(getRawAbsoluteTimeStamps()); }