Class GCDataImpl
java.lang.Object
javax.management.NotificationBroadcasterSupport
com.ibm.java.diagnostics.healthcenter.api.impl.HealthCenterDataImpl
com.ibm.java.diagnostics.healthcenter.api.gc.impl.GCDataImpl
- All Implemented Interfaces:
GCData,HealthCenterData,NotificationBroadcaster,NotificationEmitter
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.ibm.java.diagnostics.healthcenter.api.gc.GCData
GCData.GCmodes -
Field Summary
FieldsFields inherited from class com.ibm.java.diagnostics.healthcenter.api.impl.HealthCenterDataImpl
DEFAULT_NOTIFICATION, UNSETFields inherited from interface com.ibm.java.diagnostics.healthcenter.api.gc.GCData
HEAPSIZEDATA, PAUSETIMEDATA, USEDHEAPDATA -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddGCListener(GCEventListener listener) Add a listener for notification of when GC events occurvoidAdd a listener for notification of when ObjectAllocation events occurdoubleGets average interval, in milliseconds, between garbage collections.doubleGets the average garbage collection pause time, in milliseconds.intGets the average number of global mark phase collections per cycle.intGets the concurrent collection countintGets the number of garbage collections.Gets the garbage collection mode that is used by the monitored application.Gets the data associated with garbage collection pause times.doubleGets the average interval, in milliseconds, between global garbage collections.doubleGets the average global garbage collection pause time, in milliseconds.intGets the number of global garbage collections.intGets the global mark phase cycle count.HeapData[]Gets the data that is associated with heap size.longGets the largest memory request (in bytes) made by the application.longGets the maximum heap size.longGets the maximum pause time.longGets the maximum used heap.doubleGets the mean heap size.doubleGets the mean pause time.doubleGets the mean used heap.longGets the minimum heap size.longGets the minimum pause time.longGets the minimum used heap.intGets the number of garbage collections triggered by allocation failure.intGets the number of system (forced) garbage collections.doubleGets the average interval, in milliseconds, between nursery garbage collections.doubleGets the average nursery garbage collection pause time, in milliseconds.intGets the number of nursery garbage collections.longGets the total amount flipped for nursery garbage collections.Gets an array of the object allocation events.Gets an array of the out-of-line allocation events.Gets a GCPreferences object on which preferences can be set.doubleGets the proportion of time spent in garbage collection pauses.doubleGets the proportion of time spent unpaused (not in a garbage collection).intGets the total number of quantum collections.doubleGets the rate of garbage collection in MB/minute.protected Stringprotected StringintGets the total number of synchronous garbage collections.HeapData[]Gets the data that is associated with used heap after a garbage collection.voidremoveGCListener(GCEventListener listener) Remove one of registered listeners.voidRemove one of registered listeners.voidStarts a thread which checks for changes in the data every 2000 milliseconds and sends notifications if an update has occurred.voidstartNotifying(long delay) Starts a thread which checks for changes in the data and sends notifications if an update has occurred.Methods inherited from class com.ibm.java.diagnostics.healthcenter.api.impl.HealthCenterDataImpl
convertSummaryToDouble, convertSummaryToInt, convertSummaryToLong, extractRate, findAllRecommendations, findRecommendations, getAllRecommendations, getCriticalRecommendations, getEventData, getHealthyRecommendations, getInformationalRecommendations, getJvmData, getMaxData, getMeanData, getMinData, getWarningRecommendations, setJvmData, stripPercentSymbolMethods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotificationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.ibm.java.diagnostics.healthcenter.api.HealthCenterData
getAllRecommendations, getCriticalRecommendations, getHealthyRecommendations, getInformationalRecommendations, getWarningRecommendationsMethods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListenerMethods inherited from interface javax.management.NotificationEmitter
removeNotificationListener
-
Field Details
-
SET_LOW_ALLOCATION_THRESHOLD
- See Also:
-
SET_HIGH_ALLOCATION_THRESHOLD
- See Also:
-
-
Constructor Details
-
GCDataImpl
public GCDataImpl(com.ibm.java.diagnostics.common.datamodel.data.Data data)
-
-
Method Details
-
getHeapSizeData
Description copied from interface:GCDataGets the data that is associated with heap size. NOTE If running in "event only" mode, this data will always return an empty array. This is because "event only" does not store any data to inquire on. Instead, you need to use the api calls to register listeners and get notification of when events occur- Specified by:
getHeapSizeDatain interfaceGCData- Returns:
- an array of HeapData objects.
-
getUsedHeapData
Description copied from interface:GCDataGets the data that is associated with used heap after a garbage collection. NOTE If running in "event only" mode, this data will always return an empty array. This is because "event only" does not store any data to inquire on. Instead, you need to use the api calls to register listeners and get notification of when events occur- Specified by:
getUsedHeapDatain interfaceGCData- Returns:
- An array of HeapData objects.
-
getGCPauseTimeData
Description copied from interface:GCDataGets the data associated with garbage collection pause times. NOTE If running in "event only" mode, this data will always return an empty array. This is because "event only" does not store any data to inquire on. Instead, you need to use the api calls to register listeners and get notification of when events occur- Specified by:
getGCPauseTimeDatain interfaceGCData- Returns:
- an array of PauseData objects.
-
getConcurrentCollectionCount
public int getConcurrentCollectionCount()Description copied from interface:GCDataGets the concurrent collection count- Specified by:
getConcurrentCollectionCountin interfaceGCData- Returns:
- the number of concurrent collections or -1 if there aren't any concurrent collections.
-
getGCMode
Description copied from interface:GCDataGets the garbage collection mode that is used by the monitored application. -
getGlobalAverageGCPauseTime
public double getGlobalAverageGCPauseTime()Description copied from interface:GCDataGets the average global garbage collection pause time, in milliseconds.- Specified by:
getGlobalAverageGCPauseTimein interfaceGCData- Returns:
- the average global garbage collection pause time or -1 if there aren't any global collections.
-
getGlobalAverageCollectionInterval
public double getGlobalAverageCollectionInterval()Description copied from interface:GCDataGets the average interval, in milliseconds, between global garbage collections.- Specified by:
getGlobalAverageCollectionIntervalin interfaceGCData- Returns:
- the average global collection interval or -1 if there aren't any global collections
-
getGlobalGCCount
public int getGlobalGCCount()Description copied from interface:GCDataGets the number of global garbage collections.- Specified by:
getGlobalGCCountin interfaceGCData- Returns:
- the number of global garbage collections or -1 if there aren't any global collections.
-
getLargestMemoryRequest
public long getLargestMemoryRequest()Description copied from interface:GCDataGets the largest memory request (in bytes) made by the application.- Specified by:
getLargestMemoryRequestin interfaceGCData- Returns:
- the largest memory request that triggered a garbage collection or -1 if there aren't any.
-
getNurseryAverageGCPauseTime
public double getNurseryAverageGCPauseTime()Description copied from interface:GCDataGets the average nursery garbage collection pause time, in milliseconds.- Specified by:
getNurseryAverageGCPauseTimein interfaceGCData- Returns:
- the average nursery garbage collection pause times or -1 if there aren't any nursery collections.
-
getNurseryAverageCollectionInterval
public double getNurseryAverageCollectionInterval()Description copied from interface:GCDataGets the average interval, in milliseconds, between nursery garbage collections.- Specified by:
getNurseryAverageCollectionIntervalin interfaceGCData- Returns:
- the average nursery garbage collection interval time or -1 if there aren't any nursery collections.
-
getNurseryGCCount
public int getNurseryGCCount()Description copied from interface:GCDataGets the number of nursery garbage collections.- Specified by:
getNurseryGCCountin interfaceGCData- Returns:
- the number of nursery garbage collections or -1 if there aren't s any nursery collections.
-
getNurseryTotalAmountFlipped
public long getNurseryTotalAmountFlipped()Description copied from interface:GCDataGets the total amount flipped for nursery garbage collections.- Specified by:
getNurseryTotalAmountFlippedin interfaceGCData- Returns:
- The total amount flipped in nursery collections in bytes or -1 if there aren't any.
-
getGMPCycleCount
public int getGMPCycleCount()Description copied from interface:GCDataGets the global mark phase cycle count.- Specified by:
getGMPCycleCountin interfaceGCData- Returns:
- the count of the number of global mark phases or -1 if there aren't any.
-
getAverageGMPCollections
public int getAverageGMPCollections()Description copied from interface:GCDataGets the average number of global mark phase collections per cycle.- Specified by:
getAverageGMPCollectionsin interfaceGCData- Returns:
- the average number of global mark phase collections or -1 if there aren't any.
-
getQuantumCollectionCount
public int getQuantumCollectionCount()Description copied from interface:GCDataGets the total number of quantum collections. This applies only to IBM WebSphere Real Time.- Specified by:
getQuantumCollectionCountin interfaceGCData- Returns:
- the number of quantum collections or -1 if there aren't any quantum collections.
-
getSynchGCCount
public int getSynchGCCount()Description copied from interface:GCDataGets the total number of synchronous garbage collections.- Specified by:
getSynchGCCountin interfaceGCData- Returns:
- the number of synchronous garbage collections or -1 if there aren't any synchronous collections.
-
getNumberOfAllocationFailures
public int getNumberOfAllocationFailures()Description copied from interface:GCDataGets the number of garbage collections triggered by allocation failure.- Specified by:
getNumberOfAllocationFailuresin interfaceGCData- Returns:
- the number of allocation failures or -1 if there aren't any.
-
getProportionTimeSpentInGCPause
public double getProportionTimeSpentInGCPause()Description copied from interface:GCDataGets the proportion of time spent in garbage collection pauses. Returned as a percentage.- Specified by:
getProportionTimeSpentInGCPausein interfaceGCData- Returns:
- the percentage of time spent in garbage collections pauses or -1 if there aren't any collections.
-
getProportionTimeSpentUnpaused
public double getProportionTimeSpentUnpaused()Description copied from interface:GCDataGets the proportion of time spent unpaused (not in a garbage collection). Returned as a percentage.- Specified by:
getProportionTimeSpentUnpausedin interfaceGCData- Returns:
- the percentage of time spent unpaused or -1 if there aren't any collections.
-
getRateOfGarbageCollection
public double getRateOfGarbageCollection()Description copied from interface:GCDataGets the rate of garbage collection in MB/minute.- Specified by:
getRateOfGarbageCollectionin interfaceGCData- Returns:
- the rate of garbage collection or -1 if there aren't any collections.
-
getNumberSystemGC
public int getNumberSystemGC()Description copied from interface:GCDataGets the number of system (forced) garbage collections.- Specified by:
getNumberSystemGCin interfaceGCData- Returns:
- the number of system garbage collections or -1 if there aren't any.
-
getRecommendationLabel
- Specified by:
getRecommendationLabelin classHealthCenterDataImpl
-
getSubsystemLabel
- Specified by:
getSubsystemLabelin classHealthCenterDataImpl
-
getPreferences
Description copied from interface:GCDataGets a GCPreferences object on which preferences can be set.- Specified by:
getPreferencesin interfaceGCData- Returns:
- the GCPreferences object for this GCData object.
-
getObjectAllocationEvents
Description copied from interface:GCDataGets an array of the object allocation events.- Specified by:
getObjectAllocationEventsin interfaceGCData- Returns:
- an array of ObjectAllocation objects.
-
getOutOfLineAllocationEvents
Description copied from interface:GCDataGets an array of the out-of-line allocation events.- Specified by:
getOutOfLineAllocationEventsin interfaceGCData- Returns:
- an array of OutOfLineAllocationEvent objects.
-
getAverageCollectionInterval
public double getAverageCollectionInterval()Description copied from interface:GCDataGets average interval, in milliseconds, between garbage collections.- Specified by:
getAverageCollectionIntervalin interfaceGCData- Returns:
- the average collection interval or -1 if there aren't any collections.
-
getAverageGCPauseTime
public double getAverageGCPauseTime()Description copied from interface:GCDataGets the average garbage collection pause time, in milliseconds.- Specified by:
getAverageGCPauseTimein interfaceGCData- Returns:
- the average garbage collection pause time or -1 if there aren't any collections.
-
getGCCount
public int getGCCount()Description copied from interface:GCDataGets the number of garbage collections.- Specified by:
getGCCountin interfaceGCData- Returns:
- the total number of garbage collections or -1 if there aren't any collections.
-
startNotifying
public void startNotifying()Description copied from interface:HealthCenterDataStarts a thread which checks for changes in the data every 2000 milliseconds and sends notifications if an update has occurred. To handle these notifications, aNotificationListenerneeds to be added to the object the thread is being started from.- Specified by:
startNotifyingin interfaceHealthCenterData
-
startNotifying
public void startNotifying(long delay) Description copied from interface:HealthCenterDataStarts a thread which checks for changes in the data and sends notifications if an update has occurred. To handle these notifications, aNotificationListenerneeds to be added to the object the thread is being started from.- Specified by:
startNotifyingin interfaceHealthCenterData- Parameters:
delay- The number of milliseconds between each update. The default is 2000 milliseconds and anything below this will not be accepted.
-
getMaxHeapSize
public long getMaxHeapSize()Description copied from interface:GCDataGets the maximum heap size.- Specified by:
getMaxHeapSizein interfaceGCData- Returns:
- maximum heap size in bytes
-
getMeanHeapSize
public double getMeanHeapSize()Description copied from interface:GCDataGets the mean heap size.- Specified by:
getMeanHeapSizein interfaceGCData- Returns:
- mean heap size in bytes
-
getMinHeapSize
public long getMinHeapSize()Description copied from interface:GCDataGets the minimum heap size.- Specified by:
getMinHeapSizein interfaceGCData- Returns:
- minimum heap size in bytes
-
getMaxUsedHeap
public long getMaxUsedHeap()Description copied from interface:GCDataGets the maximum used heap.- Specified by:
getMaxUsedHeapin interfaceGCData- Returns:
- maximum used heap in bytes
-
getMeanUsedHeap
public double getMeanUsedHeap()Description copied from interface:GCDataGets the mean used heap.- Specified by:
getMeanUsedHeapin interfaceGCData- Returns:
- mean used heap in bytes
-
getMinUsedHeap
public long getMinUsedHeap()Description copied from interface:GCDataGets the minimum used heap.- Specified by:
getMinUsedHeapin interfaceGCData- Returns:
- minimum used heap in bytes
-
getMaxPauseTime
public long getMaxPauseTime()Description copied from interface:GCDataGets the maximum pause time.- Specified by:
getMaxPauseTimein interfaceGCData- Returns:
- maximum pause time in ms
-
getMeanPauseTime
public double getMeanPauseTime()Description copied from interface:GCDataGets the mean pause time.- Specified by:
getMeanPauseTimein interfaceGCData- Returns:
- mean pause time in ms
-
getMinPauseTime
public long getMinPauseTime()Description copied from interface:GCDataGets the minimum pause time.- Specified by:
getMinPauseTimein interfaceGCData- Returns:
- minimum pause time in ms
-
addGCListener
Description copied from interface:GCDataAdd a listener for notification of when GC events occur- Specified by:
addGCListenerin interfaceGCData
-
removeGCListener
Description copied from interface:GCDataRemove one of registered listeners.- Specified by:
removeGCListenerin interfaceGCData
-
addObjectAllocationListener
Description copied from interface:GCDataAdd a listener for notification of when ObjectAllocation events occur- Specified by:
addObjectAllocationListenerin interfaceGCData
-
removeObjectAllocationListener
Description copied from interface:GCDataRemove one of registered listeners.- Specified by:
removeObjectAllocationListenerin interfaceGCData
-