org.apache.ignite

## Interface MemoryMetrics

All Known Implementing Classes:
  DataRegionMetricsAdapter

Deprecated.
Check the `ReadOnlyMetricRegistry` with "name=io.dataregion.{data_region_name}" instead.

    @Deprecated
    public interface MemoryMetrics

This interface provides page memory related metrics of a specific Apache Ignite node. The overall page memory architecture is covered in `MemoryConfiguration`.

Since there are can be several memory regions configured with `MemoryPolicyConfiguration` on an individual Apache Ignite node, the metrics for every region will be collected and obtained separately.

There are two ways to get the metrics of an Apache Ignite node.

1. First, a collection of the metrics can be obtained through `Ignite.dataRegionMetrics()` ()} method. Note that the method returns memory metrics snapshots rather than just in time memory state.
2. Second, all `MemoryMetrics` of a local Apache Ignite node are visible through JMX interface. Refer to JMX bean with the name "name=io.dataregion.{data_region_name}" for more details.

Memory metrics collection is not a free operation and might affect performance of an application. This is the reason why the metrics are turned off by default. To enable the collection you can use both `MemoryPolicyConfiguration.setMetricsEnabled(boolean)` configuration property.

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`float` `getAllocationRate()` Deprecated. Gets pages allocation rate of a memory region.
`long` `getDirtyPages()` Deprecated. Gets the number of dirty pages (pages which contents is different from the current persistent storage state).
`float` `getEvictionRate()` Deprecated. Gets eviction rate of a given memory region.
`float` `getLargeEntriesPagesPercentage()` Deprecated. Gets percentage of pages that are fully occupied by large entries that go beyond page size.
`String` `getName()` Deprecated. A name of a memory region the metrics are collected for.
`float` `getPagesFillFactor()` Deprecated. Gets the percentage of space that is still free and can be filled in.
`float` `getPagesReplaceRate()` Deprecated. Gets rate (pages per second) at which pages get replaced with other pages from persistent storage.
`long` `getPhysicalMemoryPages()` Deprecated. Gets total number of pages currently loaded to the RAM.
`long` `getTotalAllocatedPages()` Deprecated. Gets a total number of allocated pages related to the memory policy.

### Method Detail

#### getName

    String getName()

Deprecated.
A name of a memory region the metrics are collected for.

Returns:
  Name of the memory region.

#### getTotalAllocatedPages

    long getTotalAllocatedPages()

Deprecated.
Gets a total number of allocated pages related to the memory policy. When persistence is disabled, this metric shows the total number of pages in memory. When persistence is enabled, this metric shows the total number of pages in memory and on disk.

Returns:
  Total number of allocated pages.

#### getAllocationRate

    float getAllocationRate()

Deprecated.
Gets pages allocation rate of a memory region.

Returns:
  Number of allocated pages per second.

#### getEvictionRate

    float getEvictionRate()

Deprecated.
Gets eviction rate of a given memory region.

Returns:
  Number of evicted pages per second.

#### getLargeEntriesPagesPercentage

    float getLargeEntriesPagesPercentage()

Deprecated.
Gets percentage of pages that are fully occupied by large entries that go beyond page size. The large entities are split into fragments in a way so that each fragment can fit into a single page.

Returns:
  Percentage of pages fully occupied by large entities.

#### getPagesFillFactor

    float getPagesFillFactor()

Deprecated.
Gets the percentage of space that is still free and can be filled in.

Returns:
  The percentage of space that is still free and can be filled in.

#### getDirtyPages

    long getDirtyPages()

Deprecated.
Gets the number of dirty pages (pages which contents is different from the current persistent storage state). This metric is enabled only for Ignite nodes with enabled persistence.

Returns:
  Current number of dirty pages.

#### getPagesReplaceRate

    float getPagesReplaceRate()

Deprecated.
Gets rate (pages per second) at which pages get replaced with other pages from persistent storage. The rate effectively represents the rate at which pages get 'evicted' in favor of newly needed pages. This metric is enabled only for Ignite nodes with enabled persistence.

Returns:
  Pages per second replace rate.

#### getPhysicalMemoryPages

    long getPhysicalMemoryPages()

Deprecated.
Gets total number of pages currently loaded to the RAM. When persistence is disabled, this metric is equal to `getTotalAllocatedPages()`.

Returns:
  Total number of pages loaded to RAM.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.16.0
Release Date | : December 15 2023