Class SettingsTransformer

  • All Implemented Interfaces:
    IEventSink

    class SettingsTransformer
    extends java.lang.Object
    implements IEventSink
    Event sink that transforms pre JDK 11 event types to their equivalent JDK 11 types. JDK 11 input data will be passed through mostly untouched.
    • Field Detail

      • REC_SETTING_NAME_ENABLED

        static final java.lang.String REC_SETTING_NAME_ENABLED
        See Also:
        Constant Field Values
      • REC_SETTING_NAME_STACKTRACE

        static final java.lang.String REC_SETTING_NAME_STACKTRACE
        See Also:
        Constant Field Values
      • REC_SETTING_NAME_THRESHOLD

        static final java.lang.String REC_SETTING_NAME_THRESHOLD
        See Also:
        Constant Field Values
      • REC_SETTING_NAME_PERIOD

        static final java.lang.String REC_SETTING_NAME_PERIOD
        See Also:
        Constant Field Values
      • REC_SETTING_PERIOD_EVERY_CHUNK

        static final java.lang.String REC_SETTING_PERIOD_EVERY_CHUNK
        See Also:
        Constant Field Values
      • REC_SETTINGS_ATTR_ENABLED

        private static final IAttribute<java.lang.Boolean> REC_SETTINGS_ATTR_ENABLED
      • REC_SETTINGS_ATTR_STACKTRACE

        private static final IAttribute<java.lang.Boolean> REC_SETTINGS_ATTR_STACKTRACE
      • FIELDS

        private static final java.util.List<ValueField> FIELDS
      • attributeRenameMap

        private static final java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> attributeRenameMap
      • UNALLOCATED_CAPACITY_FIELD_ID

        private static final java.lang.String UNALLOCATED_CAPACITY_FIELD_ID
        See Also:
        Constant Field Values
      • reusableArray

        private final java.lang.Object[] reusableArray
      • endTimeIndex

        private int endTimeIndex
      • typeIndex

        private int typeIndex
      • enabledIndex

        private int enabledIndex
      • stacktraceIndex

        private int stacktraceIndex
      • thresholdIndex

        private int thresholdIndex
      • periodIndex

        private int periodIndex
    • Constructor Detail

      • SettingsTransformer

        SettingsTransformer​(IEventSinkFactory sinkFactory,
                            java.lang.String label,
                            java.lang.String[] category,
                            java.lang.String description,
                            java.util.List<ValueField> dataStructure)
    • Method Detail

      • buildRenameMap

        private static java.util.HashMap<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> buildRenameMap()
      • addRenameEntry

        private static void addRenameEntry​(java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> renameMap,
                                           java.lang.String eventId,
                                           java.lang.String pre9AttrId,
                                           java.lang.String attrId)
      • isValid

        boolean isValid()
      • isValidV1

        boolean isValidV1()
      • addEvent

        public void addEvent​(java.lang.Object[] values)
        Description copied from interface: IEventSink
        Add a new event to the sink for processing. The sink may modify the event values as it sees fit.

        The implementation should have one or more subsinks created during the IEventSinkFactory.create call. Call addEvent on a subsink to continue the processing of the event. Note that the passed on value array must match the data structure used by the subsink.

        If no addEvent call is made to a subsink, then the event will be effectively filtered out.

        addEvent calls to subsinks may be delayed until later calls of this method or in an implementation specific flush method that can be called by IEventSinkFactory.flush.

        Specified by:
        addEvent in interface IEventSink
        Parameters:
        values - Event values. The order and data type of the values must match the dataStructure parameter to the IEventSinkFactory.create call.
      • addThresholdSettingEvent

        private boolean addThresholdSettingEvent​(java.lang.Object startTime,
                                                 LabeledIdentifier type,
                                                 IQuantity quantity)
      • addPeriodSettingEvent

        private boolean addPeriodSettingEvent​(java.lang.Object startTime,
                                              LabeledIdentifier type,
                                              IQuantity quantity)
      • addSettingEvent

        private void addSettingEvent​(java.lang.Object startTime,
                                     LabeledIdentifier type,
                                     java.lang.String settingName,
                                     java.lang.Object settingValue)