type: elasticsearch

status:
  class: receiver
  stability:
    unmaintained: [metrics]
  distributions: [contrib]
  codeowners:
    emeritus: [djaglowski]
    seeking_new: true

resource_attributes:
  elasticsearch.cluster.name:
    description: The name of the elasticsearch cluster.
    type: string
    enabled: true
  elasticsearch.node.name:
    description: The name of the elasticsearch node.
    type: string
    enabled: true
  elasticsearch.node.version:
    description: The version of the elasticsearch node.
    type: string
    enabled: true
  elasticsearch.index.name:
    description: The name of the elasticsearch index.
    type: string
    enabled: true

attributes:
  cache_name:
    description: The name of cache.
    type: string
    enum:
    - fielddata
    - query
  collector_name:
    name_override: name
    description: The name of the garbage collector.
    type: string
  memory_pool_name:
    name_override: name
    description: The name of the JVM memory pool.
    type: string
  direction:
    description: The direction of network data.
    type: string
    enum:
    - received
    - sent
  document_state:
    name_override: state
    description: The state of the document.
    type: string
    enum:
    - active
    - deleted
  shard_state:
    name_override: state
    description: The state of the shard.
    type: string
    enum:
    - active
    - active_primary
    - relocating
    - initializing
    - unassigned
    - unassigned_delayed
  operation:
    name_override: operation
    description: The type of operation.
    type: string
    enum:
    - index
    - delete
    - get
    - query
    - fetch
    - scroll
    - suggest
    - merge
    - refresh
    - flush
    - warmer
  thread_pool_name:
    description: The name of the thread pool.
    type: string
  thread_state:
    name_override: state
    description: The state of the thread.
    type: string
    enum:
    - active
    - idle
  task_state:
    name_override: state
    description: The state of the task.
    type: string
    enum:
    - rejected
    - completed
  health_status:
    name_override: status
    description: The health status of the cluster.
    type: string
    enum:
    - green
    - yellow
    - red
  circuit_breaker_name:
    name_override: name
    description: The name of circuit breaker.
    type: string
  memory_state:
    name_override: state
    description: State of the memory
    type: string
    enum:
      - free
      - used
  cluster_published_difference_state:
    name_override: state
    description: State of the published differences
    type: string
    enum:
      - incompatible
      - compatible
  cluster_state_queue_state:
    name_override: state
    description: State of the published differences
    type: string
    enum:
      - pending
      - committed
  indexing_pressure_stage:
    name_override: stage
    description: Stage of the indexing pressure
    type: string
    enum:
      - coordinating
      - primary
      - replica
  cluster_state_update_state:
    name_override: state
    description: State of cluster state update
    type: string
  cluster_state_update_type:
    name_override: type
    description: Type of cluster state update
    type: string
    enum:
      - computation
      - context_construction
      - commit
      - completion
      - master_apply
      - notification
  ingest_pipeline_name:
    name_override: name
    description: Name of the ingest pipeline.
    type: string
  query_cache_count_type:
    name_override: type
    description: Type of query cache count
    type: string
    enum:
      - hit
      - miss
  index_aggregation_type:
    name_override: aggregation
    description: Type of shard aggregation for index statistics
    type: string
    enum:
      - primary_shards
      - total
  segments_memory_object_type:
    name_override: object
    description: Type of object in segment
    type: string
    enum:
      - term
      - doc_value
      - index_writer
      - fixed_bit_set
  get_result:
    name_override: result
    description: Result of get operation
    type: string
    enum:
      - hit
      - miss

