diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index f150f98ea1..549149172b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -5177,6 +5177,12 @@ components: example: 54.0 format: double type: number + local_cache_count: + description: Number of requests served from the local browser cache without a network round trip. + example: 20 + format: int32 + maximum: 2147483647 + type: integer max_duration_ms: description: Maximum duration in milliseconds. example: 945.6 @@ -5192,6 +5198,12 @@ components: example: 812.7 format: double type: number + non_blocking_count: + description: Number of requests reported by the browser as non-render-blocking. + example: 23 + format: int32 + maximum: 2147483647 + type: integer p75_duration_ms: description: 75th percentile duration in milliseconds. example: 844.1 @@ -5202,6 +5214,17 @@ components: example: 861.8 format: double type: number + render_blocking_count: + description: Number of requests reported by the browser as render-blocking. + example: 4 + format: int32 + maximum: 2147483647 + type: integer + render_blocking_pct: + description: Percentage of render-blocking requests among those reporting a render-blocking status. + example: 14.8 + format: double + type: number resource_type: description: Resource type (JS, CSS, image, fetch, XHR, document, and so on). example: fetch @@ -5211,6 +5234,12 @@ components: description: URL path group used to aggregate similar resources. example: /api/gallery type: string + server_validated_cache_count: + description: Number of cached requests revalidated by the server with a 304 response. + example: 7 + format: int32 + maximum: 2147483647 + type: integer timing_breakdown: $ref: "#/components/schemas/AggregatedResourceTimingBreakdown" total_requests: @@ -5243,6 +5272,11 @@ components: - cached_count - downloaded_count - cache_hit_rate_pct + - render_blocking_count + - non_blocking_count + - render_blocking_pct + - local_cache_count + - server_validated_cache_count type: object AggregatedResourceTimingBreakdown: description: Average timing breakdown per network phase for a resource. @@ -5709,7 +5743,7 @@ components: example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b type: string criteria: - $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria" + $ref: "#/components/schemas/AggregatedWaterfallResponseAttributesCriteria" from: description: Start of the analyzed time range as a Unix timestamp in seconds. example: 1762437564 @@ -5754,10 +5788,30 @@ components: - view_count - from - to + - criteria - sampled_view_ids - total_cache_hit_rate_pct - resources type: object + AggregatedWaterfallResponseAttributesCriteria: + description: Performance criteria used to filter view instances by a metric threshold, or null if no criteria were applied. + nullable: true + properties: + max: + description: Maximum threshold in seconds (inclusive). + example: 5.0 + format: double + type: number + metric: + $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteriaMetric" + min: + description: Minimum threshold in seconds (inclusive). + example: 2.5 + format: double + type: number + required: + - metric + type: object AggregatedWaterfallResponseData: description: Data envelope for an aggregated waterfall response. properties: @@ -198387,13 +198441,18 @@ paths: downloaded_count: 0 http_method: GET load_frequency_pct: 54.0 + local_cache_count: 20 max_duration_ms: 945.6 median_duration_ms: 836.2 min_duration_ms: 812.7 + non_blocking_count: 23 p75_duration_ms: 844.1 p95_duration_ms: 861.8 + render_blocking_count: 4 + render_blocking_pct: 14.8 resource_type: fetch resource_url_path_group: /api/gallery + server_validated_cache_count: 7 timing_breakdown: avg_connect_ms: 0.0 avg_dns_ms: 0.0 diff --git a/src/datadog_api_client/v2/model/aggregated_resource.py b/src/datadog_api_client/v2/model/aggregated_resource.py index 6ca2754f21..af415dbbec 100644 --- a/src/datadog_api_client/v2/model/aggregated_resource.py +++ b/src/datadog_api_client/v2/model/aggregated_resource.py @@ -29,6 +29,18 @@ class AggregatedResource(ModelNormal): "global_view_name_count": { "inclusive_maximum": 2147483647, }, + "local_cache_count": { + "inclusive_maximum": 2147483647, + }, + "non_blocking_count": { + "inclusive_maximum": 2147483647, + }, + "render_blocking_count": { + "inclusive_maximum": 2147483647, + }, + "server_validated_cache_count": { + "inclusive_maximum": 2147483647, + }, "total_requests": { "inclusive_maximum": 2147483647, }, @@ -52,13 +64,18 @@ def openapi_types(_): "global_view_name_pct": (float,), "http_method": (str, none_type), "load_frequency_pct": (float,), + "local_cache_count": (int,), "max_duration_ms": (float,), "median_duration_ms": (float,), "min_duration_ms": (float,), + "non_blocking_count": (int,), "p75_duration_ms": (float,), "p95_duration_ms": (float,), + "render_blocking_count": (int,), + "render_blocking_pct": (float,), "resource_type": (str, none_type), "resource_url_path_group": (str,), + "server_validated_cache_count": (int,), "timing_breakdown": (AggregatedResourceTimingBreakdown,), "total_requests": (int,), "views_with_resource": (int,), @@ -75,13 +92,18 @@ def openapi_types(_): "global_view_name_pct": "global_view_name_pct", "http_method": "http_method", "load_frequency_pct": "load_frequency_pct", + "local_cache_count": "local_cache_count", "max_duration_ms": "max_duration_ms", "median_duration_ms": "median_duration_ms", "min_duration_ms": "min_duration_ms", + "non_blocking_count": "non_blocking_count", "p75_duration_ms": "p75_duration_ms", "p95_duration_ms": "p95_duration_ms", + "render_blocking_count": "render_blocking_count", + "render_blocking_pct": "render_blocking_pct", "resource_type": "resource_type", "resource_url_path_group": "resource_url_path_group", + "server_validated_cache_count": "server_validated_cache_count", "timing_breakdown": "timing_breakdown", "total_requests": "total_requests", "views_with_resource": "views_with_resource", @@ -96,13 +118,18 @@ def __init__( downloaded_count: int, http_method: Union[str, none_type], load_frequency_pct: float, + local_cache_count: int, max_duration_ms: float, median_duration_ms: float, min_duration_ms: float, + non_blocking_count: int, p75_duration_ms: float, p95_duration_ms: float, + render_blocking_count: int, + render_blocking_pct: float, resource_type: Union[str, none_type], resource_url_path_group: str, + server_validated_cache_count: int, timing_breakdown: AggregatedResourceTimingBreakdown, total_requests: int, views_with_resource: int, @@ -144,6 +171,9 @@ def __init__( :param load_frequency_pct: Percentage of sampled view instances that loaded this resource. :type load_frequency_pct: float + :param local_cache_count: Number of requests served from the local browser cache without a network round trip. + :type local_cache_count: int + :param max_duration_ms: Maximum duration in milliseconds. :type max_duration_ms: float @@ -153,18 +183,30 @@ def __init__( :param min_duration_ms: Minimum duration in milliseconds. :type min_duration_ms: float + :param non_blocking_count: Number of requests reported by the browser as non-render-blocking. + :type non_blocking_count: int + :param p75_duration_ms: 75th percentile duration in milliseconds. :type p75_duration_ms: float :param p95_duration_ms: 95th percentile duration in milliseconds. :type p95_duration_ms: float + :param render_blocking_count: Number of requests reported by the browser as render-blocking. + :type render_blocking_count: int + + :param render_blocking_pct: Percentage of render-blocking requests among those reporting a render-blocking status. + :type render_blocking_pct: float + :param resource_type: Resource type (JS, CSS, image, fetch, XHR, document, and so on). :type resource_type: str, none_type :param resource_url_path_group: URL path group used to aggregate similar resources. :type resource_url_path_group: str + :param server_validated_cache_count: Number of cached requests revalidated by the server with a 304 response. + :type server_validated_cache_count: int + :param timing_breakdown: Average timing breakdown per network phase for a resource. :type timing_breakdown: AggregatedResourceTimingBreakdown @@ -189,13 +231,18 @@ def __init__( self_.downloaded_count = downloaded_count self_.http_method = http_method self_.load_frequency_pct = load_frequency_pct + self_.local_cache_count = local_cache_count self_.max_duration_ms = max_duration_ms self_.median_duration_ms = median_duration_ms self_.min_duration_ms = min_duration_ms + self_.non_blocking_count = non_blocking_count self_.p75_duration_ms = p75_duration_ms self_.p95_duration_ms = p95_duration_ms + self_.render_blocking_count = render_blocking_count + self_.render_blocking_pct = render_blocking_pct self_.resource_type = resource_type self_.resource_url_path_group = resource_url_path_group + self_.server_validated_cache_count = server_validated_cache_count self_.timing_breakdown = timing_breakdown self_.total_requests = total_requests self_.views_with_resource = views_with_resource diff --git a/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes.py b/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes.py index e203061d2b..cb98c3a3e3 100644 --- a/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes.py +++ b/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes.py @@ -8,14 +8,13 @@ from datadog_api_client.model_utils import ( ModelNormal, cached_property, - unset, - UnsetType, + none_type, ) if TYPE_CHECKING: - from datadog_api_client.v2.model.aggregated_waterfall_performance_criteria import ( - AggregatedWaterfallPerformanceCriteria, + from datadog_api_client.v2.model.aggregated_waterfall_response_attributes_criteria import ( + AggregatedWaterfallResponseAttributesCriteria, ) from datadog_api_client.v2.model.aggregated_resource import AggregatedResource @@ -29,14 +28,14 @@ class AggregatedWaterfallResponseAttributes(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.aggregated_waterfall_performance_criteria import ( - AggregatedWaterfallPerformanceCriteria, + from datadog_api_client.v2.model.aggregated_waterfall_response_attributes_criteria import ( + AggregatedWaterfallResponseAttributesCriteria, ) from datadog_api_client.v2.model.aggregated_resource import AggregatedResource return { "application_id": (str,), - "criteria": (AggregatedWaterfallPerformanceCriteria,), + "criteria": (AggregatedWaterfallResponseAttributesCriteria,), "_from": (int,), "resources": ([AggregatedResource],), "sampled_view_ids": ([str],), @@ -61,6 +60,7 @@ def openapi_types(_): def __init__( self_, application_id: str, + criteria: Union[AggregatedWaterfallResponseAttributesCriteria, none_type], _from: int, resources: List[AggregatedResource], sampled_view_ids: List[str], @@ -68,7 +68,6 @@ def __init__( total_cache_hit_rate_pct: float, view_count: int, view_name: str, - criteria: Union[AggregatedWaterfallPerformanceCriteria, UnsetType] = unset, **kwargs, ): """ @@ -77,8 +76,8 @@ def __init__( :param application_id: The RUM application ID that was analyzed. :type application_id: str - :param criteria: Performance criteria to filter view instances by a metric threshold. - :type criteria: AggregatedWaterfallPerformanceCriteria, optional + :param criteria: Performance criteria used to filter view instances by a metric threshold, or null if no criteria were applied. + :type criteria: AggregatedWaterfallResponseAttributesCriteria, none_type :param _from: Start of the analyzed time range as a Unix timestamp in seconds. :type _from: int @@ -101,11 +100,10 @@ def __init__( :param view_name: The RUM view name that was analyzed. :type view_name: str """ - if criteria is not unset: - kwargs["criteria"] = criteria super().__init__(kwargs) self_.application_id = application_id + self_.criteria = criteria self_._from = _from self_.resources = resources self_.sampled_view_ids = sampled_view_ids diff --git a/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes_criteria.py b/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes_criteria.py new file mode 100644 index 0000000000..325dadbfdc --- /dev/null +++ b/src/datadog_api_client/v2/model/aggregated_waterfall_response_attributes_criteria.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aggregated_waterfall_performance_criteria_metric import ( + AggregatedWaterfallPerformanceCriteriaMetric, + ) + + +class AggregatedWaterfallResponseAttributesCriteria(ModelNormal): + _nullable = True + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aggregated_waterfall_performance_criteria_metric import ( + AggregatedWaterfallPerformanceCriteriaMetric, + ) + + return { + "max": (float,), + "metric": (AggregatedWaterfallPerformanceCriteriaMetric,), + "min": (float,), + } + + attribute_map = { + "max": "max", + "metric": "metric", + "min": "min", + } + + def __init__( + self_, + metric: AggregatedWaterfallPerformanceCriteriaMetric, + max: Union[float, UnsetType] = unset, + min: Union[float, UnsetType] = unset, + **kwargs, + ): + """ + Performance criteria used to filter view instances by a metric threshold, or null if no criteria were applied. + + :param max: Maximum threshold in seconds (inclusive). + :type max: float, optional + + :param metric: Performance metric used to filter view instances by threshold. + :type metric: AggregatedWaterfallPerformanceCriteriaMetric + + :param min: Minimum threshold in seconds (inclusive). + :type min: float, optional + """ + if max is not unset: + kwargs["max"] = max + if min is not unset: + kwargs["min"] = min + super().__init__(kwargs) + + self_.metric = metric diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 2fc69440f5..9a958f0ea6 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -249,6 +249,9 @@ from datadog_api_client.v2.model.aggregated_waterfall_request_type import AggregatedWaterfallRequestType from datadog_api_client.v2.model.aggregated_waterfall_response import AggregatedWaterfallResponse from datadog_api_client.v2.model.aggregated_waterfall_response_attributes import AggregatedWaterfallResponseAttributes +from datadog_api_client.v2.model.aggregated_waterfall_response_attributes_criteria import ( + AggregatedWaterfallResponseAttributesCriteria, +) from datadog_api_client.v2.model.aggregated_waterfall_response_data import AggregatedWaterfallResponseData from datadog_api_client.v2.model.ai_custom_rule_data_type import AiCustomRuleDataType from datadog_api_client.v2.model.ai_custom_rule_item import AiCustomRuleItem @@ -11731,6 +11734,7 @@ "AggregatedWaterfallRequestType", "AggregatedWaterfallResponse", "AggregatedWaterfallResponseAttributes", + "AggregatedWaterfallResponseAttributesCriteria", "AggregatedWaterfallResponseData", "AiCustomRuleDataType", "AiCustomRuleItem",