List<Date> getDateHourRangeList(Experiment.ID experimentID, Parameters parameters) { final Experiment id = experimentRepository.getExperiment(experimentID); if (isNull(id)) { throw new ExperimentNotFoundException(experimentID); } final Optional<Date> from_ts = Optional.ofNullable(parameters.getFromTime()); final Optional<Date> to_ts = Optional.ofNullable(parameters.getToTime()); // Fetches the relevant partitions for a given time window where the user assignments data resides. return getUserAssignmentPartitions( from_ts.orElseGet(id::getCreationTime), to_ts.orElseGet(Date::new) ); }
Date from_ts = parameters.getFromTime(); Date to_ts = parameters.getToTime(); String sqlBase = "bucket_label as bid, count(user_id) as c, count(distinct user_id) as cu";
@Override public List<Map> getImpressionRows(Experiment.ID experimentID, Parameters parameters) throws RepositoryException { try { //build and execute SQL queries for counts Date from_ts = parameters.getFromTime(); Date to_ts = parameters.getToTime(); String sqlBase = "bucket_label as bid, count(user_id) as c, count(distinct user_id) as cu"; String sqlParams = " where experiment_id = ? and context = ?"; List params = new ArrayList(); params.add(experimentID); params.add(parameters.getContext().getContext()); if (from_ts != null) { params.add(from_ts); sqlParams += " and timestamp >= ?"; } if (to_ts != null) { params.add(to_ts); sqlParams += " and timestamp <= ?"; } Object[] bucketSqlData = new Object[params.size()]; params.toArray(bucketSqlData); String sqlImpressions = "select " + sqlBase + " from event_impression" + sqlParams + " group by bucket_label"; List<Map> impressionRows = transaction.select(sqlImpressions, bucketSqlData); return impressionRows; } catch (Exception e) { throw new RepositoryException("error reading actions rows from MySQL", e); } }
Date from_ts = parameters.getFromTime(); Date to_ts = parameters.getToTime(); String sqlBase = "bucket_label as bid, count(user_id) as c, count(distinct user_id) as cu";
Date fromTs = parameters.getFromTime(); Date toTs = parameters.getToTime(); Timestamp fromTsNew = fromTs != null ? new Timestamp(fromTs.getTime()) : new Timestamp(id.getStartTime().getTime());
boolean circumventRollup(final Experiment.ID experimentID, final Parameters parameters) { Experiment exp = getExperimentIfExists(experimentID); Date to = parameters.getToTime(); if (parameters.getFromTime() != null || parameters.getActions() != null) { return true; } else if (to != null) { // Get the date of the most recent rollup. Check to make sure that the toTime specified is >= last rollup // Return true if the date of the most recent rollup is before the specified toTime return analyticsRepository.checkMostRecentRollup(exp, parameters, to); } else { return false; } }
Date start_ts = parameters.getFromTime();