GcInfo (Java SE 15 & JDK 15)
Description: declaration: module: jdk.management, package: com.sun.management, class: GcInfo
Keywords: com.sun.management.GcInfo class

Module jdk.management
Package com.sun.management

# Class GcInfo

java.lang.Object
com.sun.management.GcInfo

All Implemented Interfaces:
  `CompositeData`, `CompositeDataView`

    public class GcInfo
    extends Object
    implements CompositeData, CompositeDataView

Garbage collection information. It contains the following information for one garbage collection as well as GC-specific attributes:

> - Start time
> - End time
> - Duration
> - Memory usage before the collection starts
> - Memory usage after the collection ends

`GcInfo` is a `CompositeData` The GC-specific attributes can be obtained via the CompositeData interface. This is a historical relic, and other classes should not copy this pattern. Use `CompositeDataView` instead.

## MXBean Mapping

`GcInfo` is mapped to a `CompositeData` with attributes as specified in the `from` method.

Since:
  1.5

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static GcInfo` | `from​(CompositeData cd)` | Returns a `GcInfo` object represented by the given `CompositeData`.
  `long` | `getDuration()` | Returns the elapsed time of this GC in milliseconds.
  `long` | `getEndTime()` | Returns the end time of this GC in milliseconds since the Java virtual machine was started.
  `long` | `getId()` | Returns the identifier of this garbage collection which is the number of collections that this collector has done.
  `Map<String,​MemoryUsage>` | `getMemoryUsageAfterGc()` | Returns the memory usage of all memory pools at the end of this GC.
  `Map<String,​MemoryUsage>` | `getMemoryUsageBeforeGc()` | Returns the memory usage of all memory pools at the beginning of this GC.
  `long` | `getStartTime()` | Returns the start time of this GC in milliseconds since the Java virtual machine was started.
  `CompositeData` | `toCompositeData​(CompositeType ct)` | Return the `CompositeData` representation of this `GcInfo`, including any GC-specific attributes.

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods declared in interface javax.management.openmbean.CompositeData

  `containsKey, containsValue, equals, get, getAll, getCompositeType, hashCode, toString, values`

- ## Method Details

  - ### getId

    public long getId()
    Returns the identifier of this garbage collection which is the number of collections that this collector has done.
    Returns:
      the identifier of this garbage collection which is the number of collections that this collector has done.

  - ### getStartTime

    public long getStartTime()
    Returns the start time of this GC in milliseconds since the Java virtual machine was started.
    Returns:
      the start time of this GC.

  - ### getEndTime

    public long getEndTime()
    Returns the end time of this GC in milliseconds since the Java virtual machine was started.
    Returns:
      the end time of this GC.

  - ### getDuration

    public long getDuration()
    Returns the elapsed time of this GC in milliseconds.
    Returns:
      the elapsed time of this GC in milliseconds.

  - ### getMemoryUsageBeforeGc

    public Map<String,​MemoryUsage> getMemoryUsageBeforeGc()
    Returns the memory usage of all memory pools at the beginning of this GC. This method returns a `Map` of the name of a memory pool to the memory usage of the corresponding memory pool before GC starts.
    Returns:
      a `Map` of memory pool names to the memory usage of a memory pool before GC starts.

  - ### getMemoryUsageAfterGc

    public Map<String,​MemoryUsage> getMemoryUsageAfterGc()
    Returns the memory usage of all memory pools at the end of this GC. This method returns a `Map` of the name of a memory pool to the memory usage of the corresponding memory pool when GC finishes.
    Returns:
      a `Map` of memory pool names to the memory usage of a memory pool when GC finishes.

  - ### from

    public static GcInfo from​(CompositeData cd)
    Returns a `GcInfo` object represented by the given `CompositeData`. The given `CompositeData` must contain all the following attributes:

    > description
    > Attribute Name | Type
    > --- | ---
    > index | `java.lang.Long`
    > startTime | `java.lang.Long`
    > endTime | `java.lang.Long`
    > memoryUsageBeforeGc | `javax.management.openmbean.TabularData`
    > memoryUsageAfterGc | `javax.management.openmbean.TabularData`

    Returns:
      a `GcInfo` object represented by `cd` if `cd` is not `null`; `null` otherwise.
    Throws:
      `IllegalArgumentException` - if `cd` does not represent a `GcInfo` object with the attributes described above.

  - ### toCompositeData

    public CompositeData toCompositeData​(CompositeType ct)
    Return the `CompositeData` representation of this `GcInfo`, including any GC-specific attributes. The returned value will have at least all the attributes described in the `from` method, plus optionally other attributes.
    Specified by:
      `toCompositeData` in interface `CompositeDataView`
    Parameters:
      `ct` - the `CompositeType` that the caller expects. This parameter is ignored and can be null.
    Returns:
      the `CompositeData` representation.