Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
265 changes: 265 additions & 0 deletions javascript/sentry-conventions/src/attributes.ts

Large diffs are not rendered by default.

75 changes: 75 additions & 0 deletions javascript/sentry-conventions/src/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1006,11 +1006,26 @@ export const SEARCH_BROWSER__WEB_VITAL__FCP__VALUE = 'browser.web_vital.fcp.valu
*/
export const SEARCH_BROWSER__WEB_VITAL__FP__VALUE = 'browser.web_vital.fp.value';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_INP_INPUT_DELAY}. `browser.web_vital.inp.input_delay`
*/
export const SEARCH_BROWSER__WEB_VITAL__INP__INPUT_DELAY = 'browser.web_vital.inp.input_delay';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_INP_INTERACTION_TYPE}. `browser.web_vital.inp.interaction_type`
*/
export const SEARCH_BROWSER__WEB_VITAL__INP__INTERACTION_TYPE = 'browser.web_vital.inp.interaction_type';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_INP_PRESENTATION_DELAY}. `browser.web_vital.inp.presentation_delay`
*/
export const SEARCH_BROWSER__WEB_VITAL__INP__PRESENTATION_DELAY = 'browser.web_vital.inp.presentation_delay';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_INP_PROCESSING_DURATION}. `browser.web_vital.inp.processing_duration`
*/
export const SEARCH_BROWSER__WEB_VITAL__INP__PROCESSING_DURATION = 'browser.web_vital.inp.processing_duration';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_INP_TARGET}. `browser.web_vital.inp.target`
*/
Expand All @@ -1026,6 +1041,11 @@ export const SEARCH_BROWSER__WEB_VITAL__INP__VALUE = 'browser.web_vital.inp.valu
*/
export const SEARCH_BROWSER__WEB_VITAL__LCP__ELEMENT = 'browser.web_vital.lcp.element';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_LCP_ELEMENT_RENDER_DELAY}. `browser.web_vital.lcp.element_render_delay`
*/
export const SEARCH_BROWSER__WEB_VITAL__LCP__ELEMENT_RENDER_DELAY = 'browser.web_vital.lcp.element_render_delay';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_LCP_ID}. `browser.web_vital.lcp.id`
*/
Expand All @@ -1048,6 +1068,16 @@ export const SEARCH_BROWSER__WEB_VITAL__LCP__RENDER_TIME = 'browser.web_vital.lc
*/
export const SEARCH_BROWSER__WEB_VITAL__LCP__REPORT_EVENT = 'browser.web_vital.lcp.report_event';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_LCP_RESOURCE_LOAD_DELAY}. `browser.web_vital.lcp.resource_load_delay`
*/
export const SEARCH_BROWSER__WEB_VITAL__LCP__RESOURCE_LOAD_DELAY = 'browser.web_vital.lcp.resource_load_delay';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_LCP_RESOURCE_LOAD_DURATION}. `browser.web_vital.lcp.resource_load_duration`
*/
export const SEARCH_BROWSER__WEB_VITAL__LCP__RESOURCE_LOAD_DURATION = 'browser.web_vital.lcp.resource_load_duration';

