groups:
  - id: metric.v8js.gc.duration
    type: metric
    metric_name: v8js.gc.duration
    brief: "Garbage collection duration."
    instrument: histogram
    unit: "s"
    stability: experimental
    attributes:
      - ref: v8js.gc.type
        requirement_level: required
    note: >
      The values can be retrieve from [`perf_hooks.PerformanceObserver(...).observe({ entryTypes: ['gc'] })`](https://nodejs.org/api/perf_hooks.html#performanceobserverobserveoptions)

  - id: metric.v8js.memory.heap.limit
    type: metric
    metric_name: v8js.memory.heap.limit
    brief: "Total heap memory size pre-allocated."
    instrument: updowncounter
    unit: "By"
    stability: experimental
    attributes:
      - ref: v8js.heap.space.name
        requirement_level: required
    note: >
      The value can be retrieved from value `space_size` of
      [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)

  - id: metric.v8js.memory.heap.used
    type: metric
    metric_name: v8js.memory.heap.used
    brief: "Heap Memory size allocated."
    instrument: updowncounter
    unit: "By"
    stability: experimental
    attributes:
      - ref: v8js.heap.space.name
        requirement_level: required
    note: >
      The value can be retrieved from value `space_used_size` of
      [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)

  - id: metric.v8js.heap.space.available_size
    type: metric
    metric_name: v8js.heap.space.available_size
    brief: "Heap space available size."
    instrument: updowncounter
    unit: "By"
    stability: experimental
    attributes:
      - ref: v8js.heap.space.name
        requirement_level: required
    note: >
      Value can be retrieved from value `space_available_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)

  - id: metric.v8js.heap.space.physical_size
    type: metric
    metric_name: v8js.heap.space.physical_size
    brief: "Committed size of a heap space."
    instrument: updowncounter
    unit: "By"
    stability: experimental
    attributes:
      - ref: v8js.heap.space.name
        requirement_level: required
    note: >
      Value can be retrieved from value `physical_space_size` of [`v8.getHeapSpaceStatistics()`](https://nodejs.org/api/v8.html#v8getheapspacestatistics)
