001/**
002* Licensed to the Apache Software Foundation (ASF) under one
003* or more contributor license agreements.  See the NOTICE file
004* distributed with this work for additional information
005* regarding copyright ownership.  The ASF licenses this file
006* to you under the Apache License, Version 2.0 (the
007* "License"); you may not use this file except in compliance
008* with the License.  You may obtain a copy of the License at
009*
010*     http://www.apache.org/licenses/LICENSE-2.0
011*
012* Unless required by applicable law or agreed to in writing, software
013* distributed under the License is distributed on an "AS IS" BASIS,
014* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015* See the License for the specific language governing permissions and
016* limitations under the License.
017*/
018package org.apache.hadoop.yarn.util;
019
020import org.apache.hadoop.classification.InterfaceAudience.Public;
021import org.apache.hadoop.classification.InterfaceStability.Stable;
022
023/**
024 * Implementation of {@link Clock} that gives the current time from the system
025 * clock in milliseconds.
026 * 
027 * NOTE: Do not use this to calculate a duration of expire or interval to sleep,
028 * because it will be broken by settimeofday. Please use {@link MonotonicClock}
029 * instead.
030 */
031@Public
032@Stable
033public class SystemClock implements Clock {
034
035  public long getTime() {
036    return System.currentTimeMillis();
037  }
038}