groups:
  - id: metric.nodejs.eventloop.delay.min
    type: metric
    metric_name: nodejs.eventloop.delay.min
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop minimum delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.min` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.max
    type: metric
    metric_name: nodejs.eventloop.delay.max
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop maximum delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.max` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.mean
    type: metric
    metric_name: nodejs.eventloop.delay.mean
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop mean delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.mean` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.stddev
    type: metric
    metric_name: nodejs.eventloop.delay.stddev
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop standard deviation delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.stddev` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.p50
    type: metric
    metric_name: nodejs.eventloop.delay.p50
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop 50 percentile delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.percentile(50)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.p90
    type: metric
    metric_name: nodejs.eventloop.delay.p90
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop 90 percentile delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.percentile(90)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.delay.p99
    type: metric
    metric_name: nodejs.eventloop.delay.p99
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop 99 percentile delay."
    instrument: gauge
    unit: "s"
    stability: development
    note: >
      Value can be retrieved from value `histogram.percentile(99)` of [`perf_hooks.monitorEventLoopDelay([options])`](https://nodejs.org/api/perf_hooks.html#perf_hooksmonitoreventloopdelayoptions)

  - id: metric.nodejs.eventloop.utilization
    type: metric
    metric_name: nodejs.eventloop.utilization
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Event loop utilization."
    instrument: gauge
    unit: "1"
    stability: development
    note: >
      The value range is [0.0, 1.0] and can be retrieved from
      [`performance.eventLoopUtilization([utilization1[, utilization2]])`](https://nodejs.org/api/perf_hooks.html#performanceeventlooputilizationutilization1-utilization2)

  - id: metric.nodejs.eventloop.time
    type: metric
    metric_name: nodejs.eventloop.time
    annotations:
      code_generation:
        metric_value_type: double
    brief: "Cumulative duration of time the event loop has been in each state."
    instrument: counter
    unit: "s"
    stability: development
    attributes:
      - ref: nodejs.eventloop.state
        requirement_level: required
    note: >
      Value can be retrieved from
      [`performance.eventLoopUtilization([utilization1[, utilization2]])`](https://nodejs.org/api/perf_hooks.html#performanceeventlooputilizationutilization1-utilization2)
