From ce066364e0c5cd1157b3be338fbfd83256638084 Mon Sep 17 00:00:00 2001 From: maryliag Date: Fri, 3 May 2024 09:42:38 -0400 Subject: [PATCH] rename nodejs to jsruntime --- ...js-metrics.yaml => jsruntime-metrics.yaml} | 4 +- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/change_proposal.yaml | 2 +- .github/ISSUE_TEMPLATE/new-conventions.yaml | 2 +- docs/attributes-registry/README.md | 2 +- .../{nodejs.md => jsruntime.md} | 32 +-- docs/runtime/README.md | 2 +- docs/runtime/jsruntime-metrics.md | 209 +++++++++++++++++ docs/runtime/nodejs-metrics.md | 210 ------------------ ...js-metrics.yaml => jsruntime-metrics.yaml} | 70 +++--- .../registry/{nodejs.yaml => jsruntime.yaml} | 8 +- 11 files changed, 271 insertions(+), 272 deletions(-) rename .chloggen/{nodejs-metrics.yaml => jsruntime-metrics.yaml} (87%) rename docs/attributes-registry/{nodejs.md => jsruntime.md} (61%) create mode 100644 docs/runtime/jsruntime-metrics.md delete mode 100644 docs/runtime/nodejs-metrics.md rename model/metrics/{nodejs-metrics.yaml => jsruntime-metrics.yaml} (55%) rename model/registry/{nodejs.yaml => jsruntime.yaml} (96%) diff --git a/.chloggen/nodejs-metrics.yaml b/.chloggen/jsruntime-metrics.yaml similarity index 87% rename from .chloggen/nodejs-metrics.yaml rename to .chloggen/jsruntime-metrics.yaml index 19b26bad91..c5f6f21028 100755 --- a/.chloggen/nodejs-metrics.yaml +++ b/.chloggen/jsruntime-metrics.yaml @@ -7,10 +7,10 @@ change_type: new_component # The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: nodejs +component: jsruntime # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Introducing semantic conventions for Node.js runtime metrics. +note: Introducing semantic conventions for Runtime Javascript (e.g. NodeJS, DenoJS, BunJS) runtime metrics. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. # The values here must be integers. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 5f59e17a50..5dba292598 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -47,12 +47,12 @@ body: - area:heroku - area:host - area:http + - area:jsruntime - area:jvm - area:k8s - area:log - area:messaging - area:network - - area:nodejs - area:oci - area:opentracing - area:os diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index c77cf6d159..9e7b34550d 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -40,12 +40,12 @@ body: - area:heroku - area:host - area:http + - area:jsruntime - area:jvm - area:k8s - area:log - area:messaging - area:network - - area:nodejs - area:oci - area:opentracing - area:os diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 9e67b0e7cd..95898f78da 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -49,12 +49,12 @@ body: - area:heroku - area:host - area:http + - area:jsruntime - area:jvm - area:k8s - area:log - area:messaging - area:network - - area:nodejs - area:oci - area:opentracing - area:os diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 8ddb09d7df..f7ab546a01 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -60,12 +60,12 @@ Currently, the following namespaces exist: - [Host](host.md) - [HTTP](http.md) - [iOS](ios.md) +- [Jsruntime](jsruntime.md) - [JVM](jvm.md) - [K8s](k8s.md) - [Log](log.md) - [Messaging](messaging.md) - [Network](network.md) -- [Nodejs](nodejs.md) - [OCI](oci.md) - [OpenTracing](opentracing.md) - [OS](os.md) diff --git a/docs/attributes-registry/nodejs.md b/docs/attributes-registry/jsruntime.md similarity index 61% rename from docs/attributes-registry/nodejs.md rename to docs/attributes-registry/jsruntime.md index 55cb4d7a60..d733aff3b4 100644 --- a/docs/attributes-registry/nodejs.md +++ b/docs/attributes-registry/jsruntime.md @@ -4,22 +4,22 @@ -# Nodejs +# Jsruntime -## Nodejs Attributes +## Jsruntime Attributes -Describes Node.js related attributes. +Describes JS Runtime related attributes. -| Attribute | Type | Description | Examples | Stability | -| --------------------------- | ------ | ----------------------------------- | ------------------------------- | ---------------------------------------------------------------- | -| `nodejs.eventloop.lag.type` | string | The type of the event loop latency. | `min`; `max`; `mean` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nodejs.gc.type` | string | The type of garbage collection. | `major`; `minor`; `incremental` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nodejs.heap.size.state` | string | The size of heap memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nodejs.heap.space.state` | string | The space of heap memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nodejs.memory.state` | string | The state of memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `nodejs.version` | string | Node.js version. | `v22.0.0`; `v21.7.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------ | ------ | ----------------------------------- | ------------------------------- | ---------------------------------------------------------------- | +| `jsruntime.eventloop.lag.type` | string | The type of the event loop latency. | `min`; `max`; `mean` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `jsruntime.gc.type` | string | The type of garbage collection. | `major`; `minor`; `incremental` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `jsruntime.heap.size.state` | string | The size of heap memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `jsruntime.heap.space.state` | string | The space of heap memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `jsruntime.memory.state` | string | The state of memory. | `total`; `used` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `jsruntime.version` | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`nodejs.eventloop.lag.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`jsruntime.eventloop.lag.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | -------- | -------------------------------------- | ---------------------------------------------------------------- | @@ -31,7 +31,7 @@ Describes Node.js related attributes. | `p90` | Event loop 90 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `p99` | Event loop 99 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`nodejs.gc.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`jsruntime.gc.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ------------- | ---------------------------------------- | ---------------------------------------------------------------- | @@ -40,21 +40,21 @@ Describes Node.js related attributes. | `incremental` | Incremental (Incremental Marking). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `weakcb` | Weak Callbacks (Process Weak Callbacks). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`nodejs.heap.size.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`jsruntime.heap.size.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ------- | ----------------------- | ---------------------------------------------------------------- | | `total` | Total heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `used` | Used heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`nodejs.heap.space.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`jsruntime.heap.space.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ------- | ------------------------ | ---------------------------------------------------------------- | | `total` | Total heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `used` | Used heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`nodejs.memory.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +`jsruntime.memory.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ------- | ------------- | ---------------------------------------------------------------- | diff --git a/docs/runtime/README.md b/docs/runtime/README.md index 06101801fa..f3be79918d 100644 --- a/docs/runtime/README.md +++ b/docs/runtime/README.md @@ -48,7 +48,7 @@ Also consider the semantic conventions when instrumenting runtime environments. - [JVM](jvm-metrics.md) -- [Node.js](nodejs-metrics.md) +- [JS Runtime](jsruntime-metrics.md) ### Attributes diff --git a/docs/runtime/jsruntime-metrics.md b/docs/runtime/jsruntime-metrics.md new file mode 100644 index 0000000000..b52021a1ec --- /dev/null +++ b/docs/runtime/jsruntime-metrics.md @@ -0,0 +1,209 @@ + + +# Semantic Conventions for JS Runtime Metrics + +**Status**: [Experimental][DocumentStatus] + +This document describes semantic conventions for JS Runtime (e.g. jsruntime, DenoJS, BunJS) metrics in OpenTelemetry. + + + + + +- [Experimental](#experimental) + - [Metric: `jsruntime.active_handles.count`](#metric-jsruntimeactive_handlescount) + - [Metric: `jsruntime.active_libuv_requests.count`](#metric-jsruntimeactive_libuv_requestscount) + - [Metric: `jsruntime.eventloop.lag`](#metric-jsruntimeeventlooplag) + - [Metric: `jsruntime.eventloop.utilization`](#metric-jsruntimeeventlooputilization) + - [Metric: `jsruntime.gc.duration`](#metric-jsruntimegcduration) + - [Metric: `jsruntime.memory.size`](#metric-jsruntimememorysize) + - [Metric: `jsruntime.heap.size`](#metric-jsruntimeheapsize) + - [Metric: `jsruntime.heap.space`](#metric-jsruntimeheapspace) + + + +## Experimental + +**Status**: [Experimental][DocumentStatus] + +**Description:** Experimental JS Runtime metrics captured under `jsruntime`. + +### Metric: `jsruntime.active_handles.count` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.active_handles.count` | UpDownCounter | `{handles}` | Number of active handles. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.active_libuv_requests.count` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.active_libuv_requests.count` | UpDownCounter | `{requests}` | Number of active libuv requests. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.eventloop.lag` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.eventloop.lag` | Gauge | `s` | Event loop lag. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.eventloop.lag.type`](/docs/attributes-registry/jsruntime.md) | string | The type of the event loop latency. | `min`; `p90` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`jsruntime.eventloop.lag.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `min` | Event loop minimum latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `max` | Event loop maximum latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `mean` | Event loop mean latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `stddev` | Event loop standard deviation latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `p50` | Event loop 50 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `p90` | Event loop 90 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `p99` | Event loop 99 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.eventloop.utilization` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.eventloop.utilization` | Gauge | `s` | Event loop utilization. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.gc.duration` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.gc.duration` | Gauge | `s` | Garbage collection duration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.gc.type`](/docs/attributes-registry/jsruntime.md) | string | The type of garbage collection. | `major`; `minor`; `incremental` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`jsruntime.gc.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `major` | Major (Mark Sweep Compact). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `minor` | Minor (Scavenge). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `incremental` | Incremental (Incremental Marking). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `weakcb` | Weak Callbacks (Process Weak Callbacks). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.memory.size` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.memory.size` | UpDownCounter | `By` | External memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.memory.state`](/docs/attributes-registry/jsruntime.md) | string | The state of memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`jsruntime.memory.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `total` | Total memory. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | Used memory. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.heap.size` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.heap.size` | UpDownCounter | `By` | Heap size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.heap.size.state`](/docs/attributes-registry/jsruntime.md) | string | The size of heap memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`jsruntime.heap.size.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `total` | Total heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | Used heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +### Metric: `jsruntime.heap.space` + +This metric is [recommended][MetricRecommended]. + + +| Name | Instrument Type | Unit (UCUM) | Description | Stability | +| -------- | --------------- | ----------- | -------------- | --------- | +| `jsruntime.heap.space` | UpDownCounter | `By` | Heap space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`jsruntime.heap.space.state`](/docs/attributes-registry/jsruntime.md) | string | The space of heap memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`jsruntime.version`](/docs/attributes-registry/jsruntime.md) | string | JS Runtime version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`jsruntime.heap.space.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +|---|---|---| +| `total` | Total heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `used` | Used heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + +[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md +[MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/docs/runtime/nodejs-metrics.md b/docs/runtime/nodejs-metrics.md deleted file mode 100644 index 32b5ecfc4b..0000000000 --- a/docs/runtime/nodejs-metrics.md +++ /dev/null @@ -1,210 +0,0 @@ - - -# Semantic Conventions for Node.js Metrics - -**Status**: [Experimental][DocumentStatus] - -This document describes semantic conventions for Node.js metrics in OpenTelemetry. - - - - - -- [Experimental](#experimental) - - [Metric: `nodejs.active_handles.count`](#metric-nodejsactive_handlescount) - - [Metric: `nodejs.active_libuv_requests.count`](#metric-nodejsactive_libuv_requestscount) - - [Metric: `nodejs.eventloop.lag`](#metric-nodejseventlooplag) - - [Metric: `nodejs.eventloop.utilization`](#metric-nodejseventlooputilization) - - [Metric: `nodejs.gc.duration`](#metric-nodejsgcduration) - - [Metric: `nodejs.memory.size`](#metric-nodejsmemorysize) - - [Metric: `nodejs.heap.size`](#metric-nodejsheapsize) - - [Metric: `nodejs.heap.space`](#metric-nodejsheapspace) - - - -## Experimental - -**Status**: [Experimental][DocumentStatus] - -**Description:** Experimental Node.js metrics captured under `nodejs.` - -### Metric: `nodejs.active_handles.count` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.active_handles.count` | UpDownCounter | `{handles}` | Number of active handles. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.active_libuv_requests.count` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.active_libuv_requests.count` | UpDownCounter | `{requests}` | Number of active libuv requests. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.eventloop.lag` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.eventloop.lag` | Gauge | `s` | Event loop lag. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.eventloop.lag.type`](/docs/attributes-registry/nodejs.md) | string | The type of the event loop latency. | `min`; `p90` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`nodejs.eventloop.lag.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -|---|---|---| -| `min` | Event loop minimum latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `max` | Event loop maximum latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `mean` | Event loop mean latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `stddev` | Event loop standard deviation latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `p50` | Event loop 50 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `p90` | Event loop 90 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `p99` | Event loop 99 percentile latency. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -### Metric: `nodejs.eventloop.utilization` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.eventloop.utilization` | Gauge | `s` | Event loop utilization. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.gc.duration` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.gc.duration` | Gauge | `s` | Garbage collection duration. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.gc.type`](/docs/attributes-registry/nodejs.md) | string | The type of garbage collection. | `major`; `minor`; `incremental` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`nodejs.gc.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -|---|---|---| -| `major` | Major (Mark Sweep Compact). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `minor` | Minor (Scavenge). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `incremental` | Incremental (Incremental Marking). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `weakcb` | Weak Callbacks (Process Weak Callbacks). | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.memory.size` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.memory.size` | UpDownCounter | `By` | External memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.memory.state`](/docs/attributes-registry/nodejs.md) | string | The state of memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`nodejs.memory.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -|---|---|---| -| `total` | Total memory. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `used` | Used memory. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.heap.size` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.heap.size` | UpDownCounter | `By` | Heap size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.heap.size.state`](/docs/attributes-registry/nodejs.md) | string | The size of heap memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`nodejs.heap.size.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -|---|---|---| -| `total` | Total heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `used` | Used heap memory size. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -### Metric: `nodejs.heap.space` - -This metric is [recommended][MetricRecommended]. - - -| Name | Instrument Type | Unit (UCUM) | Description | Stability | -| -------- | --------------- | ----------- | -------------- | --------- | -| `nodejs.heap.space` | UpDownCounter | `By` | Heap space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - - -| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | -|---|---|---|---|---|---| -| [`nodejs.heap.space.state`](/docs/attributes-registry/nodejs.md) | string | The space of heap memory. | `total`; `used` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| [`nodejs.version`](/docs/attributes-registry/nodejs.md) | string | Node.js version. | `v22.0.0`; `v21.7.3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`nodejs.heap.space.state` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -|---|---|---| -| `total` | Total heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `used` | Used heap memory space. | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - -[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.31.0/specification/document-status.md -[MetricRecommended]: /docs/general/metric-requirement-level.md#recommended diff --git a/model/metrics/nodejs-metrics.yaml b/model/metrics/jsruntime-metrics.yaml similarity index 55% rename from model/metrics/nodejs-metrics.yaml rename to model/metrics/jsruntime-metrics.yaml index 109a6c1ca4..a79e4717de 100644 --- a/model/metrics/nodejs-metrics.yaml +++ b/model/metrics/jsruntime-metrics.yaml @@ -1,104 +1,104 @@ groups: - - id: metric.nodejs.active_handles.count + - id: metric.jsruntime.active_handles.count type: metric - metric_name: nodejs.active_handles.count + metric_name: jsruntime.active_handles.count brief: "Number of active handles." instrument: updowncounter unit: "{handles}" stability: experimental attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - id: metric.nodejs.active_libuv_requests.count + - id: metric.jsruntime.active_libuv_requests.count type: metric - metric_name: nodejs.active_libuv_requests.count + metric_name: jsruntime.active_libuv_requests.count brief: "Number of active libuv requests." instrument: updowncounter unit: "{requests}" stability: experimental attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - id: metric.nodejs.eventloop.lag + - id: metric.jsruntime.eventloop.lag type: metric - metric_name: nodejs.eventloop.lag + metric_name: jsruntime.eventloop.lag brief: "Event loop lag." instrument: gauge unit: "s" stability: experimental - prefix: nodejs.eventloop.lag + prefix: jsruntime.eventloop.lag attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - ref: nodejs.eventloop.lag.type + - ref: jsruntime.eventloop.lag.type requirement_level: recommended - - id: metric.nodejs.eventloop.utilization + - id: metric.jsruntime.eventloop.utilization type: metric - metric_name: nodejs.eventloop.utilization + metric_name: jsruntime.eventloop.utilization brief: "Event loop utilization." instrument: gauge unit: "s" stability: experimental - prefix: nodejs.eventloop.utilization + prefix: jsruntime.eventloop.utilization attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - id: metric.nodejs.gc.duration + - id: metric.jsruntime.gc.duration type: metric - metric_name: nodejs.gc.duration + metric_name: jsruntime.gc.duration brief: "Garbage collection duration." instrument: gauge unit: "s" stability: experimental - prefix: nodejs.gc + prefix: jsruntime.gc attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - ref: nodejs.gc.type + - ref: jsruntime.gc.type requirement_level: recommended - - id: metric.nodejs.memory.size + - id: metric.jsruntime.memory.size type: metric - metric_name: nodejs.memory.size + metric_name: jsruntime.memory.size brief: "External memory size." instrument: updowncounter unit: "By" stability: experimental - prefix: nodejs.memory + prefix: jsruntime.memory attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - ref: nodejs.memory.state + - ref: jsruntime.memory.state requirement_level: recommended - - id: metric.nodejs.heap.size + - id: metric.jsruntime.heap.size type: metric - metric_name: nodejs.heap.size + metric_name: jsruntime.heap.size brief: "Heap size." instrument: updowncounter unit: "By" stability: experimental - prefix: nodejs.heap.size + prefix: jsruntime.heap.size attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - ref: nodejs.heap.size.state + - ref: jsruntime.heap.size.state requirement_level: recommended - - id: metric.nodejs.heap.space + - id: metric.jsruntime.heap.space type: metric - metric_name: nodejs.heap.space + metric_name: jsruntime.heap.space brief: "Heap space." instrument: updowncounter unit: "By" stability: experimental - prefix: nodejs.heap.space + prefix: jsruntime.heap.space attributes: - - ref: nodejs.version + - ref: jsruntime.version requirement_level: recommended - - ref: nodejs.heap.space.state + - ref: jsruntime.heap.space.state requirement_level: recommended diff --git a/model/registry/nodejs.yaml b/model/registry/jsruntime.yaml similarity index 96% rename from model/registry/nodejs.yaml rename to model/registry/jsruntime.yaml index 49d6ff231c..60772ad812 100644 --- a/model/registry/nodejs.yaml +++ b/model/registry/jsruntime.yaml @@ -1,13 +1,13 @@ groups: - - id: registry.nodejs + - id: registry.jsruntime type: attribute_group - brief: Describes Node.js related attributes. - prefix: nodejs + brief: Describes JS Runtime related attributes. + prefix: jsruntime attributes: - id: version stability: experimental type: string - brief: Node.js version. + brief: JS Runtime version. examples: ["v22.0.0", "v21.7.3"] - id: eventloop.lag.type stability: experimental