diff --git a/docs/browser/events.md b/docs/browser/events.md new file mode 100644 index 0000000000..b90b00e34d --- /dev/null +++ b/docs/browser/events.md @@ -0,0 +1,50 @@ + + +# Semantic conventions for browser events + +**Status**: [Development][DocumentStatus] + +This document defines semantic conventions for browser (web) instrumentations +that emit events. + +## WebVital Event + + + + + + + + +**Status:** ![Development](https://img.shields.io/badge/-development-blue) + +The event name MUST be `browser.web_vital`. + +This event describes the website performance metrics introduced by Google, See [web vitals](https://web.dev/vitals). + +**Body fields:** + +| Body Field | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| `delta` | double | The delta between the current value and the last-reported value. | `0.2` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `id` | string | A unique ID representing this particular metric instance. | `v3-1677874579383-6381583661209` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `name` | enum | Name of the web vital. | `cls` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | +| `value` | double | Value of the web vital. | `1.0` | `Required` | ![Development](https://img.shields.io/badge/-development-blue) | + +`name` 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 | +|---|---|---| +| `cls` | Cumulative Layout Shift. | ![Development](https://img.shields.io/badge/-development-blue) | +| `fid` | First Input Delay. | ![Development](https://img.shields.io/badge/-development-blue) | +| `inp` | Interation to Next Paint. | ![Development](https://img.shields.io/badge/-development-blue) | +| `lcp` | Largest Contentful Paint. | ![Development](https://img.shields.io/badge/-development-blue) | + + + + + + +[DocumentStatus]: https://opentelemetry.io/docs/specs/otel/document-status diff --git a/model/browser/events.yaml b/model/browser/events.yaml new file mode 100644 index 0000000000..126e26416c --- /dev/null +++ b/model/browser/events.yaml @@ -0,0 +1,54 @@ +groups: + - id: event.browser.web_vital + stability: development + type: event + name: browser.web_vital + brief: > + This event describes the website performance metrics introduced by Google, See [web vitals](https://web.dev/vitals). + body: + id: browser.web_vital + requirement_level: required + stability: development + type: map + fields: + - id: name + type: enum + members: + - id: cls + value: 'cls' + brief: Cumulative Layout Shift. + stability: development + - id: lcp + value: 'lcp' + brief: Largest Contentful Paint. + stability: development + - id: fid + value: 'fid' + brief: First Input Delay. + stability: development + - id: inp + value: 'inp' + brief: Interation to Next Paint. + stability: development + stability: development + brief: Name of the web vital. + requirement_level: required + examples: ["cls"] + - id: value + type: double + stability: development + brief: Value of the web vital. + requirement_level: required + examples: [1.0] + - id: delta + type: double + stability: development + brief: The delta between the current value and the last-reported value. + requirement_level: required + examples: [0.2] + - id: id + type: string + stability: development + brief: A unique ID representing this particular metric instance. + requirement_level: required + examples: ["v3-1677874579383-6381583661209"]