Class FrameProcessor
- java.lang.Object
-
- com.intergral.deep.agent.tracepoint.handler.VariableProcessor
-
- com.intergral.deep.agent.tracepoint.handler.FrameCollector
-
- com.intergral.deep.agent.tracepoint.handler.FrameProcessor
-
- All Implemented Interfaces:
ISnapshotContext
- Direct Known Subclasses:
CFFrameProcessor
public class FrameProcessor extends FrameCollector implements ISnapshotContext
This type deals with matching tracepoints to the current state and working out if we can collect the data.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
FrameProcessor.IFactory
This defines a functional interface to allow for creating difference processors in the Callback.-
Nested classes/interfaces inherited from class com.intergral.deep.agent.tracepoint.handler.FrameCollector
FrameCollector.IExpressionResult, FrameCollector.IFrameResult, FrameCollector.ILogProcessResult
-
Nested classes/interfaces inherited from class com.intergral.deep.agent.tracepoint.handler.VariableProcessor
VariableProcessor.VariableResponse
-
-
Field Summary
-
Fields inherited from class com.intergral.deep.agent.tracepoint.handler.FrameCollector
evaluator, settings, variables
-
Fields inherited from class com.intergral.deep.agent.tracepoint.handler.VariableProcessor
frameConfig
-
-
Constructor Summary
Constructors Constructor Description FrameProcessor(Settings settings, IEvaluator evaluator, Map<String,Object> variables, Collection<TracePointConfig> tracePointConfigs, long[] lineStart, StackTraceElement[] stack, String methodName)
Create a new processor for this Callback.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canCollect()
Using thetracePointConfigs
can we collect any data at this point.Collection<EventSnapshot>
collect()
Collect the data intoEventSnapshot
.void
configureSelf()
Using thefilteredTracepoints
update the config to reflect the collection config for this Callback.String
evaluateExpression(String expression)
Evaluate an expression in the frame of the tracepoint that triggered this snapshot.Collection<TracePointConfig>
getFilteredTracepoints()
long[]
getLineStart()
IReflection
reflectionService()
Get the current reflection service.-
Methods inherited from class com.intergral.deep.agent.tracepoint.handler.FrameCollector
evaluateWatchExpression, getMethodName, isAppFrame, logTracepoint, processAttributes, processFrame, processLogMsg, processNode, processVars, selectVariables
-
Methods inherited from class com.intergral.deep.agent.tracepoint.handler.VariableProcessor
appendChild, appendVariable, checkDepth, checkId, checkVarCount, closeLookup, configureSelf, newVarId, processChildNodes, processVariable
-
-
-
-
Constructor Detail
-
FrameProcessor
public FrameProcessor(Settings settings, IEvaluator evaluator, Map<String,Object> variables, Collection<TracePointConfig> tracePointConfigs, long[] lineStart, StackTraceElement[] stack, String methodName)
Create a new processor for this Callback.- Parameters:
settings
- the current settings being usedevaluator
- the evaluator to use for watchers and conditionsvariables
- the variables we have at this statetracePointConfigs
- the tracepoints that are part of this CallbacklineStart
- the Tuple of the time this Callback startedstack
- the stack trace to usemethodName
- the name of the method we are wrapping, ornull
if not a method wrapped collection
-
-
Method Detail
-
canCollect
public boolean canCollect()
Using thetracePointConfigs
can we collect any data at this point.This method will check the tracepoint config fire count, rate limits, windows and conditions and populate the
filteredTracepoints
- Returns:
true
, if thefilteredTracepoints
have any values
-
configureSelf
public void configureSelf()
Using thefilteredTracepoints
update the config to reflect the collection config for this Callback.If there are multiple tracepoints being process, the config will reflect the most inclusive, ie the higher number.
-
collect
public Collection<EventSnapshot> collect()
Collect the data intoEventSnapshot
.- Returns:
- the collected
EventSnapshot
-
evaluateExpression
public String evaluateExpression(String expression) throws EvaluationException
Evaluate an expression in the frame of the tracepoint that triggered this snapshot.- Specified by:
evaluateExpression
in interfaceISnapshotContext
- Parameters:
expression
- the express to evaluate- Returns:
- the result of the expression as a string
- Throws:
EvaluationException
- if there were any issues evaluating the expression
-
reflectionService
public IReflection reflectionService()
Get the current reflection service.- Specified by:
reflectionService
in interfaceISnapshotContext
- Returns:
- the active reflection service.
-
getFilteredTracepoints
public Collection<TracePointConfig> getFilteredTracepoints()
-
getLineStart
public long[] getLineStart()
-
-