/**
* Search name for {@link attributes.BROWSER_WEB_VITAL_LCP_SIZE}. `browser.web_vital.lcp.size`
*/
Expand Down Expand Up @@ -5424,14 +5454,20 @@ export type AttributeSearchName =
| typeof SEARCH_BROWSER__WEB_VITAL__CLS__VALUE
| typeof SEARCH_BROWSER__WEB_VITAL__FCP__VALUE
| typeof SEARCH_BROWSER__WEB_VITAL__FP__VALUE
| typeof SEARCH_BROWSER__WEB_VITAL__INP__INPUT_DELAY
| typeof SEARCH_BROWSER__WEB_VITAL__INP__INTERACTION_TYPE
| typeof SEARCH_BROWSER__WEB_VITAL__INP__PRESENTATION_DELAY
| typeof SEARCH_BROWSER__WEB_VITAL__INP__PROCESSING_DURATION
| typeof SEARCH_BROWSER__WEB_VITAL__INP__TARGET
| typeof SEARCH_BROWSER__WEB_VITAL__INP__VALUE
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__ELEMENT
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__ELEMENT_RENDER_DELAY
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__ID
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__LOAD_TIME
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__RENDER_TIME
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__REPORT_EVENT
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__RESOURCE_LOAD_DELAY
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__RESOURCE_LOAD_DURATION
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__SIZE
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__URL
| typeof SEARCH_BROWSER__WEB_VITAL__LCP__VALUE
Expand Down Expand Up @@ -7323,12 +7359,32 @@ export const ATTRIBUTE_SEARCH_METADATA: Record<string, AttributeSearchMetadata>
brief: 'The time in milliseconds it takes for the browser to render the first pixel on the screen',
deprecationChain: ['browser.web_vital.fp.value', 'fp'],
},
'browser.web_vital.inp.input_delay': {
canonicalName: 'browser.web_vital.inp.input_delay',
type: 'double',
brief:
'The time between the user interacting with the page and the browser starting to run the event handlers, for the interaction INP was reported on, in milliseconds',
deprecationChain: ['browser.web_vital.inp.input_delay'],
},
'browser.web_vital.inp.interaction_type': {
canonicalName: 'browser.web_vital.inp.interaction_type',
type: 'string',
brief: 'The kind of user interaction INP was reported on',
deprecationChain: ['browser.web_vital.inp.interaction_type'],
},
'browser.web_vital.inp.presentation_delay': {
canonicalName: 'browser.web_vital.inp.presentation_delay',
type: 'double',
brief:
'The time between the event handlers finishing and the browser presenting the next frame, for the interaction INP was reported on, in milliseconds',
deprecationChain: ['browser.web_vital.inp.presentation_delay'],
},
'browser.web_vital.inp.processing_duration': {
canonicalName: 'browser.web_vital.inp.processing_duration',
type: 'double',
brief: 'The time it took the event handlers to run, for the interaction INP was reported on, in milliseconds',
deprecationChain: ['browser.web_vital.inp.processing_duration'],
},
'browser.web_vital.inp.target': {
canonicalName: 'browser.web_vital.inp.target',
type: 'string',
Expand All @@ -7348,6 +7404,12 @@ export const ATTRIBUTE_SEARCH_METADATA: Record<string, AttributeSearchMetadata>
brief: 'The HTML element selector or component name for which LCP was reported',
deprecationChain: ['browser.web_vital.lcp.element', 'lcp.element'],
},
'browser.web_vital.lcp.element_render_delay': {
canonicalName: 'browser.web_vital.lcp.element_render_delay',
type: 'double',
brief: 'The time between the LCP resource finishing loading and the LCP element being rendered, in milliseconds',
deprecationChain: ['browser.web_vital.lcp.element_render_delay'],
},
'browser.web_vital.lcp.id': {
canonicalName: 'browser.web_vital.lcp.id',
type: 'string',
Expand All @@ -7373,6 +7435,19 @@ export const ATTRIBUTE_SEARCH_METADATA: Record<string, AttributeSearchMetadata>
deprecated: true,
deprecationChain: ['browser.web_vital.lcp.report_event'],
},
'browser.web_vital.lcp.resource_load_delay': {
canonicalName: 'browser.web_vital.lcp.resource_load_delay',
type: 'double',
brief:
'The time between the first byte of the document arriving and the browser starting to load the LCP resource, in milliseconds',
deprecationChain: ['browser.web_vital.lcp.resource_load_delay'],
},
'browser.web_vital.lcp.resource_load_duration': {
canonicalName: 'browser.web_vital.lcp.resource_load_duration',
type: 'double',
brief: 'The time it took to load the LCP resource, in milliseconds',
deprecationChain: ['browser.web_vital.lcp.resource_load_duration'],
},
'browser.web_vital.lcp.size': {
canonicalName: 'browser.web_vital.lcp.size',
type: 'integer',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.inp.input_delay",
"brief": "The time between the user interacting with the page and the browser starting to run the event handlers, for the interaction INP was reported on, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [120.0],
"additional_context": [
"One of the three INP subparts, which add up to `browser.web_vital.inp.value`: input delay, processing duration and presentation delay. Named after `inputDelay` in the web-vitals attribution build.",
"Measured from the interaction's `PerformanceEventTiming` entry as `processingStart` minus `startTime`.",
"Omitted when INP is reported without an interaction to attribute it to, like `browser.web_vital.inp.target`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.inp.input_delay attribute"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.inp.presentation_delay",
"brief": "The time between the event handlers finishing and the browser presenting the next frame, for the interaction INP was reported on, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [100.0],
"additional_context": [
"One of the three INP subparts, which add up to `browser.web_vital.inp.value`. Named after `presentationDelay` in the web-vitals attribution build.",
"Measured from the interaction's `PerformanceEventTiming` entry as `startTime` plus `duration` minus `processingEnd`.",
"Omitted when INP is reported without an interaction to attribute it to, like `browser.web_vital.inp.target`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.inp.presentation_delay attribute"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.inp.processing_duration",
"brief": "The time it took the event handlers to run, for the interaction INP was reported on, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [140.0],
"additional_context": [
"One of the three INP subparts, which add up to `browser.web_vital.inp.value`. Named after `processingDuration` in the web-vitals attribution build.",
"Measured from the interaction's `PerformanceEventTiming` entry as `processingEnd` minus `processingStart`.",
"Omitted when INP is reported without an interaction to attribute it to, like `browser.web_vital.inp.target`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.inp.processing_duration attribute"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.lcp.element_render_delay",
"brief": "The time between the LCP resource finishing loading and the LCP element being rendered, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [410.0],
"additional_context": [
"One of the four LCP subparts, which add up to `browser.web_vital.lcp.value`. Named after `elementRenderDelay` in the web-vitals attribution build.",
"Measured as the LCP value minus the LCP resource's `responseEnd`. When the LCP element is text, it covers all time after TTFB.",
"For a prerendered page, timestamps are measured from `activationStart`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.lcp.element_render_delay attribute"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.lcp.resource_load_delay",
"brief": "The time between the first byte of the document arriving and the browser starting to load the LCP resource, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [320.5],
"additional_context": [
"One of the four LCP subparts, which add up to `browser.web_vital.lcp.value`: TTFB (`browser.web_vital.ttfb.value`), resource load delay, resource load duration and element render delay. Named after `resourceLoadDelay` in the web-vitals attribution build.",
"Measured as the LCP resource's `requestStart` (or `startTime` when `requestStart` is not exposed) minus TTFB. It is 0 when the LCP element is text, since no resource is loaded.",
"For a prerendered page, timestamps are measured from `activationStart`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.lcp.resource_load_delay attribute"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"key": "browser.web_vital.lcp.resource_load_duration",
"brief": "The time it took to load the LCP resource, in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [780.2],
"additional_context": [
"One of the four LCP subparts, which add up to `browser.web_vital.lcp.value`. Named after `resourceLoadDuration` in the web-vitals attribution build.",
"Measured as the LCP resource's `responseEnd` minus its `requestStart` (or `startTime` when `requestStart` is not exposed). It is 0 when the LCP element is text, since no resource is loaded.",
"For a prerendered page, timestamps are measured from `activationStart`."
],
"changelog": [
{
"version": "next",
"prs": [712],
"description": "Added browser.web_vital.lcp.resource_load_duration attribute"
}
]
}
Loading
Loading