diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index f150f98ea1a9..549149172b12 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/services/rum_insights/src/v2/index.ts b/services/rum_insights/src/v2/index.ts index e98728661e5b..1e83f2276189 100644 --- a/services/rum_insights/src/v2/index.ts +++ b/services/rum_insights/src/v2/index.ts @@ -38,6 +38,7 @@ export { AggregatedWaterfallRequestData } from "./models/AggregatedWaterfallRequ export { AggregatedWaterfallRequestType } from "./models/AggregatedWaterfallRequestType"; export { AggregatedWaterfallResponse } from "./models/AggregatedWaterfallResponse"; export { AggregatedWaterfallResponseAttributes } from "./models/AggregatedWaterfallResponseAttributes"; +export { AggregatedWaterfallResponseAttributesCriteria } from "./models/AggregatedWaterfallResponseAttributesCriteria"; export { AggregatedWaterfallResponseData } from "./models/AggregatedWaterfallResponseData"; export { APIErrorResponse } from "./models/APIErrorResponse"; export { JSONAPIErrorItem } from "./models/JSONAPIErrorItem"; diff --git a/services/rum_insights/src/v2/models/AggregatedResource.ts b/services/rum_insights/src/v2/models/AggregatedResource.ts index 98f58438f5a1..a24411e9aea5 100644 --- a/services/rum_insights/src/v2/models/AggregatedResource.ts +++ b/services/rum_insights/src/v2/models/AggregatedResource.ts @@ -46,6 +46,10 @@ export class AggregatedResource { * Percentage of sampled view instances that loaded this resource. */ "loadFrequencyPct": number; + /** + * Number of requests served from the local browser cache without a network round trip. + */ + "localCacheCount": number; /** * Maximum duration in milliseconds. */ @@ -58,6 +62,10 @@ export class AggregatedResource { * Minimum duration in milliseconds. */ "minDurationMs": number; + /** + * Number of requests reported by the browser as non-render-blocking. + */ + "nonBlockingCount": number; /** * 75th percentile duration in milliseconds. */ @@ -66,6 +74,14 @@ export class AggregatedResource { * 95th percentile duration in milliseconds. */ "p95DurationMs": number; + /** + * Number of requests reported by the browser as render-blocking. + */ + "renderBlockingCount": number; + /** + * Percentage of render-blocking requests among those reporting a render-blocking status. + */ + "renderBlockingPct": number; /** * Resource type (JS, CSS, image, fetch, XHR, document, and so on). */ @@ -74,6 +90,10 @@ export class AggregatedResource { * URL path group used to aggregate similar resources. */ "resourceUrlPathGroup": string; + /** + * Number of cached requests revalidated by the server with a 304 response. + */ + "serverValidatedCacheCount": number; /** * Average timing breakdown per network phase for a resource. */ @@ -157,6 +177,12 @@ export class AggregatedResource { required: true, format: "double", }, + localCacheCount: { + baseName: "local_cache_count", + type: "number", + required: true, + format: "int32", + }, maxDurationMs: { baseName: "max_duration_ms", type: "number", @@ -175,6 +201,12 @@ export class AggregatedResource { required: true, format: "double", }, + nonBlockingCount: { + baseName: "non_blocking_count", + type: "number", + required: true, + format: "int32", + }, p75DurationMs: { baseName: "p75_duration_ms", type: "number", @@ -187,6 +219,18 @@ export class AggregatedResource { required: true, format: "double", }, + renderBlockingCount: { + baseName: "render_blocking_count", + type: "number", + required: true, + format: "int32", + }, + renderBlockingPct: { + baseName: "render_blocking_pct", + type: "number", + required: true, + format: "double", + }, resourceType: { baseName: "resource_type", type: "string", @@ -197,6 +241,12 @@ export class AggregatedResource { type: "string", required: true, }, + serverValidatedCacheCount: { + baseName: "server_validated_cache_count", + type: "number", + required: true, + format: "int32", + }, timingBreakdown: { baseName: "timing_breakdown", type: "AggregatedResourceTimingBreakdown", diff --git a/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributes.ts b/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributes.ts index 6f9f9c708699..dc29748435ff 100644 --- a/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributes.ts +++ b/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributes.ts @@ -1,7 +1,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { AggregatedResource } from "./AggregatedResource"; -import { AggregatedWaterfallPerformanceCriteria } from "./AggregatedWaterfallPerformanceCriteria"; +import { AggregatedWaterfallResponseAttributesCriteria } from "./AggregatedWaterfallResponseAttributesCriteria"; /** * Attributes of an aggregated waterfall response. @@ -12,9 +12,9 @@ export class AggregatedWaterfallResponseAttributes { */ "applicationId": string; /** - * Performance criteria to filter view instances by a metric threshold. + * Performance criteria used to filter view instances by a metric threshold, or null if no criteria were applied. */ - "criteria"?: AggregatedWaterfallPerformanceCriteria; + "criteria": AggregatedWaterfallResponseAttributesCriteria | null; /** * Start of the analyzed time range as a Unix timestamp in seconds. */ @@ -65,7 +65,8 @@ export class AggregatedWaterfallResponseAttributes { }, criteria: { baseName: "criteria", - type: "AggregatedWaterfallPerformanceCriteria", + type: "AggregatedWaterfallResponseAttributesCriteria", + required: true, }, from: { baseName: "from", diff --git a/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributesCriteria.ts b/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributesCriteria.ts new file mode 100644 index 000000000000..46b0d90b0b0a --- /dev/null +++ b/services/rum_insights/src/v2/models/AggregatedWaterfallResponseAttributesCriteria.ts @@ -0,0 +1,65 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { AggregatedWaterfallPerformanceCriteriaMetric } from "./AggregatedWaterfallPerformanceCriteriaMetric"; + +/** + * Performance criteria used to filter view instances by a metric threshold, or null if no criteria were applied. + */ +export class AggregatedWaterfallResponseAttributesCriteria { + /** + * Maximum threshold in seconds (inclusive). + */ + "max"?: number; + /** + * Performance metric used to filter view instances by threshold. + */ + "metric": AggregatedWaterfallPerformanceCriteriaMetric; + /** + * Minimum threshold in seconds (inclusive). + */ + "min"?: number; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + max: { + baseName: "max", + type: "number", + format: "double", + }, + metric: { + baseName: "metric", + type: "AggregatedWaterfallPerformanceCriteriaMetric", + required: true, + }, + min: { + baseName: "min", + type: "number", + format: "double", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AggregatedWaterfallResponseAttributesCriteria.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/rum_insights/src/v2/models/TypingInfo.ts b/services/rum_insights/src/v2/models/TypingInfo.ts index 902e8f0166c2..e4fd8e525ef7 100644 --- a/services/rum_insights/src/v2/models/TypingInfo.ts +++ b/services/rum_insights/src/v2/models/TypingInfo.ts @@ -30,6 +30,7 @@ import { AggregatedWaterfallRequestAttributes } from "./AggregatedWaterfallReque import { AggregatedWaterfallRequestData } from "./AggregatedWaterfallRequestData"; import { AggregatedWaterfallResponse } from "./AggregatedWaterfallResponse"; import { AggregatedWaterfallResponseAttributes } from "./AggregatedWaterfallResponseAttributes"; +import { AggregatedWaterfallResponseAttributesCriteria } from "./AggregatedWaterfallResponseAttributesCriteria"; import { AggregatedWaterfallResponseData } from "./AggregatedWaterfallResponseData"; import { JSONAPIErrorItem } from "./JSONAPIErrorItem"; import { JSONAPIErrorItemSource } from "./JSONAPIErrorItemSource"; @@ -91,6 +92,8 @@ export const TypingInfo: ModelTypingInfo = { AggregatedWaterfallResponse: AggregatedWaterfallResponse, AggregatedWaterfallResponseAttributes: AggregatedWaterfallResponseAttributes, + AggregatedWaterfallResponseAttributesCriteria: + AggregatedWaterfallResponseAttributesCriteria, AggregatedWaterfallResponseData: AggregatedWaterfallResponseData, JSONAPIErrorItem: JSONAPIErrorItem, JSONAPIErrorItemSource: JSONAPIErrorItemSource,