org.apache.hadoop.hive.ql.log
Class PerfLogger

java.lang.Object
  extended by org.apache.hadoop.hive.ql.log.PerfLogger

public class PerfLogger
extends Object

PerfLogger. Can be used to measure and log the time spent by a piece of code.


Field Summary
static String ACQUIRE_READ_WRITE_LOCKS
           
static String COMPILE
           
static String DO_AUTHORIZATION
           
static String DRIVER_EXECUTE
           
static String DRIVER_RUN
           
protected  Map<String,Long> endTimes
           
static String FAILURE_HOOK
           
static String PARTITION_RETRIEVING
           
protected static ThreadLocal<PerfLogger> perfLogger
           
static String POST_HOOK
           
static String PRE_HOOK
           
static String PRUNE_LISTING
           
static String RELEASE_LOCKS
           
protected  Map<String,Long> startTimes
           
static String TIME_TO_SUBMIT
           
 
Constructor Summary
protected PerfLogger()
           
 
Method Summary
 void close(org.apache.commons.logging.Log _log, QueryPlan queryPlan)
          Call this function at the end of processing a query (any time after the last call to PerfLogEnd for a given query) to run any cleanup/final steps that need to be run
 Long getEndTime(String method)
           
static PerfLogger getPerfLogger()
           
static PerfLogger getPerfLogger(boolean resetPerfLogger)
          Call this function to get an instance of PerfLogger.
 Long getStartTime(String method)
           
 void PerfLogBegin(org.apache.commons.logging.Log _log, String method)
          Call this function when you start to measure time spent by a piece of code.
 long PerfLogEnd(org.apache.commons.logging.Log _log, String method)
          Call this function in correspondence of PerfLogBegin to mark the end of the measurement.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACQUIRE_READ_WRITE_LOCKS

public static final String ACQUIRE_READ_WRITE_LOCKS
See Also:
Constant Field Values

COMPILE

public static final String COMPILE
See Also:
Constant Field Values

DO_AUTHORIZATION

public static final String DO_AUTHORIZATION
See Also:
Constant Field Values

DRIVER_EXECUTE

public static final String DRIVER_EXECUTE
See Also:
Constant Field Values

RELEASE_LOCKS

public static final String RELEASE_LOCKS
See Also:
Constant Field Values

PRUNE_LISTING

public static final String PRUNE_LISTING
See Also:
Constant Field Values

PARTITION_RETRIEVING

public static final String PARTITION_RETRIEVING
See Also:
Constant Field Values

PRE_HOOK

public static final String PRE_HOOK
See Also:
Constant Field Values

POST_HOOK

public static final String POST_HOOK
See Also:
Constant Field Values

FAILURE_HOOK

public static final String FAILURE_HOOK
See Also:
Constant Field Values

DRIVER_RUN

public static final String DRIVER_RUN
See Also:
Constant Field Values

TIME_TO_SUBMIT

public static final String TIME_TO_SUBMIT
See Also:
Constant Field Values

perfLogger

protected static final ThreadLocal<PerfLogger> perfLogger

startTimes

protected final Map<String,Long> startTimes

endTimes

protected final Map<String,Long> endTimes
Constructor Detail

PerfLogger

protected PerfLogger()
Method Detail

getPerfLogger

public static PerfLogger getPerfLogger()

getPerfLogger

public static PerfLogger getPerfLogger(boolean resetPerfLogger)
Call this function to get an instance of PerfLogger. Use resetPerfLogger to require a new instance. Useful at the beginning of execution.

Returns:
Tries to return an instance of the class whose name is configured in hive.exec.perf.logger, but if it can't it just returns an instance of the base PerfLogger class

PerfLogBegin

public void PerfLogBegin(org.apache.commons.logging.Log _log,
                         String method)
Call this function when you start to measure time spent by a piece of code.

Parameters:
_log - the logging object to be used.
method - method or ID that identifies this perf log element.

PerfLogEnd

public long PerfLogEnd(org.apache.commons.logging.Log _log,
                       String method)
Call this function in correspondence of PerfLogBegin to mark the end of the measurement.

Parameters:
_log -
method -
Returns:
long duration the difference between now and startTime, or -1 if startTime is null

close

public void close(org.apache.commons.logging.Log _log,
                  QueryPlan queryPlan)
Call this function at the end of processing a query (any time after the last call to PerfLogEnd for a given query) to run any cleanup/final steps that need to be run

Parameters:
_log -

getStartTime

public Long getStartTime(String method)

getEndTime

public Long getEndTime(String method)


Copyright © 2013 The Apache Software Foundation