org.jactr.tools.tracer
Class RuntimeTracer

java.lang.Object
  extended by org.jactr.tools.tracer.RuntimeTracer
All Implemented Interfaces:
org.jactr.core.utils.IInitializable, org.jactr.core.utils.IInstallable, org.jactr.core.utils.parameter.IParameterized, org.jactr.instrument.IInstrument

public class RuntimeTracer
extends java.lang.Object
implements org.jactr.instrument.IInstrument, org.jactr.core.utils.parameter.IParameterized

tracer that can listen and record the actions of all running models. At the start of the run (via ACTRRuntimeEvent.STARTED), the runtime tracer snags the current controller, which must be NetworkedIOHandler

Author:
developer

Nested Class Summary
static class RuntimeTracer.Level
           
 
Field Summary
static java.lang.String EXECUTOR_PARAM
           
static java.lang.String LEVEL_PARAMETER
           
static org.apache.commons.logging.Log LOGGER
          logger definition
static java.lang.String SINK_CLASS
           
 
Constructor Summary
RuntimeTracer()
           
 
Method Summary
 java.util.concurrent.Executor getExecutor()
           
 java.lang.String getParameter(java.lang.String key)
           
 java.util.Collection<java.lang.String> getPossibleParameters()
           
 java.util.Collection<java.lang.String> getSetableParameters()
           
 void initialize()
          we attach two listeners.
 void install(org.jactr.core.model.IModel model)
           
 void setExecutionEnabled(boolean execution)
           
 void setExecutor(java.lang.String executorName)
           
 void setLoggingEnabled(boolean logging)
           
 void setParameter(java.lang.String key, java.lang.String value)
           
 void setTraceLevel(RuntimeTracer.Level level)
           
 void setTraceSink(ITraceSink sink)
          where should we send all the transformed events to?
 void uninstall(org.jactr.core.model.IModel model)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

public static final org.apache.commons.logging.Log LOGGER
logger definition


LEVEL_PARAMETER

public static final java.lang.String LEVEL_PARAMETER
See Also:
Constant Field Values

EXECUTOR_PARAM

public static final java.lang.String EXECUTOR_PARAM
See Also:
Constant Field Values

SINK_CLASS

public static final java.lang.String SINK_CLASS
See Also:
Constant Field Values
Constructor Detail

RuntimeTracer

public RuntimeTracer()
Method Detail

getExecutor

public java.util.concurrent.Executor getExecutor()

setExecutor

public void setExecutor(java.lang.String executorName)

setTraceLevel

public void setTraceLevel(RuntimeTracer.Level level)

setTraceSink

public void setTraceSink(ITraceSink sink)
where should we send all the transformed events to?

Parameters:
sink -

install

public void install(org.jactr.core.model.IModel model)
Specified by:
install in interface org.jactr.core.utils.IInstallable
Specified by:
install in interface org.jactr.instrument.IInstrument

uninstall

public void uninstall(org.jactr.core.model.IModel model)
Specified by:
uninstall in interface org.jactr.core.utils.IInstallable
Specified by:
uninstall in interface org.jactr.instrument.IInstrument

initialize

public void initialize()
we attach two listeners. The first is the runtime listener which when the runtime stops, will force us to flush our data. The other is the a breakpoint listener so that it a breakpoint is reached, we flush.

Specified by:
initialize in interface org.jactr.core.utils.IInitializable
Specified by:
initialize in interface org.jactr.instrument.IInstrument
See Also:
IInstrument.initialize()

setLoggingEnabled

public void setLoggingEnabled(boolean logging)

setExecutionEnabled

public void setExecutionEnabled(boolean execution)

getParameter

public java.lang.String getParameter(java.lang.String key)
Specified by:
getParameter in interface org.jactr.core.utils.parameter.IParameterized
See Also:
IParameterized.getParameter(java.lang.String)

getPossibleParameters

public java.util.Collection<java.lang.String> getPossibleParameters()
Specified by:
getPossibleParameters in interface org.jactr.core.utils.parameter.IParameterized
See Also:
IParameterized.getPossibleParameters()

getSetableParameters

public java.util.Collection<java.lang.String> getSetableParameters()
Specified by:
getSetableParameters in interface org.jactr.core.utils.parameter.IParameterized
See Also:
IParameterized.getSetableParameters()

setParameter

public void setParameter(java.lang.String key,
                         java.lang.String value)
Specified by:
setParameter in interface org.jactr.core.utils.parameter.IParameterized
See Also:
IParameterized.setParameter(java.lang.String, java.lang.String)