GCInfo

Native
1.9
@NativeRuntimeApi class GCInfo
(source)

This class represents statistics about the single run of the garbage collector. It is supposed to be used for testing and debugging purposes only.

Constructors

Native
1.3

<init>

This class represents statistics about the single run of the garbage collector. It is supposed to be used for testing and debugging purposes only.

GCInfo(
    epoch: Long,
    startTimeNs: Long,
    endTimeNs: Long,
    firstPauseRequestTimeNs: Long,
    firstPauseStartTimeNs: Long,
    firstPauseEndTimeNs: Long,
    secondPauseRequestTimeNs: Long?,
    secondPauseStartTimeNs: Long?,
    secondPauseEndTimeNs: Long?,
    postGcCleanupTimeNs: Long?,
    rootSet: RootSetStatistics,
    markedCount: Long,
    sweepStatistics: Map<String, SweepStatistics>,
    memoryUsageBefore: Map<String, MemoryUsage>,
    memoryUsageAfter: Map<String, MemoryUsage>)

Properties

Native
1.3

endTimeNs

Time, when garbage collector run is ended, measured by kotlin.system.getTimeNanos. After this point, most of the memory is reclaimed, and a new garbage collector run can start.

val endTimeNs: Long
Native
1.3

epoch

ID of garbage collector run.

val epoch: Long
Native
1.3

firstPauseEndTimeNs

Time, when mutator threads are unsuspended for the first time, mesured by kotlin.system.getTimeNanos.

val firstPauseEndTimeNs: Long
Native
1.3

firstPauseRequestTimeNs

Time, when the garbage collector thread requested suspension of mutator threads for the first time, mesured by kotlin.system.getTimeNanos.

val firstPauseRequestTimeNs: Long
Native
1.3

firstPauseStartTimeNs

Time, when mutator threads are suspended for the first time, mesured by kotlin.system.getTimeNanos.

val firstPauseStartTimeNs: Long
Native
1.3

markedCount

How many objects were processed during marking phase.

val markedCount: Long
Native
1.3

memoryUsageAfter

Memory usage at the start of garbage collector run, separated by memory pools. The set of memory pools depends on the collector implementation. Can be empty, if collection is in progress.

val memoryUsageAfter: Map<String, MemoryUsage>
Native
1.3

memoryUsageBefore

Memory usage at the end of garbage collector run, separated by memory pools. The set of memory pools depends on the collector implementation. Can be empty, if collection is in progress.

val memoryUsageBefore: Map<String, MemoryUsage>
Native
1.3

postGcCleanupTimeNs

Time, when all memory is reclaimed, measured by kotlin.system.getTimeNanos. If null, memory reclamation is still in progress.

val postGcCleanupTimeNs: Long?
Native
1.3

rootSet

The number of objects in each root set pool. Check RootSetStatistics doc for details.

val rootSet: RootSetStatistics
Native
1.3

secondPauseEndTimeNs

Time, when mutator threads are unsuspended for the second time, mesured by kotlin.system.getTimeNanos.

val secondPauseEndTimeNs: Long?
Native
1.3

secondPauseRequestTimeNs

Time, when the garbage collector thread requested suspension of mutator threads for the second time, mesured by kotlin.system.getTimeNanos.

val secondPauseRequestTimeNs: Long?
Native
1.3

secondPauseStartTimeNs

Time, when mutator threads are suspended for the second time, mesured by kotlin.system.getTimeNanos.

val secondPauseStartTimeNs: Long?
Native
1.3

startTimeNs

Time, when garbage collector run is started, meausered by kotlin.system.getTimeNanos.

val startTimeNs: Long
Native
1.3

sweepStatistics

Sweeping statistics separated by memory pools. The set of memory pools depends on the collector implementation. Can be empty, if collection is in progress.

val sweepStatistics: Map<String, SweepStatistics>