Class VariableProcessor

  • Direct Known Subclasses:
    FrameCollector

    public abstract class VariableProcessor
    extends Object
    This type deals with processing the variables. Dealing with:
    • type definition - how the type of the variable is captured
    • string values - how the string representation of the variable value is captured
    • child variables - how many child variables are processed
    • variable limits - total limits on how many variables are processed
    • depth limits - how deep will process down the reference chain
    • variable deduplication - ensuring we do not process the same variable multiple times
    • variable referencing - using variable ids to reference already processed variables

    While processing a variable or frame, we will process using a Breadth first approach. These means given the tree:

       1 -> 1.1
            1.2
            1.3 -> 1.3.1
       2 -> 2.1
       3 -> 3.1 -> 3.1.1
     
    We will attempt to gather the variables in the order:
    • 1
    • 2
    • 3
    • 1.1
    • 1.2
    • 1.3
    • 2.1
    • 3.1
    • 1.3.1
    • 3.1.1
    This ensures that we capture the variables closer to the tracepoint before we go deeper.
    • Field Detail

      • frameConfig

        protected final FrameConfig frameConfig
        Some config values from the triggered tracepoints affect all tracepoints at the point of collection. This FrameConfig calculates the most encompassing config for all triggered tracepoints.
    • Constructor Detail

      • VariableProcessor

        public VariableProcessor()