metrics:
  # these metrics are from /_nodes/stats, and are node level metrics
  elasticsearch.breaker.memory.estimated:
    description: Estimated memory used for the operation.
    unit: By
    gauge:
      value_type: int
    attributes: [circuit_breaker_name]
    enabled: true
  elasticsearch.breaker.memory.limit:
    description: Memory limit for the circuit breaker.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [circuit_breaker_name]
    enabled: true
  elasticsearch.breaker.tripped:
    description: Total number of times the circuit breaker has been triggered and prevented an out of memory error.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [circuit_breaker_name]
    enabled: true
  elasticsearch.node.cache.memory.usage:
    description: The size in bytes of the cache on a node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [cache_name]
    enabled: true
  elasticsearch.node.cache.evictions:
    description: The number of evictions from the cache on a node.
    unit: "{evictions}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [cache_name]
    enabled: true
  elasticsearch.node.cache.count:
    description: Total count of query cache misses across all shards assigned to selected nodes.
    unit: "{count}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ query_cache_count_type ]
    enabled: true
  elasticsearch.node.cache.size:
    description: Total amount of memory used for the query cache across all shards assigned to the node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: false
  elasticsearch.node.fs.disk.available:
    description: The amount of disk space available to the JVM across all file stores for this node. 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.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.node.fs.disk.free:
    description: The amount of unallocated disk space across all file stores for this node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.node.fs.disk.total:
    description: The amount of disk space across all file stores for this node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  # The calculation for node.disk.io.read is actually in KiBy(1024 bytes), not kBy (1000 bytes)
  # The metric value calculation comes from sectors: https://github.com/elastic/elasticsearch/blob/3c6797f2d2271a30b24f505da55afbb5ea10733e/server/src/main/java/org/elasticsearch/monitor/fs/FsInfo.java#L287
  # The metric value is gathered by reading disk stats files from https://github.com/elastic/elasticsearch/blob/3c6797f2d2271a30b24f505da55afbb5ea10733e/server/src/main/java/org/elasticsearch/monitor/fs/FsProbe.java#L117
  # which come from a kernel https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
  # Linux always considers sectors to be 512 bytes https://github.com/torvalds/linux/blob/6f0d349d922ba44e4348a17a78ea51b7135965b1/include/linux/types.h#L125
  elasticsearch.node.disk.io.read:
    description: The total number of kilobytes read across all file stores for this node.
    unit: KiBy
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
    extended_documentation: This metric is available only on Linux systems.
  # The calculation for node.disk.io.write is actually in KiBy(1024 bytes), not kBy (1000 bytes)
  # The metric value calculation comes from sectors: https://github.com/elastic/elasticsearch/blob/3c6797f2d2271a30b24f505da55afbb5ea10733e/server/src/main/java/org/elasticsearch/monitor/fs/FsInfo.java#L293
  # The metric value is gathered by reading disk stats files from https://github.com/elastic/elasticsearch/blob/3c6797f2d2271a30b24f505da55afbb5ea10733e/server/src/main/java/org/elasticsearch/monitor/fs/FsProbe.java#L117
  # which come from a kernel https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
  # Linux always considers sectors to be 512 bytes https://github.com/torvalds/linux/blob/6f0d349d922ba44e4348a17a78ea51b7135965b1/include/linux/types.h#L125
  elasticsearch.node.disk.io.write:
    description: The total number of kilobytes written across all file stores for this node.
    unit: KiBy
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
    extended_documentation: This metric is available only on Linux systems.
  elasticsearch.node.cluster.io:
    description: The number of bytes sent and received on the network for internal cluster communication.
    unit: By
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [direction]
    enabled: true
  elasticsearch.node.cluster.connections:
    description: The number of open tcp connections for internal cluster communication.
    unit: "{connections}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.node.http.connections:
    description: The number of HTTP connections to the node.
    unit: "{connections}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.node.operations.current:
    description: Number of query operations currently running.
    unit: "{operations}"
    gauge:
      value_type: int
    attributes: [ operation ]
    enabled: false
  elasticsearch.node.operations.completed:
    description: The number of operations completed by a node.
    unit: "{operations}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [operation]
    enabled: true
  elasticsearch.node.operations.time:
    description: Time spent on operations by a node.
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [operation]
    enabled: true
  elasticsearch.node.operations.get.completed:
    description: The number of hits and misses resulting from GET operations.
    unit: "{operations}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [get_result]
    enabled: false
  elasticsearch.node.operations.get.time:
    description: The time spent on hits and misses resulting from GET operations.
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [get_result]
    enabled: false
  elasticsearch.node.shards.size:
    description: The size of the shards assigned to this node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.node.shards.data_set.size:
    description: Total data set size of all shards assigned to the node. This includes the size of shards not stored fully on the node, such as the cache for partially mounted indices.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.shards.reserved.size:
    description: A prediction of how much larger the shard stores on this node will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities. A value of -1 indicates that this is not available.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.translog.operations:
    description: Number of transaction log operations.
    unit: "{operations}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.translog.size:
    description: Size of the transaction log.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.translog.uncommitted.size:
    description: Size of uncommitted transaction log operations.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.thread_pool.threads:
    description: The number of threads in the thread pool.
    unit: "{threads}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [thread_pool_name, thread_state]
    enabled: true
  elasticsearch.node.thread_pool.tasks.queued:
    description: The number of queued tasks in the thread pool.
    unit: "{tasks}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [thread_pool_name]
    enabled: true
  elasticsearch.node.thread_pool.tasks.finished:
    description: The number of tasks finished by the thread pool.
    unit: "{tasks}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [thread_pool_name, task_state]
    enabled: true
  elasticsearch.node.documents:
    description: The number of documents on the node.
    unit: "{documents}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [document_state]
    enabled: true
  elasticsearch.node.open_files:
    description: The number of open file descriptors held by the node.
    unit: "{files}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  # These metrics are JVM metrics, collected from /_nodes/stats
  # See https://github.com/open-telemetry/opentelemetry-java-contrib/blob/main/jmx-metrics/docs/target-systems/jvm.md
  jvm.classes.loaded:
    description: The number of loaded classes
    unit: "1"
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.gc.collections.count:
    description: The total number of garbage collections that have occurred
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [collector_name]
    enabled: true
  jvm.gc.collections.elapsed:
    description: "The approximate accumulated collection elapsed time"
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [collector_name]
    enabled: true
  jvm.memory.heap.max:
    description: The maximum amount of memory can be used for the heap
    unit: By
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.memory.heap.used:
    description: The current heap memory usage
    unit: By
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.memory.heap.utilization:
    description: Fraction of heap memory usage
    unit: "1"
    gauge:
      value_type: double
    attributes: []
    enabled: false
  jvm.memory.heap.committed:
    description: The amount of memory that is guaranteed to be available for the heap
    unit: By
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.memory.nonheap.used:
    description: The current non-heap memory usage
    unit: By
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.memory.nonheap.committed:
    description: The amount of memory that is guaranteed to be available for non-heap purposes
    unit: By
    gauge:
      value_type: int
    attributes: []
    enabled: true
  jvm.memory.pool.max:
    description: The maximum amount of memory can be used for the memory pool
    unit: By
    gauge:
      value_type: int
    attributes: [memory_pool_name]
    enabled: true
  jvm.memory.pool.used:
    description: The current memory pool memory usage
    unit: By
    gauge:
      value_type: int
    attributes: [memory_pool_name]
    enabled: true
  jvm.threads.count:
    description: The current number of threads
    unit: "1"
    gauge:
      value_type: int
    attributes: []
    enabled: true
  # these metrics are from /_cluster/pending_tasks, and are cluster level metrics
  elasticsearch.cluster.pending_tasks:
    description: The number of cluster-level changes that have not yet been executed.
    unit: "{tasks}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.cluster.in_flight_fetch:
    description: The number of unfinished fetches.
    unit: "{fetches}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  # these metrics are from /_cluster/health, and are cluster level metrics
  elasticsearch.cluster.shards:
    description: The number of shards in the cluster.
    unit: "{shards}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [shard_state]
    enabled: true
  elasticsearch.cluster.data_nodes:
    description: The number of data nodes in the cluster.
    unit: "{nodes}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.cluster.nodes:
    description: The total number of nodes in the cluster.
    unit: "{nodes}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: []
    enabled: true
  elasticsearch.cluster.health:
    description: The health status of the cluster.
    extended_documentation:
      Health status is based on the state of its primary and replica shards.
      Green indicates all shards are assigned.
      Yellow indicates that one or more replica shards are unassigned.
      Red indicates that one or more primary shards are unassigned, making some data unavailable.
    unit: "{status}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [health_status]
    enabled: true
  elasticsearch.os.cpu.usage:
    description: Recent CPU usage for the whole system, or -1 if not supported.
    unit: '%'
    gauge:
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.os.cpu.load_avg.1m:
    description: One-minute load average on the system (field is not present if one-minute load average is not available).
    unit: "1"
    gauge:
      value_type: double
    attributes: [ ]
    enabled: true
  elasticsearch.os.cpu.load_avg.5m:
    description: Five-minute load average on the system (field is not present if five-minute load average is not available).
    unit: "1"
    gauge:
      value_type: double
    attributes: [ ]
    enabled: true
  elasticsearch.os.cpu.load_avg.15m:
    description: Fifteen-minute load average on the system (field is not present if fifteen-minute load average is not available).
    unit: "1"
    gauge:
      value_type: double
    attributes: [ ]
    enabled: true
  elasticsearch.os.memory:
    description: Amount of physical memory.
    unit: By
    gauge:
      value_type: int
    attributes: [memory_state]
    enabled: true
  elasticsearch.memory.indexing_pressure:
    description: Memory consumed, in bytes, by indexing requests in the specified stage.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [  indexing_pressure_stage ]
    enabled: true
  elasticsearch.indexing_pressure.memory.total.primary_rejections:
    description: Cumulative number of indexing requests rejected in the primary stage.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.indexing_pressure.memory.total.replica_rejections:
    description: Number of indexing requests rejected in the replica stage.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.indexing_pressure.memory.limit:
    description: Configured memory limit, in bytes, for the indexing requests.
    unit: By
    gauge:
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.cluster.state_queue:
    description: Number of cluster states in queue.
    unit: "1"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ cluster_state_queue_state ]
    enabled: true
  elasticsearch.cluster.published_states.full:
    description: Number of published cluster states.
    unit: "1"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.cluster.published_states.differences:
    description: Number of differences between published cluster states.
    unit: "1"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ cluster_published_difference_state ]
    enabled: true
  elasticsearch.cluster.state_update.count:
    description: The number of cluster state update attempts that changed the cluster state since the node started.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ cluster_state_update_state ]
    enabled: true
  elasticsearch.cluster.state_update.time:
    description: The cumulative amount of time updating the cluster state since the node started.
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ cluster_state_update_state, cluster_state_update_type ]
    enabled: true
  elasticsearch.cluster.indices.cache.evictions:
    description: The number of evictions from the cache for indices in cluster.
    unit: "{evictions}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [cache_name]
    enabled: false
  elasticsearch.node.ingest.documents:
    description: Total number of documents ingested during the lifetime of this node.
    unit: "{documents}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.ingest.documents.current:
    description: Total number of documents currently being ingested.
    unit: "{documents}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.ingest.operations.failed:
    description: Total number of failed ingest operations during the lifetime of this node.
    unit: "{operation}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.pipeline.ingest.documents.preprocessed:
    description: Number of documents preprocessed by the ingest pipeline.
    unit: "{documents}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ingest_pipeline_name ]
    enabled: true
  elasticsearch.node.pipeline.ingest.operations.failed:
    description: Total number of failed operations for the ingest pipeline.
    unit: "{operation}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ingest_pipeline_name ]
    enabled: true
  elasticsearch.node.pipeline.ingest.documents.current:
    description: Total number of documents currently being ingested by a pipeline.
    unit: "{documents}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ingest_pipeline_name ]
    enabled: true
  elasticsearch.node.script.compilations:
    description: Total number of inline script compilations performed by the node.
    unit: "{compilations}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.script.cache_evictions:
    description: Total number of times the script cache has evicted old data.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.script.compilation_limit_triggered:
    description: Total number of times the script compilation circuit breaker has limited inline script compilations.
    unit: "1"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: true
  elasticsearch.node.segments.memory:
    description: Size of memory for segment object of a node.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [segments_memory_object_type]
    enabled: false
  # these metrics are from /*/_stats and are index level metrics
  elasticsearch.index.operations.completed:
    description: The number of operations completed for an index.
    unit: "{operations}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [operation, index_aggregation_type]
    enabled: true
  elasticsearch.index.operations.time:
    description: Time spent on operations for an index.
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [operation, index_aggregation_type]
    enabled: true
  elasticsearch.index.shards.size:
    description: The size of the shards assigned to this index.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: true
  elasticsearch.index.operations.merge.size:
    description: The total size of merged segments for an index.
    unit: By
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.operations.merge.docs_count:
    description: The total number of documents in merge operations for an index.
    unit: "{documents}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.operations.merge.current:
    description: The number of currently active segment merges
    unit: "{merges}"
    gauge:
      value_type: int
    attributes: [ index_aggregation_type ]
    enabled: true
  elasticsearch.index.segments.count:
    description: Number of segments of an index.
    unit: "{segments}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: true
  elasticsearch.index.segments.size:
    description: Size of segments of an index.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.segments.memory:
    description: Size of memory for segment object of an index.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type, segments_memory_object_type]
    enabled: false
  elasticsearch.index.translog.operations:
    description: Number of transaction log operations for an index.
    unit: "{operations}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.translog.size:
    description: Size of the transaction log for an index.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.cache.memory.usage:
    description: The size in bytes of the cache for an index.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [cache_name, index_aggregation_type]
    enabled: false
  elasticsearch.index.cache.size:
    description: The number of elements of the query cache for an index.
    unit: "1"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [index_aggregation_type]
    enabled: false
  elasticsearch.index.cache.evictions:
    description: The number of evictions from the cache for an index.
    unit: "{evictions}"
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [cache_name, index_aggregation_type]
    enabled: false
  elasticsearch.index.documents:
    description: The number of documents for an index.
    unit: "{documents}"
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [document_state, index_aggregation_type]
    enabled: true
  elasticsearch.process.cpu.usage:
    description: CPU usage in percent.
    unit: "1"
    gauge:
      value_type: double
    attributes: [ ]
    enabled: false
  elasticsearch.process.cpu.time:
    description: CPU time used by the process on which the Java virtual machine is running.
    unit: ms
    sum:
      monotonic: true
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: false
  elasticsearch.process.memory.virtual:
    description: Size of virtual memory that is guaranteed to be available to the running process.
    unit: By
    sum:
      monotonic: false
      aggregation_temporality: cumulative
      value_type: int
    attributes: [ ]
    enabled: false

tests:
  config:
