Skip to content

Add Product Scales support to RUM v2 Applications API #2663

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
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
4 changes: 2 additions & 2 deletions .generated-info
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"spec_repo_commit": "fde8b90",
"generated": "2025-08-18 20:32:20.186"
"spec_repo_commit": "4413e63",
"generated": "2025-08-19 20:28:35.046"
}
72 changes: 72 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32160,6 +32160,8 @@ components:
format: int32
maximum: 2147483647
type: integer
product_scales:
$ref: '#/components/schemas/RUMProductScales'
type:
description: Type of the RUM application. Supported values are `browser`,
`ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`,
Expand Down Expand Up @@ -32204,6 +32206,10 @@ components:
description: Name of the RUM application.
example: my_new_rum_application
type: string
product_analytics_retention_state:
$ref: '#/components/schemas/RUMProductAnalyticsRetentionState'
rum_event_processing_state:
$ref: '#/components/schemas/RUMEventProcessingState'
type:
description: Type of the RUM application. Supported values are `browser`,
`ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`,
Expand Down Expand Up @@ -32278,6 +32284,8 @@ components:
format: int32
maximum: 2147483647
type: integer
product_scales:
$ref: '#/components/schemas/RUMProductScales'
type:
description: Type of the RUM application. Supported values are `browser`,
`ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`,
Expand Down Expand Up @@ -32349,6 +32357,10 @@ components:
description: Name of the RUM application.
example: updated_name_for_my_existing_rum_application
type: string
product_analytics_retention_state:
$ref: '#/components/schemas/RUMProductAnalyticsRetentionState'
rum_event_processing_state:
$ref: '#/components/schemas/RUMEventProcessingState'
type:
description: Type of the RUM application. Supported values are `browser`,
`ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`,
Expand Down Expand Up @@ -32477,6 +32489,33 @@ components:
format: date-time
type: string
type: object
RUMEventProcessingScale:
description: RUM event processing scale configuration.
properties:
last_modified_at:
description: Timestamp in milliseconds when this scale was last modified.
example: 1721897494108
format: int64
type: integer
state:
$ref: '#/components/schemas/RUMEventProcessingState'
type: object
RUMEventProcessingState:
description: Configures which RUM events are processed and stored for the application.
enum:
- ALL
- ERROR_FOCUSED_MODE
- NONE
example: ALL
type: string
x-enum-descriptions:
- Process and store all RUM events (sessions, views, actions, resources, errors)
- Process and store only error events and related critical events
- "Disable RUM event processing\u2014no events are stored"
x-enum-varnames:
- ALL
- ERROR_FOCUSED_MODE
- NONE
RUMEventType:
default: rum
description: Type of the event.
Expand Down Expand Up @@ -32583,6 +32622,39 @@ components:
RUMGroupByTotalString:
description: A string to use as the key value for the total bucket.
type: string
RUMProductAnalyticsRetentionScale:
description: Product Analytics retention scale configuration.
properties:
last_modified_at:
description: Timestamp in milliseconds when this scale was last modified.
example: 1747922145974
format: int64
type: integer
state:
$ref: '#/components/schemas/RUMProductAnalyticsRetentionState'
type: object
RUMProductAnalyticsRetentionState:
description: Controls the retention policy for Product Analytics data derived
from RUM events.
enum:
- MAX
- NONE
example: MAX
type: string
x-enum-descriptions:
- Store Product Analytics data for the maximum available retention period
- Do not store Product Analytics data
x-enum-varnames:
- MAX
- NONE
RUMProductScales:
description: Product Scales configuration for the RUM application.
properties:
product_analytics_retention_scale:
$ref: '#/components/schemas/RUMProductAnalyticsRetentionScale'
rum_event_processing_scale:
$ref: '#/components/schemas/RUMEventProcessingScale'
type: object
RUMQueryFilter:
description: The search and filter query settings.
properties:
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"2024-12-10T15:40:39.991Z"
"2025-08-19T14:20:13.721Z"
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"entries": [
{
"_id": "f45a54cf4611777450adc217a52ccbee",
"_id": "e41f31959d1df3403a2fa6f426da52c8",
"_order": 0,
"cache": {},
"request": {
Expand All @@ -32,17 +32,17 @@
"postData": {
"mimeType": "application/json",
"params": [],
"text": "{\"data\":{\"attributes\":{\"name\":\"test-rum-5be7aad200899ffd\",\"type\":\"ios\"},\"type\":\"rum_application_create\"}}"
"text": "{\"data\":{\"attributes\":{\"name\":\"test-rum-33452889744bdeee\",\"type\":\"ios\"},\"type\":\"rum_application_create\"}}"
},
"queryString": [],
"url": "https://api.datadoghq.com/api/v2/rum/applications"
},
"response": {
"bodySize": 672,
"bodySize": 703,
"content": {
"mimeType": "application/json",
"size": 672,
"text": "{\"data\":{\"type\":\"rum_application\",\"attributes\":{\"hash\":\"pub53e9a8788cac8b240efc0bfd17073059\",\"type\":\"ios\",\"name\":\"test-rum-5be7aad200899ffd\",\"tags\":[],\"created_at\":1733845240406,\"updated_at\":1733845240406,\"created_by_handle\":\"[email protected]\",\"rum_enabled_at\":1733845240406,\"org_id\":321813,\"updated_by_handle\":\"[email protected]\",\"product_analytics_disabled_at\":1733845240406,\"rum_enabled\":true,\"application_id\":\"2ce2bdc3-efa2-4182-9bc1-b75b2ff09be4\",\"product_analytics_enabled_at\":1733845240406,\"rum_disabled_at\":0,\"product_analytics_enabled\":false,\"is_active\":false,\"client_token\":\"pub53e9a8788cac8b240efc0bfd17073059\"},\"id\":\"2ce2bdc3-efa2-4182-9bc1-b75b2ff09be4\"}}\n"
"size": 703,
"text": "{\"data\":{\"type\":\"rum_application\",\"attributes\":{\"type\":\"ios\",\"updated_at\":1755613213992,\"created_by_handle\":\"[email protected]\",\"name\":\"test-rum-33452889744bdeee\",\"org_id\":321813,\"tags\":[],\"created_at\":1755613213992,\"product_analytics_replay_sample_rate\":100,\"product_scales\":{\"product_analytics_retention_scale\":{\"state\":\"NONE\",\"last_modified_at\":1755613213992},\"rum_event_processing_scale\":{\"state\":\"ALL\",\"last_modified_at\":1755613213992}},\"updated_by_handle\":\"[email protected]\",\"application_id\":\"ee0b4d74-7159-4498-bec7-2b4f2b5ba642\",\"client_token\":\"pub994be67f562b7afec4436673d77927fe\",\"hash\":\"pub994be67f562b7afec4436673d77927fe\",\"is_active\":false},\"id\":\"ee0b4d74-7159-4498-bec7-2b4f2b5ba642\"}}\n"
},
"cookies": [],
"headers": [
Expand All @@ -51,17 +51,17 @@
"value": "application/json"
}
],
"headersSize": 662,
"headersSize": 693,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
"startedDateTime": "2024-12-10T15:40:39.995Z",
"time": 511
"startedDateTime": "2025-08-19T14:20:13.725Z",
"time": 426
},
{
"_id": "efe35e68a51ec2fa836cac138538c159",
"_id": "f697a7b3cb0a2b2c234966045cf59069",
"_order": 0,
"cache": {},
"request": {
Expand All @@ -78,7 +78,7 @@
"httpVersion": "HTTP/1.1",
"method": "DELETE",
"queryString": [],
"url": "https://api.datadoghq.com/api/v2/rum/applications/2ce2bdc3-efa2-4182-9bc1-b75b2ff09be4"
"url": "https://api.datadoghq.com/api/v2/rum/applications/ee0b4d74-7159-4498-bec7-2b4f2b5ba642"
},
"response": {
"bodySize": 0,
Expand All @@ -88,14 +88,14 @@
},
"cookies": [],
"headers": [],
"headersSize": 609,
"headersSize": 640,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 204,
"statusText": "No Content"
},
"startedDateTime": "2024-12-10T15:40:40.521Z",
"time": 576
"startedDateTime": "2025-08-19T14:20:14.169Z",
"time": 288
}
],
"pages": [],
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"2025-08-19T14:01:52.966Z"
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"log": {
"_recordingName": "RUM/Create a new RUM application with Product Scales returns \"OK\" response",
"creator": {
"comment": "persister:fs",
"name": "Polly.JS",
"version": "6.0.5"
},
"entries": [
{
"_id": "8985cfdea52182e0075eb82e0a29194f",
"_order": 0,
"cache": {},
"request": {
"bodySize": 222,
"cookies": [],
"headers": [
{
"_fromType": "array",
"name": "accept",
"value": "application/json"
},
{
"_fromType": "array",
"name": "content-type",
"value": "application/json"
}
],
"headersSize": 571,
"httpVersion": "HTTP/1.1",
"method": "POST",
"postData": {
"mimeType": "application/json",
"params": [],
"text": "{\"data\":{\"attributes\":{\"name\":\"test-rum-with-product-scales-b91c7f54876a951d\",\"product_analytics_retention_state\":\"NONE\",\"rum_event_processing_state\":\"ERROR_FOCUSED_MODE\",\"type\":\"browser\"},\"type\":\"rum_application_create\"}}"
},
"queryString": [],
"url": "https://api.datadoghq.com/api/v2/rum/applications"
},
"response": {
"bodySize": 742,
"content": {
"mimeType": "application/json",
"size": 742,
"text": "{\"data\":{\"type\":\"rum_application\",\"id\":\"51419fd9-a73f-4508-9f74-ad07d6669a47\",\"attributes\":{\"hash\":\"pub6c464316cf5deccd2f56a23dbacd996e\",\"type\":\"browser\",\"org_id\":321813,\"updated_at\":1755612113258,\"name\":\"test-rum-with-product-scales-b91c7f54876a951d\",\"product_scales\":{\"product_analytics_retention_scale\":{\"state\":\"NONE\",\"last_modified_at\":1755612113258},\"rum_event_processing_scale\":{\"state\":\"ERROR_FOCUSED_MODE\",\"last_modified_at\":1755612113258}},\"created_at\":1755612113258,\"tags\":[],\"is_active\":false,\"updated_by_handle\":\"[email protected]\",\"client_token\":\"pub6c464316cf5deccd2f56a23dbacd996e\",\"created_by_handle\":\"[email protected]\",\"application_id\":\"51419fd9-a73f-4508-9f74-ad07d6669a47\",\"product_analytics_replay_sample_rate\":100}}}\n"
},
"cookies": [],
"headers": [
{
"name": "content-type",
"value": "application/json"
}
],
"headersSize": 692,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
"startedDateTime": "2025-08-19T14:01:52.969Z",
"time": 480
},
{
"_id": "abd645124f297a4c7af9c283c4e567c7",
"_order": 0,
"cache": {},
"request": {
"bodySize": 0,
"cookies": [],
"headers": [
{
"_fromType": "array",
"name": "accept",
"value": "*/*"
}
],
"headersSize": 544,
"httpVersion": "HTTP/1.1",
"method": "DELETE",
"queryString": [],
"url": "https://api.datadoghq.com/api/v2/rum/applications/51419fd9-a73f-4508-9f74-ad07d6669a47"
},
"response": {
"bodySize": 0,
"content": {
"mimeType": "text/plain",
"size": 0
},
"cookies": [],
"headers": [],
"headersSize": 639,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 204,
"statusText": "No Content"
},
"startedDateTime": "2025-08-19T14:01:53.462Z",
"time": 302
}
],
"pages": [],
"version": "1.2"
}
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"2024-12-10T15:40:43.594Z"
"2025-08-19T14:03:19.778Z"
Loading