---
type: api
title: Get node statistics
description: **All methods and paths for this operation:**
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/operation/operation-nodes-stats
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/operation/operation-nodes-stats
products:
  - Elasticsearch
---

# Get node statistics


Availability:

## Paths

- `GET` `/_nodes/{node_id}/stats/{metric}/{index_metric}`
- `GET` `/_nodes/stats/{metric}/{index_metric}`
- `GET` `/_nodes/{node_id}/stats/{metric}`
- `GET` `/_nodes/{node_id}/stats`
- `GET` `/_nodes/stats/{metric}`
- `GET` `/_nodes/stats`

- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#apikeyauth)
- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#basicauth)
- [Bearer auth](/elastic/docs-builder/docs/4371/api/doc/elasticsearch/v9/authentication#bearerauth)

#### Path Parameters

- `node_id` (union NodeId | [] NodeId) — optional, leave it out to use `/_nodes/stats`
  Comma-separated list of node IDs or names used to limit returned information.
- `metric` (union NodeStatsMetric | [] NodeStatsMetric) — optional, leave it out to use `/_nodes/stats`
  Limits the information returned to the specific metrics.

Supported values include: `_all`, `_none`, `indices`, `os`, `process`, `jvm`, `thread_pool`, `fs`, `transport`, `http`, `breaker`, `script`, `discovery`, `ingest`, `adaptive_selection`, `script_cache`, `indexing_pressure`, `repositories`, `allocations`
  Values: `_all`, `_none`, `indices`, `os`, `process`, `jvm`, `thread_pool`, `fs`, `transport`, `http`, `breaker`, `script`, `discovery`, `ingest`, `adaptive_selection`, `script_cache`, `indexing_pressure`, `repositories`, `allocations`
- `index_metric` (union CommonStatsFlag | [] CommonStatsFlag) — optional, leave it out to use `/_nodes/stats`
  Limit the information returned for indices metric to the specific index metrics. It can be used only if indices (or all) metric is specified.

Supported values include:
  - `_all`: Return all statistics.
  - `store`: Size of the index in byte units.
  - `indexing`: Indexing statistics.
  - `get`: Get statistics, including missing stats.
  - `search`: Search statistics including suggest statistics.
You can include statistics for custom groups by adding an extra `groups` parameter
(search operations can be associated with one or more groups).
The `groups` parameter accepts a comma-separated list of group names.
Use `_all` to return statistics for all groups.
  - `merge`: Merge statistics.
  - `flush`: Flush statistics.
  - `refresh`: Refresh statistics.
  - `query_cache`: Query cache statistics.
  - `fielddata`: Fielddata statistics.
  - `docs`: Number of documents and deleted docs not yet merged out. Index refreshes can affect this statistic.
  - `warmer`: Index warming statistics.
  - `completion`: Completion suggester statistics.
  - `segments`: Memory use of all open segments.
If the `include_segment_file_sizes` parameter is `true`, this metric includes the aggregated disk usage of each Lucene index file.
  - `translog`: Translog statistics.
  - `request_cache`: Shard request cache statistics.
  - `recovery`: Recovery statistics.
  - `bulk`: Bulk operations statistics.
  - `shard_stats`: Shard statistics, including the total number of shards.
  - `mappings`: Mapping statistics, including the total count and estimated overhead.
  - `dense_vector`: Total number of dense vectors indexed. Index refreshes can affect this statistic.
  - `sparse_vector`: Total number of sparse vectors indexed. Index refreshes can affect this statistic.
  Values: `_all`, `store`, `indexing`, `get`, `search`, `merge`, `flush`, `refresh`, `query_cache`, `fielddata`, `docs`, `warmer`, `completion`, `segments`, `translog`, `request_cache`, `recovery`, `bulk`, `shard_stats`, `mappings`, `dense_vector`, `sparse_vector`

## Description

Get statistics for nodes in a cluster.
By default, all stats are returned. You can limit the returned information by using metrics.

## Required authorization

* Cluster privileges: `monitor`,`manage`

## Query String Parameters

- `completion_fields` (union Fields)
  Comma-separated list or wildcard expressions of fields to include in fielddata and suggest statistics.
  One of: `Field` or `Field[]`
- `fielddata_fields` (union Fields)
  Comma-separated list or wildcard expressions of fields to include in fielddata statistics.
  One of: `Field` or `Field[]`
- `fields` (union Fields)
  Comma-separated list or wildcard expressions of fields to include in the statistics.
  One of: `Field` or `Field[]`
- `groups` (boolean)
  Comma-separated list of search groups to include in the search statistics.
- `include_segment_file_sizes` (boolean · default: false)
  If true, the call reports the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested).
- `level` (enum NodeStatsLevel · default: node)
  Indicates whether statistics are aggregated at the node, indices, or shards level.
  Values: `node`, `indices`, `shards`
- `timeout` (string Duration · default: 30s)
  Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.
- `types` ([] string)
  A comma-separated list of document types for the indexing index metric.
- `include_unloaded_segments` (boolean · default: false)
  If `true`, the response includes information from segments that are not loaded into memory.

## Response

`application/json`

