# App Events

LLMS index: [llms.txt](/llms.txt)

---

**Status**: [Development][DocumentStatus]

This document defines events related to client-side applications
(e.g. web apps or mobile apps).


## Click Events

### Event: `app.screen.click`

<!-- semconv event.app.screen.click -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

**Status:** ![Development](https://img.shields.io/badge/-development-blue)

The event name MUST be `app.screen.click`.

This event represents an instantaneous click on the screen of an application.

The `app.screen.click` event can be used to indicate that a user has clicked or tapped on the screen portion of an application. Clicks outside of an application's active area SHOULD NOT generate this event. This event does not differentiate between touch/mouse down and touch/mouse up. Implementations SHOULD give preference to generating this event at the time the click is complete, typically on touch release or mouse up. The location of the click event MUST be provided in absolute screen pixels.

**Attributes:**

| Key | Stability | [Requirement Level](/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`app.screen.coordinate.x`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | The x (horizontal) coordinate of a screen coordinate, in screen pixels. | `0`; `131` |
| [`app.screen.coordinate.y`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | The y (vertical) component of a screen coordinate, in screen pixels. | `12`; `99` |
| [`app.screen.id`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | An identifier that uniquely differentiates this screen from other screens in the same application. [1] | `f9bc787d-ff05-48ad-90e1-fca1d46130b3`; `com.example.app.MainActivity`; `com.example.shop.ProductDetailFragment`; `MyApp.ProfileView`; `MyApp.ProfileViewController` |
| [`app.screen.name`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The name of an application screen. [2] | `MainActivity`; `ProductDetailFragment`; `ProfileView`; `ProfileViewController` |

**[1] `app.screen.id`:** A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).

**[2] `app.screen.name`:** A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

### Event: `app.widget.click`

<!-- semconv event.app.widget.click -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

**Status:** ![Development](https://img.shields.io/badge/-development-blue)

The event name MUST be `app.widget.click`.

This event indicates that an application widget has been clicked.

Use this event to indicate that visual application component has been clicked, typically through a user's manual interaction.

**Attributes:**

| Key | Stability | [Requirement Level](/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`app.widget.id`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | An identifier that uniquely differentiates this widget from other widgets in the same application. [1] | `f9bc787d-ff05-48ad-90e1-fca1d46130b3`; `submit_order_1829` |
| [`app.screen.id`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | An identifier that uniquely differentiates this screen from other screens in the same application. [2] | `f9bc787d-ff05-48ad-90e1-fca1d46130b3`; `com.example.app.MainActivity`; `com.example.shop.ProductDetailFragment`; `MyApp.ProfileView`; `MyApp.ProfileViewController` |
| [`app.screen.coordinate.x`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | The x (horizontal) coordinate of a screen coordinate, in screen pixels. | `0`; `131` |
| [`app.screen.coordinate.y`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | The y (vertical) component of a screen coordinate, in screen pixels. | `12`; `99` |
| [`app.screen.name`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The name of an application screen. [3] | `MainActivity`; `ProductDetailFragment`; `ProfileView`; `ProfileViewController` |
| [`app.widget.name`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The name of an application widget. [4] | `submit`; `attack`; `Clear Cart` |

**[1] `app.widget.id`:** A widget is an application component, typically an on-screen visual GUI element.

**[2] `app.screen.id`:** A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).

**[3] `app.screen.name`:** A screen represents only the part of the device display drawn by the app. It typically contains multiple widgets or UI components and is larger in scope than individual widgets. Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).

**[4] `app.widget.name`:** A widget is an application component, typically an on-screen visual GUI element.

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## Jank Event

### Event: `app.jank`

Jank is a disruption in UI rendering, resulting in a display that can feel
sluggish or even unresponsive/frozen. Applications that are able to detect
jank can report it with the following events:

<!-- semconv event.app.jank -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

**Status:** ![Development](https://img.shields.io/badge/-development-blue)

The event name MUST be `app.jank`.

This event indicates that the application has detected substandard UI rendering performance.

Jank happens when the UI is rendered slowly enough for the user to experience some disruption or sluggishness.

**Attributes:**

| Key | Stability | [Requirement Level](/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values |
| --- | --- | --- | --- | --- | --- |
| [`app.jank.frame_count`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | int | A number of frame renders that experienced jank. [1] | `9`; `42` |
| [`app.jank.period`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | double | The time period, in seconds, for which this jank is being reported. | `1.0`; `5.0`; `10.24` |
| [`app.jank.threshold`](/docs/specs/semconv/registry/attributes/app.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | double | The minimum rendering threshold for this jank, in seconds. | `0.016`; `0.7`; `1.024` |

**[1] `app.jank.frame_count`:** Depending on platform limitations, the value provided MAY be approximation.

<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->

## Attributes

See the [app attributes](/docs/specs/semconv/registry/attributes/app.md) registry for all
application-related attributes that may appear on telemetry items.

[DocumentStatus]: /docs/specs/otel/document-status
