package rocks.inspectit.ui.rcp.preferences; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import rocks.inspectit.shared.all.communication.data.ExceptionSensorData; import rocks.inspectit.shared.all.communication.data.HttpTimerData; import rocks.inspectit.shared.all.communication.data.InvocationSequenceData; import rocks.inspectit.shared.all.communication.data.SqlStatementData; import rocks.inspectit.shared.all.communication.data.TimerData; import rocks.inspectit.ui.rcp.ci.dialog.InstrumentationUpdateDialog.OnSaveBehavior; import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.PlotDataSolver; import rocks.inspectit.ui.rcp.repository.CmrRepositoryDefinition; /** * Initializes the default preferences. * * @author Patrice Bouillet * */ public class InspectITPreferenceInitializer extends AbstractPreferenceInitializer { /** * {@inheritDoc} */ @Override public void initializeDefaultPreferences() { // CMR list List<CmrRepositoryDefinition> defaultCmrList = new ArrayList<>(1); CmrRepositoryDefinition defaultCmr = new CmrRepositoryDefinition(CmrRepositoryDefinition.DEFAULT_IP, CmrRepositoryDefinition.DEFAULT_PORT, CmrRepositoryDefinition.DEFAULT_NAME); defaultCmr.setDescription(CmrRepositoryDefinition.DEFAULT_DESCRIPTION); defaultCmrList.add(defaultCmr); PreferencesUtils.saveCmrRepositoryDefinitions(defaultCmrList, true); // Editor defaults PreferencesUtils.saveIntValue(PreferencesConstants.DECIMAL_PLACES, 0, true); PreferencesUtils.saveLongValue(PreferencesConstants.REFRESH_RATE, 5000L, true); PreferencesUtils.saveIntValue(PreferencesConstants.ITEMS_COUNT_TO_SHOW, 100, true); PreferencesUtils.saveDoubleValue(PreferencesConstants.INVOCATION_FILTER_EXCLUSIVE_TIME, Double.NaN, true); PreferencesUtils.saveDoubleValue(PreferencesConstants.INVOCATION_FILTER_TOTAL_TIME, Double.NaN, true); Set<Class<?>> invocDataTypes = new HashSet<>(); invocDataTypes.add(InvocationSequenceData.class); invocDataTypes.add(TimerData.class); invocDataTypes.add(HttpTimerData.class); invocDataTypes.add(SqlStatementData.class); invocDataTypes.add(ExceptionSensorData.class); PreferencesUtils.saveObject(PreferencesConstants.INVOCATION_FILTER_DATA_TYPES, invocDataTypes, true); // auto check new version PreferencesUtils.saveBooleanValue(PreferencesConstants.AUTO_CHECK_NEW_VERSION, true, true); PreferencesUtils.saveObject(PreferencesConstants.INSTRUMENTATION_UPDATED_AUTO_ACTION, OnSaveBehavior.SHOW_DIALOG, true); Map<String, PlotDataSolver> dataSolverBeanAssignmentMap = new HashMap<>(); dataSolverBeanAssignmentMap.put("java.lang.ClassLoading:Verbose", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Compilation:CompilationTimeMonitoringSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.GarbageCollector.PS MarkSweep:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.GarbageCollector.PS Scavenge:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Memory:Verbose", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryManager.CodeCacheManager:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.Code Cache:CollectionUsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.Code Cache:CollectionUsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.Code Cache:UsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.Code Cache:UsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.Code Cache:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Eden Space:CollectionUsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Eden Space:CollectionUsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Eden Space:UsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Eden Space:UsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Eden Space:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Old Gen:CollectionUsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Old Gen:CollectionUsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Old Gen:UsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Old Gen:UsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Old Gen:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Perm Gen:CollectionUsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Perm Gen:CollectionUsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Perm Gen:UsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Perm Gen:UsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Perm Gen:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Survivor Space:CollectionUsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Survivor Space:CollectionUsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Survivor Space:UsageThresholdExceeded", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Survivor Space:UsageThresholdSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.MemoryPool.PS Survivor Space:Valid", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:CommittedVirtualMemorySize", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:FreePhysicalMemorySize", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:FreeSwapSpaceSize", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:ProcessCpuLoad", PlotDataSolver.CLAMPED_PERCENTAGE); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:SystemCpuLoad", PlotDataSolver.CLAMPED_PERCENTAGE); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:SystemLoadAverage", PlotDataSolver.CLAMPED_PERCENTAGE); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:TotalPhysicalMemorySize", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.lang.OperatingSystem:TotalSwapSpaceSize", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.lang.Runtime:BootClassPathSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:CurrentThreadCpuTimeSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ObjectMonitorUsageSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:SynchronizerUsageSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadAllocatedMemoryEnabled", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadAllocatedMemorySupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadContentionMonitoringEnabled", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadContentionMonitoringSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadCpuTimeEnabled", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.lang.Threading:ThreadCpuTimeSupported", PlotDataSolver.BOOLEAN); dataSolverBeanAssignmentMap.put("java.nio.BufferPool.direct:MemoryUsed", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.nio.BufferPool.direct:TotalCapacity", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.nio.BufferPool.mapped:MemoryUsed", PlotDataSolver.MEMORY); dataSolverBeanAssignmentMap.put("java.nio.BufferPool.mapped:TotalCapacity", PlotDataSolver.MEMORY); PreferencesUtils.saveObject(PreferencesConstants.JMX_PLOT_DATA_SOLVER, dataSolverBeanAssignmentMap, true); } }