- `_nodes` ({} NodeStatistics)
  Contains statistics about the number of nodes selected by the request’s node filters.
  - `failures` ([] ErrorCause)
    - `type` (string)
      The type of error
    - `reason` (union string) — nullable
      A human-readable explanation of the error, in English.
      One of: `string`
    - `stack_trace` (string)
      The server stack trace. Present only if the `error_trace=true` parameter was sent with the request.
    - `caused_by` ({} ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
    - `root_cause` ([] ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
    - `suppressed` ([] ErrorCause) — recursive
      Same fields as `failures` in `_nodes`
  - `total` (number)
    Total number of nodes selected by the request.
  - `successful` (number)
    Number of nodes that responded successfully to the request.
  - `failed` (number)
    Number of nodes that rejected the request or failed to respond. If this value is not 0, a reason for the rejection or failure is included in the response.
- `cluster_name` (string Name)
- `nodes` (map string to Stats)
  Map values ({} Stats)
  - `adaptive_selection` (map string to AdaptiveSelection)
    Statistics about adaptive replica selection.
    Map values ({} AdaptiveSelection)
    - `avg_queue_size` (number)
      The exponentially weighted moving average queue size of search requests on the keyed node.
    - `avg_response_time` (string Duration)
      The exponentially weighted moving average response time of search requests on the keyed node.
    - `avg_response_time_ns` (number)
      The exponentially weighted moving average response time, in nanoseconds, of search requests on the keyed node.
    - `avg_service_time` (string Duration)
      The exponentially weighted moving average service time of search requests on the keyed node.
    - `avg_service_time_ns` (number)
      The exponentially weighted moving average service time, in nanoseconds, of search requests on the keyed node.
    - `outgoing_searches` (number)
      The number of outstanding search requests to the keyed node from the node these stats are for.
    - `rank` (string)
      The rank of this node; used for shard selection when routing search requests.
  - `allocations` ({} Allocations)
    Statistics about shard allocations on the node.
    - `shards` (number)
      Number of shards allocated to the node.
    - `undesired_shards` (number)
      Number of shards allocated to the node that are currently undesired.
    - `forecasted_ingest_load` (number)
      Forecasted ingest load for the node.
    - `forecasted_disk_usage` (string)
      Forecasted disk usage for the node.
    - `forecasted_disk_usage_in_bytes` (number)
      Forecasted disk usage, in bytes, for the node.
    - `current_disk_usage` (string)
      Current disk usage for the node.
    - `current_disk_usage_in_bytes` (number)
      Current disk usage, in bytes, for the node.
  - `breakers` (map string to Breaker)
    Statistics about the field data circuit breaker.
    Map values ({} Breaker)
    - `estimated_size` (string)
      Estimated memory used for the operation.
    - `estimated_size_in_bytes` (number)
      Estimated memory used, in bytes, for the operation.
    - `limit_size` (string)
      Memory limit for the circuit breaker.
    - `limit_size_in_bytes` (number)
      Memory limit, in bytes, for the circuit breaker.
    - `overhead` (number)
      A constant that all estimates for the circuit breaker are multiplied with to calculate a final estimate.
    - `tripped` (number)
      Total number of times the circuit breaker has been triggered and prevented an out of memory error.
  - `fs` ({} FileSystem)
    File system information, data path, free disk space, read/write stats.
    - `data` ([] DataPathStats)
      List of all file stores.
      - `available` (string)
        Total amount of disk space available to this Java virtual machine on this file store.
      - `available_in_bytes` (number)
        Total number of bytes available to this Java virtual machine on this file store.
      - `disk_queue` (string)
      - `disk_reads` (number)
      - `disk_read_size` (string)
      - `disk_read_size_in_bytes` (number)
      - `disk_writes` (number)
      - `disk_write_size` (string)
      - `disk_write_size_in_bytes` (number)
      - `free` (string)
        Total amount of unallocated disk space in the file store.
      - `free_in_bytes` (number)
        Total number of unallocated bytes in the file store.
      - `low_watermark_free_space` (string)
        The amount of free disk space that, once reached, triggers the low disk watermark.
      - `low_watermark_free_space_in_bytes` (number)
        The amount of free disk space, in bytes, that, once reached, triggers the low disk watermark.
      - `high_watermark_free_space` (string)
        The amount of free disk space that, once reached, triggers the high disk watermark.
      - `high_watermark_free_space_in_bytes` (number)
        The amount of free disk space, in bytes, that, once reached, triggers the high disk watermark.
      - `flood_stage_free_space` (string)
        The amount of free disk space that, once reached, triggers the flood stage disk watermark.
      - `flood_stage_free_space_in_bytes` (number)
        The amount of free disk space, in bytes, that, once reached, triggers the flood stage disk watermark.
      - `frozen_flood_stage_free_space` (string)
        The amount of free disk space that, once reached, triggers the frozen flood stage disk watermark.
      - `frozen_flood_stage_free_space_in_bytes` (number)
        The amount of free disk space, in bytes, that, once reached, triggers the frozen flood stage disk watermark.
      - `mount` (string)
        Mount point of the file store (for example: `/dev/sda2`).
      - `path` (string)
        Path to the file store.
      - `total` (string)
        Total size of the file store.
      - `total_in_bytes` (number)
        Total size of the file store in bytes.
      - `type` (string)
        Type of the file store (ex: ext4).
    - `timestamp` (number)
      Last time the file stores statistics were refreshed.
Recorded in milliseconds since the Unix Epoch.
    - `total` ({} FileSystemTotal)
      Contains statistics for all file stores of the node.
      - `available` (string)
        Total disk space available to this Java virtual machine on all file stores.
Depending on OS or process level restrictions, this might appear less than `free`.
This is the actual amount of free disk space the Elasticsearch node can utilise.
      - `available_in_bytes` (number)
        Total number of bytes available to this Java virtual machine on all file stores.
Depending on OS or process level restrictions, this might appear less than `free_in_bytes`.
This is the actual amount of free disk space the Elasticsearch node can utilise.
      - `free` (string)
        Total unallocated disk space in all file stores.
      - `free_in_bytes` (number)
        Total number of unallocated bytes in all file stores.
      - `total` (string)
        Total size of all file stores.
      - `total_in_bytes` (number)
        Total size of all file stores in bytes.
    - `io_stats` ({} IoStats)
      Contains I/O statistics for the node.
      - `devices` ([] IoStatDevice)
        Array of disk metrics for each device that is backing an Elasticsearch data path.
These disk metrics are probed periodically and averages between the last probe and the current probe are computed.
        - `device_name` (string)
          The Linux device name.
        - `operations` (number)
          The total number of read and write operations for the device completed since starting Elasticsearch.
        - `read_kilobytes` (number)
          The total number of kilobytes read for the device since starting Elasticsearch.
        - `read_operations` (number)
          The total number of read operations for the device completed since starting Elasticsearch.
        - `write_kilobytes` (number)
          The total number of kilobytes written for the device since starting Elasticsearch.
        - `write_operations` (number)
          The total number of write operations for the device completed since starting Elasticsearch.
      - `total` ({} IoStatDevice)
        The sum of the disk metrics for all devices that back an Elasticsearch data path.
        - `device_name` (string)
          The Linux device name.
        - `operations` (number)
          The total number of read and write operations for the device completed since starting Elasticsearch.
        - `read_kilobytes` (number)
          The total number of kilobytes read for the device since starting Elasticsearch.
        - `read_operations` (number)
          The total number of read operations for the device completed since starting Elasticsearch.
        - `write_kilobytes` (number)
          The total number of kilobytes written for the device since starting Elasticsearch.
        - `write_operations` (number)
          The total number of write operations for the device completed since starting Elasticsearch.
  - `host` (string)
    Network host for the node, based on the network host setting.
  - `http` ({} Http)
    HTTP connection information.
    - `current_open` (number)
      Current number of open HTTP connections for the node.
    - `total_opened` (number)
      Total number of HTTP connections opened for the node.
    - `clients` ([] Client)
      Information on current and recently-closed HTTP client connections.
Clients that have been closed longer than the `http.client_stats.closed_channels.max_age` setting will not be represented here.
      - `id` (number)
        Unique ID for the HTTP client.
      - `agent` (string)
        Reported agent for the HTTP client.
If unavailable, this property is not included in the response.
      - `local_address` (string)
        Local address for the HTTP connection.
      - `remote_address` (string)
        Remote address for the HTTP connection.
      - `last_uri` (string)
        The URI of the client’s most recent request.
      - `opened_time` (string)
        Time at which the client opened the connection.
      - `opened_time_millis` (number)
        Time at which the client opened the connection.
      - `closed_time` (string)
        Time at which the client closed the connection if the connection is closed.
      - `closed_time_millis` (number)
        Time at which the client closed the connection if the connection is closed.
      - `last_request_time` (string)
        Time of the most recent request from this client.
      - `last_request_time_millis` (number)
        Time of the most recent request from this client.
      - `request_count` (number)
        Number of requests from this client.
      - `request_size_bytes` (number)
        Cumulative size in bytes of all requests from this client.
      - `x_opaque_id` (string)
        Value from the client’s `x-opaque-id` HTTP header.
If unavailable, this property is not included in the response.
    - `routes` (map string to HttpRoute)
      Detailed HTTP stats broken down by route
      Map values ({} HttpRoute)
      - `requests` ({} HttpRouteRequests)
        - `count` (number)
        - `total_size` (number | string ByteSize)
        - `total_size_in_bytes` (number)
        - `size_histogram` ([] SizeHttpHistogram)
          - `count` (number)
          - `ge` (number | string ByteSize)
          - `ge_bytes` (number)
          - `lt` (number | string ByteSize)
          - `lt_bytes` (number)
      - `responses` ({} HttpRouteResponses)
        - `count` (number)
        - `total_size` (number | string ByteSize)
        - `total_size_in_bytes` (number)
        - `handling_time_histogram` ([] TimeHttpHistogram)
          - `count` (number)
          - `ge` (string Duration)
          - `ge_millis` (number)
          - `lt` (string Duration)
          - `lt_millis` (number)
        - `size_histogram` ([] SizeHttpHistogram)
          - `count` (number)
          - `ge` (number | string ByteSize)
          - `ge_bytes` (number)
          - `lt` (number | string ByteSize)
          - `lt_bytes` (number)
  - `ingest` ({} Ingest)
    Statistics about ingest preprocessing.
    - `pipelines` (map string to IngestStats)
      Contains statistics about ingest pipelines for the node.
      Map values ({} IngestStats)
      - `count` (number)
        Total number of documents ingested during the lifetime of this node.
      - `current` (number)
        Total number of documents currently being ingested.
      - `failed` (number)
        Total number of failed ingest operations during the lifetime of this node.
      - `processors` ([] string to KeyedProcessor)
        Total number of ingest processors.
      - `time` (string Duration)
        Total time spent preprocessing ingest documents during the lifetime of this node.
      - `time_in_millis` (DurationValueUnitMillis)
        Total time, in milliseconds, spent preprocessing ingest documents during the lifetime of this node.
      - `ingested_as_first_pipeline` (number | string ByteSize)
        Total size of all documents ingested by the pipeline.
The value counts documents for which this pipeline was the first to process them; for pipelines that are not the first to process a document (for example, a final pipeline after a default pipeline, a pipeline run after a reroute processor, or a pipeline invoked by a pipeline processor), the value is `0`.
      - `ingested_as_first_pipeline_in_bytes` (number)
        Total number of bytes of all documents ingested by the pipeline.
The value counts documents for which this pipeline was the first to process them; for pipelines that are not the first to process a document, the value is `0`.
      - `produced_as_first_pipeline` (number | string ByteSize)
        Total size of all documents produced by the pipeline.
The value counts documents for which this pipeline was the first to process them; for pipelines that are not the first to process a document, the value is `0`.
In situations where there are subsequent pipelines, the value represents the size of the document after all pipelines have run.
      - `produced_as_first_pipeline_in_bytes` (number)
        Total number of bytes of all documents produced by the pipeline.
The value counts documents for which this pipeline was the first to process them; for pipelines that are not the first to process a document, the value is `0`.
In situations where there are subsequent pipelines, the value represents the size of the document after all pipelines have run.
    - `total` ({} IngestTotal)
      Contains statistics about ingest operations for the node.
      - `count` (number)
        Total number of documents ingested during the lifetime of this node.
      - `current` (number)
        Total number of documents currently being ingested.
      - `failed` (number)
        Total number of failed ingest operations during the lifetime of this node.
      - `time` (string Duration)
        Total time spent preprocessing ingest documents during the lifetime of this node.
      - `time_in_millis` (DurationValueUnitMillis)
        Total time, in milliseconds, spent preprocessing ingest documents during the lifetime of this node.
  - `ip` (union Ip | [] Ip)
    IP address and port for the node.
  - `jvm` ({} Jvm)
    JVM stats, memory pool information, garbage collection, buffer pools, number of loaded/unloaded classes.
    - `buffer_pools` (map string to NodeBufferPool)
      Contains statistics about JVM buffer pools for the node.
      Map values ({} NodeBufferPool)
      - `count` (number)
        Number of buffer pools.
      - `total_capacity` (string)
        Total capacity of buffer pools.
      - `total_capacity_in_bytes` (number)
        Total capacity of buffer pools in bytes.
      - `used` (string)
        Size of buffer pools.
      - `used_in_bytes` (number)
        Size of buffer pools in bytes.
    - `classes` ({} JvmClasses)
      Contains statistics about classes loaded by JVM for the node.
      - `current_loaded_count` (number)
        Number of classes currently loaded by JVM.
      - `total_loaded_count` (number)
        Total number of classes loaded since the JVM started.
      - `total_unloaded_count` (number)
        Total number of classes unloaded since the JVM started.
    - `gc` ({} GarbageCollector)
      Contains statistics about JVM garbage collectors for the node.
      - `collectors` (map string to GarbageCollectorTotal)
        Contains statistics about JVM garbage collectors for the node.
        Map values ({} GarbageCollectorTotal)
        - `collection_count` (number)
          Total number of JVM garbage collectors that collect objects.
        - `collection_time` (string)
          Total time spent by JVM collecting objects.
        - `collection_time_in_millis` (number)
          Total time, in milliseconds, spent by JVM collecting objects.
    - `mem` ({} JvmMemoryStats)
      Contains JVM memory usage statistics for the node.
      - `heap_used` (number | string ByteSize)
        Memory currently in use by the heap.
      - `heap_used_in_bytes` (number)
        Memory, in bytes, currently in use by the heap.
      - `heap_used_percent` (number)
        Percentage of memory currently in use by the heap.
      - `heap_committed` (number | string ByteSize)
        Amount of memory available for use by the heap.
      - `heap_committed_in_bytes` (number)
        Amount of memory, in bytes, available for use by the heap.
      - `heap_max_in_bytes` (number)
        Maximum amount of memory, in bytes, available for use by the heap.
      - `heap_max` (number | string ByteSize)
        Maximum amount of memory, available for use by the heap.
      - `non_heap_used` (number | string ByteSize)
        Non-heap memory used.
      - `non_heap_used_in_bytes` (number)
        Non-heap memory used, in bytes.
      - `non_heap_committed` (number | string ByteSize)
        Amount of non-heap memory available.
      - `non_heap_committed_in_bytes` (number)
        Amount of non-heap memory available, in bytes.
      - `pools` (map string to Pool)
        Contains statistics about heap memory usage for the node.
        Map values ({} Pool)
        - `used` (string)
          Memory used by the heap.
        - `used_in_bytes` (number)
          Memory, in bytes, used by the heap.
        - `max` (string)
          Maximum amount of memory available for use by the heap.
        - `max_in_bytes` (number)
          Maximum amount of memory, in bytes, available for use by the heap.
        - `peak_used` (string)
          Largest amount of memory historically used by the heap.
        - `peak_used_in_bytes` (number)
          Largest amount of memory, in bytes, historically used by the heap.
        - `peak_max` (string)
          Largest amount of memory historically used by the heap.
        - `peak_max_in_bytes` (number)
          Largest amount of memory, in bytes, historically used by the heap.
    - `threads` ({} JvmThreads)
      Contains statistics about JVM thread usage for the node.
      - `count` (number)
        Number of active threads in use by JVM.
      - `peak_count` (number)
        Highest number of threads used by JVM.
    - `timestamp` (number)
      Last time JVM statistics were refreshed.
    - `uptime` (string)
      Human-readable JVM uptime.
Only returned if the `human` query parameter is `true`.
    - `uptime_in_millis` (number)
      JVM uptime in milliseconds.
  - `name` (string Name)
    Human-readable identifier for the node.
Based on the node name setting.
  - `os` ({} OperatingSystem)
    Operating system stats, load average, mem, swap.
    - `cpu` ({} Cpu)
      - `available_processors` (number)
        The number of processors available to the Java virtual machine.
      - `percent` (number)
      - `sys` (string Duration)
      - `sys_in_millis` (DurationValueUnitMillis)
      - `total` (string Duration)
      - `total_in_millis` (DurationValueUnitMillis)
      - `user` (string Duration)
      - `user_in_millis` (DurationValueUnitMillis)
      - `load_average` (map string to number)
    - `mem` ({} ExtendedMemoryStats)
      - `adjusted_total` (string)
        If the amount of physical memory has been overridden using the `es`.`total_memory_bytes` system property then this reports the overridden value.
Otherwise it reports the same value as `total`.
      - `adjusted_total_in_bytes` (number)
        If the amount of physical memory has been overridden using the `es`.`total_memory_bytes` system property then this reports the overridden value in bytes.
Otherwise it reports the same value as `total_in_bytes`.
      - `resident` (string)
      - `resident_in_bytes` (number)
      - `share` (string)
      - `share_in_bytes` (number)
      - `total_virtual` (string)
      - `total_virtual_in_bytes` (number)
      - `total` (string)
        Total amount of physical memory.
      - `total_in_bytes` (number)
        Total amount of physical memory in bytes.
      - `free` (string)
        Amount of free physical memory.
      - `free_in_bytes` (number)
        Amount of free physical memory in bytes.
      - `used` (string)
        Amount of used physical memory.
      - `used_in_bytes` (number)
        Amount of used physical memory in bytes.
      - `free_percent` (number)
        Percentage of free memory.
      - `used_percent` (number)
        Percentage of used memory.
    - `swap` ({} MemoryStats)
      - `adjusted_total` (string)
        If the amount of physical memory has been overridden using the `es`.`total_memory_bytes` system property then this reports the overridden value.
Otherwise it reports the same value as `total`.
      - `adjusted_total_in_bytes` (number)
        If the amount of physical memory has been overridden using the `es`.`total_memory_bytes` system property then this reports the overridden value in bytes.
Otherwise it reports the same value as `total_in_bytes`.
      - `resident` (string)
      - `resident_in_bytes` (number)
      - `share` (string)
      - `share_in_bytes` (number)
      - `total_virtual` (string)
      - `total_virtual_in_bytes` (number)
      - `total` (string)
        Total amount of physical memory.
      - `total_in_bytes` (number)
        Total amount of physical memory in bytes.
      - `free` (string)
        Amount of free physical memory.
      - `free_in_bytes` (number)
        Amount of free physical memory in bytes.
      - `used` (string)
        Amount of used physical memory.
      - `used_in_bytes` (number)
        Amount of used physical memory in bytes.
    - `cgroup` ({} Cgroup)
      - `cpuacct` ({} CpuAcct)
        Contains statistics about `cpuacct` control group for the node.
        - `control_group` (string)
          The `cpuacct` control group to which the Elasticsearch process belongs.
        - `usage_nanos` (DurationValueUnitNanos)
          The total CPU time, in nanoseconds, consumed by all tasks in the same cgroup as the Elasticsearch process.
      - `cpu` ({} CgroupCpu)
        Contains statistics about `cpu` control group for the node.
        - `control_group` (string)
          The `cpu` control group to which the Elasticsearch process belongs.
        - `cfs_period_micros` (number)
          The period of time, in microseconds, for how regularly all tasks in the same cgroup as the Elasticsearch process should have their access to CPU resources reallocated.
        - `cfs_quota_micros` (number)
          The total amount of time, in microseconds, for which all tasks in the same cgroup as the Elasticsearch process can run during one period `cfs_period_micros`.
        - `stat` ({} CgroupCpuStat)
          Contains CPU statistics for the node.
          - `number_of_elapsed_periods` (number)
            The number of reporting periods (as specified by `cfs_period_micros`) that have elapsed.
          - `number_of_times_throttled` (number)
            The number of times all tasks in the same cgroup as the Elasticsearch process have been throttled.
          - `time_throttled_nanos` (DurationValueUnitNanos)
            The total amount of time, in nanoseconds, for which all tasks in the same cgroup as the Elasticsearch process have been throttled.
      - `memory` ({} CgroupMemory)
        Contains statistics about the memory control group for the node.
        - `control_group` (string)
          The `memory` control group to which the Elasticsearch process belongs.
        - `limit_in_bytes` (string)
          The maximum amount of user memory (including file cache) allowed for all tasks in the same cgroup as the Elasticsearch process.
This value can be too big to store in a `long`, so is returned as a string so that the value returned can exactly match what the underlying operating system interface returns.
Any value that is too large to parse into a `long` almost certainly means no limit has been set for the cgroup.
        - `usage_in_bytes` (string)
          The total current memory usage by processes in the cgroup, in bytes, by all tasks in the same cgroup as the Elasticsearch process.
This value is stored as a string for consistency with `limit_in_bytes`.
    - `timestamp` (number)
  - `process` ({} Process)
    Process statistics, memory consumption, cpu usage, open file descriptors.
    - `cpu` ({} Cpu)
      Contains CPU statistics for the node.
      - `available_processors` (number)
        The number of processors available to the Java virtual machine.
      - `percent` (number)
      - `sys` (string Duration)
      - `sys_in_millis` (DurationValueUnitMillis)
      - `total` (string Duration)
      - `total_in_millis` (DurationValueUnitMillis)
      - `user` (string Duration)
      - `user_in_millis` (DurationValueUnitMillis)
      - `load_average` (map string to number)
    - `mem` ({} MemoryStats)
      Contains virtual memory statistics for the node.
      Same fields as `swap` in `os`
    - `open_file_descriptors` (number)
      Number of opened file descriptors associated with the current or `-1` if not supported.
    - `max_file_descriptors` (number)
      Maximum number of file descriptors allowed on the system, or `-1` if not supported.
    - `timestamp` (number)
      Last time the statistics were refreshed.
Recorded in milliseconds since the Unix Epoch.
  - `roles` (NodeRoles)
    Roles assigned to the node.
    Values: `master`, `data`, `data_cold`, `data_content`, `data_frozen`, `data_hot`, `data_warm`, `client`, `ingest`, `ml`, `voting_only`, `transform`, `remote_cluster_client`, `coordinating_only`
  - `script` ({} Scripting)
    Contains script statistics for the node.
    - `cache_evictions` (number)
      Total number of times the script cache has evicted old data.
    - `compilations` (number)
      Total number of inline script compilations performed by the node.
    - `compilations_history` (map string to number)
      Contains this recent history of script compilations.
    - `compilation_limit_triggered` (number)
      Total number of times the script compilation circuit breaker has limited inline script compilations.
    - `contexts` ([] Context)
      - `context` (string)
      - `compilations` (number)
      - `cache_evictions` (number)
      - `compilation_limit_triggered` (number)
  - `script_cache` (map string to oneOf)
  - `thread_pool` (map string to ThreadCount)
    Statistics about each thread pool, including current size, queue and rejected tasks.
    Map values ({} ThreadCount)
    - `active` (number)
      Number of active threads in the thread pool.
    - `completed` (number)
      Number of tasks completed by the thread pool executor.
    - `largest` (number)
      Highest number of active threads in the thread pool.
    - `queue` (number)
      Number of tasks in queue for the thread pool.
    - `rejected` (number)
      Number of tasks rejected by the thread pool executor.
    - `threads` (number)
      Number of threads in the thread pool.
  - `timestamp` (number)
  - `transport` ({} Transport)
    Transport statistics about sent and received bytes in cluster communication.
    - `inbound_handling_time_histogram` ([] TransportHistogram)
      The distribution of the time spent handling each inbound message on a transport thread, represented as a histogram.
      - `count` (number)
        The number of times a transport thread took a period of time within the bounds of this bucket to handle an inbound message.
      - `lt` (string Duration)
        The exclusive upper bound of the bucket.
May be omitted on the last bucket if this bucket has no upper bound.
      - `lt_millis` (number)
        The exclusive upper bound of the bucket in milliseconds.
May be omitted on the last bucket if this bucket has no upper bound.
      - `ge` (string Duration)
        The inclusive lower bound of the bucket. May be omitted on the first bucket if this bucket has no lower bound.
      - `ge_millis` (number)
        The inclusive lower bound of the bucket in milliseconds. May be omitted on the first bucket if this bucket has no lower bound.
    - `outbound_handling_time_histogram` ([] TransportHistogram)
      The distribution of the time spent sending each outbound transport message on a transport thread, represented as a histogram.
      - `count` (number)
        The number of times a transport thread took a period of time within the bounds of this bucket to handle an inbound message.
      - `lt` (string Duration)
        The exclusive upper bound of the bucket.
May be omitted on the last bucket if this bucket has no upper bound.
      - `lt_millis` (number)
        The exclusive upper bound of the bucket in milliseconds.
May be omitted on the last bucket if this bucket has no upper bound.
      - `ge` (string Duration)
        The inclusive lower bound of the bucket. May be omitted on the first bucket if this bucket has no lower bound.
      - `ge_millis` (number)
        The inclusive lower bound of the bucket in milliseconds. May be omitted on the first bucket if this bucket has no lower bound.
    - `rx_count` (number)
      Total number of RX (receive) packets received by the node during internal cluster communication.
    - `rx_size` (string)
      Size of RX packets received by the node during internal cluster communication.
    - `rx_size_in_bytes` (number)
      Size, in bytes, of RX packets received by the node during internal cluster communication.
    - `server_open` (number)
      Current number of inbound TCP connections used for internal communication between nodes.
    - `tx_count` (number)
      Total number of TX (transmit) packets sent by the node during internal cluster communication.
    - `tx_size` (string)
      Size of TX packets sent by the node during internal cluster communication.
    - `tx_size_in_bytes` (number)
      Size, in bytes, of TX packets sent by the node during internal cluster communication.
    - `total_outbound_connections` (number)
      The cumulative number of outbound transport connections that this node has opened since it started.
Each transport connection may comprise multiple TCP connections but is only counted once in this statistic.
Transport connections are typically long-lived so this statistic should remain constant in a stable cluster.
    - `actions` (map string to TransportActionStats)
      Statistics about the transport messages sent and received by the node, broken down by action name.
      Map values ({} TransportActionStats)
      - `requests` ({} TransportActionMessageStats)
        Statistics about the requests received for this action.
        - `count` (number)
          The number of messages of this kind that the node has handled for this action.
        - `total_size` (number | string ByteSize)
          The cumulative size of the messages of this kind that the node has handled for this action.
        - `total_size_in_bytes` (number)
          The cumulative size, in bytes, of the messages of this kind that the node has handled for this action.
        - `histogram` ([] TransportMessageSizeHistogramBucket)
          The distribution of the sizes of the messages of this kind that the node has handled for this action, represented as a histogram.
          - `count` (number)
            The number of messages with a size that falls within the bounds of this bucket.
          - `ge` (number | string ByteSize)
            The inclusive lower bound of the bucket.
May be omitted on the first bucket if this bucket has no lower bound.
          - `ge_bytes` (number)
            The inclusive lower bound of the bucket in bytes.
May be omitted on the first bucket if this bucket has no lower bound.
          - `lt` (number | string ByteSize)
            The exclusive upper bound of the bucket.
May be omitted on the last bucket if this bucket has no upper bound.
          - `lt_bytes` (number)
            The exclusive upper bound of the bucket in bytes.
May be omitted on the last bucket if this bucket has no upper bound.
      - `responses` ({} TransportActionMessageStats)
        Statistics about the responses sent for this action.
        - `count` (number)
          The number of messages of this kind that the node has handled for this action.
        - `total_size` (number | string ByteSize)
          The cumulative size of the messages of this kind that the node has handled for this action.
        - `total_size_in_bytes` (number)
          The cumulative size, in bytes, of the messages of this kind that the node has handled for this action.
        - `histogram` ([] TransportMessageSizeHistogramBucket)
          The distribution of the sizes of the messages of this kind that the node has handled for this action, represented as a histogram.
          - `count` (number)
            The number of messages with a size that falls within the bounds of this bucket.
          - `ge` (number | string ByteSize)
            The inclusive lower bound of the bucket.
May be omitted on the first bucket if this bucket has no lower bound.
          - `ge_bytes` (number)
            The inclusive lower bound of the bucket in bytes.
May be omitted on the first bucket if this bucket has no lower bound.
          - `lt` (number | string ByteSize)
            The exclusive upper bound of the bucket.
May be omitted on the last bucket if this bucket has no upper bound.
          - `lt_bytes` (number)
            The exclusive upper bound of the bucket in bytes.
May be omitted on the last bucket if this bucket has no upper bound.
  - `transport_address` (string)
    Host and port for the transport layer, used for internal communication between nodes in a cluster.
  - `attributes` (map string to string)
    Contains a list of attributes for the node.
  - `discovery` ({} Discovery)
    Contains node discovery statistics for the node.
    - `cluster_state_queue` ({} ClusterStateQueue)
      Contains statistics for the cluster state queue of the node.
      - `total` (number)
        Total number of cluster states in queue.
      - `pending` (number)
        Number of pending cluster states in queue.
      - `committed` (number)
        Number of committed cluster states in queue.
    - `published_cluster_states` ({} PublishedClusterStates)
      Contains statistics for the published cluster states of the node.
      - `full_states` (number)
        Number of published cluster states.
      - `incompatible_diffs` (number)
        Number of incompatible differences between published cluster states.
      - `compatible_diffs` (number)
        Number of compatible differences between published cluster states.
    - `cluster_state_update` (map string to ClusterStateUpdate)
      Contains low-level statistics about how long various activities took during cluster state updates while the node was the elected master.
Omitted if the node is not master-eligible.
Every field whose name ends in `_time` within this object is also represented as a raw number of milliseconds in a field whose name ends in `_time_millis`.
The human-readable fields with a `_time` suffix are only returned if requested with the `?human=true` query parameter.
      Map values ({} ClusterStateUpdate)
      - `count` (number)
        The number of cluster state update attempts that did not change the cluster state since the node started.
      - `computation_time` (string Duration)
        The cumulative amount of time spent computing no-op cluster state updates since the node started.
      - `computation_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent computing no-op cluster state updates since the node started.
      - `publication_time` (string Duration)
        The cumulative amount of time spent publishing cluster state updates which ultimately succeeded, which includes everything from the start of the publication (just after the computation of the new cluster state) until the publication has finished and the master node is ready to start processing the next state update.
This includes the time measured by `context_construction_time`, `commit_time`, `completion_time` and `master_apply_time`.
      - `publication_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent publishing cluster state updates which ultimately succeeded, which includes everything from the start of the publication (just after the computation of the new cluster state) until the publication has finished and the master node is ready to start processing the next state update.
This includes the time measured by `context_construction_time`, `commit_time`, `completion_time` and `master_apply_time`.
      - `context_construction_time` (string Duration)
        The cumulative amount of time spent constructing a publication context since the node started for publications that ultimately succeeded.
This statistic includes the time spent computing the difference between the current and new cluster state preparing a serialized representation of this difference.
      - `context_construction_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent constructing a publication context since the node started for publications that ultimately succeeded.
This statistic includes the time spent computing the difference between the current and new cluster state preparing a serialized representation of this difference.
      - `commit_time` (string Duration)
        The cumulative amount of time spent waiting for a successful cluster state update to commit, which measures the time from the start of each publication until a majority of the master-eligible nodes have written the state to disk and confirmed the write to the elected master.
      - `commit_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent waiting for a successful cluster state update to commit, which measures the time from the start of each publication until a majority of the master-eligible nodes have written the state to disk and confirmed the write to the elected master.
      - `completion_time` (string Duration)
        The cumulative amount of time spent waiting for a successful cluster state update to complete, which measures the time from the start of each publication until all the other nodes have notified the elected master that they have applied the cluster state.
      - `completion_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds,  spent waiting for a successful cluster state update to complete, which measures the time from the start of each publication until all the other nodes have notified the elected master that they have applied the cluster state.
      - `master_apply_time` (string Duration)
        The cumulative amount of time spent successfully applying cluster state updates on the elected master since the node started.
      - `master_apply_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent successfully applying cluster state updates on the elected master since the node started.
      - `notification_time` (string Duration)
        The cumulative amount of time spent notifying listeners of a no-op cluster state update since the node started.
      - `notification_time_millis` (DurationValueUnitMillis)
        The cumulative amount of time, in milliseconds, spent notifying listeners of a no-op cluster state update since the node started.
    - `serialized_cluster_states` ({} SerializedClusterState)
      - `full_states` ({} SerializedClusterStateDetail)
        Number of published cluster states.
        - `count` (number)
        - `uncompressed_size` (string)
        - `uncompressed_size_in_bytes` (number)
        - `compressed_size` (string)
        - `compressed_size_in_bytes` (number)
      - `diffs` ({} SerializedClusterStateDetail)
        - `count` (number)
        - `uncompressed_size` (string)
        - `uncompressed_size_in_bytes` (number)
        - `compressed_size` (string)
        - `compressed_size_in_bytes` (number)
    - `cluster_applier_stats` ({} ClusterAppliedStats)
      - `recordings` ([] Recording)
        - `name` (string)
        - `cumulative_execution_count` (number)
        - `cumulative_execution_time` (string Duration)
        - `cumulative_execution_time_millis` (DurationValueUnitMillis)
  - `indexing_pressure` ({} IndexingPressure)
    Contains indexing pressure statistics for the node.
    - `memory` ({} IndexingPressureMemory)
      Contains statistics for memory consumption from indexing load.
      - `limit` (number | string ByteSize)
        Configured memory limit for the indexing requests.
Replica requests have an automatic limit that is 1.5x this value.
      - `limit_in_bytes` (number)
        Configured memory limit, in bytes, for the indexing requests.
Replica requests have an automatic limit that is 1.5x this value.
      - `current` ({} PressureMemory)
        Contains statistics for current indexing load.
        - `all` (number | string ByteSize)
          Memory consumed by indexing requests in the coordinating, primary, or replica stage.
        - `all_in_bytes` (number)
          Memory consumed, in bytes, by indexing requests in the coordinating, primary, or replica stage.
        - `combined_coordinating_and_primary` (number | string ByteSize)
          Memory consumed by indexing requests in the coordinating or primary stage.
This value is not the sum of coordinating and primary as a node can reuse the coordinating memory if the primary stage is executed locally.
        - `combined_coordinating_and_primary_in_bytes` (number)
          Memory consumed, in bytes, by indexing requests in the coordinating or primary stage.
This value is not the sum of coordinating and primary as a node can reuse the coordinating memory if the primary stage is executed locally.
        - `coordinating` (number | string ByteSize)
          Memory consumed by indexing requests in the coordinating stage.
        - `coordinating_in_bytes` (number)
          Memory consumed, in bytes, by indexing requests in the coordinating stage.
        - `primary` (number | string ByteSize)
          Memory consumed by indexing requests in the primary stage.
        - `primary_in_bytes` (number)
          Memory consumed, in bytes, by indexing requests in the primary stage.
        - `replica` (number | string ByteSize)
          Memory consumed by indexing requests in the replica stage.
        - `replica_in_bytes` (number)
          Memory consumed, in bytes, by indexing requests in the replica stage.
        - `coordinating_rejections` (number)
          Number of indexing requests rejected in the coordinating stage.
        - `primary_rejections` (number)
          Number of indexing requests rejected in the primary stage.
        - `replica_rejections` (number)
          Number of indexing requests rejected in the replica stage.
        - `primary_document_rejections` (number)
        - `large_operation_rejections` (number)
      - `total` ({} PressureMemory)
        Contains statistics for the cumulative indexing load since the node started.
        Same fields as `current` in `memory`
  - `indices` ({} ShardStats)
    Indices stats about size, document count, indexing and deletion times, search times, field cache size, merges and flushes.
    - `commit` ({} ShardCommit)
      - `generation` (number)
      - `id` (string Id)
      - `num_docs` (number)
      - `user_data` (map string to string)
    - `completion` ({} CompletionStats)
      - `size_in_bytes` (number)
        Total amount, in bytes, of memory used for completion across all shards assigned to selected nodes.
      - `size` (number | string ByteSize)
        Total amount of memory used for completion across all shards assigned to selected nodes.
      - `fields` (map string to FieldSizeUsage)
        Map values ({} FieldSizeUsage)
        - `size` (number | string ByteSize)
        - `size_in_bytes` (number)
    - `dense_vector` ({} DenseVectorStats)
      - `value_count` (number)
      - `off_heap` ({} DenseVectorOffHeapStats)
        - `total_size_bytes` (number)
        - `total_size` (number | string ByteSize)
        - `total_veb_size_bytes` (number)
        - `total_veb_size` (number | string ByteSize)
        - `total_vec_size_bytes` (number)
        - `total_vec_size` (number | string ByteSize)
        - `total_veq_size_bytes` (number)
        - `total_veq_size` (number | string ByteSize)
        - `total_vex_size_bytes` (number)
        - `total_vex_size` (number | string ByteSize)
        - `total_cenivf_size_bytes` (number)
        - `total_cenivf_size` (number | string ByteSize)
        - `total_clivf_size_bytes` (number)
        - `total_clivf_size` (number | string ByteSize)
        - `fielddata` (map string to string to number)
    - `docs` ({} DocStats)
      - `count` (number)
        Total number of non-deleted documents across all primary shards assigned to selected nodes.
This number is based on documents in Lucene segments and may include documents from nested fields.
      - `deleted` (number)
        Total number of deleted documents across all primary shards assigned to selected nodes.
This number is based on documents in Lucene segments.
Elasticsearch reclaims the disk space of deleted Lucene documents when a segment is merged.
      - `total_size_in_bytes` (number)
        Returns the total size in bytes of all documents in this stats.
This value may be more reliable than store_stats.size_in_bytes in estimating the index size.
      - `total_size` (number | string ByteSize)
        Human readable total_size_in_bytes
    - `fielddata` ({} FielddataStats)
      - `evictions` (number)
      - `memory_size` (number | string ByteSize)
      - `memory_size_in_bytes` (number)
      - `fields` (map string to FieldMemoryUsage)
        Map values ({} FieldMemoryUsage)
        - `memory_size` (number | string ByteSize)
        - `memory_size_in_bytes` (number)
      - `global_ordinals` ({} GlobalOrdinalsStats)
        - `build_time_in_millis` (number)
        - `build_time` (string)
        - `fields` (map string to GlobalOrdinalFieldStats)
          Map values ({} GlobalOrdinalFieldStats)
          - `build_time_in_millis` (number)
          - `build_time` (string)
          - `shard_max_value_count` (number)
    - `flush` ({} FlushStats)
      - `periodic` (number)
      - `total` (number)
      - `total_time` (string Duration)
      - `total_time_in_millis` (DurationValueUnitMillis)
      - `total_time_excluding_waiting` (string Duration)
      - `total_time_excluding_waiting_on_lock_in_millis` (DurationValueUnitMillis)
    - `get` ({} GetStats)
      - `current` (number)
      - `exists_time` (string Duration)
      - `exists_time_in_millis` (DurationValueUnitMillis)
      - `exists_total` (number)
      - `missing_time` (string Duration)
      - `missing_time_in_millis` (DurationValueUnitMillis)
      - `missing_total` (number)
      - `getTime` (string Duration)
      - `time_in_millis` (DurationValueUnitMillis)
      - `total` (number)
    - `indexing` ({} IndexingStats)
      - `index_current` (number)
      - `delete_current` (number)
      - `delete_time` (string Duration)
      - `delete_time_in_millis` (DurationValueUnitMillis)
      - `delete_total` (number)
      - `is_throttled` (boolean)
      - `noop_update_total` (number)
      - `throttle_time` (string Duration)
      - `throttle_time_in_millis` (DurationValueUnitMillis)
      - `index_time` (string Duration)
      - `index_time_in_millis` (DurationValueUnitMillis)
      - `index_total` (number)
      - `index_failed` (number)
      - `index_failed_due_to_version_conflict` (number)
      - `types` (map string to IndexingStats) — recursive
      - `write_load` (number)
      - `recent_write_load` (number)
      - `peak_write_load` (number)
    - `mappings` ({} MappingStats)
      - `total_count` (number)
      - `total_estimated_overhead` (number | string ByteSize)
      - `total_estimated_overhead_in_bytes` (number)
      - `total_segments` (number)
      - `total_segment_fields` (number)
      - `average_fields_per_segment` (number)
    - `merges` ({} MergesStats)
      - `current` (number)
      - `current_docs` (number)
      - `current_size` (string)
      - `current_size_in_bytes` (number)
      - `total` (number)
      - `total_auto_throttle` (string)
      - `total_auto_throttle_in_bytes` (number)
      - `total_docs` (number)
      - `total_size` (string)
      - `total_size_in_bytes` (number)
      - `total_stopped_time` (string Duration)
      - `total_stopped_time_in_millis` (DurationValueUnitMillis)
      - `total_throttled_time` (string Duration)
      - `total_throttled_time_in_millis` (DurationValueUnitMillis)
      - `total_time` (string Duration)
      - `total_time_in_millis` (DurationValueUnitMillis)
    - `shard_path` ({} ShardPath)
      - `data_path` (string)
      - `is_custom_data_path` (boolean)
      - `state_path` (string)
    - `query_cache` ({} ShardQueryCache)
      - `cache_count` (number)
      - `cache_size` (number)
      - `evictions` (number)
      - `hit_count` (number)
      - `memory_size` (number | string ByteSize)
      - `memory_size_in_bytes` (number)
      - `miss_count` (number)
      - `total_count` (number)
    - `recovery` ({} RecoveryStats)
      - `current_as_source` (number)
      - `current_as_source_queued` (number)
      - `current_as_target` (number)
      - `current_as_target_queued` (number)
      - `current_from_store` (number)
      - `current_from_store_queued` (number)
      - `throttle_time` (string Duration)
      - `throttle_time_in_millis` (DurationValueUnitMillis)
    - `refresh` ({} RefreshStats)
      - `external_total` (number)
      - `external_total_time` (string Duration)
      - `external_total_time_in_millis` (DurationValueUnitMillis)
      - `listeners` (number)
      - `total` (number)
      - `total_time` (string Duration)
      - `total_time_in_millis` (DurationValueUnitMillis)
    - `request_cache` ({} RequestCacheStats)
      - `evictions` (number)
      - `hit_count` (number)
      - `memory_size` (string)
      - `memory_size_in_bytes` (number)
      - `miss_count` (number)
    - `retention_leases` ({} ShardRetentionLeases)
      - `primary_term` (number)
      - `version` (number VersionNumber)
      - `leases` ([] ShardLease)
        - `id` (string Id)
        - `retaining_seq_no` (number SequenceNumber)
        - `timestamp` (number)
        - `source` (string)
    - `routing` ({} ShardRouting)
      - `node` (string)
      - `primary` (boolean)
      - `relocating_node` (union string) — nullable
        One of: `string`
      - `state` (enum ShardRoutingState)
        Values: `UNASSIGNED`, `INITIALIZING`, `STARTED`, `RELOCATING`
    - `search` ({} SearchStats)
      - `fetch_current` (number)
      - `fetch_time` (string Duration)
      - `fetch_time_in_millis` (DurationValueUnitMillis)
      - `fetch_total` (number)
      - `fetch_failure` (number)
      - `open_contexts` (number)
      - `query_current` (number)
      - `query_time` (string Duration)
      - `query_time_in_millis` (DurationValueUnitMillis)
      - `query_total` (number)
      - `query_failure` (number)
      - `scroll_current` (number)
      - `scroll_time` (string Duration)
      - `scroll_time_in_millis` (DurationValueUnitMillis)
      - `scroll_total` (number)
      - `suggest_current` (number)
      - `suggest_time` (string Duration)
      - `suggest_time_in_millis` (DurationValueUnitMillis)
      - `suggest_total` (number)
      - `recent_search_load` (number)
      - `groups` (map string to SearchStats) — recursive
    - `segments` ({} SegmentsStats)
      - `count` (number)
        Total number of segments across all shards assigned to selected nodes.
      - `doc_values_memory` (number | string ByteSize)
        Total amount of memory used for doc values across all shards assigned to selected nodes.
      - `doc_values_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for doc values across all shards assigned to selected nodes.
      - `file_sizes` (map string to ShardFileSizeInfo)
        This object is not populated by the cluster stats API.
To get information on segment files, use the node stats API.
        Map values ({} ShardFileSizeInfo)
        - `description` (string)
        - `size_in_bytes` (number)
        - `min_size_in_bytes` (number)
        - `max_size_in_bytes` (number)
        - `average_size_in_bytes` (number)
        - `count` (number)
      - `fixed_bit_set` (number | string ByteSize)
        Total amount of memory used by fixed bit sets across all shards assigned to selected nodes.
Fixed bit sets are used for nested object field types and type filters for join fields.
      - `fixed_bit_set_memory_in_bytes` (number)
        Total amount of memory, in bytes, used by fixed bit sets across all shards assigned to selected nodes.
      - `index_writer_memory` (number | string ByteSize)
        Total amount of memory used by all index writers across all shards assigned to selected nodes.
      - `index_writer_memory_in_bytes` (number)
        Total amount, in bytes, of memory used by all index writers across all shards assigned to selected nodes.
      - `max_unsafe_auto_id_timestamp` (number)
        Unix timestamp, in milliseconds, of the most recently retried indexing request.
      - `memory` (number | string ByteSize)
        Total amount of memory used for segments across all shards assigned to selected nodes.
      - `memory_in_bytes` (number)
        Total amount, in bytes, of memory used for segments across all shards assigned to selected nodes.
      - `norms_memory` (number | string ByteSize)
        Total amount of memory used for normalization factors across all shards assigned to selected nodes.
      - `norms_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for normalization factors across all shards assigned to selected nodes.
      - `points_memory` (number | string ByteSize)
        Total amount of memory used for points across all shards assigned to selected nodes.
      - `points_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for points across all shards assigned to selected nodes.
      - `stored_fields_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for stored fields across all shards assigned to selected nodes.
      - `stored_fields_memory` (number | string ByteSize)
        Total amount of memory used for stored fields across all shards assigned to selected nodes.
      - `terms_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for terms across all shards assigned to selected nodes.
      - `terms_memory` (number | string ByteSize)
        Total amount of memory used for terms across all shards assigned to selected nodes.
      - `term_vectors_memory` (number | string ByteSize)
        Total amount of memory used for term vectors across all shards assigned to selected nodes.
      - `term_vectors_memory_in_bytes` (number)
        Total amount, in bytes, of memory used for term vectors across all shards assigned to selected nodes.
      - `version_map_memory` (number | string ByteSize)
        Total amount of memory used by all version maps across all shards assigned to selected nodes.
      - `version_map_memory_in_bytes` (number)
        Total amount, in bytes, of memory used by all version maps across all shards assigned to selected nodes.
    - `seq_no` ({} ShardSequenceNumber)
      - `global_checkpoint` (number)
      - `local_checkpoint` (number)
      - `max_seq_no` (number SequenceNumber)
    - `sparse_vector` ({} SparseVectorStats)
      - `value_count` (number)
    - `store` ({} StoreStats)
      - `size` (number | string ByteSize)
        Total size of all shards assigned to selected nodes.
      - `size_in_bytes` (number)
        Total size, in bytes, of all shards assigned to selected nodes.
      - `reserved` (number | string ByteSize)
        A prediction of how much larger the shard stores will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities.
      - `reserved_in_bytes` (number)
        A prediction, in bytes, of how much larger the shard stores will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities.
      - `total_data_set_size` (number | string ByteSize)
        Total data set size of all shards assigned to selected nodes.
This includes the size of shards not stored fully on the nodes, such as the cache for partially mounted indices.
      - `total_data_set_size_in_bytes` (number)
        Total data set size, in bytes, of all shards assigned to selected nodes.
This includes the size of shards not stored fully on the nodes, such as the cache for partially mounted indices.
    - `translog` ({} TranslogStats)
      - `earliest_last_modified_age` (number)
      - `operations` (number)
      - `size` (string)
      - `size_in_bytes` (number)
      - `uncommitted_operations` (number)
      - `uncommitted_size` (string)
      - `uncommitted_size_in_bytes` (number)
    - `warmer` ({} WarmerStats)
      - `current` (number)
      - `total` (number)
      - `total_time` (string Duration)
      - `total_time_in_millis` (DurationValueUnitMillis)
    - `bulk` ({} BulkStats)
      - `total_operations` (number)
      - `total_time` (string Duration)
      - `total_time_in_millis` (DurationValueUnitMillis)
      - `total_size` (number | string ByteSize)
      - `total_size_in_bytes` (number)
      - `avg_time` (string Duration)
      - `avg_time_in_millis` (DurationValueUnitMillis)
      - `avg_size` (number | string ByteSize)
      - `avg_size_in_bytes` (number)
    - `shards` (map string to object)
    - `shard_stats` ({} ShardsTotalStats)
      - `total_count` (number)
    - `indices` (map string to ShardStats) — recursive
  - `repositories` (map string to RepositorySnapshotStats)
    Statistics about snapshot activity for the node's registered repositories, keyed by repository name.
    Map values ({} RepositorySnapshotStats)
    - `total_read_throttled_time` (string Duration)
      The cumulative time spent throttling read operations for this repository.
    - `total_write_throttled_time` (string Duration)
      The cumulative time spent throttling write operations for this repository.
    - `total_read_throttled_time_nanos` (DurationValueUnitNanos)
      The cumulative time, in nanoseconds, spent throttling read operations for this repository.
    - `total_write_throttled_time_nanos` (DurationValueUnitNanos)
      The cumulative time, in nanoseconds, spent throttling write operations for this repository.
    - `shard_snapshots_started` (number)
      The number of shard snapshots started for this repository.
    - `shard_snapshots_completed` (number)
      The number of shard snapshots completed for this repository.
    - `shard_snapshots_in_progress` (number)
      The number of shard snapshots currently in progress for this repository.
    - `uploaded_blobs` (number)
      The number of blobs uploaded to this repository.
    - `uploaded_size` (number | string ByteSize)
      The cumulative size of the blobs uploaded to this repository.
    - `uploaded_size_in_bytes` (number)
      The cumulative size, in bytes, of the blobs uploaded to this repository.
    - `total_upload_time` (string Duration)
      The cumulative time spent uploading blobs to this repository.
    - `total_upload_time_in_millis` (DurationValueUnitMillis)
      The cumulative time, in milliseconds, spent uploading blobs to this repository.
    - `total_read_time` (string Duration)
      The cumulative time spent reading blobs while uploading to this repository.
    - `total_read_time_in_millis` (DurationValueUnitMillis)
      The cumulative time, in milliseconds, spent reading blobs while uploading to this repository.
## Code Examples

#### Console

```console
GET _nodes/stats/process?filter_path=**.max_file_descriptors
```

#### JavaScript

```javascript
const response = await client.nodes.stats({
  metric: "process",
  filter_path: "**.max_file_descriptors",
});
```

#### Python

```python
resp = client.nodes.stats(
    metric="process",
    filter_path="**.max_file_descriptors",
)
```

#### curl

```curl
curl -X GET "$ELASTICSEARCH_URL/_nodes/stats/process?filter_path=**.max_file_descriptors" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.nodes().stats(s -> s
    .metric(NodeStatsMetric.Process)
);
```

#### C#

```c#
var response = await client.Nodes
    .StatsAsync(d1 => d1
        .Metric(NodeStatsMetric.Process)
    );
```

#### PHP

```php
$resp = $client->nodes()->stats([
    "metric" => "process",
    "filter_path" => "**.max_file_descriptors",
]);
```

#### Ruby

```ruby
response = client.nodes.stats(
  metric: "process",
  filter_path: "**.max_file_descriptors"
)
```

