class SettingsTransformer extends java.lang.Object implements IEventSink
Modifier and Type | Class and Description |
---|---|
private static class |
SettingsTransformer.FixCodeCacheSink
Fix for JDK-8157024, the code cache stats unallocatedCapacity event is written as KiB but
reported as B.
|
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
attributeRenameMap |
private int |
enabledIndex |
private int |
endTimeIndex |
private static java.util.List<ValueField> |
FIELDS |
private int |
periodIndex |
(package private) static java.lang.String |
REC_SETTING_NAME_ENABLED |
(package private) static java.lang.String |
REC_SETTING_NAME_PERIOD |
(package private) static java.lang.String |
REC_SETTING_NAME_STACKTRACE |
(package private) static java.lang.String |
REC_SETTING_NAME_THRESHOLD |
(package private) static java.lang.String |
REC_SETTING_PERIOD_EVERY_CHUNK |
private static IAttribute<java.lang.Boolean> |
REC_SETTINGS_ATTR_ENABLED |
(package private) static IAttribute<IQuantity> |
REC_SETTINGS_ATTR_PERIOD |
private static IAttribute<java.lang.Boolean> |
REC_SETTINGS_ATTR_STACKTRACE |
(package private) static IAttribute<IQuantity> |
REC_SETTINGS_ATTR_THRESHOLD |
private java.lang.Object[] |
reusableArray |
private IEventSink |
sink |
private int |
stacktraceIndex |
private int |
thresholdIndex |
private int |
typeIndex |
private static java.lang.String |
UNALLOCATED_CAPACITY_FIELD_ID |
Constructor and Description |
---|
SettingsTransformer(IEventSinkFactory sinkFactory,
java.lang.String label,
java.lang.String[] category,
java.lang.String description,
java.util.List<ValueField> dataStructure) |
Modifier and Type | Method and Description |
---|---|
void |
addEvent(java.lang.Object[] values)
Add a new event to the sink for processing.
|
private boolean |
addPeriodSettingEvent(java.lang.Object startTime,
LabeledIdentifier type,
IQuantity quantity) |
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) |
private void |
addSettingEvent(java.lang.Object startTime,
LabeledIdentifier type,
java.lang.String settingName,
java.lang.Object settingValue) |
private boolean |
addThresholdSettingEvent(java.lang.Object startTime,
LabeledIdentifier type,
IQuantity quantity) |
private static java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
buildRenameMap() |
(package private) boolean |
isValid() |
(package private) boolean |
isValidV1() |
(package private) static IEventSinkFactory |
wrapSinkFactory(IEventSinkFactory subFactory) |
static final java.lang.String REC_SETTING_NAME_ENABLED
static final java.lang.String REC_SETTING_NAME_STACKTRACE
static final java.lang.String REC_SETTING_NAME_THRESHOLD
static final java.lang.String REC_SETTING_NAME_PERIOD
static final java.lang.String REC_SETTING_PERIOD_EVERY_CHUNK
private static final IAttribute<java.lang.Boolean> REC_SETTINGS_ATTR_ENABLED
private static final IAttribute<java.lang.Boolean> REC_SETTINGS_ATTR_STACKTRACE
static final IAttribute<IQuantity> REC_SETTINGS_ATTR_THRESHOLD
static final IAttribute<IQuantity> REC_SETTINGS_ATTR_PERIOD
private static final java.util.List<ValueField> FIELDS
private static final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> attributeRenameMap
private static final java.lang.String UNALLOCATED_CAPACITY_FIELD_ID
private final IEventSink sink
private final java.lang.Object[] reusableArray
private int endTimeIndex
private int typeIndex
private int enabledIndex
private int stacktraceIndex
private int thresholdIndex
private int periodIndex
SettingsTransformer(IEventSinkFactory sinkFactory, java.lang.String label, java.lang.String[] category, java.lang.String description, java.util.List<ValueField> dataStructure)
private static java.util.HashMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> buildRenameMap()
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)
boolean isValid()
boolean isValidV1()
public void addEvent(java.lang.Object[] values)
IEventSink
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
.
addEvent
in interface IEventSink
values
- Event values. The order and data type of the values must match the
dataStructure
parameter to the
IEventSinkFactory.create
call.private boolean addThresholdSettingEvent(java.lang.Object startTime, LabeledIdentifier type, IQuantity quantity)
private boolean addPeriodSettingEvent(java.lang.Object startTime, LabeledIdentifier type, IQuantity quantity)
private void addSettingEvent(java.lang.Object startTime, LabeledIdentifier type, java.lang.String settingName, java.lang.Object settingValue)
static IEventSinkFactory wrapSinkFactory(IEventSinkFactory subFactory)