Performance Analyzer provides a number of metrics to help you evaluate performance. The following tables describe the available metrics, grouped by the dimensions that are most relevant for that metric. All metrics support the `avg`, `sum`, `min`, and `max` aggregations, although for certain metrics, the measured value is the same regardless of aggregation type.
<td>CPU usage ratio. CPU time (in milliseconds) used by the associated thread(s) in the past five seconds, divided by 5000 milliseconds.
</td>
</tr>
<tr>
<td>Paging_MajfltRate
</td>
<td>The number of major faults per second in the past five seconds. A major fault requires the process to load a memory page from disk.
</td>
</tr>
<tr>
<td>Paging_MinfltRate
</td>
<td>The number of minor faults per second in the past five seconds. A minor fault does not requires the process to load a memory page from disk.
</td>
</tr>
<tr>
<td>Paging_RSS
</td>
<td>The number of pages the process has in real memory---the pages that count towards text, data, or stack space. This number does not include pages that have not been demand-loaded in or swapped out.
</td>
</tr>
<tr>
<td>Sched_Runtime
</td>
<td>Time (seconds) spent executing on the CPU per context switch.
</td>
</tr>
<tr>
<td>Sched_Waittime
</td>
<td>Time (seconds) spent waiting on a run queue per context switch.
</td>
</tr>
<tr>
<td>Sched_CtxRate
</td>
<td>Number of times run on the CPU per second in the past five seconds.
<td>The total number of times that the associated thread has been blocked from entering or reentering a monitor (that is, the number of times a thread has been in the `blocked` state).
<td>The average amount of time, in seconds, that the associated thread has waited to enter or reenter a monitor (that is, the amount of time a thread has been in the `WAITING` or `TIMED_WAITING` state)".
<td>The total number of times that the associated thread has waited to enter or reenter a monitor (that is, the number of times a thread has been in the <code>WAITING</code> or <code>TIMED_WAITING</code> state).
<td>Time (milliseconds) that the index has been under merge throttling control in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_Query_Hit
</td>
<td>The number of successful lookups in the query cache in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_Query_Miss
</td>
<td>The number of lookups in the query cache that failed to retrieve a `DocIdSet` in the past five seconds. `DocIdSet` is a set of document IDs in Lucene.
</td>
</tr>
<tr>
<td>Cache_Query_Size
</td>
<td>Query cache memory size in bytes.
</td>
</tr>
<tr>
<td>Cache_FieldData_Eviction
</td>
<td>The number of times OpenSearch has evicted data from the fielddata heap space (occurs when the heap space is full) in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_FieldData_Size
</td>
<td>Fielddata memory size in bytes.
</td>
</tr>
<tr>
<td>Cache_Request_Hit
</td>
<td>The number of successful lookups in the shard request cache in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_Request_Miss
</td>
<td>The number of lookups in the request cache that failed to retrieve the results of search requests in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_Request_Eviction
</td>
<td>The number of times OpenSearch evicts data from shard request cache (occurs when the request cache is full) in the past five seconds.
</td>
</tr>
<tr>
<td>Cache_Request_Size
</td>
<td>Shard request cache memory size in bytes.
</td>
</tr>
<tr>
<td>Refresh_Event
</td>
<td>The total number of refreshes executed in the past five seconds.
</td>
</tr>
<tr>
<td>Refresh_Time
</td>
<td>The total time (milliseconds) spent executing refreshes in the past five seconds
</td>
</tr>
<tr>
<td>Flush_Event
</td>
<td>The total number of flushes executed in the past five seconds.
</td>
</tr>
<tr>
<td>Flush_Time
</td>
<td>The total time (milliseconds) spent executing flushes in the past five seconds.
</td>
</tr>
<tr>
<td>Merge_Event
</td>
<td>The total number of merges executed in the past five seconds.
</td>
</tr>
<tr>
<td>Merge_Time
</td>
<td>The total time (milliseconds) spent executing merges in the past five seconds.
</td>
</tr>
<tr>
<td>Merge_CurrentEvent
</td>
<td>The current number of merges executing.
</td>
</tr>
<tr>
<td>Indexing_Buffer
</td>
<td>Index buffer memory size in bytes.
</td>
</tr>
<tr>
<td>Segments_Total
</td>
<td>The number of segments.
</td>
</tr>
<tr>
<td>IndexWriter_Memory
</td>
<td>Estimated memory usage by the index writer in bytes.
</td>
</tr>
<tr>
<td>Bitset_Memory
</td>
<td>Estimated memory usage for the cached bit sets in bytes.
</td>
</tr>
<tr>
<td>VersionMap_Memory
</td>
<td>Estimated memory usage of the version map in bytes.
<td>The average throughput of the last n requests (The value of n is determined by the `shard_indexing_pressure.secondary_parameter.throughput.request_size_window` setting) for an index shard in a particular indexing stage (Coordinating, Primary, or Replica).
<td>The number of samples collected. Performance Analyzer collects 1 sample every 5 seconds.
</td>
</tr>
<tr>
<td>Net_TCP_TxQ
</td>
<td>The average number of TCP packets in the send buffer.
</td>
</tr>
<tr>
<td>Net_TCP_RxQ
</td>
<td>The average number of TCP packets in the receive buffer.
</td>
</tr>
<tr>
<td>Net_TCP_Lost
</td>
<td>The average number of unrecovered recurring timeouts. This number is reset when the recovery finishes or `SND.UNA` is advanced. `SND.UNA` is the sequence number of the first byte of data that has been sent but not yet acknowledged.
</td>
</tr>
<tr>
<td>Net_TCP_SendCWND
</td>
<td>The average size, in bytes, of the sending congestion window.
</td>
</tr>
<tr>
<td>Net_TCP_SSThresh
</td>
<td>The average size, in bytes, of the slow start size threshold.
</td>
</tr>
</tbody>
</table>
## Relevant dimension: `Direction`
<table>
<theadstyle="text-align: left">
<tr>
<th>Metric</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Net_PacketRate4
</td>
<td>The total number of IPv4 datagrams transmitted/received from/by interfaces per second, including those transmitted or received in error.
<td>The current number of pending tasks in the cluster state update thread. Each node has a cluster state update thread that submits cluster state update tasks, such as create index, update mapping, allocate shard, and fail shard.
<td>The sum of the total pending tasks that were throttled by the cluster manager node. This is a cumulative metric, so make sure to check the max aggregation.
| ShardID | The ID of the shard, for example, `1`. |
| IndexName | The name of the index, for example, `my-index`. |
| Operation | The type of operation, for example, `shardbulk`. |
| ShardRole | The shard role, for example, `primary` or `replica`. |
| Exception | OpenSearch exceptions, for example, `org.opensearch.index_not_found_exception`. |
| Indices | The list of indexes in the request URL. |
| HTTPRespCode | The response code from OpenSearch, for example, `200`. |
| MemType | The memory type, for example, `totYoungGC`, `totFullGC`, `Survivor`, `PermGen`, `OldGen`, `Eden`, `NonHeap`, or `Heap`. |
| DiskName | The name of the disk, for example, `sda1`. |
| DestAddr | The destination address, for example, `010015AC`. |
| Direction | The direction, for example, `in` or `out`. |
| ThreadPoolType | The OpenSearch thread pools, for example, `index`, `search`, or `snapshot`. |
| CBType | The circuit breaker type, for example, `accounting`, `fielddata`, `in_flight_requests`, `parent`, or `request`. |
| ClusterManagerTaskInsertOrder| The order in which the task was inserted, for example, `3691`. |
| ClusterManagerTaskPriority | The priority of the task, for example, `URGENT`. OpenSearch executes higher-priority tasks before lower-priority ones, regardless of `insert_order`. |
| ClusterManagerTaskType | The task type, for example, `shard-started`, `create-index`, `delete-index`, `refresh-mapping`, `put-mapping`, `CleanupSnapshotRestoreState`, or `Update snapshot state`. |
| ClusterManagerTaskMetadata | The metadata for the task (if any). |
| CacheType | The cache type, for example, `Field_Data_Cache`, `Shard_Request_Cache`, or `Node_Query_Cache`. |