List of usage examples for org.joda.time DateTime getMillis
public long getMillis()
From source file:com.facebook.presto.connector.system.TaskSystemTable.java
License:Apache License
private static Long toTimeStamp(DateTime dateTime) { if (dateTime == null) { return null; }/*from www .j a v a 2 s .co m*/ return dateTime.getMillis(); }
From source file:com.facebook.presto.event.query.QueryMonitor.java
License:Apache License
private void logQueryTimeline(QueryInfo queryInfo) { try {//ww w . ja va 2s. co m QueryStats queryStats = queryInfo.getQueryStats(); DateTime queryStartTime = queryStats.getCreateTime(); DateTime queryEndTime = queryStats.getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } // planning duration -- start to end of planning Duration planning = queryStats.getTotalPlanningTime(); if (planning == null) { planning = new Duration(0, MILLISECONDS); } List<StageInfo> stages = StageInfo.getAllStages(queryInfo.getOutputStage()); // long lastSchedulingCompletion = 0; long firstTaskStartTime = queryEndTime.getMillis(); long lastTaskStartTime = queryStartTime.getMillis() + planning.toMillis(); long lastTaskEndTime = queryStartTime.getMillis() + planning.toMillis(); for (StageInfo stage : stages) { // only consider leaf stages if (!stage.getSubStages().isEmpty()) { continue; } for (TaskInfo taskInfo : stage.getTasks()) { TaskStats taskStats = taskInfo.getStats(); DateTime firstStartTime = taskStats.getFirstStartTime(); if (firstStartTime != null) { firstTaskStartTime = Math.min(firstStartTime.getMillis(), firstTaskStartTime); } DateTime lastStartTime = taskStats.getLastStartTime(); if (lastStartTime != null) { lastTaskStartTime = Math.max(lastStartTime.getMillis(), lastTaskStartTime); } DateTime endTime = taskStats.getEndTime(); if (endTime != null) { lastTaskEndTime = Math.max(endTime.getMillis(), lastTaskEndTime); } } } Duration elapsed = millis(queryEndTime.getMillis() - queryStartTime.getMillis()); Duration scheduling = millis(firstTaskStartTime - queryStartTime.getMillis() - planning.toMillis()); Duration running = millis(lastTaskEndTime - firstTaskStartTime); Duration finishing = millis(queryEndTime.getMillis() - lastTaskEndTime); log.info( "TIMELINE: Query %s :: elapsed %s :: planning %s :: scheduling %s :: running %s :: finishing %s :: begin %s :: end %s", queryInfo.getQueryId(), elapsed, planning, scheduling, running, finishing, queryStartTime, queryEndTime); } catch (Exception e) { log.error(e, "Error logging query timeline"); } }
From source file:com.facebook.presto.event.QueryMonitor.java
License:Apache License
private static void logQueryTimeline(QueryInfo queryInfo) { try {//from w w w .java 2 s . c om QueryStats queryStats = queryInfo.getQueryStats(); DateTime queryStartTime = queryStats.getCreateTime(); DateTime queryEndTime = queryStats.getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } // planning duration -- start to end of planning long planning = queryStats.getTotalPlanningTime().toMillis(); List<StageInfo> stages = StageInfo.getAllStages(queryInfo.getOutputStage()); // long lastSchedulingCompletion = 0; long firstTaskStartTime = queryEndTime.getMillis(); long lastTaskStartTime = queryStartTime.getMillis() + planning; long lastTaskEndTime = queryStartTime.getMillis() + planning; for (StageInfo stage : stages) { // only consider leaf stages if (!stage.getSubStages().isEmpty()) { continue; } for (TaskInfo taskInfo : stage.getTasks()) { TaskStats taskStats = taskInfo.getStats(); DateTime firstStartTime = taskStats.getFirstStartTime(); if (firstStartTime != null) { firstTaskStartTime = Math.min(firstStartTime.getMillis(), firstTaskStartTime); } DateTime lastStartTime = taskStats.getLastStartTime(); if (lastStartTime != null) { lastTaskStartTime = max(lastStartTime.getMillis(), lastTaskStartTime); } DateTime endTime = taskStats.getEndTime(); if (endTime != null) { lastTaskEndTime = max(endTime.getMillis(), lastTaskEndTime); } } } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); long scheduling = max(firstTaskStartTime - queryStartTime.getMillis() - planning, 0); long running = max(lastTaskEndTime - firstTaskStartTime, 0); long finishing = max(queryEndTime.getMillis() - lastTaskEndTime, 0); logQueryTimeline(queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, planning, scheduling, running, finishing, queryStartTime, queryEndTime); } catch (Exception e) { log.error(e, "Error logging query timeline"); } }
From source file:com.facebook.presto.event.QueryMonitor.java
License:Apache License
private static void logQueryTimeline(BasicQueryInfo queryInfo) { DateTime queryStartTime = queryInfo.getQueryStats().getCreateTime(); DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return;// w ww.j a va 2s.c o m } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); logQueryTimeline(queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, elapsed, 0, 0, 0, queryStartTime, queryEndTime); }
From source file:com.facebook.presto.testing.DateTimeTestingUtils.java
License:Apache License
private static SqlTimestamp sqlTimestampOf(DateTime dateTime, ConnectorSession session) { return sqlTimestampOf(dateTime.getMillis(), session); }
From source file:com.facebook.presto.util.DateTimeZoneIndex.java
License:Apache License
public static long packDateTimeWithZone(DateTime dateTime) { return DateTimeEncoding.packDateTimeWithZone(dateTime.getMillis(), dateTime.getZone().getID()); }
From source file:com.facebook.util.TimeInterval.java
License:Apache License
/** * Gets the start instant of the time interval that will contain the * supplied time instant. Note that the time zone of the supplied instant * plays a significant role in computation of the interval. * * @param instant the time instant//from www . j a v a 2 s . c o m * * @return the start instant of the time interval that will contain the * instant in the time zone of the supplied instant. If the TimeInterval is INFINITE * unix epoch for the timezone is returned. */ public DateTime getIntervalStart(DateTime instant) { // special handling for ZERO and INFINITE if (this == ZERO) { return instant; } else if (this == INFINITE) { return new DateTime(1970, 1, 1, 0, 0, 0, 0, instant.getZone()); } if (type == null) { // unix epoch for the timezone. DateTime startOfTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, instant.getZone()); long intervalStart = ((instant.getMillis() - startOfTime.getMillis()) / length) * length; return startOfTime.plus(intervalStart); } else { return type.getTimeIntervalStart(instant, length); } }
From source file:com.facebook.util.TimeUtil.java
License:Apache License
/** * these methods affect only code that relies on DateTimeUtils.currentTimeMillis() * * NOTE: manipulation of {@link DateTimeUtils.currentTimeMillis()} is not thread safe * to begin with, so neither is this//from ww w . j a v a2 s. c om */ public static void setNow(DateTime now) { DateTimeUtils.setCurrentMillisFixed(now.getMillis()); }
From source file:com.fengduo.bee.commons.util.TimeHelper.java
License:Open Source License
private static long calcDelay(DateTime targetDatetimeOfToday) { long delay = 0; DateTime now = new DateTime(); // ??//from w w w.ja va2 s.c o m if (now.isAfter(targetDatetimeOfToday)) { delay = now.plusDays(1).getMillis() - now.getMillis(); // } else { delay = targetDatetimeOfToday.getMillis() - now.getMillis(); } return delay; }
From source file:com.flipkart.foxtrot.core.querystore.impl.ElasticsearchUtils.java
License:Apache License
@VisibleForTesting public static String[] getIndices(final String table, final ActionRequest request, final Interval interval) { DateTime start = interval.getStart().toLocalDate().toDateTimeAtStartOfDay(); if (start.getYear() <= 1970) { logger.warn("Request of type {} running on all indices", request.getClass().getSimpleName()); return new String[] { getIndices(table) }; }/*from w w w .jav a 2s .c om*/ List<String> indices = Lists.newArrayList(); final DateTime end = interval.getEnd().plusDays(1).toLocalDate().toDateTimeAtStartOfDay(); while (start.getMillis() < end.getMillis()) { final String index = getCurrentIndex(table, start.getMillis()); indices.add(index); start = start.plusDays(1); } logger.info("Request of type {} on indices: {}", request.getClass().getSimpleName(), indices); return indices.toArray(new String[indices.size()]); }