Example usage for org.joda.time DateTime now

List of usage examples for org.joda.time DateTime now

Introduction

In this page you can find the example usage for org.joda.time DateTime now.

Prototype

public static DateTime now() 

Source Link

Document

Obtains a DateTime set to the current system millisecond time using ISOChronology in the default time zone.

Usage

From source file:com.facebook.presto.operator.PipelineContext.java

License:Apache License

public PipelineStats getPipelineStats() {
    // check for end state to avoid callback ordering problems
    if (taskContext.getState().isDone()) {
        DateTime now = DateTime.now();
        executionStartTime.compareAndSet(null, now);
        lastExecutionStartTime.compareAndSet(null, now);
        lastExecutionEndTime.compareAndSet(null, now);
    }//from ww w.j a  v  a2s . c om

    List<DriverContext> driverContexts = ImmutableList.copyOf(this.drivers);

    int totalDriers = completedDrivers.get() + driverContexts.size();
    int queuedDrivers = 0;
    int queuedPartitionedDrivers = 0;
    int runningDrivers = 0;
    int runningPartitionedDrivers = 0;
    int completedDrivers = this.completedDrivers.get();

    Distribution queuedTime = new Distribution(this.queuedTime);
    Distribution elapsedTime = new Distribution(this.elapsedTime);

    long totalScheduledTime = this.totalScheduledTime.get();
    long totalCpuTime = this.totalCpuTime.get();
    long totalUserTime = this.totalUserTime.get();
    long totalBlockedTime = this.totalBlockedTime.get();

    long rawInputDataSize = this.rawInputDataSize.getTotalCount();
    long rawInputPositions = this.rawInputPositions.getTotalCount();

    long processedInputDataSize = this.processedInputDataSize.getTotalCount();
    long processedInputPositions = this.processedInputPositions.getTotalCount();

    long outputDataSize = this.outputDataSize.getTotalCount();
    long outputPositions = this.outputPositions.getTotalCount();

    List<DriverStats> drivers = new ArrayList<>();

    Multimap<Integer, OperatorStats> runningOperators = ArrayListMultimap.create();
    for (DriverContext driverContext : driverContexts) {
        DriverStats driverStats = driverContext.getDriverStats();
        drivers.add(driverStats);

        if (driverStats.getStartTime() == null) {
            queuedDrivers++;
            if (driverContext.isPartitioned()) {
                queuedPartitionedDrivers++;
            }
        } else {
            runningDrivers++;
            if (driverContext.isPartitioned()) {
                runningPartitionedDrivers++;
            }
        }

        queuedTime.add(driverStats.getQueuedTime().roundTo(NANOSECONDS));
        elapsedTime.add(driverStats.getElapsedTime().roundTo(NANOSECONDS));

        totalScheduledTime += driverStats.getTotalScheduledTime().roundTo(NANOSECONDS);
        totalCpuTime += driverStats.getTotalCpuTime().roundTo(NANOSECONDS);
        totalUserTime += driverStats.getTotalUserTime().roundTo(NANOSECONDS);
        totalBlockedTime += driverStats.getTotalBlockedTime().roundTo(NANOSECONDS);

        List<OperatorStats> operators = ImmutableList
                .copyOf(transform(driverContext.getOperatorContexts(), OperatorContext::getOperatorStats));
        for (OperatorStats operator : operators) {
            runningOperators.put(operator.getOperatorId(), operator);
        }

        rawInputDataSize += driverStats.getRawInputDataSize().toBytes();
        rawInputPositions += driverStats.getRawInputPositions();

        processedInputDataSize += driverStats.getProcessedInputDataSize().toBytes();
        processedInputPositions += driverStats.getProcessedInputPositions();

        outputDataSize += driverStats.getOutputDataSize().toBytes();
        outputPositions += driverStats.getOutputPositions();
    }

    // merge the running operator stats into the operator summary
    TreeMap<Integer, OperatorStats> operatorSummaries = new TreeMap<>(this.operatorSummaries);
    for (Entry<Integer, OperatorStats> entry : runningOperators.entries()) {
        OperatorStats current = operatorSummaries.get(entry.getKey());
        if (current == null) {
            current = entry.getValue();
        } else {
            current = current.add(entry.getValue());
        }
        operatorSummaries.put(entry.getKey(), current);
    }

    ImmutableSet<BlockedReason> blockedReasons = drivers.stream()
            .filter(driver -> driver.getEndTime() == null && driver.getStartTime() != null)
            .flatMap(driver -> driver.getBlockedReasons().stream())
            .collect(ImmutableCollectors.toImmutableSet());
    boolean fullyBlocked = drivers.stream()
            .filter(driver -> driver.getEndTime() == null && driver.getStartTime() != null)
            .allMatch(DriverStats::isFullyBlocked);
    return new PipelineStats(executionStartTime.get(), lastExecutionStartTime.get(), lastExecutionEndTime.get(),

            inputPipeline, outputPipeline,

            totalDriers, queuedDrivers, queuedPartitionedDrivers, runningDrivers, runningPartitionedDrivers,
            completedDrivers,

            succinctBytes(memoryReservation.get()), succinctBytes(systemMemoryReservation.get()),

            queuedTime.snapshot(), elapsedTime.snapshot(),

            new Duration(totalScheduledTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalCpuTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalUserTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalBlockedTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            fullyBlocked && (runningDrivers > 0 || runningPartitionedDrivers > 0), blockedReasons,

            succinctBytes(rawInputDataSize), rawInputPositions,

            succinctBytes(processedInputDataSize), processedInputPositions,

            succinctBytes(outputDataSize), outputPositions,

            ImmutableList.copyOf(operatorSummaries.values()), drivers);
}

From source file:com.facebook.presto.operator.TaskContext.java

License:Apache License

public TaskContext(TaskStateMachine taskStateMachine, Executor executor, ConnectorSession session,
        DataSize maxMemory, DataSize operatorPreAllocatedMemory, boolean cpuTimerEnabled) {
    this.taskStateMachine = checkNotNull(taskStateMachine, "taskStateMachine is null");
    this.executor = checkNotNull(executor, "executor is null");
    this.session = session;
    this.maxMemory = checkNotNull(maxMemory, "maxMemory is null").toBytes();
    this.operatorPreAllocatedMemory = checkNotNull(operatorPreAllocatedMemory,
            "operatorPreAllocatedMemory is null");

    taskStateMachine.addStateChangeListener(new StateChangeListener<TaskState>() {
        @Override/*w w  w  .  j a  va  2  s .  c om*/
        public void stateChanged(TaskState newValue) {
            if (newValue.isDone()) {
                executionEndTime.set(DateTime.now());
                endNanos.set(System.nanoTime());
            }
        }
    });

    this.cpuTimerEnabled = cpuTimerEnabled;
}

From source file:com.facebook.presto.operator.TaskContext.java

License:Apache License

public void start() {
    if (!startNanos.compareAndSet(0, System.nanoTime())) {
        // already started
        return;/*from  ww w .  j  a  v  a2  s.  c  o  m*/
    }
    DateTime now = DateTime.now();
    executionStartTime.compareAndSet(null, now);
    lastExecutionStartTime.set(now);
}

From source file:com.facebook.presto.operator.TaskContext.java

License:Apache License

public TaskStats getTaskStats() {
    // check for end state to avoid callback ordering problems
    if (taskStateMachine.getState().isDone()) {
        DateTime now = DateTime.now();
        if (executionEndTime.compareAndSet(null, now)) {
            lastExecutionStartTime.set(now);
            endNanos.set(System.nanoTime());
        }/*from w  w  w.j av a2s .c  o  m*/
    }

    List<PipelineStats> pipelineStats = ImmutableList
            .copyOf(transform(pipelineContexts, pipelineStatsGetter()));

    int totalDrivers = 0;
    int queuedDrivers = 0;
    int runningDrivers = 0;
    int completedDrivers = 0;

    long totalScheduledTime = 0;
    long totalCpuTime = 0;
    long totalUserTime = 0;
    long totalBlockedTime = 0;

    long rawInputDataSize = 0;
    long rawInputPositions = 0;

    long processedInputDataSize = 0;
    long processedInputPositions = 0;

    long outputDataSize = 0;
    long outputPositions = 0;

    for (PipelineStats pipeline : pipelineStats) {
        totalDrivers += pipeline.getTotalDrivers();
        queuedDrivers += pipeline.getQueuedDrivers();
        runningDrivers += pipeline.getRunningDrivers();
        completedDrivers += pipeline.getCompletedDrivers();

        totalScheduledTime += pipeline.getTotalScheduledTime().roundTo(NANOSECONDS);
        totalCpuTime += pipeline.getTotalCpuTime().roundTo(NANOSECONDS);
        totalUserTime += pipeline.getTotalUserTime().roundTo(NANOSECONDS);
        totalBlockedTime += pipeline.getTotalBlockedTime().roundTo(NANOSECONDS);

        if (pipeline.isInputPipeline()) {
            rawInputDataSize += pipeline.getRawInputDataSize().toBytes();
            rawInputPositions += pipeline.getRawInputPositions();

            processedInputDataSize += pipeline.getProcessedInputDataSize().toBytes();
            processedInputPositions += pipeline.getProcessedInputPositions();
        }

        if (pipeline.isOutputPipeline()) {
            outputDataSize += pipeline.getOutputDataSize().toBytes();
            outputPositions += pipeline.getOutputPositions();
        }
    }

    long startNanos = this.startNanos.get();
    if (startNanos < createNanos) {
        startNanos = System.nanoTime();
    }
    Duration queuedTime = new Duration(startNanos - createNanos, NANOSECONDS);

    long endNanos = this.endNanos.get();
    Duration elapsedTime;
    if (endNanos >= startNanos) {
        elapsedTime = new Duration(endNanos - createNanos, NANOSECONDS);
    } else {
        elapsedTime = new Duration(0, NANOSECONDS);
    }

    return new TaskStats(createdTime, executionStartTime.get(), lastExecutionStartTime.get(),
            executionEndTime.get(), elapsedTime.convertToMostSuccinctTimeUnit(),
            queuedTime.convertToMostSuccinctTimeUnit(), totalDrivers, queuedDrivers, runningDrivers,
            completedDrivers, new DataSize(memoryReservation.get(), BYTE).convertToMostSuccinctDataSize(),
            new Duration(totalScheduledTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalCpuTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalUserTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new Duration(totalBlockedTime, NANOSECONDS).convertToMostSuccinctTimeUnit(),
            new DataSize(rawInputDataSize, BYTE).convertToMostSuccinctDataSize(), rawInputPositions,
            new DataSize(processedInputDataSize, BYTE).convertToMostSuccinctDataSize(), processedInputPositions,
            new DataSize(outputDataSize, BYTE).convertToMostSuccinctDataSize(), outputPositions, pipelineStats);
}

From source file:com.facebook.presto.server.HttpRemoteTask.java

License:Apache License

public HttpRemoteTask(ConnectorSession session, TaskId taskId, String nodeId, URI location,
        PlanFragment planFragment, Multimap<PlanNodeId, Split> initialSplits, OutputBuffers outputBuffers,
        HttpClient httpClient, Executor executor, int maxConsecutiveErrorCount, Duration minErrorDuration,
        JsonCodec<TaskInfo> taskInfoCodec, JsonCodec<TaskUpdateRequest> taskUpdateRequestCodec) {
    checkNotNull(session, "session is null");
    checkNotNull(taskId, "taskId is null");
    checkNotNull(nodeId, "nodeId is null");
    checkNotNull(location, "location is null");
    checkNotNull(planFragment, "planFragment1 is null");
    checkNotNull(outputBuffers, "outputBuffers is null");
    checkNotNull(httpClient, "httpClient is null");
    checkNotNull(executor, "executor is null");
    checkNotNull(taskInfoCodec, "taskInfoCodec is null");
    checkNotNull(taskUpdateRequestCodec, "taskUpdateRequestCodec is null");

    try (SetThreadName ignored = new SetThreadName("HttpRemoteTask-%s", taskId)) {
        this.taskId = taskId;
        this.session = session;
        this.nodeId = nodeId;
        this.planFragment = planFragment;
        this.outputBuffers.set(outputBuffers);
        this.httpClient = httpClient;
        this.executor = executor;
        this.taskInfoCodec = taskInfoCodec;
        this.taskUpdateRequestCodec = taskUpdateRequestCodec;
        this.maxConsecutiveErrorCount = maxConsecutiveErrorCount;
        this.minErrorDuration = minErrorDuration;

        for (Entry<PlanNodeId, Split> entry : checkNotNull(initialSplits, "initialSplits is null").entries()) {
            ScheduledSplit scheduledSplit = new ScheduledSplit(nextSplitId.getAndIncrement(), entry.getValue());
            pendingSplits.put(entry.getKey(), scheduledSplit);
        }/*from   www .  jav  a  2 s  .c om*/

        List<BufferInfo> bufferStates = ImmutableList
                .copyOf(transform(outputBuffers.getBuffers().keySet(), new Function<String, BufferInfo>() {
                    @Override
                    public BufferInfo apply(String outputId) {
                        return new BufferInfo(outputId, false, 0, 0);
                    }
                }));

        TaskStats taskStats = new TaskContext(taskId, executor, session).getTaskStats();

        taskInfo = new StateMachine<>("task " + taskId, executor,
                new TaskInfo(taskId, TaskInfo.MIN_VERSION, TaskState.PLANNED, location, DateTime.now(),
                        new SharedBufferInfo(QueueState.OPEN, 0, 0, bufferStates),
                        ImmutableSet.<PlanNodeId>of(), taskStats, ImmutableList.<ExecutionFailureInfo>of()));
    }
}

From source file:com.facebook.presto.server.PrestoSystemRequirements.java

License:Apache License

/**
 * Perform a sanity check to make sure that the year is reasonably current, to guard against
 * issues in third party libraries./*w  w w .j av  a  2 s . c o m*/
 */
public static void verifySystemTimeIsReasonable() {
    int currentYear = DateTime.now().year().get();
    if (currentYear < 2015) {
        failRequirement("Presto requires the system time to be current (found year %s)", currentYear);
    }
}

From source file:com.facebook.presto.server.remotetask.HttpRemoteTask.java

License:Apache License

public HttpRemoteTask(Session session, TaskId taskId, String nodeId, URI location, PlanFragment planFragment,
        Multimap<PlanNodeId, Split> initialSplits, OutputBuffers outputBuffers, HttpClient httpClient,
        Executor executor, ScheduledExecutorService updateScheduledExecutor,
        ScheduledExecutorService errorScheduledExecutor, Duration minErrorDuration,
        Duration taskStatusRefreshMaxWait, Duration taskInfoUpdateInterval, boolean summarizeTaskInfo,
        JsonCodec<TaskStatus> taskStatusCodec, JsonCodec<TaskInfo> taskInfoCodec,
        JsonCodec<TaskUpdateRequest> taskUpdateRequestCodec,
        PartitionedSplitCountTracker partitionedSplitCountTracker, RemoteTaskStats stats) {
    requireNonNull(session, "session is null");
    requireNonNull(taskId, "taskId is null");
    requireNonNull(nodeId, "nodeId is null");
    requireNonNull(location, "location is null");
    requireNonNull(planFragment, "planFragment is null");
    requireNonNull(outputBuffers, "outputBuffers is null");
    requireNonNull(httpClient, "httpClient is null");
    requireNonNull(executor, "executor is null");
    requireNonNull(taskStatusCodec, "taskStatusCodec is null");
    requireNonNull(taskInfoCodec, "taskInfoCodec is null");
    requireNonNull(taskUpdateRequestCodec, "taskUpdateRequestCodec is null");
    requireNonNull(partitionedSplitCountTracker, "partitionedSplitCountTracker is null");
    requireNonNull(stats, "stats is null");

    try (SetThreadName ignored = new SetThreadName("HttpRemoteTask-%s", taskId)) {
        this.taskId = taskId;
        this.session = session;
        this.nodeId = nodeId;
        this.planFragment = planFragment;
        this.outputBuffers.set(outputBuffers);
        this.httpClient = httpClient;
        this.executor = executor;
        this.errorScheduledExecutor = errorScheduledExecutor;
        this.summarizeTaskInfo = summarizeTaskInfo;
        this.taskInfoCodec = taskInfoCodec;
        this.taskUpdateRequestCodec = taskUpdateRequestCodec;
        this.updateErrorTracker = new RequestErrorTracker(taskId, location, minErrorDuration,
                errorScheduledExecutor, "updating task");
        this.partitionedSplitCountTracker = requireNonNull(partitionedSplitCountTracker,
                "partitionedSplitCountTracker is null");
        this.stats = stats;

        for (Entry<PlanNodeId, Split> entry : requireNonNull(initialSplits, "initialSplits is null")
                .entries()) {/*from  w w  w . ja  va  2s . com*/
            ScheduledSplit scheduledSplit = new ScheduledSplit(nextSplitId.getAndIncrement(), entry.getKey(),
                    entry.getValue());
            pendingSplits.put(entry.getKey(), scheduledSplit);
        }
        pendingSourceSplitCount = planFragment.getPartitionedSources().stream()
                .filter(initialSplits::containsKey)
                .mapToInt(partitionedSource -> initialSplits.get(partitionedSource).size()).sum();

        List<BufferInfo> bufferStates = outputBuffers.getBuffers().keySet().stream()
                .map(outputId -> new BufferInfo(outputId, false, 0, 0, PageBufferInfo.empty()))
                .collect(toImmutableList());

        TaskInfo initialTask = createInitialTask(taskId, location, bufferStates,
                new TaskStats(DateTime.now(), null));

        this.taskStatusFetcher = new ContinuousTaskStatusFetcher(this::failTask, initialTask.getTaskStatus(),
                taskStatusRefreshMaxWait, taskStatusCodec, executor, httpClient, minErrorDuration,
                errorScheduledExecutor, stats);

        this.taskInfoFetcher = new TaskInfoFetcher(this::failTask, initialTask, httpClient,
                taskInfoUpdateInterval, taskInfoCodec, minErrorDuration, summarizeTaskInfo, executor,
                updateScheduledExecutor, errorScheduledExecutor, stats);

        taskStatusFetcher.addStateChangeListener(newStatus -> {
            TaskState state = newStatus.getState();
            if (state.isDone()) {
                cleanUpTask();
            } else {
                partitionedSplitCountTracker.setPartitionedSplitCount(getPartitionedSplitCount());
                updateSplitQueueSpace();
            }
        });

        long timeout = minErrorDuration.toMillis() / MIN_RETRIES;
        this.requestTimeout = new Duration(timeout + taskStatusRefreshMaxWait.toMillis(), MILLISECONDS);
        partitionedSplitCountTracker.setPartitionedSplitCount(getPartitionedSplitCount());
        updateSplitQueueSpace();
    }
}

From source file:com.fizzbuzz.vroom.extension.jodatime.JodaDateTimeStamper.java

License:Apache License

@Override
public void stampWithNow(Object target, Field field) {
    stamp(target, field, DateTime.now());
}

From source file:com.framework.reporter.ScenarioListenerAdapter.java

License:MIT License

/**
 * Invoked before the TestNG run starts.
 *///from   ww  w  .j  av a  2 s .  c o m
@Override
public final void onExecutionStart() {
    /* Logging a formatted message */

    String style = FrameworkProperty.JFRAMEWORK_SUITE_START_STYLE.from(configuration,
            HeadingStyle.DELTA_CORPS.name());
    logger.info(TextArt.SUITE_STARTED_HEADINGS.get(HeadingStyle.valueOf(style).ordinal()));
    String defaults = configuration.report(ToLogStringStyle.LOG_MULTI_LINE_STYLE);

    logger.info("Starting suite execution. initialize SiteConfigurations with default values -> \n{}",
            defaults);

    // setting the output directory to Configurations
    Configurations.getInstance().setOutputDirectory(generateOutputDirectoryName());
    logger.info("Output directory is -> \"{}\"", configuration.getOutputDirectory());

    // create a new instance of Scenario manager
    this.scenarioManager = new Scenario(DateTime.now());
    logger.info("new Scenario manager created -> {}", this.scenarioManager);
}

From source file:com.framework.reporter.ScenarioListenerAdapter.java

License:MIT License

/**
 * This method is invoked before the SuiteRunner starts.
        //  w ww . j  a v a  2  s  .c  o m
 * @param suite a {@linkplain org.testng.ISuite} instance.
 */
@Override
public void onStart(final ISuite suite) {
    boolean startSuite = false;

    if (scenarioManager.getCurrentSuite() == null) {
        startSuite = true;
    } else if (!scenarioManager.getCurrentSuite().getName().equals(suite.getName())) {
        startSuite = true;
    }

    if (startSuite) {
        logger.info(TextArt.getSuiteStart(suite.getName()));

        Suite suiteManager = new Suite(DateTime.now(), suite);
        scenarioManager.pushSuite(suiteManager);
        Configurations.getInstance().init(suite);
        scenarioManager.setExcludedTestCases(suite.getExcludedMethods());

        logger.info("new Suite manager created -> {}", suiteManager);
    }
}