Object execute() throws RrdException, IOException {
String startStr = getOptionValue("s", "start", DEFAULT_START);
String endStr = getOptionValue("e", "end", DEFAULT_END);
long span[] = Util.getTimestamps(startStr, endStr);
dproc = new DataProcessor(span[0], span[1]);
xports = new ArrayList<XPort>();
long step = parseLong(getOptionValue(null, "step", "1"));
int maxRows = parseInt(getOptionValue("m", "maxrows", "400"));
long minStep = (long) Math.ceil((span[1] - span[0]) / (double) (maxRows - 1));
step = Math.max(step, minStep);