diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index b4cbd81ddfa..6f886597cc6 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -3878,6 +3878,1008 @@ components:
- id
- base_severity
type: object
+ AggregatedHighFrozenFrameRate:
+ description: Aggregated high frozen frame rate detection at view level.
+ properties:
+ avg_frozen_frame_rate:
+ description: Average frozen frame rate as a fraction of total frames.
+ example: 0.15
+ format: double
+ type: number
+ avg_segment_duration:
+ description: Average segment duration in nanoseconds.
+ example: 3000000000
+ format: int64
+ type: integer
+ avg_total_frozen_duration:
+ description: Average total frozen duration in nanoseconds.
+ example: 500000000
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$mno345
+ type: string
+ impact_score:
+ description: Impact score for this detection.
+ example: 14.0
+ format: double
+ type: number
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 5
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - view_occurrences
+ - avg_frozen_frame_rate
+ - avg_total_frozen_duration
+ - avg_segment_duration
+ - impact_score
+ type: object
+ AggregatedHighScriptEval:
+ description: Aggregated high script evaluation detection grouped by source.
+ properties:
+ avg_duration:
+ description: Average script evaluation duration in nanoseconds.
+ example: 300000000
+ format: int64
+ type: integer
+ avg_forced_style_layout:
+ description: Average forced style/layout duration in nanoseconds.
+ example: 0
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$7766a8c2180aa153f5526ba8868999f8
+ type: string
+ impact_score:
+ description: Impact score combining view frequency and duration severity.
+ example: 30.0
+ format: double
+ type: number
+ instance_count:
+ description: Total number of detection instances across sampled views.
+ example: 3
+ format: int32
+ maximum: 2147483647
+ type: integer
+ invoker_type:
+ description: Type of invoker that triggered the script evaluation.
+ example: user-callback
+ type: string
+ source_category:
+ description: Category of the script source.
+ example: third-party
+ nullable: true
+ type: string
+ source_function_name:
+ description: Name of the function that triggered the high script evaluation.
+ example: handleClick
+ type: string
+ source_url:
+ description: URL of the script that triggered the high script evaluation.
+ example: https://cdn.example.com/app.js
+ nullable: true
+ type: string
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 3
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - source_url
+ - source_function_name
+ - source_category
+ - invoker_type
+ - view_occurrences
+ - instance_count
+ - avg_duration
+ - avg_forced_style_layout
+ - impact_score
+ type: object
+ AggregatedLongTasksByInvokerType:
+ description: Aggregated long task statistics for a single invoker type.
+ properties:
+ criteria_view_occurrences:
+ description: Number of sampled views where this invoker type had long tasks contributing to the criteria metric.
+ example: 40
+ format: int32
+ maximum: 2147483647
+ type: integer
+ impact_score:
+ description: Rank-product impact score combining view frequency and blocking time severity.
+ example: 0.4
+ format: double
+ type: number
+ invoker_type:
+ description: Category of the long task invoker (for example, resolve-promise, user-callback).
+ example: resolve-promise
+ type: string
+ stats_per_view:
+ $ref: "#/components/schemas/LongTaskStatsPerView"
+ top_invokers:
+ description: Top invokers within this invoker type, sorted by impact score descending.
+ items:
+ $ref: "#/components/schemas/TopLongTaskInvoker"
+ type: array
+ view_occurrences:
+ description: Number of sampled views where this invoker type had any long tasks.
+ example: 68
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - invoker_type
+ - view_occurrences
+ - stats_per_view
+ - top_invokers
+ type: object
+ AggregatedLongTasksRequest:
+ description: Request body for the aggregated long tasks endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedLongTasksRequestData"
+ required:
+ - data
+ type: object
+ AggregatedLongTasksRequestAttributes:
+ description: Attributes for an aggregated long tasks query.
+ properties:
+ application_id:
+ description: The RUM application ID to analyze.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ filter:
+ description: RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ example: "@session.type:user"
+ type: string
+ from:
+ description: Start of the time range as a Unix timestamp in seconds.
+ example: 1762437564
+ format: int64
+ type: integer
+ sample_size:
+ description: Number of view instances to sample, between 1 and 500.
+ example: 20
+ format: int32
+ maximum: 500
+ minimum: 1
+ type: integer
+ to:
+ description: End of the time range as a Unix timestamp in seconds.
+ example: 1762523964
+ format: int64
+ type: integer
+ view_name:
+ description: The RUM view name to analyze (for example, /account/login).
+ example: /account/login(/:type)
+ type: string
+ required:
+ - application_id
+ - view_name
+ - from
+ - to
+ - sample_size
+ type: object
+ AggregatedLongTasksRequestData:
+ description: Data envelope for an aggregated long tasks request.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedLongTasksRequestAttributes"
+ type:
+ $ref: "#/components/schemas/AggregatedLongTasksRequestType"
+ required:
+ - type
+ - attributes
+ type: object
+ AggregatedLongTasksRequestType:
+ description: The JSON:API type for aggregated long tasks requests.
+ enum:
+ - aggregated_long_tasks
+ example: aggregated_long_tasks
+ type: string
+ x-enum-varnames:
+ - AGGREGATED_LONG_TASKS
+ AggregatedLongTasksResponse:
+ description: Response body for the aggregated long tasks endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedLongTasksResponseData"
+ required:
+ - data
+ type: object
+ AggregatedLongTasksResponseAttributes:
+ description: Attributes of an aggregated long tasks response.
+ properties:
+ application_id:
+ description: The RUM application ID that was analyzed.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ from:
+ description: Start of the analyzed time range as a Unix timestamp in seconds.
+ example: 1762437564
+ format: int64
+ type: integer
+ long_tasks_by_invoker_type:
+ description: Long task statistics grouped by invoker type, sorted by impact score descending.
+ items:
+ $ref: "#/components/schemas/AggregatedLongTasksByInvokerType"
+ type: array
+ sampled_view_ids:
+ description: List of RUM view IDs sampled for this aggregation, capped at 50.
+ example:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ items:
+ type: string
+ type: array
+ to:
+ description: End of the analyzed time range as a Unix timestamp in seconds.
+ example: 1762523964
+ format: int64
+ type: integer
+ view_count:
+ description: Number of view instances included in the analysis.
+ example: 50
+ format: int32
+ maximum: 2147483647
+ type: integer
+ view_name:
+ description: The RUM view name that was analyzed.
+ example: /account/login(/:type)
+ type: string
+ required:
+ - view_name
+ - application_id
+ - view_count
+ - from
+ - to
+ - sampled_view_ids
+ - long_tasks_by_invoker_type
+ type: object
+ AggregatedLongTasksResponseData:
+ description: Data envelope for an aggregated long tasks response.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedLongTasksResponseAttributes"
+ id:
+ description: Hash-based unique identifier for this aggregation.
+ example: 2f0b3455
+ type: string
+ type:
+ $ref: "#/components/schemas/AggregatedLongTasksRequestType"
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ AggregatedLowCacheHitRate:
+ description: Aggregated low cache hit rate detection at view level.
+ properties:
+ avg_cache_hit_rate:
+ description: Average cache hit rate across affected views.
+ example: 0.15
+ format: double
+ type: number
+ avg_resource_download_size_bytes:
+ description: Average total download size of uncached resources in bytes.
+ example: 1048576
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$abc123
+ type: string
+ impact_score:
+ description: Impact score for this detection.
+ example: 20.0
+ format: double
+ type: number
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 5
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - view_occurrences
+ - avg_cache_hit_rate
+ - avg_resource_download_size_bytes
+ - impact_score
+ type: object
+ AggregatedMobileScrollFriction:
+ description: Aggregated mobile scroll friction detection at view level.
+ properties:
+ avg_scroll_frozen_frame_count:
+ description: Average number of frozen frames during scroll interactions.
+ example: 3
+ format: int32
+ maximum: 2147483647
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$ghi789
+ type: string
+ impact_score:
+ description: Impact score for this detection.
+ example: 12.0
+ format: double
+ type: number
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 6
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - view_occurrences
+ - avg_scroll_frozen_frame_count
+ - impact_score
+ type: object
+ AggregatedResource:
+ description: Aggregated performance statistics for a single network resource across sampled view instances.
+ properties:
+ avg_duration_ms:
+ description: Average total duration in milliseconds.
+ example: 839.1
+ format: double
+ type: number
+ avg_start_time_ms:
+ description: Average start time relative to view start in milliseconds.
+ example: 1486.3
+ format: double
+ type: number
+ cache_hit_rate_pct:
+ description: Cache hit rate as a percentage.
+ example: 100.0
+ format: double
+ type: number
+ cached_count:
+ description: Number of requests served from cache.
+ example: 27
+ format: int32
+ maximum: 2147483647
+ type: integer
+ downloaded_count:
+ description: Number of requests downloaded from the network.
+ example: 0
+ format: int32
+ maximum: 2147483647
+ type: integer
+ global_p75_duration_ms:
+ description: 75th percentile duration across all view names in the application, present when include_global_appearance is true.
+ example: 500.0
+ format: double
+ type: number
+ global_view_name_count:
+ description: Number of distinct view names in the application that load this resource, present when include_global_appearance is true.
+ example: 3
+ format: int32
+ maximum: 2147483647
+ type: integer
+ global_view_name_pct:
+ description: Percentage of distinct view names in the application that load this resource, present when include_global_appearance is true.
+ example: 30.0
+ format: double
+ type: number
+ http_method:
+ description: HTTP method for the resource request.
+ example: GET
+ nullable: true
+ type: string
+ load_frequency_pct:
+ description: Percentage of sampled view instances that loaded this resource.
+ example: 54.0
+ format: double
+ type: number
+ max_duration_ms:
+ description: Maximum duration in milliseconds.
+ example: 945.6
+ format: double
+ type: number
+ median_duration_ms:
+ description: Median duration in milliseconds.
+ example: 836.2
+ format: double
+ type: number
+ min_duration_ms:
+ description: Minimum duration in milliseconds.
+ example: 812.7
+ format: double
+ type: number
+ p75_duration_ms:
+ description: 75th percentile duration in milliseconds.
+ example: 844.1
+ format: double
+ type: number
+ p95_duration_ms:
+ description: 95th percentile duration in milliseconds.
+ example: 861.8
+ format: double
+ type: number
+ resource_type:
+ description: Resource type (JS, CSS, image, fetch, XHR, document, and so on).
+ example: fetch
+ nullable: true
+ type: string
+ resource_url_path_group:
+ description: URL path group used to aggregate similar resources.
+ example: /api/gallery
+ type: string
+ timing_breakdown:
+ $ref: "#/components/schemas/AggregatedResourceTimingBreakdown"
+ total_requests:
+ description: Total number of requests for this resource across all sampled views.
+ example: 27
+ format: int32
+ maximum: 2147483647
+ type: integer
+ views_with_resource:
+ description: Number of sampled view instances that loaded this resource.
+ example: 27
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - resource_url_path_group
+ - resource_type
+ - http_method
+ - avg_start_time_ms
+ - avg_duration_ms
+ - p95_duration_ms
+ - p75_duration_ms
+ - median_duration_ms
+ - min_duration_ms
+ - max_duration_ms
+ - timing_breakdown
+ - total_requests
+ - views_with_resource
+ - load_frequency_pct
+ - cached_count
+ - downloaded_count
+ - cache_hit_rate_pct
+ type: object
+ AggregatedResourceTimingBreakdown:
+ description: Average timing breakdown per network phase for a resource.
+ properties:
+ avg_connect_ms:
+ description: Average TCP connect duration in milliseconds.
+ example: 20.0
+ format: double
+ type: number
+ avg_dns_ms:
+ description: Average DNS resolution duration in milliseconds.
+ example: 10.0
+ format: double
+ type: number
+ avg_download_ms:
+ description: Average download phase duration in milliseconds.
+ example: 135.0
+ format: double
+ type: number
+ avg_first_byte_ms:
+ description: Average time to first byte in milliseconds.
+ example: 30.0
+ format: double
+ type: number
+ avg_redirect_ms:
+ description: Average redirect phase duration in milliseconds.
+ example: 0.0
+ format: double
+ type: number
+ avg_ssl_ms:
+ description: Average SSL handshake duration in milliseconds.
+ example: 5.0
+ format: double
+ type: number
+ required:
+ - avg_redirect_ms
+ - avg_dns_ms
+ - avg_connect_ms
+ - avg_ssl_ms
+ - avg_first_byte_ms
+ - avg_download_ms
+ type: object
+ AggregatedSignalsProblemsRequest:
+ description: Request body for the aggregated signals and problems endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsRequestData"
+ required:
+ - data
+ type: object
+ AggregatedSignalsProblemsRequestAttributes:
+ description: Attributes for an aggregated signals and problems query.
+ properties:
+ application_id:
+ description: The RUM application ID to analyze.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ detection_types:
+ description: List of detection types to include in the response. When omitted, all types are returned.
+ example:
+ - high_script_evaluations
+ - uncompressed_resources
+ items:
+ type: string
+ type: array
+ filter:
+ description: RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ example: "@session.type:user"
+ type: string
+ from:
+ description: Start of the time range as a Unix timestamp in seconds.
+ example: 1762437564
+ format: int64
+ type: integer
+ sample_size:
+ description: Number of view instances to sample, between 1 and 50.
+ example: 30
+ format: int32
+ maximum: 50
+ minimum: 1
+ type: integer
+ to:
+ description: End of the time range as a Unix timestamp in seconds.
+ example: 1762523964
+ format: int64
+ type: integer
+ view_name:
+ description: The RUM view name to analyze (for example, /account/login).
+ example: /account/login(/:type)
+ type: string
+ required:
+ - application_id
+ - view_name
+ - from
+ - to
+ - sample_size
+ type: object
+ AggregatedSignalsProblemsRequestData:
+ description: Data envelope for an aggregated signals and problems request.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsRequestAttributes"
+ type:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsRequestType"
+ required:
+ - type
+ - attributes
+ type: object
+ AggregatedSignalsProblemsRequestType:
+ description: The JSON:API type for aggregated signals and problems requests.
+ enum:
+ - aggregated_signals_problems
+ example: aggregated_signals_problems
+ type: string
+ x-enum-varnames:
+ - AGGREGATED_SIGNALS_PROBLEMS
+ AggregatedSignalsProblemsResponse:
+ description: Response body for the aggregated signals and problems endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsResponseData"
+ required:
+ - data
+ type: object
+ AggregatedSignalsProblemsResponseAttributes:
+ description: Attributes of an aggregated signals and problems response.
+ properties:
+ application_id:
+ description: The RUM application ID that was analyzed.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ from:
+ description: Start of the analyzed time range as a Unix timestamp in seconds.
+ example: 1710000000
+ format: int64
+ type: integer
+ problem_detections:
+ $ref: "#/components/schemas/SignalsProblemsDetections"
+ sample_metadata:
+ $ref: "#/components/schemas/SignalsProblemsSampleMetadata"
+ to:
+ description: End of the analyzed time range as a Unix timestamp in seconds.
+ example: 1710003600
+ format: int64
+ type: integer
+ view_name:
+ description: The RUM view name that was analyzed.
+ example: /checkout
+ type: string
+ required:
+ - view_name
+ - application_id
+ - from
+ - to
+ - sample_metadata
+ - problem_detections
+ type: object
+ AggregatedSignalsProblemsResponseData:
+ description: Data envelope for an aggregated signals and problems response.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsResponseAttributes"
+ id:
+ description: Hash-based unique identifier for this aggregation.
+ example: 2f0b3455
+ type: string
+ type:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsRequestType"
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ AggregatedSlowFCPHighBytes:
+ description: Aggregated slow first contentful paint with high byte count detection.
+ properties:
+ avg_bytes_before_fcp_bytes:
+ description: Average total bytes loaded before first contentful paint.
+ example: 2097152
+ format: int64
+ type: integer
+ avg_first_contentful_paint_ms:
+ description: Average first contentful paint time in milliseconds.
+ example: 3500
+ format: int64
+ type: integer
+ avg_resource_count_before_fcp:
+ description: Average number of resources loaded before first contentful paint.
+ example: 25
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$def456
+ type: string
+ impact_score:
+ description: Impact score for this detection.
+ example: 18.0
+ format: double
+ type: number
+ platform:
+ description: Platform identifier for the affected views.
+ example: browser
+ type: string
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 4
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - view_occurrences
+ - avg_first_contentful_paint_ms
+ - avg_bytes_before_fcp_bytes
+ - avg_resource_count_before_fcp
+ - platform
+ - impact_score
+ type: object
+ AggregatedSlowInteractionLongTask:
+ description: Aggregated slow interaction with long task detection grouped by action and selector.
+ properties:
+ action_type:
+ description: Type of user interaction that triggered the slow response.
+ example: click
+ type: string
+ avg_blocking_duration:
+ description: Average long task blocking duration in nanoseconds.
+ example: 250000000
+ format: int64
+ type: integer
+ avg_duration:
+ description: Average total interaction duration in nanoseconds.
+ example: 320000000
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$jkl012
+ type: string
+ impact_score:
+ description: Impact score combining view frequency and blocking severity.
+ example: 22.0
+ format: double
+ type: number
+ instance_count:
+ description: Total number of detection instances across sampled views.
+ example: 9
+ format: int32
+ maximum: 2147483647
+ type: integer
+ selector:
+ description: CSS selector of the element that was interacted with.
+ example: "#submit-button"
+ nullable: true
+ type: string
+ selector_normalized:
+ description: Normalized CSS selector with dynamic parts replaced.
+ example: button[data-action]
+ nullable: true
+ type: string
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 7
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - action_type
+ - selector
+ - selector_normalized
+ - view_occurrences
+ - instance_count
+ - avg_blocking_duration
+ - avg_duration
+ - impact_score
+ type: object
+ AggregatedUncompressedResource:
+ description: Aggregated uncompressed resource detection grouped by URL path.
+ properties:
+ avg_body_size:
+ description: Average uncompressed body size in bytes.
+ example: 524288
+ format: int64
+ type: integer
+ avg_duration:
+ description: Average resource loading duration in nanoseconds.
+ example: 0
+ format: int64
+ type: integer
+ fingerprint:
+ description: Unique fingerprint identifying this detection group.
+ example: v1$65e268e25cab3a1f6230405ccf011a68
+ type: string
+ impact_score:
+ description: Impact score combining view frequency and resource size.
+ example: 16.67
+ format: double
+ type: number
+ instance_count:
+ description: Total number of detection instances across sampled views.
+ example: 1
+ format: int32
+ maximum: 2147483647
+ type: integer
+ provider_type:
+ description: CDN or hosting provider type for the resource.
+ example: cloudfront
+ nullable: true
+ type: string
+ render_blocking:
+ description: Whether the resource is render-blocking.
+ example: blocking
+ nullable: true
+ type: string
+ resource_type:
+ description: Type of the resource (JS, CSS, image, fetch, and so on).
+ example: image
+ type: string
+ url_path_group:
+ description: Normalized URL path pattern for the uncompressed resource.
+ example: /cdn/hero.jpg
+ type: string
+ view_occurrences:
+ description: Number of sampled views where this detection occurred.
+ example: 1
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - fingerprint
+ - url_path_group
+ - resource_type
+ - render_blocking
+ - provider_type
+ - view_occurrences
+ - instance_count
+ - avg_body_size
+ - avg_duration
+ - impact_score
+ type: object
+ AggregatedWaterfallPerformanceCriteria:
+ description: Performance criteria to filter view instances by a metric threshold.
+ 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
+ AggregatedWaterfallPerformanceCriteriaMetric:
+ description: Performance metric used to filter view instances by threshold.
+ enum:
+ - loading_time
+ - largest_contentful_paint
+ - first_contentful_paint
+ - interaction_to_next_paint
+ example: largest_contentful_paint
+ type: string
+ x-enum-varnames:
+ - LOADING_TIME
+ - LARGEST_CONTENTFUL_PAINT
+ - FIRST_CONTENTFUL_PAINT
+ - INTERACTION_TO_NEXT_PAINT
+ AggregatedWaterfallRequest:
+ description: Request body for the aggregated waterfall endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedWaterfallRequestData"
+ required:
+ - data
+ type: object
+ AggregatedWaterfallRequestAttributes:
+ description: Attributes for an aggregated waterfall query.
+ properties:
+ application_id:
+ description: The RUM application ID to analyze.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ filter:
+ description: RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ example: "@session.type:user"
+ type: string
+ from:
+ description: Start of the time range as a Unix timestamp in seconds.
+ example: 1762437564
+ format: int64
+ type: integer
+ include_global_appearance:
+ description: When true, enriches each resource with cross-view appearance statistics.
+ example: false
+ type: boolean
+ sample_size:
+ description: Number of view instances to sample, between 1 and 500.
+ example: 20
+ format: int32
+ maximum: 500
+ minimum: 1
+ type: integer
+ to:
+ description: End of the time range as a Unix timestamp in seconds.
+ example: 1762523964
+ format: int64
+ type: integer
+ view_name:
+ description: The RUM view name to analyze (for example, /account/login).
+ example: /account/login(/:type)
+ type: string
+ required:
+ - application_id
+ - view_name
+ - from
+ - to
+ - sample_size
+ type: object
+ AggregatedWaterfallRequestData:
+ description: Data envelope for an aggregated waterfall request.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedWaterfallRequestAttributes"
+ type:
+ $ref: "#/components/schemas/AggregatedWaterfallRequestType"
+ required:
+ - type
+ - attributes
+ type: object
+ AggregatedWaterfallRequestType:
+ description: The JSON:API type for aggregated waterfall requests.
+ enum:
+ - aggregated_waterfall
+ example: aggregated_waterfall
+ type: string
+ x-enum-varnames:
+ - AGGREGATED_WATERFALL
+ AggregatedWaterfallResponse:
+ description: Response body for the aggregated waterfall endpoint.
+ properties:
+ data:
+ $ref: "#/components/schemas/AggregatedWaterfallResponseData"
+ required:
+ - data
+ type: object
+ AggregatedWaterfallResponseAttributes:
+ description: Attributes of an aggregated waterfall response.
+ properties:
+ application_id:
+ description: The RUM application ID that was analyzed.
+ example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ type: string
+ criteria:
+ $ref: "#/components/schemas/AggregatedWaterfallPerformanceCriteria"
+ from:
+ description: Start of the analyzed time range as a Unix timestamp in seconds.
+ example: 1762437564
+ format: int64
+ type: integer
+ resources:
+ description: Network resources in chronological waterfall order.
+ items:
+ $ref: "#/components/schemas/AggregatedResource"
+ type: array
+ sampled_view_ids:
+ description: List of RUM view IDs sampled for this aggregation, capped at 50.
+ example:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ - dfe318df-4ae5-44b8-9fe2-4107885e1a46
+ items:
+ type: string
+ type: array
+ to:
+ description: End of the analyzed time range as a Unix timestamp in seconds.
+ example: 1762523964
+ format: int64
+ type: integer
+ total_cache_hit_rate_pct:
+ description: Overall cache hit rate across all sampled views.
+ example: 0.677
+ format: double
+ type: number
+ view_count:
+ description: Number of view instances included in the analysis.
+ example: 50
+ format: int32
+ maximum: 2147483647
+ type: integer
+ view_name:
+ description: The RUM view name that was analyzed.
+ example: /account/login(/:type)
+ type: string
+ required:
+ - view_name
+ - application_id
+ - view_count
+ - from
+ - to
+ - sampled_view_ids
+ - total_cache_hit_rate_pct
+ - resources
+ type: object
+ AggregatedWaterfallResponseData:
+ description: Data envelope for an aggregated waterfall response.
+ properties:
+ attributes:
+ $ref: "#/components/schemas/AggregatedWaterfallResponseAttributes"
+ id:
+ description: Hash-based unique identifier for this aggregation.
+ example: 2f0b3455
+ type: string
+ type:
+ $ref: "#/components/schemas/AggregatedWaterfallRequestType"
+ required:
+ - id
+ - type
+ - attributes
+ type: object
AiCustomRuleDataType:
description: AI custom rule resource type.
enum: [ai_rule]
@@ -51225,6 +52227,53 @@ components:
example: "One or several indexes are missing or invalid, results hold data from the other indexes"
type: string
type: object
+ LongTaskMetricStats:
+ description: Statistical distribution (average, min, max) of a long task metric across sampled views.
+ properties:
+ average:
+ description: Average value across sampled views.
+ example: 3504.1
+ format: double
+ type: number
+ max:
+ description: Maximum value across sampled views.
+ example: 3517.8
+ format: double
+ type: number
+ min:
+ description: Minimum value across sampled views.
+ example: 3500.1
+ format: double
+ type: number
+ required:
+ - average
+ - min
+ - max
+ type: object
+ LongTaskStatsPerView:
+ description: Statistical distributions of long task metrics computed per view across sampled views.
+ properties:
+ fcp_blocking_time_ms:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ fcp_count:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ inp_overlap_blocking_time_ms:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ inp_overlap_count:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ lcp_blocking_time_ms:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ lcp_count:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ loading_time_blocking_time_ms:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ loading_time_count:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ total_blocking_time_ms:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ total_count:
+ $ref: "#/components/schemas/LongTaskMetricStats"
+ type: object
MSTeamsIntegrationMetadata:
description: Incident integration metadata for the Microsoft Teams integration.
properties:
@@ -82201,6 +83250,85 @@ components:
display_name: Test User
principal_id: user@example.com
type: object
+ SignalsProblemsDetections:
+ description: Grouped detection results by detection type.
+ properties:
+ high_frozen_frame_rates:
+ description: Detected high frozen frame rate issues.
+ items:
+ $ref: "#/components/schemas/AggregatedHighFrozenFrameRate"
+ type: array
+ high_script_evaluations:
+ description: Detected high script evaluation issues.
+ items:
+ $ref: "#/components/schemas/AggregatedHighScriptEval"
+ type: array
+ low_cache_hit_rates:
+ description: Detected low cache hit rate issues.
+ items:
+ $ref: "#/components/schemas/AggregatedLowCacheHitRate"
+ type: array
+ mobile_scroll_frictions:
+ description: Detected mobile scroll friction issues.
+ items:
+ $ref: "#/components/schemas/AggregatedMobileScrollFriction"
+ type: array
+ slow_fcp_high_bytes:
+ description: Detected slow first contentful paint with high byte count issues.
+ items:
+ $ref: "#/components/schemas/AggregatedSlowFCPHighBytes"
+ type: array
+ slow_interaction_long_tasks:
+ description: Detected slow interaction with long task issues.
+ items:
+ $ref: "#/components/schemas/AggregatedSlowInteractionLongTask"
+ type: array
+ uncompressed_resources:
+ description: Detected uncompressed resource issues.
+ items:
+ $ref: "#/components/schemas/AggregatedUncompressedResource"
+ type: array
+ type: object
+ SignalsProblemsSampleMetadata:
+ description: Metadata about the sampling quality for a signals and problems query.
+ properties:
+ failed:
+ description: Number of view instances that failed to process.
+ example: 2
+ format: int32
+ maximum: 2147483647
+ type: integer
+ requested:
+ description: Number of view instances requested for sampling.
+ example: 30
+ format: int32
+ maximum: 2147483647
+ type: integer
+ sampled_view_ids:
+ description: List of RUM view IDs that were sampled.
+ example:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ items:
+ type: string
+ type: array
+ succeeded:
+ description: Number of view instances successfully processed.
+ example: 28
+ format: int32
+ maximum: 2147483647
+ type: integer
+ success_rate:
+ description: Ratio of successfully processed views to requested views.
+ example: 0.93
+ format: double
+ type: number
+ required:
+ - requested
+ - succeeded
+ - failed
+ - success_rate
+ - sampled_view_ids
+ type: object
SimpleMonitorUserTemplate:
description: A simplified version of a monitor user template.
properties:
@@ -92429,6 +93557,43 @@ components:
type: string
x-enum-varnames:
- SECRET
+ TopLongTaskInvoker:
+ description: A top long task invoker within an invoker type.
+ properties:
+ criteria_view_occurrences:
+ description: Number of sampled views where this invoker had long tasks contributing to the criteria metric.
+ example: 40
+ format: int32
+ maximum: 2147483647
+ type: integer
+ file:
+ description: Cleaned source file path for the invoker script.
+ example: src/pages/Gallery.tsx
+ nullable: true
+ type: string
+ impact_score:
+ description: Rank-product impact score combining view frequency and blocking time severity.
+ example: 0.67
+ format: double
+ type: number
+ invoker:
+ description: Name of the invoker function or script.
+ example: Response.json.then
+ type: string
+ stats_per_view:
+ $ref: "#/components/schemas/LongTaskStatsPerView"
+ view_occurrences:
+ description: Number of sampled views where this invoker had any long tasks.
+ example: 68
+ format: int32
+ maximum: 2147483647
+ type: integer
+ required:
+ - invoker
+ - file
+ - view_occurrences
+ - stats_per_view
+ type: object
TraceAttributes:
description: The attributes of a trace returned by the Get trace by ID endpoint.
properties:
@@ -149092,6 +150257,274 @@ paths:
operator: OR
permissions:
- rum_apps_read
+ /api/v2/rum/query/insight/aggregated_long_tasks:
+ post:
+ description: |-
+ Get aggregated long task data for a RUM view, grouped by invoker type and sampled across multiple view instances.
+ operationId: QueryAggregatedLongTasks
+ requestBody:
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ from: 1762437564
+ sample_size: 20
+ to: 1762523964
+ view_name: /account/login(/:type)
+ type: aggregated_long_tasks
+ schema:
+ $ref: "#/components/schemas/AggregatedLongTasksRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ from: 1762437564
+ long_tasks_by_invoker_type:
+ - impact_score: 0.4
+ invoker_type: resolve-promise
+ stats_per_view:
+ total_blocking_time_ms:
+ average: 3504.1
+ max: 3517.8
+ min: 3500.1
+ total_count:
+ average: 1.0
+ max: 1.0
+ min: 1.0
+ top_invokers:
+ - file: src/pages/Gallery.tsx
+ impact_score: 0.67
+ invoker: Response.json.then
+ stats_per_view:
+ total_count:
+ average: 1.0
+ max: 1.0
+ min: 1.0
+ view_occurrences: 68
+ view_occurrences: 68
+ sampled_view_ids:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ to: 1762523964
+ view_count: 20
+ view_name: /account/login(/:type)
+ id: 2f0b3455
+ type: aggregated_long_tasks
+ schema:
+ $ref: "#/components/schemas/AggregatedLongTasksResponse"
+ description: Successful response
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Bad Request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Unauthorized
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Query aggregated long tasks
+ tags: ["RUM Insights"]
+ x-permission:
+ operator: OR
+ permissions:
+ - rum_apps_read
+ x-unstable: |-
+ **Note**: This endpoint is in preview and is subject to change.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/rum/query/insight/aggregated_signals_problems:
+ post:
+ description: |-
+ Get aggregated performance signals and problem detections for a RUM view, sampled across multiple view instances.
+ operationId: QueryAggregatedSignalsProblems
+ requestBody:
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ from: 1762437564
+ sample_size: 30
+ to: 1762523964
+ view_name: /account/login(/:type)
+ type: aggregated_signals_problems
+ schema:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ from: 1710000000
+ problem_detections:
+ high_script_evaluations:
+ - avg_duration: 300000000
+ avg_forced_style_layout: 0
+ fingerprint: v1$7766a8c2180aa153f5526ba8868999f8
+ impact_score: 30.0
+ instance_count: 3
+ invoker_type: user-callback
+ source_category:
+ source_function_name: handleClick
+ source_url: https://cdn.example.com/app.js
+ view_occurrences: 3
+ sample_metadata:
+ failed: 2
+ requested: 30
+ sampled_view_ids:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ succeeded: 28
+ success_rate: 0.93
+ to: 1710003600
+ view_name: /checkout
+ id: 2f0b3455
+ type: aggregated_signals_problems
+ schema:
+ $ref: "#/components/schemas/AggregatedSignalsProblemsResponse"
+ description: Successful response
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Bad Request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Unauthorized
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Query aggregated signals and problems
+ tags: ["RUM Insights"]
+ x-permission:
+ operator: OR
+ permissions:
+ - rum_apps_read
+ x-unstable: |-
+ **Note**: This endpoint is in preview and is subject to change.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
+ /api/v2/rum/query/insight/aggregated_waterfall:
+ post:
+ description: |-
+ Get aggregated network resource waterfall data for a RUM view, sampled across multiple view instances.
+ operationId: QueryAggregatedWaterfall
+ requestBody:
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ criteria:
+ metric: largest_contentful_paint
+ min: 0.3
+ from: 1762437564
+ sample_size: 20
+ to: 1762523964
+ view_name: /account/login(/:type)
+ type: aggregated_waterfall
+ schema:
+ $ref: "#/components/schemas/AggregatedWaterfallRequest"
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ examples:
+ default:
+ value:
+ data:
+ attributes:
+ application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b
+ criteria:
+ metric: largest_contentful_paint
+ min: 0.3
+ from: 1762437564
+ resources:
+ - avg_duration_ms: 839.1
+ avg_start_time_ms: 1486.3
+ cache_hit_rate_pct: 100.0
+ cached_count: 27
+ downloaded_count: 0
+ http_method: GET
+ load_frequency_pct: 54.0
+ max_duration_ms: 945.6
+ median_duration_ms: 836.2
+ min_duration_ms: 812.7
+ p75_duration_ms: 844.1
+ p95_duration_ms: 861.8
+ resource_type: fetch
+ resource_url_path_group: /api/gallery
+ timing_breakdown:
+ avg_connect_ms: 0.0
+ avg_dns_ms: 0.0
+ avg_download_ms: 0.6
+ avg_first_byte_ms: 59.9
+ avg_redirect_ms: 0.0
+ avg_ssl_ms: 0.0
+ total_requests: 27
+ views_with_resource: 27
+ sampled_view_ids:
+ - 6fbf69b6-9455-436a-b894-a6bf64126d40
+ to: 1762523964
+ total_cache_hit_rate_pct: 0.5
+ view_count: 20
+ view_name: /account/login(/:type)
+ id: 2f0b3455
+ type: aggregated_waterfall
+ schema:
+ $ref: "#/components/schemas/AggregatedWaterfallResponse"
+ description: Successful response
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Bad Request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/JSONAPIErrorResponse"
+ description: Unauthorized
+ "429":
+ $ref: "#/components/responses/TooManyRequestsResponse"
+ summary: Query aggregated waterfall
+ tags: ["RUM Insights"]
+ x-permission:
+ operator: OR
+ permissions:
+ - rum_apps_read
+ x-unstable: |-
+ **Note**: This endpoint is in preview and is subject to change.
+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
/api/v2/rum/replay/playlists:
get:
description: List playlists.
@@ -172964,6 +174397,9 @@ tags:
- description: |-
Manage your Real User Monitoring (RUM) applications, and search or aggregate your RUM events over HTTP. See the [RUM & Session Replay page](https://docs.datadoghq.com/real_user_monitoring/) for more information
name: RUM
+ - description: |-
+ Get insights into the performance of your Real User Monitoring (RUM) applications over HTTP. See the [RUM & Session Replay page](https://docs.datadoghq.com/real_user_monitoring/) for more information
+ name: RUM Insights
- description: View and manage Reference Tables in your organization.
name: Reference Tables
- description: |-
diff --git a/examples/v2/rum-insights/QueryAggregatedLongTasks.java b/examples/v2/rum-insights/QueryAggregatedLongTasks.java
new file mode 100644
index 00000000000..038814aa0ad
--- /dev/null
+++ b/examples/v2/rum-insights/QueryAggregatedLongTasks.java
@@ -0,0 +1,52 @@
+// Query aggregated long tasks returns "Successful response" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.RumInsightsApi;
+import com.datadog.api.client.v2.model.AggregatedLongTasksRequest;
+import com.datadog.api.client.v2.model.AggregatedLongTasksRequestAttributes;
+import com.datadog.api.client.v2.model.AggregatedLongTasksRequestData;
+import com.datadog.api.client.v2.model.AggregatedLongTasksRequestType;
+import com.datadog.api.client.v2.model.AggregatedLongTasksResponse;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteria;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteriaMetric;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.queryAggregatedLongTasks", true);
+ RumInsightsApi apiInstance = new RumInsightsApi(defaultClient);
+
+ AggregatedLongTasksRequest body =
+ new AggregatedLongTasksRequest()
+ .data(
+ new AggregatedLongTasksRequestData()
+ .attributes(
+ new AggregatedLongTasksRequestAttributes()
+ .applicationId("ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b")
+ .criteria(
+ new AggregatedWaterfallPerformanceCriteria()
+ .max(5.0)
+ .metric(
+ AggregatedWaterfallPerformanceCriteriaMetric
+ .LARGEST_CONTENTFUL_PAINT)
+ .min(2.5))
+ .filter("@session.type:user")
+ .from(1762437564L)
+ .sampleSize(20)
+ .to(1762523964L)
+ .viewName("/account/login(/:type)"))
+ .type(AggregatedLongTasksRequestType.AGGREGATED_LONG_TASKS));
+
+ try {
+ AggregatedLongTasksResponse result = apiInstance.queryAggregatedLongTasks(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling RumInsightsApi#queryAggregatedLongTasks");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/rum-insights/QueryAggregatedSignalsProblems.java b/examples/v2/rum-insights/QueryAggregatedSignalsProblems.java
new file mode 100644
index 00000000000..97a79ea56e9
--- /dev/null
+++ b/examples/v2/rum-insights/QueryAggregatedSignalsProblems.java
@@ -0,0 +1,55 @@
+// Query aggregated signals and problems returns "Successful response" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.RumInsightsApi;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsRequest;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsRequestAttributes;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsRequestData;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsRequestType;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsResponse;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteria;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteriaMetric;
+import java.util.Arrays;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.queryAggregatedSignalsProblems", true);
+ RumInsightsApi apiInstance = new RumInsightsApi(defaultClient);
+
+ AggregatedSignalsProblemsRequest body =
+ new AggregatedSignalsProblemsRequest()
+ .data(
+ new AggregatedSignalsProblemsRequestData()
+ .attributes(
+ new AggregatedSignalsProblemsRequestAttributes()
+ .applicationId("ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b")
+ .criteria(
+ new AggregatedWaterfallPerformanceCriteria()
+ .max(5.0)
+ .metric(
+ AggregatedWaterfallPerformanceCriteriaMetric
+ .LARGEST_CONTENTFUL_PAINT)
+ .min(2.5))
+ .detectionTypes(
+ Arrays.asList("high_script_evaluations", "uncompressed_resources"))
+ .filter("@session.type:user")
+ .from(1762437564L)
+ .sampleSize(30)
+ .to(1762523964L)
+ .viewName("/account/login(/:type)"))
+ .type(AggregatedSignalsProblemsRequestType.AGGREGATED_SIGNALS_PROBLEMS));
+
+ try {
+ AggregatedSignalsProblemsResponse result = apiInstance.queryAggregatedSignalsProblems(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling RumInsightsApi#queryAggregatedSignalsProblems");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/rum-insights/QueryAggregatedWaterfall.java b/examples/v2/rum-insights/QueryAggregatedWaterfall.java
new file mode 100644
index 00000000000..5be140e49ea
--- /dev/null
+++ b/examples/v2/rum-insights/QueryAggregatedWaterfall.java
@@ -0,0 +1,53 @@
+// Query aggregated waterfall returns "Successful response" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.RumInsightsApi;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteria;
+import com.datadog.api.client.v2.model.AggregatedWaterfallPerformanceCriteriaMetric;
+import com.datadog.api.client.v2.model.AggregatedWaterfallRequest;
+import com.datadog.api.client.v2.model.AggregatedWaterfallRequestAttributes;
+import com.datadog.api.client.v2.model.AggregatedWaterfallRequestData;
+import com.datadog.api.client.v2.model.AggregatedWaterfallRequestType;
+import com.datadog.api.client.v2.model.AggregatedWaterfallResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.queryAggregatedWaterfall", true);
+ RumInsightsApi apiInstance = new RumInsightsApi(defaultClient);
+
+ AggregatedWaterfallRequest body =
+ new AggregatedWaterfallRequest()
+ .data(
+ new AggregatedWaterfallRequestData()
+ .attributes(
+ new AggregatedWaterfallRequestAttributes()
+ .applicationId("ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b")
+ .criteria(
+ new AggregatedWaterfallPerformanceCriteria()
+ .max(5.0)
+ .metric(
+ AggregatedWaterfallPerformanceCriteriaMetric
+ .LARGEST_CONTENTFUL_PAINT)
+ .min(2.5))
+ .filter("@session.type:user")
+ .from(1762437564L)
+ .includeGlobalAppearance(false)
+ .sampleSize(20)
+ .to(1762523964L)
+ .viewName("/account/login(/:type)"))
+ .type(AggregatedWaterfallRequestType.AGGREGATED_WATERFALL));
+
+ try {
+ AggregatedWaterfallResponse result = apiInstance.queryAggregatedWaterfall(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling RumInsightsApi#queryAggregatedWaterfall");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java
index c26c644775a..33a7b9a1da6 100644
--- a/src/main/java/com/datadog/api/client/ApiClient.java
+++ b/src/main/java/com/datadog/api/client/ApiClient.java
@@ -1133,6 +1133,9 @@ public class ApiClient {
put("v2.updateConnection", false);
put("v2.getPrunedTraceByID", false);
put("v2.getTraceByID", false);
+ put("v2.queryAggregatedLongTasks", false);
+ put("v2.queryAggregatedSignalsProblems", false);
+ put("v2.queryAggregatedWaterfall", false);
put("v2.createScorecardOutcomesBatch", false);
put("v2.listEntityRiskScores", false);
put("v2.createIncidentService", false);
diff --git a/src/main/java/com/datadog/api/client/v2/api/RumInsightsApi.java b/src/main/java/com/datadog/api/client/v2/api/RumInsightsApi.java
new file mode 100644
index 00000000000..788dd415897
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/RumInsightsApi.java
@@ -0,0 +1,513 @@
+package com.datadog.api.client.v2.api;
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.ApiResponse;
+import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.AggregatedLongTasksRequest;
+import com.datadog.api.client.v2.model.AggregatedLongTasksResponse;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsRequest;
+import com.datadog.api.client.v2.model.AggregatedSignalsProblemsResponse;
+import com.datadog.api.client.v2.model.AggregatedWaterfallRequest;
+import com.datadog.api.client.v2.model.AggregatedWaterfallResponse;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.GenericType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class RumInsightsApi {
+ private ApiClient apiClient;
+
+ public RumInsightsApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public RumInsightsApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Get the API client.
+ *
+ * @return API client
+ */
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ /**
+ * Set the API client.
+ *
+ * @param apiClient an instance of API client
+ */
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Query aggregated long tasks.
+ *
+ *
See {@link #queryAggregatedLongTasksWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return AggregatedLongTasksResponse
+ * @throws ApiException if fails to make API call
+ */
+ public AggregatedLongTasksResponse queryAggregatedLongTasks(AggregatedLongTasksRequest body)
+ throws ApiException {
+ return queryAggregatedLongTasksWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Query aggregated long tasks.
+ *
+ *
See {@link #queryAggregatedLongTasksWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<AggregatedLongTasksResponse>
+ */
+ public CompletableFuture queryAggregatedLongTasksAsync(
+ AggregatedLongTasksRequest body) {
+ return queryAggregatedLongTasksWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get aggregated long task data for a RUM view, grouped by invoker type and sampled across
+ * multiple view instances.
+ *
+ * @param body (required)
+ * @return ApiResponse<AggregatedLongTasksResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Successful response | - |
+ * | 400 | Bad Request | - |
+ * | 401 | Unauthorized | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse queryAggregatedLongTasksWithHttpInfo(
+ AggregatedLongTasksRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedLongTasks";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling queryAggregatedLongTasks");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_long_tasks";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedLongTasks",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Query aggregated long tasks.
+ *
+ * See {@link #queryAggregatedLongTasksWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<AggregatedLongTasksResponse>>
+ */
+ public CompletableFuture>
+ queryAggregatedLongTasksWithHttpInfoAsync(AggregatedLongTasksRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedLongTasks";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling queryAggregatedLongTasks"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_long_tasks";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedLongTasks",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Query aggregated signals and problems.
+ *
+ * See {@link #queryAggregatedSignalsProblemsWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return AggregatedSignalsProblemsResponse
+ * @throws ApiException if fails to make API call
+ */
+ public AggregatedSignalsProblemsResponse queryAggregatedSignalsProblems(
+ AggregatedSignalsProblemsRequest body) throws ApiException {
+ return queryAggregatedSignalsProblemsWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Query aggregated signals and problems.
+ *
+ *
See {@link #queryAggregatedSignalsProblemsWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<AggregatedSignalsProblemsResponse>
+ */
+ public CompletableFuture queryAggregatedSignalsProblemsAsync(
+ AggregatedSignalsProblemsRequest body) {
+ return queryAggregatedSignalsProblemsWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get aggregated performance signals and problem detections for a RUM view, sampled across
+ * multiple view instances.
+ *
+ * @param body (required)
+ * @return ApiResponse<AggregatedSignalsProblemsResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Successful response | - |
+ * | 400 | Bad Request | - |
+ * | 401 | Unauthorized | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse queryAggregatedSignalsProblemsWithHttpInfo(
+ AggregatedSignalsProblemsRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedSignalsProblems";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling queryAggregatedSignalsProblems");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_signals_problems";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedSignalsProblems",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Query aggregated signals and problems.
+ *
+ * See {@link #queryAggregatedSignalsProblemsWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<AggregatedSignalsProblemsResponse>>
+ */
+ public CompletableFuture>
+ queryAggregatedSignalsProblemsWithHttpInfoAsync(AggregatedSignalsProblemsRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedSignalsProblems";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling queryAggregatedSignalsProblems"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_signals_problems";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedSignalsProblems",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Query aggregated waterfall.
+ *
+ * See {@link #queryAggregatedWaterfallWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return AggregatedWaterfallResponse
+ * @throws ApiException if fails to make API call
+ */
+ public AggregatedWaterfallResponse queryAggregatedWaterfall(AggregatedWaterfallRequest body)
+ throws ApiException {
+ return queryAggregatedWaterfallWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Query aggregated waterfall.
+ *
+ *
See {@link #queryAggregatedWaterfallWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<AggregatedWaterfallResponse>
+ */
+ public CompletableFuture queryAggregatedWaterfallAsync(
+ AggregatedWaterfallRequest body) {
+ return queryAggregatedWaterfallWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get aggregated network resource waterfall data for a RUM view, sampled across multiple view
+ * instances.
+ *
+ * @param body (required)
+ * @return ApiResponse<AggregatedWaterfallResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Successful response | - |
+ * | 400 | Bad Request | - |
+ * | 401 | Unauthorized | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse queryAggregatedWaterfallWithHttpInfo(
+ AggregatedWaterfallRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedWaterfall";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling queryAggregatedWaterfall");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_waterfall";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedWaterfall",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Query aggregated waterfall.
+ *
+ * See {@link #queryAggregatedWaterfallWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<AggregatedWaterfallResponse>>
+ */
+ public CompletableFuture>
+ queryAggregatedWaterfallWithHttpInfoAsync(AggregatedWaterfallRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "queryAggregatedWaterfall";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling queryAggregatedWaterfall"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/rum/query/insight/aggregated_waterfall";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.RumInsightsApi.queryAggregatedWaterfall",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedHighFrozenFrameRate.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedHighFrozenFrameRate.java
new file mode 100644
index 00000000000..847c1a5d8cf
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedHighFrozenFrameRate.java
@@ -0,0 +1,300 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated high frozen frame rate detection at view level. */
+@JsonPropertyOrder({
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_AVG_FROZEN_FRAME_RATE,
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_AVG_SEGMENT_DURATION,
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_AVG_TOTAL_FROZEN_DURATION,
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_FINGERPRINT,
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedHighFrozenFrameRate.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedHighFrozenFrameRate {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_FROZEN_FRAME_RATE = "avg_frozen_frame_rate";
+ private Double avgFrozenFrameRate;
+
+ public static final String JSON_PROPERTY_AVG_SEGMENT_DURATION = "avg_segment_duration";
+ private Long avgSegmentDuration;
+
+ public static final String JSON_PROPERTY_AVG_TOTAL_FROZEN_DURATION = "avg_total_frozen_duration";
+ private Long avgTotalFrozenDuration;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedHighFrozenFrameRate() {}
+
+ @JsonCreator
+ public AggregatedHighFrozenFrameRate(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_FROZEN_FRAME_RATE)
+ Double avgFrozenFrameRate,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_SEGMENT_DURATION)
+ Long avgSegmentDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_TOTAL_FROZEN_DURATION)
+ Long avgTotalFrozenDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgFrozenFrameRate = avgFrozenFrameRate;
+ this.avgSegmentDuration = avgSegmentDuration;
+ this.avgTotalFrozenDuration = avgTotalFrozenDuration;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedHighFrozenFrameRate avgFrozenFrameRate(Double avgFrozenFrameRate) {
+ this.avgFrozenFrameRate = avgFrozenFrameRate;
+ return this;
+ }
+
+ /**
+ * Average frozen frame rate as a fraction of total frames.
+ *
+ * @return avgFrozenFrameRate
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_FROZEN_FRAME_RATE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgFrozenFrameRate() {
+ return avgFrozenFrameRate;
+ }
+
+ public void setAvgFrozenFrameRate(Double avgFrozenFrameRate) {
+ this.avgFrozenFrameRate = avgFrozenFrameRate;
+ }
+
+ public AggregatedHighFrozenFrameRate avgSegmentDuration(Long avgSegmentDuration) {
+ this.avgSegmentDuration = avgSegmentDuration;
+ return this;
+ }
+
+ /**
+ * Average segment duration in nanoseconds.
+ *
+ * @return avgSegmentDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_SEGMENT_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgSegmentDuration() {
+ return avgSegmentDuration;
+ }
+
+ public void setAvgSegmentDuration(Long avgSegmentDuration) {
+ this.avgSegmentDuration = avgSegmentDuration;
+ }
+
+ public AggregatedHighFrozenFrameRate avgTotalFrozenDuration(Long avgTotalFrozenDuration) {
+ this.avgTotalFrozenDuration = avgTotalFrozenDuration;
+ return this;
+ }
+
+ /**
+ * Average total frozen duration in nanoseconds.
+ *
+ * @return avgTotalFrozenDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_TOTAL_FROZEN_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgTotalFrozenDuration() {
+ return avgTotalFrozenDuration;
+ }
+
+ public void setAvgTotalFrozenDuration(Long avgTotalFrozenDuration) {
+ this.avgTotalFrozenDuration = avgTotalFrozenDuration;
+ }
+
+ public AggregatedHighFrozenFrameRate fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedHighFrozenFrameRate impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score for this detection.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedHighFrozenFrameRate viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedHighFrozenFrameRate
+ */
+ @JsonAnySetter
+ public AggregatedHighFrozenFrameRate putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedHighFrozenFrameRate object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedHighFrozenFrameRate aggregatedHighFrozenFrameRate = (AggregatedHighFrozenFrameRate) o;
+ return Objects.equals(this.avgFrozenFrameRate, aggregatedHighFrozenFrameRate.avgFrozenFrameRate)
+ && Objects.equals(this.avgSegmentDuration, aggregatedHighFrozenFrameRate.avgSegmentDuration)
+ && Objects.equals(
+ this.avgTotalFrozenDuration, aggregatedHighFrozenFrameRate.avgTotalFrozenDuration)
+ && Objects.equals(this.fingerprint, aggregatedHighFrozenFrameRate.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedHighFrozenFrameRate.impactScore)
+ && Objects.equals(this.viewOccurrences, aggregatedHighFrozenFrameRate.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedHighFrozenFrameRate.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgFrozenFrameRate,
+ avgSegmentDuration,
+ avgTotalFrozenDuration,
+ fingerprint,
+ impactScore,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedHighFrozenFrameRate {\n");
+ sb.append(" avgFrozenFrameRate: ").append(toIndentedString(avgFrozenFrameRate)).append("\n");
+ sb.append(" avgSegmentDuration: ").append(toIndentedString(avgSegmentDuration)).append("\n");
+ sb.append(" avgTotalFrozenDuration: ")
+ .append(toIndentedString(avgTotalFrozenDuration))
+ .append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedHighScriptEval.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedHighScriptEval.java
new file mode 100644
index 00000000000..b2789c3b82b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedHighScriptEval.java
@@ -0,0 +1,419 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated high script evaluation detection grouped by source. */
+@JsonPropertyOrder({
+ AggregatedHighScriptEval.JSON_PROPERTY_AVG_DURATION,
+ AggregatedHighScriptEval.JSON_PROPERTY_AVG_FORCED_STYLE_LAYOUT,
+ AggregatedHighScriptEval.JSON_PROPERTY_FINGERPRINT,
+ AggregatedHighScriptEval.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedHighScriptEval.JSON_PROPERTY_INSTANCE_COUNT,
+ AggregatedHighScriptEval.JSON_PROPERTY_INVOKER_TYPE,
+ AggregatedHighScriptEval.JSON_PROPERTY_SOURCE_CATEGORY,
+ AggregatedHighScriptEval.JSON_PROPERTY_SOURCE_FUNCTION_NAME,
+ AggregatedHighScriptEval.JSON_PROPERTY_SOURCE_URL,
+ AggregatedHighScriptEval.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedHighScriptEval {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_DURATION = "avg_duration";
+ private Long avgDuration;
+
+ public static final String JSON_PROPERTY_AVG_FORCED_STYLE_LAYOUT = "avg_forced_style_layout";
+ private Long avgForcedStyleLayout;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_INSTANCE_COUNT = "instance_count";
+ private Integer instanceCount;
+
+ public static final String JSON_PROPERTY_INVOKER_TYPE = "invoker_type";
+ private String invokerType;
+
+ public static final String JSON_PROPERTY_SOURCE_CATEGORY = "source_category";
+ private String sourceCategory;
+
+ public static final String JSON_PROPERTY_SOURCE_FUNCTION_NAME = "source_function_name";
+ private String sourceFunctionName;
+
+ public static final String JSON_PROPERTY_SOURCE_URL = "source_url";
+ private String sourceUrl;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedHighScriptEval() {}
+
+ @JsonCreator
+ public AggregatedHighScriptEval(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DURATION) Long avgDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_FORCED_STYLE_LAYOUT)
+ Long avgForcedStyleLayout,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INSTANCE_COUNT) Integer instanceCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INVOKER_TYPE) String invokerType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SOURCE_CATEGORY) String sourceCategory,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SOURCE_FUNCTION_NAME)
+ String sourceFunctionName,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SOURCE_URL) String sourceUrl,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgDuration = avgDuration;
+ this.avgForcedStyleLayout = avgForcedStyleLayout;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.instanceCount = instanceCount;
+ this.invokerType = invokerType;
+ this.sourceCategory = sourceCategory;
+ if (sourceCategory != null) {}
+ this.sourceFunctionName = sourceFunctionName;
+ this.sourceUrl = sourceUrl;
+ if (sourceUrl != null) {}
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedHighScriptEval avgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ return this;
+ }
+
+ /**
+ * Average script evaluation duration in nanoseconds.
+ *
+ * @return avgDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgDuration() {
+ return avgDuration;
+ }
+
+ public void setAvgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ }
+
+ public AggregatedHighScriptEval avgForcedStyleLayout(Long avgForcedStyleLayout) {
+ this.avgForcedStyleLayout = avgForcedStyleLayout;
+ return this;
+ }
+
+ /**
+ * Average forced style/layout duration in nanoseconds.
+ *
+ * @return avgForcedStyleLayout
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_FORCED_STYLE_LAYOUT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgForcedStyleLayout() {
+ return avgForcedStyleLayout;
+ }
+
+ public void setAvgForcedStyleLayout(Long avgForcedStyleLayout) {
+ this.avgForcedStyleLayout = avgForcedStyleLayout;
+ }
+
+ public AggregatedHighScriptEval fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedHighScriptEval impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score combining view frequency and duration severity.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedHighScriptEval instanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ return this;
+ }
+
+ /**
+ * Total number of detection instances across sampled views. maximum: 2147483647
+ *
+ * @return instanceCount
+ */
+ @JsonProperty(JSON_PROPERTY_INSTANCE_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getInstanceCount() {
+ return instanceCount;
+ }
+
+ public void setInstanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ }
+
+ public AggregatedHighScriptEval invokerType(String invokerType) {
+ this.invokerType = invokerType;
+ return this;
+ }
+
+ /**
+ * Type of invoker that triggered the script evaluation.
+ *
+ * @return invokerType
+ */
+ @JsonProperty(JSON_PROPERTY_INVOKER_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInvokerType() {
+ return invokerType;
+ }
+
+ public void setInvokerType(String invokerType) {
+ this.invokerType = invokerType;
+ }
+
+ public AggregatedHighScriptEval sourceCategory(String sourceCategory) {
+ this.sourceCategory = sourceCategory;
+ if (sourceCategory != null) {}
+ return this;
+ }
+
+ /**
+ * Category of the script source.
+ *
+ * @return sourceCategory
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SOURCE_CATEGORY)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSourceCategory() {
+ return sourceCategory;
+ }
+
+ public void setSourceCategory(String sourceCategory) {
+ this.sourceCategory = sourceCategory;
+ }
+
+ public AggregatedHighScriptEval sourceFunctionName(String sourceFunctionName) {
+ this.sourceFunctionName = sourceFunctionName;
+ return this;
+ }
+
+ /**
+ * Name of the function that triggered the high script evaluation.
+ *
+ * @return sourceFunctionName
+ */
+ @JsonProperty(JSON_PROPERTY_SOURCE_FUNCTION_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSourceFunctionName() {
+ return sourceFunctionName;
+ }
+
+ public void setSourceFunctionName(String sourceFunctionName) {
+ this.sourceFunctionName = sourceFunctionName;
+ }
+
+ public AggregatedHighScriptEval sourceUrl(String sourceUrl) {
+ this.sourceUrl = sourceUrl;
+ if (sourceUrl != null) {}
+ return this;
+ }
+
+ /**
+ * URL of the script that triggered the high script evaluation.
+ *
+ * @return sourceUrl
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SOURCE_URL)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSourceUrl() {
+ return sourceUrl;
+ }
+
+ public void setSourceUrl(String sourceUrl) {
+ this.sourceUrl = sourceUrl;
+ }
+
+ public AggregatedHighScriptEval viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedHighScriptEval
+ */
+ @JsonAnySetter
+ public AggregatedHighScriptEval putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedHighScriptEval object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedHighScriptEval aggregatedHighScriptEval = (AggregatedHighScriptEval) o;
+ return Objects.equals(this.avgDuration, aggregatedHighScriptEval.avgDuration)
+ && Objects.equals(this.avgForcedStyleLayout, aggregatedHighScriptEval.avgForcedStyleLayout)
+ && Objects.equals(this.fingerprint, aggregatedHighScriptEval.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedHighScriptEval.impactScore)
+ && Objects.equals(this.instanceCount, aggregatedHighScriptEval.instanceCount)
+ && Objects.equals(this.invokerType, aggregatedHighScriptEval.invokerType)
+ && Objects.equals(this.sourceCategory, aggregatedHighScriptEval.sourceCategory)
+ && Objects.equals(this.sourceFunctionName, aggregatedHighScriptEval.sourceFunctionName)
+ && Objects.equals(this.sourceUrl, aggregatedHighScriptEval.sourceUrl)
+ && Objects.equals(this.viewOccurrences, aggregatedHighScriptEval.viewOccurrences)
+ && Objects.equals(this.additionalProperties, aggregatedHighScriptEval.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgDuration,
+ avgForcedStyleLayout,
+ fingerprint,
+ impactScore,
+ instanceCount,
+ invokerType,
+ sourceCategory,
+ sourceFunctionName,
+ sourceUrl,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedHighScriptEval {\n");
+ sb.append(" avgDuration: ").append(toIndentedString(avgDuration)).append("\n");
+ sb.append(" avgForcedStyleLayout: ")
+ .append(toIndentedString(avgForcedStyleLayout))
+ .append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" instanceCount: ").append(toIndentedString(instanceCount)).append("\n");
+ sb.append(" invokerType: ").append(toIndentedString(invokerType)).append("\n");
+ sb.append(" sourceCategory: ").append(toIndentedString(sourceCategory)).append("\n");
+ sb.append(" sourceFunctionName: ").append(toIndentedString(sourceFunctionName)).append("\n");
+ sb.append(" sourceUrl: ").append(toIndentedString(sourceUrl)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksByInvokerType.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksByInvokerType.java
new file mode 100644
index 00000000000..6e90b362e01
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksByInvokerType.java
@@ -0,0 +1,312 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated long task statistics for a single invoker type. */
+@JsonPropertyOrder({
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES,
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_INVOKER_TYPE,
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_STATS_PER_VIEW,
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_TOP_INVOKERS,
+ AggregatedLongTasksByInvokerType.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksByInvokerType {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES = "criteria_view_occurrences";
+ private Integer criteriaViewOccurrences;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_INVOKER_TYPE = "invoker_type";
+ private String invokerType;
+
+ public static final String JSON_PROPERTY_STATS_PER_VIEW = "stats_per_view";
+ private LongTaskStatsPerView statsPerView;
+
+ public static final String JSON_PROPERTY_TOP_INVOKERS = "top_invokers";
+ private List topInvokers = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedLongTasksByInvokerType() {}
+
+ @JsonCreator
+ public AggregatedLongTasksByInvokerType(
+ @JsonProperty(required = true, value = JSON_PROPERTY_INVOKER_TYPE) String invokerType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_STATS_PER_VIEW)
+ LongTaskStatsPerView statsPerView,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TOP_INVOKERS)
+ List topInvokers,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.invokerType = invokerType;
+ this.statsPerView = statsPerView;
+ this.unparsed |= statsPerView.unparsed;
+ this.topInvokers = topInvokers;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedLongTasksByInvokerType criteriaViewOccurrences(Integer criteriaViewOccurrences) {
+ this.criteriaViewOccurrences = criteriaViewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this invoker type had long tasks contributing to the criteria
+ * metric. maximum: 2147483647
+ *
+ * @return criteriaViewOccurrences
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getCriteriaViewOccurrences() {
+ return criteriaViewOccurrences;
+ }
+
+ public void setCriteriaViewOccurrences(Integer criteriaViewOccurrences) {
+ this.criteriaViewOccurrences = criteriaViewOccurrences;
+ }
+
+ public AggregatedLongTasksByInvokerType impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Rank-product impact score combining view frequency and blocking time severity.
+ *
+ * @return impactScore
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedLongTasksByInvokerType invokerType(String invokerType) {
+ this.invokerType = invokerType;
+ return this;
+ }
+
+ /**
+ * Category of the long task invoker (for example, resolve-promise, user-callback).
+ *
+ * @return invokerType
+ */
+ @JsonProperty(JSON_PROPERTY_INVOKER_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInvokerType() {
+ return invokerType;
+ }
+
+ public void setInvokerType(String invokerType) {
+ this.invokerType = invokerType;
+ }
+
+ public AggregatedLongTasksByInvokerType statsPerView(LongTaskStatsPerView statsPerView) {
+ this.statsPerView = statsPerView;
+ this.unparsed |= statsPerView.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distributions of long task metrics computed per view across sampled views.
+ *
+ * @return statsPerView
+ */
+ @JsonProperty(JSON_PROPERTY_STATS_PER_VIEW)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public LongTaskStatsPerView getStatsPerView() {
+ return statsPerView;
+ }
+
+ public void setStatsPerView(LongTaskStatsPerView statsPerView) {
+ this.statsPerView = statsPerView;
+ }
+
+ public AggregatedLongTasksByInvokerType topInvokers(List topInvokers) {
+ this.topInvokers = topInvokers;
+ for (TopLongTaskInvoker item : topInvokers) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public AggregatedLongTasksByInvokerType addTopInvokersItem(TopLongTaskInvoker topInvokersItem) {
+ this.topInvokers.add(topInvokersItem);
+ this.unparsed |= topInvokersItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Top invokers within this invoker type, sorted by impact score descending.
+ *
+ * @return topInvokers
+ */
+ @JsonProperty(JSON_PROPERTY_TOP_INVOKERS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getTopInvokers() {
+ return topInvokers;
+ }
+
+ public void setTopInvokers(List topInvokers) {
+ this.topInvokers = topInvokers;
+ }
+
+ public AggregatedLongTasksByInvokerType viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this invoker type had any long tasks. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksByInvokerType
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksByInvokerType putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksByInvokerType object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksByInvokerType aggregatedLongTasksByInvokerType =
+ (AggregatedLongTasksByInvokerType) o;
+ return Objects.equals(
+ this.criteriaViewOccurrences, aggregatedLongTasksByInvokerType.criteriaViewOccurrences)
+ && Objects.equals(this.impactScore, aggregatedLongTasksByInvokerType.impactScore)
+ && Objects.equals(this.invokerType, aggregatedLongTasksByInvokerType.invokerType)
+ && Objects.equals(this.statsPerView, aggregatedLongTasksByInvokerType.statsPerView)
+ && Objects.equals(this.topInvokers, aggregatedLongTasksByInvokerType.topInvokers)
+ && Objects.equals(this.viewOccurrences, aggregatedLongTasksByInvokerType.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksByInvokerType.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ criteriaViewOccurrences,
+ impactScore,
+ invokerType,
+ statsPerView,
+ topInvokers,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksByInvokerType {\n");
+ sb.append(" criteriaViewOccurrences: ")
+ .append(toIndentedString(criteriaViewOccurrences))
+ .append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" invokerType: ").append(toIndentedString(invokerType)).append("\n");
+ sb.append(" statsPerView: ").append(toIndentedString(statsPerView)).append("\n");
+ sb.append(" topInvokers: ").append(toIndentedString(topInvokers)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequest.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequest.java
new file mode 100644
index 00000000000..daa767d10ee
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequest.java
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Request body for the aggregated long tasks endpoint. */
+@JsonPropertyOrder({AggregatedLongTasksRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedLongTasksRequestData data;
+
+ public AggregatedLongTasksRequest() {}
+
+ @JsonCreator
+ public AggregatedLongTasksRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedLongTasksRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedLongTasksRequest data(AggregatedLongTasksRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated long tasks request.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksRequestData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedLongTasksRequestData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksRequest
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksRequest putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksRequest aggregatedLongTasksRequest = (AggregatedLongTasksRequest) o;
+ return Objects.equals(this.data, aggregatedLongTasksRequest.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksRequest {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestAttributes.java
new file mode 100644
index 00000000000..c6ffaf64f54
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestAttributes.java
@@ -0,0 +1,316 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes for an aggregated long tasks query. */
+@JsonPropertyOrder({
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_FILTER,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_FROM,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_SAMPLE_SIZE,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_TO,
+ AggregatedLongTasksRequestAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksRequestAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_FILTER = "filter";
+ private String filter;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_SAMPLE_SIZE = "sample_size";
+ private Integer sampleSize;
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedLongTasksRequestAttributes() {}
+
+ @JsonCreator
+ public AggregatedLongTasksRequestAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLE_SIZE) Integer sampleSize,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.sampleSize = sampleSize;
+ this.to = to;
+ this.viewName = viewName;
+ }
+
+ public AggregatedLongTasksRequestAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID to analyze.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedLongTasksRequestAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedLongTasksRequestAttributes filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ *
+ * @return filter
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FILTER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getFilter() {
+ return filter;
+ }
+
+ public void setFilter(String filter) {
+ this.filter = filter;
+ }
+
+ public AggregatedLongTasksRequestAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedLongTasksRequestAttributes sampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ return this;
+ }
+
+ /**
+ * Number of view instances to sample, between 1 and 500. minimum: 1 maximum: 500
+ *
+ * @return sampleSize
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLE_SIZE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getSampleSize() {
+ return sampleSize;
+ }
+
+ public void setSampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ }
+
+ public AggregatedLongTasksRequestAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedLongTasksRequestAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name to analyze (for example, /account/login).
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksRequestAttributes
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksRequestAttributes putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksRequestAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksRequestAttributes aggregatedLongTasksRequestAttributes =
+ (AggregatedLongTasksRequestAttributes) o;
+ return Objects.equals(this.applicationId, aggregatedLongTasksRequestAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedLongTasksRequestAttributes.criteria)
+ && Objects.equals(this.filter, aggregatedLongTasksRequestAttributes.filter)
+ && Objects.equals(this.from, aggregatedLongTasksRequestAttributes.from)
+ && Objects.equals(this.sampleSize, aggregatedLongTasksRequestAttributes.sampleSize)
+ && Objects.equals(this.to, aggregatedLongTasksRequestAttributes.to)
+ && Objects.equals(this.viewName, aggregatedLongTasksRequestAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksRequestAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId, criteria, filter, from, sampleSize, to, viewName, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksRequestAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" filter: ").append(toIndentedString(filter)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" sampleSize: ").append(toIndentedString(sampleSize)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestData.java
new file mode 100644
index 00000000000..e0062d426a4
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestData.java
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated long tasks request. */
+@JsonPropertyOrder({
+ AggregatedLongTasksRequestData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedLongTasksRequestData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksRequestData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedLongTasksRequestAttributes attributes;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedLongTasksRequestType type;
+
+ public AggregatedLongTasksRequestData() {}
+
+ @JsonCreator
+ public AggregatedLongTasksRequestData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedLongTasksRequestAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedLongTasksRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedLongTasksRequestData attributes(
+ AggregatedLongTasksRequestAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes for an aggregated long tasks query.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksRequestAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedLongTasksRequestAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedLongTasksRequestData type(AggregatedLongTasksRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated long tasks requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedLongTasksRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksRequestData
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksRequestData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksRequestData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksRequestData aggregatedLongTasksRequestData =
+ (AggregatedLongTasksRequestData) o;
+ return Objects.equals(this.attributes, aggregatedLongTasksRequestData.attributes)
+ && Objects.equals(this.type, aggregatedLongTasksRequestData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksRequestData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksRequestData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestType.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestType.java
new file mode 100644
index 00000000000..b247ab0b6ea
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksRequestType.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** The JSON:API type for aggregated long tasks requests. */
+@JsonSerialize(
+ using = AggregatedLongTasksRequestType.AggregatedLongTasksRequestTypeSerializer.class)
+public class AggregatedLongTasksRequestType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("aggregated_long_tasks"));
+
+ public static final AggregatedLongTasksRequestType AGGREGATED_LONG_TASKS =
+ new AggregatedLongTasksRequestType("aggregated_long_tasks");
+
+ AggregatedLongTasksRequestType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class AggregatedLongTasksRequestTypeSerializer
+ extends StdSerializer {
+ public AggregatedLongTasksRequestTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public AggregatedLongTasksRequestTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ AggregatedLongTasksRequestType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static AggregatedLongTasksRequestType fromValue(String value) {
+ return new AggregatedLongTasksRequestType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponse.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponse.java
new file mode 100644
index 00000000000..f3c769fd1ff
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponse.java
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Response body for the aggregated long tasks endpoint. */
+@JsonPropertyOrder({AggregatedLongTasksResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedLongTasksResponseData data;
+
+ public AggregatedLongTasksResponse() {}
+
+ @JsonCreator
+ public AggregatedLongTasksResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedLongTasksResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedLongTasksResponse data(AggregatedLongTasksResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated long tasks response.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksResponseData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedLongTasksResponseData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksResponse
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksResponse aggregatedLongTasksResponse = (AggregatedLongTasksResponse) o;
+ return Objects.equals(this.data, aggregatedLongTasksResponse.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseAttributes.java
new file mode 100644
index 00000000000..cfbbdca39bc
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseAttributes.java
@@ -0,0 +1,379 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes of an aggregated long tasks response. */
+@JsonPropertyOrder({
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_FROM,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_LONG_TASKS_BY_INVOKER_TYPE,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_SAMPLED_VIEW_IDS,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_TO,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_VIEW_COUNT,
+ AggregatedLongTasksResponseAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksResponseAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_LONG_TASKS_BY_INVOKER_TYPE =
+ "long_tasks_by_invoker_type";
+ private List longTasksByInvokerType = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_SAMPLED_VIEW_IDS = "sampled_view_ids";
+ private List sampledViewIds = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_VIEW_COUNT = "view_count";
+ private Integer viewCount;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedLongTasksResponseAttributes() {}
+
+ @JsonCreator
+ public AggregatedLongTasksResponseAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_LONG_TASKS_BY_INVOKER_TYPE)
+ List longTasksByInvokerType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ List sampledViewIds,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_COUNT) Integer viewCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.longTasksByInvokerType = longTasksByInvokerType;
+ this.sampledViewIds = sampledViewIds;
+ this.to = to;
+ this.viewCount = viewCount;
+ this.viewName = viewName;
+ }
+
+ public AggregatedLongTasksResponseAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID that was analyzed.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedLongTasksResponseAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedLongTasksResponseAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedLongTasksResponseAttributes longTasksByInvokerType(
+ List longTasksByInvokerType) {
+ this.longTasksByInvokerType = longTasksByInvokerType;
+ for (AggregatedLongTasksByInvokerType item : longTasksByInvokerType) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public AggregatedLongTasksResponseAttributes addLongTasksByInvokerTypeItem(
+ AggregatedLongTasksByInvokerType longTasksByInvokerTypeItem) {
+ this.longTasksByInvokerType.add(longTasksByInvokerTypeItem);
+ this.unparsed |= longTasksByInvokerTypeItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Long task statistics grouped by invoker type, sorted by impact score descending.
+ *
+ * @return longTasksByInvokerType
+ */
+ @JsonProperty(JSON_PROPERTY_LONG_TASKS_BY_INVOKER_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getLongTasksByInvokerType() {
+ return longTasksByInvokerType;
+ }
+
+ public void setLongTasksByInvokerType(
+ List longTasksByInvokerType) {
+ this.longTasksByInvokerType = longTasksByInvokerType;
+ }
+
+ public AggregatedLongTasksResponseAttributes sampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ return this;
+ }
+
+ public AggregatedLongTasksResponseAttributes addSampledViewIdsItem(String sampledViewIdsItem) {
+ this.sampledViewIds.add(sampledViewIdsItem);
+ return this;
+ }
+
+ /**
+ * List of RUM view IDs sampled for this aggregation, capped at 50.
+ *
+ * @return sampledViewIds
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getSampledViewIds() {
+ return sampledViewIds;
+ }
+
+ public void setSampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ }
+
+ public AggregatedLongTasksResponseAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedLongTasksResponseAttributes viewCount(Integer viewCount) {
+ this.viewCount = viewCount;
+ return this;
+ }
+
+ /**
+ * Number of view instances included in the analysis. maximum: 2147483647
+ *
+ * @return viewCount
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewCount() {
+ return viewCount;
+ }
+
+ public void setViewCount(Integer viewCount) {
+ this.viewCount = viewCount;
+ }
+
+ public AggregatedLongTasksResponseAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name that was analyzed.
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksResponseAttributes
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksResponseAttributes putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksResponseAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksResponseAttributes aggregatedLongTasksResponseAttributes =
+ (AggregatedLongTasksResponseAttributes) o;
+ return Objects.equals(this.applicationId, aggregatedLongTasksResponseAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedLongTasksResponseAttributes.criteria)
+ && Objects.equals(this.from, aggregatedLongTasksResponseAttributes.from)
+ && Objects.equals(
+ this.longTasksByInvokerType,
+ aggregatedLongTasksResponseAttributes.longTasksByInvokerType)
+ && Objects.equals(this.sampledViewIds, aggregatedLongTasksResponseAttributes.sampledViewIds)
+ && Objects.equals(this.to, aggregatedLongTasksResponseAttributes.to)
+ && Objects.equals(this.viewCount, aggregatedLongTasksResponseAttributes.viewCount)
+ && Objects.equals(this.viewName, aggregatedLongTasksResponseAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksResponseAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId,
+ criteria,
+ from,
+ longTasksByInvokerType,
+ sampledViewIds,
+ to,
+ viewCount,
+ viewName,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksResponseAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" longTasksByInvokerType: ")
+ .append(toIndentedString(longTasksByInvokerType))
+ .append("\n");
+ sb.append(" sampledViewIds: ").append(toIndentedString(sampledViewIds)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" viewCount: ").append(toIndentedString(viewCount)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseData.java
new file mode 100644
index 00000000000..a0b4e9c391e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLongTasksResponseData.java
@@ -0,0 +1,213 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated long tasks response. */
+@JsonPropertyOrder({
+ AggregatedLongTasksResponseData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedLongTasksResponseData.JSON_PROPERTY_ID,
+ AggregatedLongTasksResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLongTasksResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedLongTasksResponseAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedLongTasksRequestType type;
+
+ public AggregatedLongTasksResponseData() {}
+
+ @JsonCreator
+ public AggregatedLongTasksResponseData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedLongTasksResponseAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedLongTasksRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedLongTasksResponseData attributes(
+ AggregatedLongTasksResponseAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes of an aggregated long tasks response.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksResponseAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedLongTasksResponseAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedLongTasksResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Hash-based unique identifier for this aggregation.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public AggregatedLongTasksResponseData type(AggregatedLongTasksRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated long tasks requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedLongTasksRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedLongTasksRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLongTasksResponseData
+ */
+ @JsonAnySetter
+ public AggregatedLongTasksResponseData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLongTasksResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLongTasksResponseData aggregatedLongTasksResponseData =
+ (AggregatedLongTasksResponseData) o;
+ return Objects.equals(this.attributes, aggregatedLongTasksResponseData.attributes)
+ && Objects.equals(this.id, aggregatedLongTasksResponseData.id)
+ && Objects.equals(this.type, aggregatedLongTasksResponseData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLongTasksResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLongTasksResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedLowCacheHitRate.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedLowCacheHitRate.java
new file mode 100644
index 00000000000..a5c289fd43b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedLowCacheHitRate.java
@@ -0,0 +1,272 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated low cache hit rate detection at view level. */
+@JsonPropertyOrder({
+ AggregatedLowCacheHitRate.JSON_PROPERTY_AVG_CACHE_HIT_RATE,
+ AggregatedLowCacheHitRate.JSON_PROPERTY_AVG_RESOURCE_DOWNLOAD_SIZE_BYTES,
+ AggregatedLowCacheHitRate.JSON_PROPERTY_FINGERPRINT,
+ AggregatedLowCacheHitRate.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedLowCacheHitRate.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedLowCacheHitRate {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_CACHE_HIT_RATE = "avg_cache_hit_rate";
+ private Double avgCacheHitRate;
+
+ public static final String JSON_PROPERTY_AVG_RESOURCE_DOWNLOAD_SIZE_BYTES =
+ "avg_resource_download_size_bytes";
+ private Long avgResourceDownloadSizeBytes;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedLowCacheHitRate() {}
+
+ @JsonCreator
+ public AggregatedLowCacheHitRate(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_CACHE_HIT_RATE)
+ Double avgCacheHitRate,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_RESOURCE_DOWNLOAD_SIZE_BYTES)
+ Long avgResourceDownloadSizeBytes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgCacheHitRate = avgCacheHitRate;
+ this.avgResourceDownloadSizeBytes = avgResourceDownloadSizeBytes;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedLowCacheHitRate avgCacheHitRate(Double avgCacheHitRate) {
+ this.avgCacheHitRate = avgCacheHitRate;
+ return this;
+ }
+
+ /**
+ * Average cache hit rate across affected views.
+ *
+ * @return avgCacheHitRate
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_CACHE_HIT_RATE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgCacheHitRate() {
+ return avgCacheHitRate;
+ }
+
+ public void setAvgCacheHitRate(Double avgCacheHitRate) {
+ this.avgCacheHitRate = avgCacheHitRate;
+ }
+
+ public AggregatedLowCacheHitRate avgResourceDownloadSizeBytes(Long avgResourceDownloadSizeBytes) {
+ this.avgResourceDownloadSizeBytes = avgResourceDownloadSizeBytes;
+ return this;
+ }
+
+ /**
+ * Average total download size of uncached resources in bytes.
+ *
+ * @return avgResourceDownloadSizeBytes
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_RESOURCE_DOWNLOAD_SIZE_BYTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgResourceDownloadSizeBytes() {
+ return avgResourceDownloadSizeBytes;
+ }
+
+ public void setAvgResourceDownloadSizeBytes(Long avgResourceDownloadSizeBytes) {
+ this.avgResourceDownloadSizeBytes = avgResourceDownloadSizeBytes;
+ }
+
+ public AggregatedLowCacheHitRate fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedLowCacheHitRate impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score for this detection.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedLowCacheHitRate viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedLowCacheHitRate
+ */
+ @JsonAnySetter
+ public AggregatedLowCacheHitRate putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedLowCacheHitRate object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedLowCacheHitRate aggregatedLowCacheHitRate = (AggregatedLowCacheHitRate) o;
+ return Objects.equals(this.avgCacheHitRate, aggregatedLowCacheHitRate.avgCacheHitRate)
+ && Objects.equals(
+ this.avgResourceDownloadSizeBytes,
+ aggregatedLowCacheHitRate.avgResourceDownloadSizeBytes)
+ && Objects.equals(this.fingerprint, aggregatedLowCacheHitRate.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedLowCacheHitRate.impactScore)
+ && Objects.equals(this.viewOccurrences, aggregatedLowCacheHitRate.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedLowCacheHitRate.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgCacheHitRate,
+ avgResourceDownloadSizeBytes,
+ fingerprint,
+ impactScore,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedLowCacheHitRate {\n");
+ sb.append(" avgCacheHitRate: ").append(toIndentedString(avgCacheHitRate)).append("\n");
+ sb.append(" avgResourceDownloadSizeBytes: ")
+ .append(toIndentedString(avgResourceDownloadSizeBytes))
+ .append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedMobileScrollFriction.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedMobileScrollFriction.java
new file mode 100644
index 00000000000..1df2128e099
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedMobileScrollFriction.java
@@ -0,0 +1,240 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated mobile scroll friction detection at view level. */
+@JsonPropertyOrder({
+ AggregatedMobileScrollFriction.JSON_PROPERTY_AVG_SCROLL_FROZEN_FRAME_COUNT,
+ AggregatedMobileScrollFriction.JSON_PROPERTY_FINGERPRINT,
+ AggregatedMobileScrollFriction.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedMobileScrollFriction.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedMobileScrollFriction {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_SCROLL_FROZEN_FRAME_COUNT =
+ "avg_scroll_frozen_frame_count";
+ private Integer avgScrollFrozenFrameCount;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedMobileScrollFriction() {}
+
+ @JsonCreator
+ public AggregatedMobileScrollFriction(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_SCROLL_FROZEN_FRAME_COUNT)
+ Integer avgScrollFrozenFrameCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgScrollFrozenFrameCount = avgScrollFrozenFrameCount;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedMobileScrollFriction avgScrollFrozenFrameCount(
+ Integer avgScrollFrozenFrameCount) {
+ this.avgScrollFrozenFrameCount = avgScrollFrozenFrameCount;
+ return this;
+ }
+
+ /**
+ * Average number of frozen frames during scroll interactions. maximum: 2147483647
+ *
+ * @return avgScrollFrozenFrameCount
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_SCROLL_FROZEN_FRAME_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getAvgScrollFrozenFrameCount() {
+ return avgScrollFrozenFrameCount;
+ }
+
+ public void setAvgScrollFrozenFrameCount(Integer avgScrollFrozenFrameCount) {
+ this.avgScrollFrozenFrameCount = avgScrollFrozenFrameCount;
+ }
+
+ public AggregatedMobileScrollFriction fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedMobileScrollFriction impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score for this detection.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedMobileScrollFriction viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedMobileScrollFriction
+ */
+ @JsonAnySetter
+ public AggregatedMobileScrollFriction putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedMobileScrollFriction object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedMobileScrollFriction aggregatedMobileScrollFriction =
+ (AggregatedMobileScrollFriction) o;
+ return Objects.equals(
+ this.avgScrollFrozenFrameCount,
+ aggregatedMobileScrollFriction.avgScrollFrozenFrameCount)
+ && Objects.equals(this.fingerprint, aggregatedMobileScrollFriction.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedMobileScrollFriction.impactScore)
+ && Objects.equals(this.viewOccurrences, aggregatedMobileScrollFriction.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedMobileScrollFriction.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgScrollFrozenFrameCount, fingerprint, impactScore, viewOccurrences, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedMobileScrollFriction {\n");
+ sb.append(" avgScrollFrozenFrameCount: ")
+ .append(toIndentedString(avgScrollFrozenFrameCount))
+ .append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedResource.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedResource.java
new file mode 100644
index 00000000000..37c34620034
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedResource.java
@@ -0,0 +1,721 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Aggregated performance statistics for a single network resource across sampled view instances.
+ */
+@JsonPropertyOrder({
+ AggregatedResource.JSON_PROPERTY_AVG_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_AVG_START_TIME_MS,
+ AggregatedResource.JSON_PROPERTY_CACHE_HIT_RATE_PCT,
+ AggregatedResource.JSON_PROPERTY_CACHED_COUNT,
+ AggregatedResource.JSON_PROPERTY_DOWNLOADED_COUNT,
+ AggregatedResource.JSON_PROPERTY_GLOBAL_P75_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_GLOBAL_VIEW_NAME_COUNT,
+ AggregatedResource.JSON_PROPERTY_GLOBAL_VIEW_NAME_PCT,
+ AggregatedResource.JSON_PROPERTY_HTTP_METHOD,
+ AggregatedResource.JSON_PROPERTY_LOAD_FREQUENCY_PCT,
+ AggregatedResource.JSON_PROPERTY_MAX_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_MEDIAN_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_MIN_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_P75_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_P95_DURATION_MS,
+ AggregatedResource.JSON_PROPERTY_RESOURCE_TYPE,
+ AggregatedResource.JSON_PROPERTY_RESOURCE_URL_PATH_GROUP,
+ AggregatedResource.JSON_PROPERTY_TIMING_BREAKDOWN,
+ AggregatedResource.JSON_PROPERTY_TOTAL_REQUESTS,
+ AggregatedResource.JSON_PROPERTY_VIEWS_WITH_RESOURCE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedResource {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_DURATION_MS = "avg_duration_ms";
+ private Double avgDurationMs;
+
+ public static final String JSON_PROPERTY_AVG_START_TIME_MS = "avg_start_time_ms";
+ private Double avgStartTimeMs;
+
+ public static final String JSON_PROPERTY_CACHE_HIT_RATE_PCT = "cache_hit_rate_pct";
+ private Double cacheHitRatePct;
+
+ public static final String JSON_PROPERTY_CACHED_COUNT = "cached_count";
+ private Integer cachedCount;
+
+ public static final String JSON_PROPERTY_DOWNLOADED_COUNT = "downloaded_count";
+ private Integer downloadedCount;
+
+ public static final String JSON_PROPERTY_GLOBAL_P75_DURATION_MS = "global_p75_duration_ms";
+ private Double globalP75DurationMs;
+
+ public static final String JSON_PROPERTY_GLOBAL_VIEW_NAME_COUNT = "global_view_name_count";
+ private Integer globalViewNameCount;
+
+ public static final String JSON_PROPERTY_GLOBAL_VIEW_NAME_PCT = "global_view_name_pct";
+ private Double globalViewNamePct;
+
+ public static final String JSON_PROPERTY_HTTP_METHOD = "http_method";
+ private String httpMethod;
+
+ public static final String JSON_PROPERTY_LOAD_FREQUENCY_PCT = "load_frequency_pct";
+ private Double loadFrequencyPct;
+
+ public static final String JSON_PROPERTY_MAX_DURATION_MS = "max_duration_ms";
+ private Double maxDurationMs;
+
+ public static final String JSON_PROPERTY_MEDIAN_DURATION_MS = "median_duration_ms";
+ private Double medianDurationMs;
+
+ public static final String JSON_PROPERTY_MIN_DURATION_MS = "min_duration_ms";
+ private Double minDurationMs;
+
+ public static final String JSON_PROPERTY_P75_DURATION_MS = "p75_duration_ms";
+ private Double p75DurationMs;
+
+ public static final String JSON_PROPERTY_P95_DURATION_MS = "p95_duration_ms";
+ private Double p95DurationMs;
+
+ public static final String JSON_PROPERTY_RESOURCE_TYPE = "resource_type";
+ private String resourceType;
+
+ public static final String JSON_PROPERTY_RESOURCE_URL_PATH_GROUP = "resource_url_path_group";
+ private String resourceUrlPathGroup;
+
+ public static final String JSON_PROPERTY_TIMING_BREAKDOWN = "timing_breakdown";
+ private AggregatedResourceTimingBreakdown timingBreakdown;
+
+ public static final String JSON_PROPERTY_TOTAL_REQUESTS = "total_requests";
+ private Integer totalRequests;
+
+ public static final String JSON_PROPERTY_VIEWS_WITH_RESOURCE = "views_with_resource";
+ private Integer viewsWithResource;
+
+ public AggregatedResource() {}
+
+ @JsonCreator
+ public AggregatedResource(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DURATION_MS) Double avgDurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_START_TIME_MS) Double avgStartTimeMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_CACHE_HIT_RATE_PCT)
+ Double cacheHitRatePct,
+ @JsonProperty(required = true, value = JSON_PROPERTY_CACHED_COUNT) Integer cachedCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_DOWNLOADED_COUNT)
+ Integer downloadedCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_HTTP_METHOD) String httpMethod,
+ @JsonProperty(required = true, value = JSON_PROPERTY_LOAD_FREQUENCY_PCT)
+ Double loadFrequencyPct,
+ @JsonProperty(required = true, value = JSON_PROPERTY_MAX_DURATION_MS) Double maxDurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_MEDIAN_DURATION_MS)
+ Double medianDurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_MIN_DURATION_MS) Double minDurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_P75_DURATION_MS) Double p75DurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_P95_DURATION_MS) Double p95DurationMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_RESOURCE_TYPE) String resourceType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_RESOURCE_URL_PATH_GROUP)
+ String resourceUrlPathGroup,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TIMING_BREAKDOWN)
+ AggregatedResourceTimingBreakdown timingBreakdown,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TOTAL_REQUESTS) Integer totalRequests,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEWS_WITH_RESOURCE)
+ Integer viewsWithResource) {
+ this.avgDurationMs = avgDurationMs;
+ this.avgStartTimeMs = avgStartTimeMs;
+ this.cacheHitRatePct = cacheHitRatePct;
+ this.cachedCount = cachedCount;
+ this.downloadedCount = downloadedCount;
+ this.httpMethod = httpMethod;
+ if (httpMethod != null) {}
+ this.loadFrequencyPct = loadFrequencyPct;
+ this.maxDurationMs = maxDurationMs;
+ this.medianDurationMs = medianDurationMs;
+ this.minDurationMs = minDurationMs;
+ this.p75DurationMs = p75DurationMs;
+ this.p95DurationMs = p95DurationMs;
+ this.resourceType = resourceType;
+ if (resourceType != null) {}
+ this.resourceUrlPathGroup = resourceUrlPathGroup;
+ this.timingBreakdown = timingBreakdown;
+ this.unparsed |= timingBreakdown.unparsed;
+ this.totalRequests = totalRequests;
+ this.viewsWithResource = viewsWithResource;
+ }
+
+ public AggregatedResource avgDurationMs(Double avgDurationMs) {
+ this.avgDurationMs = avgDurationMs;
+ return this;
+ }
+
+ /**
+ * Average total duration in milliseconds.
+ *
+ * @return avgDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgDurationMs() {
+ return avgDurationMs;
+ }
+
+ public void setAvgDurationMs(Double avgDurationMs) {
+ this.avgDurationMs = avgDurationMs;
+ }
+
+ public AggregatedResource avgStartTimeMs(Double avgStartTimeMs) {
+ this.avgStartTimeMs = avgStartTimeMs;
+ return this;
+ }
+
+ /**
+ * Average start time relative to view start in milliseconds.
+ *
+ * @return avgStartTimeMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_START_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgStartTimeMs() {
+ return avgStartTimeMs;
+ }
+
+ public void setAvgStartTimeMs(Double avgStartTimeMs) {
+ this.avgStartTimeMs = avgStartTimeMs;
+ }
+
+ public AggregatedResource cacheHitRatePct(Double cacheHitRatePct) {
+ this.cacheHitRatePct = cacheHitRatePct;
+ return this;
+ }
+
+ /**
+ * Cache hit rate as a percentage.
+ *
+ * @return cacheHitRatePct
+ */
+ @JsonProperty(JSON_PROPERTY_CACHE_HIT_RATE_PCT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getCacheHitRatePct() {
+ return cacheHitRatePct;
+ }
+
+ public void setCacheHitRatePct(Double cacheHitRatePct) {
+ this.cacheHitRatePct = cacheHitRatePct;
+ }
+
+ public AggregatedResource cachedCount(Integer cachedCount) {
+ this.cachedCount = cachedCount;
+ return this;
+ }
+
+ /**
+ * Number of requests served from cache. maximum: 2147483647
+ *
+ * @return cachedCount
+ */
+ @JsonProperty(JSON_PROPERTY_CACHED_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getCachedCount() {
+ return cachedCount;
+ }
+
+ public void setCachedCount(Integer cachedCount) {
+ this.cachedCount = cachedCount;
+ }
+
+ public AggregatedResource downloadedCount(Integer downloadedCount) {
+ this.downloadedCount = downloadedCount;
+ return this;
+ }
+
+ /**
+ * Number of requests downloaded from the network. maximum: 2147483647
+ *
+ * @return downloadedCount
+ */
+ @JsonProperty(JSON_PROPERTY_DOWNLOADED_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getDownloadedCount() {
+ return downloadedCount;
+ }
+
+ public void setDownloadedCount(Integer downloadedCount) {
+ this.downloadedCount = downloadedCount;
+ }
+
+ public AggregatedResource globalP75DurationMs(Double globalP75DurationMs) {
+ this.globalP75DurationMs = globalP75DurationMs;
+ return this;
+ }
+
+ /**
+ * 75th percentile duration across all view names in the application, present when
+ * include_global_appearance is true.
+ *
+ * @return globalP75DurationMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GLOBAL_P75_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getGlobalP75DurationMs() {
+ return globalP75DurationMs;
+ }
+
+ public void setGlobalP75DurationMs(Double globalP75DurationMs) {
+ this.globalP75DurationMs = globalP75DurationMs;
+ }
+
+ public AggregatedResource globalViewNameCount(Integer globalViewNameCount) {
+ this.globalViewNameCount = globalViewNameCount;
+ return this;
+ }
+
+ /**
+ * Number of distinct view names in the application that load this resource, present when
+ * include_global_appearance is true. maximum: 2147483647
+ *
+ * @return globalViewNameCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GLOBAL_VIEW_NAME_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getGlobalViewNameCount() {
+ return globalViewNameCount;
+ }
+
+ public void setGlobalViewNameCount(Integer globalViewNameCount) {
+ this.globalViewNameCount = globalViewNameCount;
+ }
+
+ public AggregatedResource globalViewNamePct(Double globalViewNamePct) {
+ this.globalViewNamePct = globalViewNamePct;
+ return this;
+ }
+
+ /**
+ * Percentage of distinct view names in the application that load this resource, present when
+ * include_global_appearance is true.
+ *
+ * @return globalViewNamePct
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_GLOBAL_VIEW_NAME_PCT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getGlobalViewNamePct() {
+ return globalViewNamePct;
+ }
+
+ public void setGlobalViewNamePct(Double globalViewNamePct) {
+ this.globalViewNamePct = globalViewNamePct;
+ }
+
+ public AggregatedResource httpMethod(String httpMethod) {
+ this.httpMethod = httpMethod;
+ if (httpMethod != null) {}
+ return this;
+ }
+
+ /**
+ * HTTP method for the resource request.
+ *
+ * @return httpMethod
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HTTP_METHOD)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getHttpMethod() {
+ return httpMethod;
+ }
+
+ public void setHttpMethod(String httpMethod) {
+ this.httpMethod = httpMethod;
+ }
+
+ public AggregatedResource loadFrequencyPct(Double loadFrequencyPct) {
+ this.loadFrequencyPct = loadFrequencyPct;
+ return this;
+ }
+
+ /**
+ * Percentage of sampled view instances that loaded this resource.
+ *
+ * @return loadFrequencyPct
+ */
+ @JsonProperty(JSON_PROPERTY_LOAD_FREQUENCY_PCT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getLoadFrequencyPct() {
+ return loadFrequencyPct;
+ }
+
+ public void setLoadFrequencyPct(Double loadFrequencyPct) {
+ this.loadFrequencyPct = loadFrequencyPct;
+ }
+
+ public AggregatedResource maxDurationMs(Double maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ return this;
+ }
+
+ /**
+ * Maximum duration in milliseconds.
+ *
+ * @return maxDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_MAX_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getMaxDurationMs() {
+ return maxDurationMs;
+ }
+
+ public void setMaxDurationMs(Double maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ }
+
+ public AggregatedResource medianDurationMs(Double medianDurationMs) {
+ this.medianDurationMs = medianDurationMs;
+ return this;
+ }
+
+ /**
+ * Median duration in milliseconds.
+ *
+ * @return medianDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_MEDIAN_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getMedianDurationMs() {
+ return medianDurationMs;
+ }
+
+ public void setMedianDurationMs(Double medianDurationMs) {
+ this.medianDurationMs = medianDurationMs;
+ }
+
+ public AggregatedResource minDurationMs(Double minDurationMs) {
+ this.minDurationMs = minDurationMs;
+ return this;
+ }
+
+ /**
+ * Minimum duration in milliseconds.
+ *
+ * @return minDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_MIN_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getMinDurationMs() {
+ return minDurationMs;
+ }
+
+ public void setMinDurationMs(Double minDurationMs) {
+ this.minDurationMs = minDurationMs;
+ }
+
+ public AggregatedResource p75DurationMs(Double p75DurationMs) {
+ this.p75DurationMs = p75DurationMs;
+ return this;
+ }
+
+ /**
+ * 75th percentile duration in milliseconds.
+ *
+ * @return p75DurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_P75_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getP75DurationMs() {
+ return p75DurationMs;
+ }
+
+ public void setP75DurationMs(Double p75DurationMs) {
+ this.p75DurationMs = p75DurationMs;
+ }
+
+ public AggregatedResource p95DurationMs(Double p95DurationMs) {
+ this.p95DurationMs = p95DurationMs;
+ return this;
+ }
+
+ /**
+ * 95th percentile duration in milliseconds.
+ *
+ * @return p95DurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_P95_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getP95DurationMs() {
+ return p95DurationMs;
+ }
+
+ public void setP95DurationMs(Double p95DurationMs) {
+ this.p95DurationMs = p95DurationMs;
+ }
+
+ public AggregatedResource resourceType(String resourceType) {
+ this.resourceType = resourceType;
+ if (resourceType != null) {}
+ return this;
+ }
+
+ /**
+ * Resource type (JS, CSS, image, fetch, XHR, document, and so on).
+ *
+ * @return resourceType
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_RESOURCE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getResourceType() {
+ return resourceType;
+ }
+
+ public void setResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ }
+
+ public AggregatedResource resourceUrlPathGroup(String resourceUrlPathGroup) {
+ this.resourceUrlPathGroup = resourceUrlPathGroup;
+ return this;
+ }
+
+ /**
+ * URL path group used to aggregate similar resources.
+ *
+ * @return resourceUrlPathGroup
+ */
+ @JsonProperty(JSON_PROPERTY_RESOURCE_URL_PATH_GROUP)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getResourceUrlPathGroup() {
+ return resourceUrlPathGroup;
+ }
+
+ public void setResourceUrlPathGroup(String resourceUrlPathGroup) {
+ this.resourceUrlPathGroup = resourceUrlPathGroup;
+ }
+
+ public AggregatedResource timingBreakdown(AggregatedResourceTimingBreakdown timingBreakdown) {
+ this.timingBreakdown = timingBreakdown;
+ this.unparsed |= timingBreakdown.unparsed;
+ return this;
+ }
+
+ /**
+ * Average timing breakdown per network phase for a resource.
+ *
+ * @return timingBreakdown
+ */
+ @JsonProperty(JSON_PROPERTY_TIMING_BREAKDOWN)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedResourceTimingBreakdown getTimingBreakdown() {
+ return timingBreakdown;
+ }
+
+ public void setTimingBreakdown(AggregatedResourceTimingBreakdown timingBreakdown) {
+ this.timingBreakdown = timingBreakdown;
+ }
+
+ public AggregatedResource totalRequests(Integer totalRequests) {
+ this.totalRequests = totalRequests;
+ return this;
+ }
+
+ /**
+ * Total number of requests for this resource across all sampled views. maximum: 2147483647
+ *
+ * @return totalRequests
+ */
+ @JsonProperty(JSON_PROPERTY_TOTAL_REQUESTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getTotalRequests() {
+ return totalRequests;
+ }
+
+ public void setTotalRequests(Integer totalRequests) {
+ this.totalRequests = totalRequests;
+ }
+
+ public AggregatedResource viewsWithResource(Integer viewsWithResource) {
+ this.viewsWithResource = viewsWithResource;
+ return this;
+ }
+
+ /**
+ * Number of sampled view instances that loaded this resource. maximum: 2147483647
+ *
+ * @return viewsWithResource
+ */
+ @JsonProperty(JSON_PROPERTY_VIEWS_WITH_RESOURCE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewsWithResource() {
+ return viewsWithResource;
+ }
+
+ public void setViewsWithResource(Integer viewsWithResource) {
+ this.viewsWithResource = viewsWithResource;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedResource
+ */
+ @JsonAnySetter
+ public AggregatedResource putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedResource object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedResource aggregatedResource = (AggregatedResource) o;
+ return Objects.equals(this.avgDurationMs, aggregatedResource.avgDurationMs)
+ && Objects.equals(this.avgStartTimeMs, aggregatedResource.avgStartTimeMs)
+ && Objects.equals(this.cacheHitRatePct, aggregatedResource.cacheHitRatePct)
+ && Objects.equals(this.cachedCount, aggregatedResource.cachedCount)
+ && Objects.equals(this.downloadedCount, aggregatedResource.downloadedCount)
+ && Objects.equals(this.globalP75DurationMs, aggregatedResource.globalP75DurationMs)
+ && Objects.equals(this.globalViewNameCount, aggregatedResource.globalViewNameCount)
+ && Objects.equals(this.globalViewNamePct, aggregatedResource.globalViewNamePct)
+ && Objects.equals(this.httpMethod, aggregatedResource.httpMethod)
+ && Objects.equals(this.loadFrequencyPct, aggregatedResource.loadFrequencyPct)
+ && Objects.equals(this.maxDurationMs, aggregatedResource.maxDurationMs)
+ && Objects.equals(this.medianDurationMs, aggregatedResource.medianDurationMs)
+ && Objects.equals(this.minDurationMs, aggregatedResource.minDurationMs)
+ && Objects.equals(this.p75DurationMs, aggregatedResource.p75DurationMs)
+ && Objects.equals(this.p95DurationMs, aggregatedResource.p95DurationMs)
+ && Objects.equals(this.resourceType, aggregatedResource.resourceType)
+ && Objects.equals(this.resourceUrlPathGroup, aggregatedResource.resourceUrlPathGroup)
+ && Objects.equals(this.timingBreakdown, aggregatedResource.timingBreakdown)
+ && Objects.equals(this.totalRequests, aggregatedResource.totalRequests)
+ && Objects.equals(this.viewsWithResource, aggregatedResource.viewsWithResource)
+ && Objects.equals(this.additionalProperties, aggregatedResource.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgDurationMs,
+ avgStartTimeMs,
+ cacheHitRatePct,
+ cachedCount,
+ downloadedCount,
+ globalP75DurationMs,
+ globalViewNameCount,
+ globalViewNamePct,
+ httpMethod,
+ loadFrequencyPct,
+ maxDurationMs,
+ medianDurationMs,
+ minDurationMs,
+ p75DurationMs,
+ p95DurationMs,
+ resourceType,
+ resourceUrlPathGroup,
+ timingBreakdown,
+ totalRequests,
+ viewsWithResource,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedResource {\n");
+ sb.append(" avgDurationMs: ").append(toIndentedString(avgDurationMs)).append("\n");
+ sb.append(" avgStartTimeMs: ").append(toIndentedString(avgStartTimeMs)).append("\n");
+ sb.append(" cacheHitRatePct: ").append(toIndentedString(cacheHitRatePct)).append("\n");
+ sb.append(" cachedCount: ").append(toIndentedString(cachedCount)).append("\n");
+ sb.append(" downloadedCount: ").append(toIndentedString(downloadedCount)).append("\n");
+ sb.append(" globalP75DurationMs: ")
+ .append(toIndentedString(globalP75DurationMs))
+ .append("\n");
+ sb.append(" globalViewNameCount: ")
+ .append(toIndentedString(globalViewNameCount))
+ .append("\n");
+ sb.append(" globalViewNamePct: ").append(toIndentedString(globalViewNamePct)).append("\n");
+ sb.append(" httpMethod: ").append(toIndentedString(httpMethod)).append("\n");
+ sb.append(" loadFrequencyPct: ").append(toIndentedString(loadFrequencyPct)).append("\n");
+ sb.append(" maxDurationMs: ").append(toIndentedString(maxDurationMs)).append("\n");
+ sb.append(" medianDurationMs: ").append(toIndentedString(medianDurationMs)).append("\n");
+ sb.append(" minDurationMs: ").append(toIndentedString(minDurationMs)).append("\n");
+ sb.append(" p75DurationMs: ").append(toIndentedString(p75DurationMs)).append("\n");
+ sb.append(" p95DurationMs: ").append(toIndentedString(p95DurationMs)).append("\n");
+ sb.append(" resourceType: ").append(toIndentedString(resourceType)).append("\n");
+ sb.append(" resourceUrlPathGroup: ")
+ .append(toIndentedString(resourceUrlPathGroup))
+ .append("\n");
+ sb.append(" timingBreakdown: ").append(toIndentedString(timingBreakdown)).append("\n");
+ sb.append(" totalRequests: ").append(toIndentedString(totalRequests)).append("\n");
+ sb.append(" viewsWithResource: ").append(toIndentedString(viewsWithResource)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedResourceTimingBreakdown.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedResourceTimingBreakdown.java
new file mode 100644
index 00000000000..bbf3537dfe1
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedResourceTimingBreakdown.java
@@ -0,0 +1,294 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Average timing breakdown per network phase for a resource. */
+@JsonPropertyOrder({
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_CONNECT_MS,
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_DNS_MS,
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_DOWNLOAD_MS,
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_FIRST_BYTE_MS,
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_REDIRECT_MS,
+ AggregatedResourceTimingBreakdown.JSON_PROPERTY_AVG_SSL_MS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedResourceTimingBreakdown {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_CONNECT_MS = "avg_connect_ms";
+ private Double avgConnectMs;
+
+ public static final String JSON_PROPERTY_AVG_DNS_MS = "avg_dns_ms";
+ private Double avgDnsMs;
+
+ public static final String JSON_PROPERTY_AVG_DOWNLOAD_MS = "avg_download_ms";
+ private Double avgDownloadMs;
+
+ public static final String JSON_PROPERTY_AVG_FIRST_BYTE_MS = "avg_first_byte_ms";
+ private Double avgFirstByteMs;
+
+ public static final String JSON_PROPERTY_AVG_REDIRECT_MS = "avg_redirect_ms";
+ private Double avgRedirectMs;
+
+ public static final String JSON_PROPERTY_AVG_SSL_MS = "avg_ssl_ms";
+ private Double avgSslMs;
+
+ public AggregatedResourceTimingBreakdown() {}
+
+ @JsonCreator
+ public AggregatedResourceTimingBreakdown(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_CONNECT_MS) Double avgConnectMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DNS_MS) Double avgDnsMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DOWNLOAD_MS) Double avgDownloadMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_FIRST_BYTE_MS) Double avgFirstByteMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_REDIRECT_MS) Double avgRedirectMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_SSL_MS) Double avgSslMs) {
+ this.avgConnectMs = avgConnectMs;
+ this.avgDnsMs = avgDnsMs;
+ this.avgDownloadMs = avgDownloadMs;
+ this.avgFirstByteMs = avgFirstByteMs;
+ this.avgRedirectMs = avgRedirectMs;
+ this.avgSslMs = avgSslMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgConnectMs(Double avgConnectMs) {
+ this.avgConnectMs = avgConnectMs;
+ return this;
+ }
+
+ /**
+ * Average TCP connect duration in milliseconds.
+ *
+ * @return avgConnectMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_CONNECT_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgConnectMs() {
+ return avgConnectMs;
+ }
+
+ public void setAvgConnectMs(Double avgConnectMs) {
+ this.avgConnectMs = avgConnectMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgDnsMs(Double avgDnsMs) {
+ this.avgDnsMs = avgDnsMs;
+ return this;
+ }
+
+ /**
+ * Average DNS resolution duration in milliseconds.
+ *
+ * @return avgDnsMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DNS_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgDnsMs() {
+ return avgDnsMs;
+ }
+
+ public void setAvgDnsMs(Double avgDnsMs) {
+ this.avgDnsMs = avgDnsMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgDownloadMs(Double avgDownloadMs) {
+ this.avgDownloadMs = avgDownloadMs;
+ return this;
+ }
+
+ /**
+ * Average download phase duration in milliseconds.
+ *
+ * @return avgDownloadMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DOWNLOAD_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgDownloadMs() {
+ return avgDownloadMs;
+ }
+
+ public void setAvgDownloadMs(Double avgDownloadMs) {
+ this.avgDownloadMs = avgDownloadMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgFirstByteMs(Double avgFirstByteMs) {
+ this.avgFirstByteMs = avgFirstByteMs;
+ return this;
+ }
+
+ /**
+ * Average time to first byte in milliseconds.
+ *
+ * @return avgFirstByteMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_FIRST_BYTE_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgFirstByteMs() {
+ return avgFirstByteMs;
+ }
+
+ public void setAvgFirstByteMs(Double avgFirstByteMs) {
+ this.avgFirstByteMs = avgFirstByteMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgRedirectMs(Double avgRedirectMs) {
+ this.avgRedirectMs = avgRedirectMs;
+ return this;
+ }
+
+ /**
+ * Average redirect phase duration in milliseconds.
+ *
+ * @return avgRedirectMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_REDIRECT_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgRedirectMs() {
+ return avgRedirectMs;
+ }
+
+ public void setAvgRedirectMs(Double avgRedirectMs) {
+ this.avgRedirectMs = avgRedirectMs;
+ }
+
+ public AggregatedResourceTimingBreakdown avgSslMs(Double avgSslMs) {
+ this.avgSslMs = avgSslMs;
+ return this;
+ }
+
+ /**
+ * Average SSL handshake duration in milliseconds.
+ *
+ * @return avgSslMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_SSL_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAvgSslMs() {
+ return avgSslMs;
+ }
+
+ public void setAvgSslMs(Double avgSslMs) {
+ this.avgSslMs = avgSslMs;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedResourceTimingBreakdown
+ */
+ @JsonAnySetter
+ public AggregatedResourceTimingBreakdown putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedResourceTimingBreakdown object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedResourceTimingBreakdown aggregatedResourceTimingBreakdown =
+ (AggregatedResourceTimingBreakdown) o;
+ return Objects.equals(this.avgConnectMs, aggregatedResourceTimingBreakdown.avgConnectMs)
+ && Objects.equals(this.avgDnsMs, aggregatedResourceTimingBreakdown.avgDnsMs)
+ && Objects.equals(this.avgDownloadMs, aggregatedResourceTimingBreakdown.avgDownloadMs)
+ && Objects.equals(this.avgFirstByteMs, aggregatedResourceTimingBreakdown.avgFirstByteMs)
+ && Objects.equals(this.avgRedirectMs, aggregatedResourceTimingBreakdown.avgRedirectMs)
+ && Objects.equals(this.avgSslMs, aggregatedResourceTimingBreakdown.avgSslMs)
+ && Objects.equals(
+ this.additionalProperties, aggregatedResourceTimingBreakdown.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgConnectMs,
+ avgDnsMs,
+ avgDownloadMs,
+ avgFirstByteMs,
+ avgRedirectMs,
+ avgSslMs,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedResourceTimingBreakdown {\n");
+ sb.append(" avgConnectMs: ").append(toIndentedString(avgConnectMs)).append("\n");
+ sb.append(" avgDnsMs: ").append(toIndentedString(avgDnsMs)).append("\n");
+ sb.append(" avgDownloadMs: ").append(toIndentedString(avgDownloadMs)).append("\n");
+ sb.append(" avgFirstByteMs: ").append(toIndentedString(avgFirstByteMs)).append("\n");
+ sb.append(" avgRedirectMs: ").append(toIndentedString(avgRedirectMs)).append("\n");
+ sb.append(" avgSslMs: ").append(toIndentedString(avgSslMs)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequest.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequest.java
new file mode 100644
index 00000000000..e89a8053590
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Request body for the aggregated signals and problems endpoint. */
+@JsonPropertyOrder({AggregatedSignalsProblemsRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedSignalsProblemsRequestData data;
+
+ public AggregatedSignalsProblemsRequest() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedSignalsProblemsRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedSignalsProblemsRequest data(AggregatedSignalsProblemsRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated signals and problems request.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsRequestData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedSignalsProblemsRequestData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsRequest
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsRequest putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsRequest aggregatedSignalsProblemsRequest =
+ (AggregatedSignalsProblemsRequest) o;
+ return Objects.equals(this.data, aggregatedSignalsProblemsRequest.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSignalsProblemsRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsRequest {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestAttributes.java
new file mode 100644
index 00000000000..81aa522f481
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestAttributes.java
@@ -0,0 +1,366 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes for an aggregated signals and problems query. */
+@JsonPropertyOrder({
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_DETECTION_TYPES,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_FILTER,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_FROM,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_SAMPLE_SIZE,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_TO,
+ AggregatedSignalsProblemsRequestAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsRequestAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_DETECTION_TYPES = "detection_types";
+ private List detectionTypes = null;
+
+ public static final String JSON_PROPERTY_FILTER = "filter";
+ private String filter;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_SAMPLE_SIZE = "sample_size";
+ private Integer sampleSize;
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedSignalsProblemsRequestAttributes() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsRequestAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLE_SIZE) Integer sampleSize,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.sampleSize = sampleSize;
+ this.to = to;
+ this.viewName = viewName;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID to analyze.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes detectionTypes(List detectionTypes) {
+ this.detectionTypes = detectionTypes;
+ return this;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes addDetectionTypesItem(
+ String detectionTypesItem) {
+ if (this.detectionTypes == null) {
+ this.detectionTypes = new ArrayList<>();
+ }
+ this.detectionTypes.add(detectionTypesItem);
+ return this;
+ }
+
+ /**
+ * List of detection types to include in the response. When omitted, all types are returned.
+ *
+ * @return detectionTypes
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DETECTION_TYPES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getDetectionTypes() {
+ return detectionTypes;
+ }
+
+ public void setDetectionTypes(List detectionTypes) {
+ this.detectionTypes = detectionTypes;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ *
+ * @return filter
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FILTER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getFilter() {
+ return filter;
+ }
+
+ public void setFilter(String filter) {
+ this.filter = filter;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes sampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ return this;
+ }
+
+ /**
+ * Number of view instances to sample, between 1 and 50. minimum: 1 maximum: 50
+ *
+ * @return sampleSize
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLE_SIZE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getSampleSize() {
+ return sampleSize;
+ }
+
+ public void setSampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedSignalsProblemsRequestAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name to analyze (for example, /account/login).
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsRequestAttributes
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsRequestAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsRequestAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsRequestAttributes aggregatedSignalsProblemsRequestAttributes =
+ (AggregatedSignalsProblemsRequestAttributes) o;
+ return Objects.equals(
+ this.applicationId, aggregatedSignalsProblemsRequestAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedSignalsProblemsRequestAttributes.criteria)
+ && Objects.equals(
+ this.detectionTypes, aggregatedSignalsProblemsRequestAttributes.detectionTypes)
+ && Objects.equals(this.filter, aggregatedSignalsProblemsRequestAttributes.filter)
+ && Objects.equals(this.from, aggregatedSignalsProblemsRequestAttributes.from)
+ && Objects.equals(this.sampleSize, aggregatedSignalsProblemsRequestAttributes.sampleSize)
+ && Objects.equals(this.to, aggregatedSignalsProblemsRequestAttributes.to)
+ && Objects.equals(this.viewName, aggregatedSignalsProblemsRequestAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties,
+ aggregatedSignalsProblemsRequestAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId,
+ criteria,
+ detectionTypes,
+ filter,
+ from,
+ sampleSize,
+ to,
+ viewName,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsRequestAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" detectionTypes: ").append(toIndentedString(detectionTypes)).append("\n");
+ sb.append(" filter: ").append(toIndentedString(filter)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" sampleSize: ").append(toIndentedString(sampleSize)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestData.java
new file mode 100644
index 00000000000..5b51703b316
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestData.java
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated signals and problems request. */
+@JsonPropertyOrder({
+ AggregatedSignalsProblemsRequestData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedSignalsProblemsRequestData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsRequestData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedSignalsProblemsRequestAttributes attributes;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedSignalsProblemsRequestType type;
+
+ public AggregatedSignalsProblemsRequestData() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsRequestData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedSignalsProblemsRequestAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedSignalsProblemsRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedSignalsProblemsRequestData attributes(
+ AggregatedSignalsProblemsRequestAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes for an aggregated signals and problems query.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsRequestAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedSignalsProblemsRequestAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedSignalsProblemsRequestData type(AggregatedSignalsProblemsRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated signals and problems requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedSignalsProblemsRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsRequestData
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsRequestData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsRequestData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsRequestData aggregatedSignalsProblemsRequestData =
+ (AggregatedSignalsProblemsRequestData) o;
+ return Objects.equals(this.attributes, aggregatedSignalsProblemsRequestData.attributes)
+ && Objects.equals(this.type, aggregatedSignalsProblemsRequestData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSignalsProblemsRequestData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsRequestData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestType.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestType.java
new file mode 100644
index 00000000000..5c965ffa895
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsRequestType.java
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** The JSON:API type for aggregated signals and problems requests. */
+@JsonSerialize(
+ using =
+ AggregatedSignalsProblemsRequestType.AggregatedSignalsProblemsRequestTypeSerializer.class)
+public class AggregatedSignalsProblemsRequestType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("aggregated_signals_problems"));
+
+ public static final AggregatedSignalsProblemsRequestType AGGREGATED_SIGNALS_PROBLEMS =
+ new AggregatedSignalsProblemsRequestType("aggregated_signals_problems");
+
+ AggregatedSignalsProblemsRequestType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class AggregatedSignalsProblemsRequestTypeSerializer
+ extends StdSerializer {
+ public AggregatedSignalsProblemsRequestTypeSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public AggregatedSignalsProblemsRequestTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ AggregatedSignalsProblemsRequestType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static AggregatedSignalsProblemsRequestType fromValue(String value) {
+ return new AggregatedSignalsProblemsRequestType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponse.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponse.java
new file mode 100644
index 00000000000..494d6ea7259
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponse.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Response body for the aggregated signals and problems endpoint. */
+@JsonPropertyOrder({AggregatedSignalsProblemsResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedSignalsProblemsResponseData data;
+
+ public AggregatedSignalsProblemsResponse() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedSignalsProblemsResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedSignalsProblemsResponse data(AggregatedSignalsProblemsResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated signals and problems response.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsResponseData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedSignalsProblemsResponseData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsResponse
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsResponse aggregatedSignalsProblemsResponse =
+ (AggregatedSignalsProblemsResponse) o;
+ return Objects.equals(this.data, aggregatedSignalsProblemsResponse.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSignalsProblemsResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseAttributes.java
new file mode 100644
index 00000000000..461de203318
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseAttributes.java
@@ -0,0 +1,337 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes of an aggregated signals and problems response. */
+@JsonPropertyOrder({
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_FROM,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_PROBLEM_DETECTIONS,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_SAMPLE_METADATA,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_TO,
+ AggregatedSignalsProblemsResponseAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsResponseAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_PROBLEM_DETECTIONS = "problem_detections";
+ private SignalsProblemsDetections problemDetections;
+
+ public static final String JSON_PROPERTY_SAMPLE_METADATA = "sample_metadata";
+ private SignalsProblemsSampleMetadata sampleMetadata;
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedSignalsProblemsResponseAttributes() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsResponseAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_PROBLEM_DETECTIONS)
+ SignalsProblemsDetections problemDetections,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLE_METADATA)
+ SignalsProblemsSampleMetadata sampleMetadata,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.problemDetections = problemDetections;
+ this.unparsed |= problemDetections.unparsed;
+ this.sampleMetadata = sampleMetadata;
+ this.unparsed |= sampleMetadata.unparsed;
+ this.to = to;
+ this.viewName = viewName;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID that was analyzed.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes problemDetections(
+ SignalsProblemsDetections problemDetections) {
+ this.problemDetections = problemDetections;
+ this.unparsed |= problemDetections.unparsed;
+ return this;
+ }
+
+ /**
+ * Grouped detection results by detection type.
+ *
+ * @return problemDetections
+ */
+ @JsonProperty(JSON_PROPERTY_PROBLEM_DETECTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SignalsProblemsDetections getProblemDetections() {
+ return problemDetections;
+ }
+
+ public void setProblemDetections(SignalsProblemsDetections problemDetections) {
+ this.problemDetections = problemDetections;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes sampleMetadata(
+ SignalsProblemsSampleMetadata sampleMetadata) {
+ this.sampleMetadata = sampleMetadata;
+ this.unparsed |= sampleMetadata.unparsed;
+ return this;
+ }
+
+ /**
+ * Metadata about the sampling quality for a signals and problems query.
+ *
+ * @return sampleMetadata
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLE_METADATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SignalsProblemsSampleMetadata getSampleMetadata() {
+ return sampleMetadata;
+ }
+
+ public void setSampleMetadata(SignalsProblemsSampleMetadata sampleMetadata) {
+ this.sampleMetadata = sampleMetadata;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedSignalsProblemsResponseAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name that was analyzed.
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsResponseAttributes
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsResponseAttributes putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsResponseAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsResponseAttributes aggregatedSignalsProblemsResponseAttributes =
+ (AggregatedSignalsProblemsResponseAttributes) o;
+ return Objects.equals(
+ this.applicationId, aggregatedSignalsProblemsResponseAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedSignalsProblemsResponseAttributes.criteria)
+ && Objects.equals(this.from, aggregatedSignalsProblemsResponseAttributes.from)
+ && Objects.equals(
+ this.problemDetections, aggregatedSignalsProblemsResponseAttributes.problemDetections)
+ && Objects.equals(
+ this.sampleMetadata, aggregatedSignalsProblemsResponseAttributes.sampleMetadata)
+ && Objects.equals(this.to, aggregatedSignalsProblemsResponseAttributes.to)
+ && Objects.equals(this.viewName, aggregatedSignalsProblemsResponseAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties,
+ aggregatedSignalsProblemsResponseAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId,
+ criteria,
+ from,
+ problemDetections,
+ sampleMetadata,
+ to,
+ viewName,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsResponseAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" problemDetections: ").append(toIndentedString(problemDetections)).append("\n");
+ sb.append(" sampleMetadata: ").append(toIndentedString(sampleMetadata)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseData.java
new file mode 100644
index 00000000000..3521a69dc33
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSignalsProblemsResponseData.java
@@ -0,0 +1,213 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated signals and problems response. */
+@JsonPropertyOrder({
+ AggregatedSignalsProblemsResponseData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedSignalsProblemsResponseData.JSON_PROPERTY_ID,
+ AggregatedSignalsProblemsResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSignalsProblemsResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedSignalsProblemsResponseAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedSignalsProblemsRequestType type;
+
+ public AggregatedSignalsProblemsResponseData() {}
+
+ @JsonCreator
+ public AggregatedSignalsProblemsResponseData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedSignalsProblemsResponseAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedSignalsProblemsRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedSignalsProblemsResponseData attributes(
+ AggregatedSignalsProblemsResponseAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes of an aggregated signals and problems response.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsResponseAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedSignalsProblemsResponseAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedSignalsProblemsResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Hash-based unique identifier for this aggregation.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public AggregatedSignalsProblemsResponseData type(AggregatedSignalsProblemsRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated signals and problems requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedSignalsProblemsRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedSignalsProblemsRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSignalsProblemsResponseData
+ */
+ @JsonAnySetter
+ public AggregatedSignalsProblemsResponseData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSignalsProblemsResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSignalsProblemsResponseData aggregatedSignalsProblemsResponseData =
+ (AggregatedSignalsProblemsResponseData) o;
+ return Objects.equals(this.attributes, aggregatedSignalsProblemsResponseData.attributes)
+ && Objects.equals(this.id, aggregatedSignalsProblemsResponseData.id)
+ && Objects.equals(this.type, aggregatedSignalsProblemsResponseData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSignalsProblemsResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSignalsProblemsResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowFCPHighBytes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowFCPHighBytes.java
new file mode 100644
index 00000000000..0e99f542eeb
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowFCPHighBytes.java
@@ -0,0 +1,338 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated slow first contentful paint with high byte count detection. */
+@JsonPropertyOrder({
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_AVG_BYTES_BEFORE_FCP_BYTES,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_AVG_FIRST_CONTENTFUL_PAINT_MS,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_AVG_RESOURCE_COUNT_BEFORE_FCP,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_FINGERPRINT,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_PLATFORM,
+ AggregatedSlowFCPHighBytes.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSlowFCPHighBytes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_BYTES_BEFORE_FCP_BYTES =
+ "avg_bytes_before_fcp_bytes";
+ private Long avgBytesBeforeFcpBytes;
+
+ public static final String JSON_PROPERTY_AVG_FIRST_CONTENTFUL_PAINT_MS =
+ "avg_first_contentful_paint_ms";
+ private Long avgFirstContentfulPaintMs;
+
+ public static final String JSON_PROPERTY_AVG_RESOURCE_COUNT_BEFORE_FCP =
+ "avg_resource_count_before_fcp";
+ private Long avgResourceCountBeforeFcp;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_PLATFORM = "platform";
+ private String platform;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedSlowFCPHighBytes() {}
+
+ @JsonCreator
+ public AggregatedSlowFCPHighBytes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_BYTES_BEFORE_FCP_BYTES)
+ Long avgBytesBeforeFcpBytes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_FIRST_CONTENTFUL_PAINT_MS)
+ Long avgFirstContentfulPaintMs,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_RESOURCE_COUNT_BEFORE_FCP)
+ Long avgResourceCountBeforeFcp,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_PLATFORM) String platform,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgBytesBeforeFcpBytes = avgBytesBeforeFcpBytes;
+ this.avgFirstContentfulPaintMs = avgFirstContentfulPaintMs;
+ this.avgResourceCountBeforeFcp = avgResourceCountBeforeFcp;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.platform = platform;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedSlowFCPHighBytes avgBytesBeforeFcpBytes(Long avgBytesBeforeFcpBytes) {
+ this.avgBytesBeforeFcpBytes = avgBytesBeforeFcpBytes;
+ return this;
+ }
+
+ /**
+ * Average total bytes loaded before first contentful paint.
+ *
+ * @return avgBytesBeforeFcpBytes
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_BYTES_BEFORE_FCP_BYTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgBytesBeforeFcpBytes() {
+ return avgBytesBeforeFcpBytes;
+ }
+
+ public void setAvgBytesBeforeFcpBytes(Long avgBytesBeforeFcpBytes) {
+ this.avgBytesBeforeFcpBytes = avgBytesBeforeFcpBytes;
+ }
+
+ public AggregatedSlowFCPHighBytes avgFirstContentfulPaintMs(Long avgFirstContentfulPaintMs) {
+ this.avgFirstContentfulPaintMs = avgFirstContentfulPaintMs;
+ return this;
+ }
+
+ /**
+ * Average first contentful paint time in milliseconds.
+ *
+ * @return avgFirstContentfulPaintMs
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_FIRST_CONTENTFUL_PAINT_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgFirstContentfulPaintMs() {
+ return avgFirstContentfulPaintMs;
+ }
+
+ public void setAvgFirstContentfulPaintMs(Long avgFirstContentfulPaintMs) {
+ this.avgFirstContentfulPaintMs = avgFirstContentfulPaintMs;
+ }
+
+ public AggregatedSlowFCPHighBytes avgResourceCountBeforeFcp(Long avgResourceCountBeforeFcp) {
+ this.avgResourceCountBeforeFcp = avgResourceCountBeforeFcp;
+ return this;
+ }
+
+ /**
+ * Average number of resources loaded before first contentful paint.
+ *
+ * @return avgResourceCountBeforeFcp
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_RESOURCE_COUNT_BEFORE_FCP)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgResourceCountBeforeFcp() {
+ return avgResourceCountBeforeFcp;
+ }
+
+ public void setAvgResourceCountBeforeFcp(Long avgResourceCountBeforeFcp) {
+ this.avgResourceCountBeforeFcp = avgResourceCountBeforeFcp;
+ }
+
+ public AggregatedSlowFCPHighBytes fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedSlowFCPHighBytes impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score for this detection.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedSlowFCPHighBytes platform(String platform) {
+ this.platform = platform;
+ return this;
+ }
+
+ /**
+ * Platform identifier for the affected views.
+ *
+ * @return platform
+ */
+ @JsonProperty(JSON_PROPERTY_PLATFORM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getPlatform() {
+ return platform;
+ }
+
+ public void setPlatform(String platform) {
+ this.platform = platform;
+ }
+
+ public AggregatedSlowFCPHighBytes viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSlowFCPHighBytes
+ */
+ @JsonAnySetter
+ public AggregatedSlowFCPHighBytes putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSlowFCPHighBytes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSlowFCPHighBytes aggregatedSlowFcpHighBytes = (AggregatedSlowFCPHighBytes) o;
+ return Objects.equals(
+ this.avgBytesBeforeFcpBytes, aggregatedSlowFcpHighBytes.avgBytesBeforeFcpBytes)
+ && Objects.equals(
+ this.avgFirstContentfulPaintMs, aggregatedSlowFcpHighBytes.avgFirstContentfulPaintMs)
+ && Objects.equals(
+ this.avgResourceCountBeforeFcp, aggregatedSlowFcpHighBytes.avgResourceCountBeforeFcp)
+ && Objects.equals(this.fingerprint, aggregatedSlowFcpHighBytes.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedSlowFcpHighBytes.impactScore)
+ && Objects.equals(this.platform, aggregatedSlowFcpHighBytes.platform)
+ && Objects.equals(this.viewOccurrences, aggregatedSlowFcpHighBytes.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSlowFcpHighBytes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgBytesBeforeFcpBytes,
+ avgFirstContentfulPaintMs,
+ avgResourceCountBeforeFcp,
+ fingerprint,
+ impactScore,
+ platform,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSlowFCPHighBytes {\n");
+ sb.append(" avgBytesBeforeFcpBytes: ")
+ .append(toIndentedString(avgBytesBeforeFcpBytes))
+ .append("\n");
+ sb.append(" avgFirstContentfulPaintMs: ")
+ .append(toIndentedString(avgFirstContentfulPaintMs))
+ .append("\n");
+ sb.append(" avgResourceCountBeforeFcp: ")
+ .append(toIndentedString(avgResourceCountBeforeFcp))
+ .append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" platform: ").append(toIndentedString(platform)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowInteractionLongTask.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowInteractionLongTask.java
new file mode 100644
index 00000000000..b7d3787bc6b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedSlowInteractionLongTask.java
@@ -0,0 +1,394 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated slow interaction with long task detection grouped by action and selector. */
+@JsonPropertyOrder({
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_ACTION_TYPE,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_AVG_BLOCKING_DURATION,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_AVG_DURATION,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_FINGERPRINT,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_INSTANCE_COUNT,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_SELECTOR,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_SELECTOR_NORMALIZED,
+ AggregatedSlowInteractionLongTask.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedSlowInteractionLongTask {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ACTION_TYPE = "action_type";
+ private String actionType;
+
+ public static final String JSON_PROPERTY_AVG_BLOCKING_DURATION = "avg_blocking_duration";
+ private Long avgBlockingDuration;
+
+ public static final String JSON_PROPERTY_AVG_DURATION = "avg_duration";
+ private Long avgDuration;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_INSTANCE_COUNT = "instance_count";
+ private Integer instanceCount;
+
+ public static final String JSON_PROPERTY_SELECTOR = "selector";
+ private String selector;
+
+ public static final String JSON_PROPERTY_SELECTOR_NORMALIZED = "selector_normalized";
+ private String selectorNormalized;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedSlowInteractionLongTask() {}
+
+ @JsonCreator
+ public AggregatedSlowInteractionLongTask(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ACTION_TYPE) String actionType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_BLOCKING_DURATION)
+ Long avgBlockingDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DURATION) Long avgDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INSTANCE_COUNT) Integer instanceCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SELECTOR) String selector,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SELECTOR_NORMALIZED)
+ String selectorNormalized,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.actionType = actionType;
+ this.avgBlockingDuration = avgBlockingDuration;
+ this.avgDuration = avgDuration;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.instanceCount = instanceCount;
+ this.selector = selector;
+ if (selector != null) {}
+ this.selectorNormalized = selectorNormalized;
+ if (selectorNormalized != null) {}
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedSlowInteractionLongTask actionType(String actionType) {
+ this.actionType = actionType;
+ return this;
+ }
+
+ /**
+ * Type of user interaction that triggered the slow response.
+ *
+ * @return actionType
+ */
+ @JsonProperty(JSON_PROPERTY_ACTION_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getActionType() {
+ return actionType;
+ }
+
+ public void setActionType(String actionType) {
+ this.actionType = actionType;
+ }
+
+ public AggregatedSlowInteractionLongTask avgBlockingDuration(Long avgBlockingDuration) {
+ this.avgBlockingDuration = avgBlockingDuration;
+ return this;
+ }
+
+ /**
+ * Average long task blocking duration in nanoseconds.
+ *
+ * @return avgBlockingDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_BLOCKING_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgBlockingDuration() {
+ return avgBlockingDuration;
+ }
+
+ public void setAvgBlockingDuration(Long avgBlockingDuration) {
+ this.avgBlockingDuration = avgBlockingDuration;
+ }
+
+ public AggregatedSlowInteractionLongTask avgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ return this;
+ }
+
+ /**
+ * Average total interaction duration in nanoseconds.
+ *
+ * @return avgDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgDuration() {
+ return avgDuration;
+ }
+
+ public void setAvgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ }
+
+ public AggregatedSlowInteractionLongTask fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedSlowInteractionLongTask impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score combining view frequency and blocking severity.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedSlowInteractionLongTask instanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ return this;
+ }
+
+ /**
+ * Total number of detection instances across sampled views. maximum: 2147483647
+ *
+ * @return instanceCount
+ */
+ @JsonProperty(JSON_PROPERTY_INSTANCE_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getInstanceCount() {
+ return instanceCount;
+ }
+
+ public void setInstanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ }
+
+ public AggregatedSlowInteractionLongTask selector(String selector) {
+ this.selector = selector;
+ if (selector != null) {}
+ return this;
+ }
+
+ /**
+ * CSS selector of the element that was interacted with.
+ *
+ * @return selector
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SELECTOR)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSelector() {
+ return selector;
+ }
+
+ public void setSelector(String selector) {
+ this.selector = selector;
+ }
+
+ public AggregatedSlowInteractionLongTask selectorNormalized(String selectorNormalized) {
+ this.selectorNormalized = selectorNormalized;
+ if (selectorNormalized != null) {}
+ return this;
+ }
+
+ /**
+ * Normalized CSS selector with dynamic parts replaced.
+ *
+ * @return selectorNormalized
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SELECTOR_NORMALIZED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getSelectorNormalized() {
+ return selectorNormalized;
+ }
+
+ public void setSelectorNormalized(String selectorNormalized) {
+ this.selectorNormalized = selectorNormalized;
+ }
+
+ public AggregatedSlowInteractionLongTask viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedSlowInteractionLongTask
+ */
+ @JsonAnySetter
+ public AggregatedSlowInteractionLongTask putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedSlowInteractionLongTask object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedSlowInteractionLongTask aggregatedSlowInteractionLongTask =
+ (AggregatedSlowInteractionLongTask) o;
+ return Objects.equals(this.actionType, aggregatedSlowInteractionLongTask.actionType)
+ && Objects.equals(
+ this.avgBlockingDuration, aggregatedSlowInteractionLongTask.avgBlockingDuration)
+ && Objects.equals(this.avgDuration, aggregatedSlowInteractionLongTask.avgDuration)
+ && Objects.equals(this.fingerprint, aggregatedSlowInteractionLongTask.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedSlowInteractionLongTask.impactScore)
+ && Objects.equals(this.instanceCount, aggregatedSlowInteractionLongTask.instanceCount)
+ && Objects.equals(this.selector, aggregatedSlowInteractionLongTask.selector)
+ && Objects.equals(
+ this.selectorNormalized, aggregatedSlowInteractionLongTask.selectorNormalized)
+ && Objects.equals(this.viewOccurrences, aggregatedSlowInteractionLongTask.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedSlowInteractionLongTask.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ actionType,
+ avgBlockingDuration,
+ avgDuration,
+ fingerprint,
+ impactScore,
+ instanceCount,
+ selector,
+ selectorNormalized,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedSlowInteractionLongTask {\n");
+ sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n");
+ sb.append(" avgBlockingDuration: ")
+ .append(toIndentedString(avgBlockingDuration))
+ .append("\n");
+ sb.append(" avgDuration: ").append(toIndentedString(avgDuration)).append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" instanceCount: ").append(toIndentedString(instanceCount)).append("\n");
+ sb.append(" selector: ").append(toIndentedString(selector)).append("\n");
+ sb.append(" selectorNormalized: ").append(toIndentedString(selectorNormalized)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedUncompressedResource.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedUncompressedResource.java
new file mode 100644
index 00000000000..a6c35a121ed
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedUncompressedResource.java
@@ -0,0 +1,417 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Aggregated uncompressed resource detection grouped by URL path. */
+@JsonPropertyOrder({
+ AggregatedUncompressedResource.JSON_PROPERTY_AVG_BODY_SIZE,
+ AggregatedUncompressedResource.JSON_PROPERTY_AVG_DURATION,
+ AggregatedUncompressedResource.JSON_PROPERTY_FINGERPRINT,
+ AggregatedUncompressedResource.JSON_PROPERTY_IMPACT_SCORE,
+ AggregatedUncompressedResource.JSON_PROPERTY_INSTANCE_COUNT,
+ AggregatedUncompressedResource.JSON_PROPERTY_PROVIDER_TYPE,
+ AggregatedUncompressedResource.JSON_PROPERTY_RENDER_BLOCKING,
+ AggregatedUncompressedResource.JSON_PROPERTY_RESOURCE_TYPE,
+ AggregatedUncompressedResource.JSON_PROPERTY_URL_PATH_GROUP,
+ AggregatedUncompressedResource.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedUncompressedResource {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVG_BODY_SIZE = "avg_body_size";
+ private Long avgBodySize;
+
+ public static final String JSON_PROPERTY_AVG_DURATION = "avg_duration";
+ private Long avgDuration;
+
+ public static final String JSON_PROPERTY_FINGERPRINT = "fingerprint";
+ private String fingerprint;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_INSTANCE_COUNT = "instance_count";
+ private Integer instanceCount;
+
+ public static final String JSON_PROPERTY_PROVIDER_TYPE = "provider_type";
+ private String providerType;
+
+ public static final String JSON_PROPERTY_RENDER_BLOCKING = "render_blocking";
+ private String renderBlocking;
+
+ public static final String JSON_PROPERTY_RESOURCE_TYPE = "resource_type";
+ private String resourceType;
+
+ public static final String JSON_PROPERTY_URL_PATH_GROUP = "url_path_group";
+ private String urlPathGroup;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public AggregatedUncompressedResource() {}
+
+ @JsonCreator
+ public AggregatedUncompressedResource(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_BODY_SIZE) Long avgBodySize,
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVG_DURATION) Long avgDuration,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FINGERPRINT) String fingerprint,
+ @JsonProperty(required = true, value = JSON_PROPERTY_IMPACT_SCORE) Double impactScore,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INSTANCE_COUNT) Integer instanceCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_PROVIDER_TYPE) String providerType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_RENDER_BLOCKING) String renderBlocking,
+ @JsonProperty(required = true, value = JSON_PROPERTY_RESOURCE_TYPE) String resourceType,
+ @JsonProperty(required = true, value = JSON_PROPERTY_URL_PATH_GROUP) String urlPathGroup,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.avgBodySize = avgBodySize;
+ this.avgDuration = avgDuration;
+ this.fingerprint = fingerprint;
+ this.impactScore = impactScore;
+ this.instanceCount = instanceCount;
+ this.providerType = providerType;
+ if (providerType != null) {}
+ this.renderBlocking = renderBlocking;
+ if (renderBlocking != null) {}
+ this.resourceType = resourceType;
+ this.urlPathGroup = urlPathGroup;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public AggregatedUncompressedResource avgBodySize(Long avgBodySize) {
+ this.avgBodySize = avgBodySize;
+ return this;
+ }
+
+ /**
+ * Average uncompressed body size in bytes.
+ *
+ * @return avgBodySize
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_BODY_SIZE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgBodySize() {
+ return avgBodySize;
+ }
+
+ public void setAvgBodySize(Long avgBodySize) {
+ this.avgBodySize = avgBodySize;
+ }
+
+ public AggregatedUncompressedResource avgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ return this;
+ }
+
+ /**
+ * Average resource loading duration in nanoseconds.
+ *
+ * @return avgDuration
+ */
+ @JsonProperty(JSON_PROPERTY_AVG_DURATION)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getAvgDuration() {
+ return avgDuration;
+ }
+
+ public void setAvgDuration(Long avgDuration) {
+ this.avgDuration = avgDuration;
+ }
+
+ public AggregatedUncompressedResource fingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ return this;
+ }
+
+ /**
+ * Unique fingerprint identifying this detection group.
+ *
+ * @return fingerprint
+ */
+ @JsonProperty(JSON_PROPERTY_FINGERPRINT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFingerprint() {
+ return fingerprint;
+ }
+
+ public void setFingerprint(String fingerprint) {
+ this.fingerprint = fingerprint;
+ }
+
+ public AggregatedUncompressedResource impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Impact score combining view frequency and resource size.
+ *
+ * @return impactScore
+ */
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public AggregatedUncompressedResource instanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ return this;
+ }
+
+ /**
+ * Total number of detection instances across sampled views. maximum: 2147483647
+ *
+ * @return instanceCount
+ */
+ @JsonProperty(JSON_PROPERTY_INSTANCE_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getInstanceCount() {
+ return instanceCount;
+ }
+
+ public void setInstanceCount(Integer instanceCount) {
+ this.instanceCount = instanceCount;
+ }
+
+ public AggregatedUncompressedResource providerType(String providerType) {
+ this.providerType = providerType;
+ if (providerType != null) {}
+ return this;
+ }
+
+ /**
+ * CDN or hosting provider type for the resource.
+ *
+ * @return providerType
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PROVIDER_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getProviderType() {
+ return providerType;
+ }
+
+ public void setProviderType(String providerType) {
+ this.providerType = providerType;
+ }
+
+ public AggregatedUncompressedResource renderBlocking(String renderBlocking) {
+ this.renderBlocking = renderBlocking;
+ if (renderBlocking != null) {}
+ return this;
+ }
+
+ /**
+ * Whether the resource is render-blocking.
+ *
+ * @return renderBlocking
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_RENDER_BLOCKING)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getRenderBlocking() {
+ return renderBlocking;
+ }
+
+ public void setRenderBlocking(String renderBlocking) {
+ this.renderBlocking = renderBlocking;
+ }
+
+ public AggregatedUncompressedResource resourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Type of the resource (JS, CSS, image, fetch, and so on).
+ *
+ * @return resourceType
+ */
+ @JsonProperty(JSON_PROPERTY_RESOURCE_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getResourceType() {
+ return resourceType;
+ }
+
+ public void setResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ }
+
+ public AggregatedUncompressedResource urlPathGroup(String urlPathGroup) {
+ this.urlPathGroup = urlPathGroup;
+ return this;
+ }
+
+ /**
+ * Normalized URL path pattern for the uncompressed resource.
+ *
+ * @return urlPathGroup
+ */
+ @JsonProperty(JSON_PROPERTY_URL_PATH_GROUP)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getUrlPathGroup() {
+ return urlPathGroup;
+ }
+
+ public void setUrlPathGroup(String urlPathGroup) {
+ this.urlPathGroup = urlPathGroup;
+ }
+
+ public AggregatedUncompressedResource viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this detection occurred. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedUncompressedResource
+ */
+ @JsonAnySetter
+ public AggregatedUncompressedResource putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedUncompressedResource object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedUncompressedResource aggregatedUncompressedResource =
+ (AggregatedUncompressedResource) o;
+ return Objects.equals(this.avgBodySize, aggregatedUncompressedResource.avgBodySize)
+ && Objects.equals(this.avgDuration, aggregatedUncompressedResource.avgDuration)
+ && Objects.equals(this.fingerprint, aggregatedUncompressedResource.fingerprint)
+ && Objects.equals(this.impactScore, aggregatedUncompressedResource.impactScore)
+ && Objects.equals(this.instanceCount, aggregatedUncompressedResource.instanceCount)
+ && Objects.equals(this.providerType, aggregatedUncompressedResource.providerType)
+ && Objects.equals(this.renderBlocking, aggregatedUncompressedResource.renderBlocking)
+ && Objects.equals(this.resourceType, aggregatedUncompressedResource.resourceType)
+ && Objects.equals(this.urlPathGroup, aggregatedUncompressedResource.urlPathGroup)
+ && Objects.equals(this.viewOccurrences, aggregatedUncompressedResource.viewOccurrences)
+ && Objects.equals(
+ this.additionalProperties, aggregatedUncompressedResource.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ avgBodySize,
+ avgDuration,
+ fingerprint,
+ impactScore,
+ instanceCount,
+ providerType,
+ renderBlocking,
+ resourceType,
+ urlPathGroup,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedUncompressedResource {\n");
+ sb.append(" avgBodySize: ").append(toIndentedString(avgBodySize)).append("\n");
+ sb.append(" avgDuration: ").append(toIndentedString(avgDuration)).append("\n");
+ sb.append(" fingerprint: ").append(toIndentedString(fingerprint)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" instanceCount: ").append(toIndentedString(instanceCount)).append("\n");
+ sb.append(" providerType: ").append(toIndentedString(providerType)).append("\n");
+ sb.append(" renderBlocking: ").append(toIndentedString(renderBlocking)).append("\n");
+ sb.append(" resourceType: ").append(toIndentedString(resourceType)).append("\n");
+ sb.append(" urlPathGroup: ").append(toIndentedString(urlPathGroup)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteria.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteria.java
new file mode 100644
index 00000000000..680b34e8585
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteria.java
@@ -0,0 +1,208 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Performance criteria to filter view instances by a metric threshold. */
+@JsonPropertyOrder({
+ AggregatedWaterfallPerformanceCriteria.JSON_PROPERTY_MAX,
+ AggregatedWaterfallPerformanceCriteria.JSON_PROPERTY_METRIC,
+ AggregatedWaterfallPerformanceCriteria.JSON_PROPERTY_MIN
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallPerformanceCriteria {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_MAX = "max";
+ private Double max;
+
+ public static final String JSON_PROPERTY_METRIC = "metric";
+ private AggregatedWaterfallPerformanceCriteriaMetric metric;
+
+ public static final String JSON_PROPERTY_MIN = "min";
+ private Double min;
+
+ public AggregatedWaterfallPerformanceCriteria() {}
+
+ @JsonCreator
+ public AggregatedWaterfallPerformanceCriteria(
+ @JsonProperty(required = true, value = JSON_PROPERTY_METRIC)
+ AggregatedWaterfallPerformanceCriteriaMetric metric) {
+ this.metric = metric;
+ this.unparsed |= !metric.isValid();
+ }
+
+ public AggregatedWaterfallPerformanceCriteria max(Double max) {
+ this.max = max;
+ return this;
+ }
+
+ /**
+ * Maximum threshold in seconds (inclusive).
+ *
+ * @return max
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_MAX)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getMax() {
+ return max;
+ }
+
+ public void setMax(Double max) {
+ this.max = max;
+ }
+
+ public AggregatedWaterfallPerformanceCriteria metric(
+ AggregatedWaterfallPerformanceCriteriaMetric metric) {
+ this.metric = metric;
+ this.unparsed |= !metric.isValid();
+ return this;
+ }
+
+ /**
+ * Performance metric used to filter view instances by threshold.
+ *
+ * @return metric
+ */
+ @JsonProperty(JSON_PROPERTY_METRIC)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallPerformanceCriteriaMetric getMetric() {
+ return metric;
+ }
+
+ public void setMetric(AggregatedWaterfallPerformanceCriteriaMetric metric) {
+ if (!metric.isValid()) {
+ this.unparsed = true;
+ }
+ this.metric = metric;
+ }
+
+ public AggregatedWaterfallPerformanceCriteria min(Double min) {
+ this.min = min;
+ return this;
+ }
+
+ /**
+ * Minimum threshold in seconds (inclusive).
+ *
+ * @return min
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_MIN)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getMin() {
+ return min;
+ }
+
+ public void setMin(Double min) {
+ this.min = min;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallPerformanceCriteria
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallPerformanceCriteria putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallPerformanceCriteria object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallPerformanceCriteria aggregatedWaterfallPerformanceCriteria =
+ (AggregatedWaterfallPerformanceCriteria) o;
+ return Objects.equals(this.max, aggregatedWaterfallPerformanceCriteria.max)
+ && Objects.equals(this.metric, aggregatedWaterfallPerformanceCriteria.metric)
+ && Objects.equals(this.min, aggregatedWaterfallPerformanceCriteria.min)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallPerformanceCriteria.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(max, metric, min, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallPerformanceCriteria {\n");
+ sb.append(" max: ").append(toIndentedString(max)).append("\n");
+ sb.append(" metric: ").append(toIndentedString(metric)).append("\n");
+ sb.append(" min: ").append(toIndentedString(min)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteriaMetric.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteriaMetric.java
new file mode 100644
index 00000000000..6e4a33fd78c
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallPerformanceCriteriaMetric.java
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** Performance metric used to filter view instances by threshold. */
+@JsonSerialize(
+ using =
+ AggregatedWaterfallPerformanceCriteriaMetric
+ .AggregatedWaterfallPerformanceCriteriaMetricSerializer.class)
+public class AggregatedWaterfallPerformanceCriteriaMetric extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(
+ Arrays.asList(
+ "loading_time",
+ "largest_contentful_paint",
+ "first_contentful_paint",
+ "interaction_to_next_paint"));
+
+ public static final AggregatedWaterfallPerformanceCriteriaMetric LOADING_TIME =
+ new AggregatedWaterfallPerformanceCriteriaMetric("loading_time");
+ public static final AggregatedWaterfallPerformanceCriteriaMetric LARGEST_CONTENTFUL_PAINT =
+ new AggregatedWaterfallPerformanceCriteriaMetric("largest_contentful_paint");
+ public static final AggregatedWaterfallPerformanceCriteriaMetric FIRST_CONTENTFUL_PAINT =
+ new AggregatedWaterfallPerformanceCriteriaMetric("first_contentful_paint");
+ public static final AggregatedWaterfallPerformanceCriteriaMetric INTERACTION_TO_NEXT_PAINT =
+ new AggregatedWaterfallPerformanceCriteriaMetric("interaction_to_next_paint");
+
+ AggregatedWaterfallPerformanceCriteriaMetric(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class AggregatedWaterfallPerformanceCriteriaMetricSerializer
+ extends StdSerializer {
+ public AggregatedWaterfallPerformanceCriteriaMetricSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public AggregatedWaterfallPerformanceCriteriaMetricSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ AggregatedWaterfallPerformanceCriteriaMetric value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static AggregatedWaterfallPerformanceCriteriaMetric fromValue(String value) {
+ return new AggregatedWaterfallPerformanceCriteriaMetric(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequest.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequest.java
new file mode 100644
index 00000000000..154aeb0584e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequest.java
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Request body for the aggregated waterfall endpoint. */
+@JsonPropertyOrder({AggregatedWaterfallRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedWaterfallRequestData data;
+
+ public AggregatedWaterfallRequest() {}
+
+ @JsonCreator
+ public AggregatedWaterfallRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedWaterfallRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedWaterfallRequest data(AggregatedWaterfallRequestData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated waterfall request.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallRequestData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedWaterfallRequestData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallRequest
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallRequest putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallRequest aggregatedWaterfallRequest = (AggregatedWaterfallRequest) o;
+ return Objects.equals(this.data, aggregatedWaterfallRequest.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallRequest {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestAttributes.java
new file mode 100644
index 00000000000..fc9edbec5d8
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestAttributes.java
@@ -0,0 +1,356 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes for an aggregated waterfall query. */
+@JsonPropertyOrder({
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_FILTER,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_FROM,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_INCLUDE_GLOBAL_APPEARANCE,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_SAMPLE_SIZE,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_TO,
+ AggregatedWaterfallRequestAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallRequestAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_FILTER = "filter";
+ private String filter;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_INCLUDE_GLOBAL_APPEARANCE = "include_global_appearance";
+ private Boolean includeGlobalAppearance;
+
+ public static final String JSON_PROPERTY_SAMPLE_SIZE = "sample_size";
+ private Integer sampleSize;
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedWaterfallRequestAttributes() {}
+
+ @JsonCreator
+ public AggregatedWaterfallRequestAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLE_SIZE) Integer sampleSize,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.sampleSize = sampleSize;
+ this.to = to;
+ this.viewName = viewName;
+ }
+
+ public AggregatedWaterfallRequestAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID to analyze.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedWaterfallRequestAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedWaterfallRequestAttributes filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * RUM query string to filter events (for example, @session.type:user @geo.country:US).
+ *
+ * @return filter
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FILTER)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getFilter() {
+ return filter;
+ }
+
+ public void setFilter(String filter) {
+ this.filter = filter;
+ }
+
+ public AggregatedWaterfallRequestAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedWaterfallRequestAttributes includeGlobalAppearance(
+ Boolean includeGlobalAppearance) {
+ this.includeGlobalAppearance = includeGlobalAppearance;
+ return this;
+ }
+
+ /**
+ * When true, enriches each resource with cross-view appearance statistics.
+ *
+ * @return includeGlobalAppearance
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_INCLUDE_GLOBAL_APPEARANCE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getIncludeGlobalAppearance() {
+ return includeGlobalAppearance;
+ }
+
+ public void setIncludeGlobalAppearance(Boolean includeGlobalAppearance) {
+ this.includeGlobalAppearance = includeGlobalAppearance;
+ }
+
+ public AggregatedWaterfallRequestAttributes sampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ return this;
+ }
+
+ /**
+ * Number of view instances to sample, between 1 and 500. minimum: 1 maximum: 500
+ *
+ * @return sampleSize
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLE_SIZE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getSampleSize() {
+ return sampleSize;
+ }
+
+ public void setSampleSize(Integer sampleSize) {
+ this.sampleSize = sampleSize;
+ }
+
+ public AggregatedWaterfallRequestAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedWaterfallRequestAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name to analyze (for example, /account/login).
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallRequestAttributes
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallRequestAttributes putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallRequestAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallRequestAttributes aggregatedWaterfallRequestAttributes =
+ (AggregatedWaterfallRequestAttributes) o;
+ return Objects.equals(this.applicationId, aggregatedWaterfallRequestAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedWaterfallRequestAttributes.criteria)
+ && Objects.equals(this.filter, aggregatedWaterfallRequestAttributes.filter)
+ && Objects.equals(this.from, aggregatedWaterfallRequestAttributes.from)
+ && Objects.equals(
+ this.includeGlobalAppearance,
+ aggregatedWaterfallRequestAttributes.includeGlobalAppearance)
+ && Objects.equals(this.sampleSize, aggregatedWaterfallRequestAttributes.sampleSize)
+ && Objects.equals(this.to, aggregatedWaterfallRequestAttributes.to)
+ && Objects.equals(this.viewName, aggregatedWaterfallRequestAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallRequestAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId,
+ criteria,
+ filter,
+ from,
+ includeGlobalAppearance,
+ sampleSize,
+ to,
+ viewName,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallRequestAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" filter: ").append(toIndentedString(filter)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" includeGlobalAppearance: ")
+ .append(toIndentedString(includeGlobalAppearance))
+ .append("\n");
+ sb.append(" sampleSize: ").append(toIndentedString(sampleSize)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestData.java
new file mode 100644
index 00000000000..c0e64b1a815
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestData.java
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated waterfall request. */
+@JsonPropertyOrder({
+ AggregatedWaterfallRequestData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedWaterfallRequestData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallRequestData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedWaterfallRequestAttributes attributes;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedWaterfallRequestType type;
+
+ public AggregatedWaterfallRequestData() {}
+
+ @JsonCreator
+ public AggregatedWaterfallRequestData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedWaterfallRequestAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedWaterfallRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedWaterfallRequestData attributes(
+ AggregatedWaterfallRequestAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes for an aggregated waterfall query.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallRequestAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedWaterfallRequestAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedWaterfallRequestData type(AggregatedWaterfallRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated waterfall requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedWaterfallRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallRequestData
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallRequestData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallRequestData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallRequestData aggregatedWaterfallRequestData =
+ (AggregatedWaterfallRequestData) o;
+ return Objects.equals(this.attributes, aggregatedWaterfallRequestData.attributes)
+ && Objects.equals(this.type, aggregatedWaterfallRequestData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallRequestData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallRequestData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestType.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestType.java
new file mode 100644
index 00000000000..e6772cd7e4e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallRequestType.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.ModelEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/** The JSON:API type for aggregated waterfall requests. */
+@JsonSerialize(
+ using = AggregatedWaterfallRequestType.AggregatedWaterfallRequestTypeSerializer.class)
+public class AggregatedWaterfallRequestType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("aggregated_waterfall"));
+
+ public static final AggregatedWaterfallRequestType AGGREGATED_WATERFALL =
+ new AggregatedWaterfallRequestType("aggregated_waterfall");
+
+ AggregatedWaterfallRequestType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class AggregatedWaterfallRequestTypeSerializer
+ extends StdSerializer {
+ public AggregatedWaterfallRequestTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public AggregatedWaterfallRequestTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ AggregatedWaterfallRequestType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static AggregatedWaterfallRequestType fromValue(String value) {
+ return new AggregatedWaterfallRequestType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponse.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponse.java
new file mode 100644
index 00000000000..59a38bfdbc6
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponse.java
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Response body for the aggregated waterfall endpoint. */
+@JsonPropertyOrder({AggregatedWaterfallResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private AggregatedWaterfallResponseData data;
+
+ public AggregatedWaterfallResponse() {}
+
+ @JsonCreator
+ public AggregatedWaterfallResponse(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA)
+ AggregatedWaterfallResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public AggregatedWaterfallResponse data(AggregatedWaterfallResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Data envelope for an aggregated waterfall response.
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallResponseData getData() {
+ return data;
+ }
+
+ public void setData(AggregatedWaterfallResponseData data) {
+ this.data = data;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallResponse
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallResponse putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallResponse aggregatedWaterfallResponse = (AggregatedWaterfallResponse) o;
+ return Objects.equals(this.data, aggregatedWaterfallResponse.data)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallResponse {\n");
+ sb.append(" data: ").append(toIndentedString(data)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseAttributes.java
new file mode 100644
index 00000000000..5eed74c5ff1
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseAttributes.java
@@ -0,0 +1,404 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Attributes of an aggregated waterfall response. */
+@JsonPropertyOrder({
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_APPLICATION_ID,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_CRITERIA,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_FROM,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_RESOURCES,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_SAMPLED_VIEW_IDS,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_TO,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_TOTAL_CACHE_HIT_RATE_PCT,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_VIEW_COUNT,
+ AggregatedWaterfallResponseAttributes.JSON_PROPERTY_VIEW_NAME
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallResponseAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_APPLICATION_ID = "application_id";
+ private String applicationId;
+
+ public static final String JSON_PROPERTY_CRITERIA = "criteria";
+ private AggregatedWaterfallPerformanceCriteria criteria;
+
+ public static final String JSON_PROPERTY_FROM = "from";
+ private Long from;
+
+ public static final String JSON_PROPERTY_RESOURCES = "resources";
+ private List resources = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_SAMPLED_VIEW_IDS = "sampled_view_ids";
+ private List sampledViewIds = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TO = "to";
+ private Long to;
+
+ public static final String JSON_PROPERTY_TOTAL_CACHE_HIT_RATE_PCT = "total_cache_hit_rate_pct";
+ private Double totalCacheHitRatePct;
+
+ public static final String JSON_PROPERTY_VIEW_COUNT = "view_count";
+ private Integer viewCount;
+
+ public static final String JSON_PROPERTY_VIEW_NAME = "view_name";
+ private String viewName;
+
+ public AggregatedWaterfallResponseAttributes() {}
+
+ @JsonCreator
+ public AggregatedWaterfallResponseAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_APPLICATION_ID) String applicationId,
+ @JsonProperty(required = true, value = JSON_PROPERTY_FROM) Long from,
+ @JsonProperty(required = true, value = JSON_PROPERTY_RESOURCES)
+ List resources,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ List sampledViewIds,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TO) Long to,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TOTAL_CACHE_HIT_RATE_PCT)
+ Double totalCacheHitRatePct,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_COUNT) Integer viewCount,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_NAME) String viewName) {
+ this.applicationId = applicationId;
+ this.from = from;
+ this.resources = resources;
+ this.sampledViewIds = sampledViewIds;
+ this.to = to;
+ this.totalCacheHitRatePct = totalCacheHitRatePct;
+ this.viewCount = viewCount;
+ this.viewName = viewName;
+ }
+
+ public AggregatedWaterfallResponseAttributes applicationId(String applicationId) {
+ this.applicationId = applicationId;
+ return this;
+ }
+
+ /**
+ * The RUM application ID that was analyzed.
+ *
+ * @return applicationId
+ */
+ @JsonProperty(JSON_PROPERTY_APPLICATION_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
+ public AggregatedWaterfallResponseAttributes criteria(
+ AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ this.unparsed |= criteria.unparsed;
+ return this;
+ }
+
+ /**
+ * Performance criteria to filter view instances by a metric threshold.
+ *
+ * @return criteria
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public AggregatedWaterfallPerformanceCriteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(AggregatedWaterfallPerformanceCriteria criteria) {
+ this.criteria = criteria;
+ }
+
+ public AggregatedWaterfallResponseAttributes from(Long from) {
+ this.from = from;
+ return this;
+ }
+
+ /**
+ * Start of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return from
+ */
+ @JsonProperty(JSON_PROPERTY_FROM)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getFrom() {
+ return from;
+ }
+
+ public void setFrom(Long from) {
+ this.from = from;
+ }
+
+ public AggregatedWaterfallResponseAttributes resources(List resources) {
+ this.resources = resources;
+ for (AggregatedResource item : resources) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public AggregatedWaterfallResponseAttributes addResourcesItem(AggregatedResource resourcesItem) {
+ this.resources.add(resourcesItem);
+ this.unparsed |= resourcesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Network resources in chronological waterfall order.
+ *
+ * @return resources
+ */
+ @JsonProperty(JSON_PROPERTY_RESOURCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getResources() {
+ return resources;
+ }
+
+ public void setResources(List resources) {
+ this.resources = resources;
+ }
+
+ public AggregatedWaterfallResponseAttributes sampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ return this;
+ }
+
+ public AggregatedWaterfallResponseAttributes addSampledViewIdsItem(String sampledViewIdsItem) {
+ this.sampledViewIds.add(sampledViewIdsItem);
+ return this;
+ }
+
+ /**
+ * List of RUM view IDs sampled for this aggregation, capped at 50.
+ *
+ * @return sampledViewIds
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getSampledViewIds() {
+ return sampledViewIds;
+ }
+
+ public void setSampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ }
+
+ public AggregatedWaterfallResponseAttributes to(Long to) {
+ this.to = to;
+ return this;
+ }
+
+ /**
+ * End of the analyzed time range as a Unix timestamp in seconds.
+ *
+ * @return to
+ */
+ @JsonProperty(JSON_PROPERTY_TO)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getTo() {
+ return to;
+ }
+
+ public void setTo(Long to) {
+ this.to = to;
+ }
+
+ public AggregatedWaterfallResponseAttributes totalCacheHitRatePct(Double totalCacheHitRatePct) {
+ this.totalCacheHitRatePct = totalCacheHitRatePct;
+ return this;
+ }
+
+ /**
+ * Overall cache hit rate across all sampled views.
+ *
+ * @return totalCacheHitRatePct
+ */
+ @JsonProperty(JSON_PROPERTY_TOTAL_CACHE_HIT_RATE_PCT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getTotalCacheHitRatePct() {
+ return totalCacheHitRatePct;
+ }
+
+ public void setTotalCacheHitRatePct(Double totalCacheHitRatePct) {
+ this.totalCacheHitRatePct = totalCacheHitRatePct;
+ }
+
+ public AggregatedWaterfallResponseAttributes viewCount(Integer viewCount) {
+ this.viewCount = viewCount;
+ return this;
+ }
+
+ /**
+ * Number of view instances included in the analysis. maximum: 2147483647
+ *
+ * @return viewCount
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_COUNT)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewCount() {
+ return viewCount;
+ }
+
+ public void setViewCount(Integer viewCount) {
+ this.viewCount = viewCount;
+ }
+
+ public AggregatedWaterfallResponseAttributes viewName(String viewName) {
+ this.viewName = viewName;
+ return this;
+ }
+
+ /**
+ * The RUM view name that was analyzed.
+ *
+ * @return viewName
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getViewName() {
+ return viewName;
+ }
+
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallResponseAttributes
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallResponseAttributes putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallResponseAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallResponseAttributes aggregatedWaterfallResponseAttributes =
+ (AggregatedWaterfallResponseAttributes) o;
+ return Objects.equals(this.applicationId, aggregatedWaterfallResponseAttributes.applicationId)
+ && Objects.equals(this.criteria, aggregatedWaterfallResponseAttributes.criteria)
+ && Objects.equals(this.from, aggregatedWaterfallResponseAttributes.from)
+ && Objects.equals(this.resources, aggregatedWaterfallResponseAttributes.resources)
+ && Objects.equals(this.sampledViewIds, aggregatedWaterfallResponseAttributes.sampledViewIds)
+ && Objects.equals(this.to, aggregatedWaterfallResponseAttributes.to)
+ && Objects.equals(
+ this.totalCacheHitRatePct, aggregatedWaterfallResponseAttributes.totalCacheHitRatePct)
+ && Objects.equals(this.viewCount, aggregatedWaterfallResponseAttributes.viewCount)
+ && Objects.equals(this.viewName, aggregatedWaterfallResponseAttributes.viewName)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallResponseAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ applicationId,
+ criteria,
+ from,
+ resources,
+ sampledViewIds,
+ to,
+ totalCacheHitRatePct,
+ viewCount,
+ viewName,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallResponseAttributes {\n");
+ sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n");
+ sb.append(" criteria: ").append(toIndentedString(criteria)).append("\n");
+ sb.append(" from: ").append(toIndentedString(from)).append("\n");
+ sb.append(" resources: ").append(toIndentedString(resources)).append("\n");
+ sb.append(" sampledViewIds: ").append(toIndentedString(sampledViewIds)).append("\n");
+ sb.append(" to: ").append(toIndentedString(to)).append("\n");
+ sb.append(" totalCacheHitRatePct: ")
+ .append(toIndentedString(totalCacheHitRatePct))
+ .append("\n");
+ sb.append(" viewCount: ").append(toIndentedString(viewCount)).append("\n");
+ sb.append(" viewName: ").append(toIndentedString(viewName)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseData.java b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseData.java
new file mode 100644
index 00000000000..dfcaac4c297
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/AggregatedWaterfallResponseData.java
@@ -0,0 +1,213 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Data envelope for an aggregated waterfall response. */
+@JsonPropertyOrder({
+ AggregatedWaterfallResponseData.JSON_PROPERTY_ATTRIBUTES,
+ AggregatedWaterfallResponseData.JSON_PROPERTY_ID,
+ AggregatedWaterfallResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class AggregatedWaterfallResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private AggregatedWaterfallResponseAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private AggregatedWaterfallRequestType type;
+
+ public AggregatedWaterfallResponseData() {}
+
+ @JsonCreator
+ public AggregatedWaterfallResponseData(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ AggregatedWaterfallResponseAttributes attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE)
+ AggregatedWaterfallRequestType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.id = id;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public AggregatedWaterfallResponseData attributes(
+ AggregatedWaterfallResponseAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Attributes of an aggregated waterfall response.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallResponseAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(AggregatedWaterfallResponseAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public AggregatedWaterfallResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Hash-based unique identifier for this aggregation.
+ *
+ * @return id
+ */
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public AggregatedWaterfallResponseData type(AggregatedWaterfallRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * The JSON:API type for aggregated waterfall requests.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public AggregatedWaterfallRequestType getType() {
+ return type;
+ }
+
+ public void setType(AggregatedWaterfallRequestType type) {
+ if (!type.isValid()) {
+ this.unparsed = true;
+ }
+ this.type = type;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return AggregatedWaterfallResponseData
+ */
+ @JsonAnySetter
+ public AggregatedWaterfallResponseData putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this AggregatedWaterfallResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AggregatedWaterfallResponseData aggregatedWaterfallResponseData =
+ (AggregatedWaterfallResponseData) o;
+ return Objects.equals(this.attributes, aggregatedWaterfallResponseData.attributes)
+ && Objects.equals(this.id, aggregatedWaterfallResponseData.id)
+ && Objects.equals(this.type, aggregatedWaterfallResponseData.type)
+ && Objects.equals(
+ this.additionalProperties, aggregatedWaterfallResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AggregatedWaterfallResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/LongTaskMetricStats.java b/src/main/java/com/datadog/api/client/v2/model/LongTaskMetricStats.java
new file mode 100644
index 00000000000..303a1bf5575
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/LongTaskMetricStats.java
@@ -0,0 +1,201 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Statistical distribution (average, min, max) of a long task metric across sampled views. */
+@JsonPropertyOrder({
+ LongTaskMetricStats.JSON_PROPERTY_AVERAGE,
+ LongTaskMetricStats.JSON_PROPERTY_MAX,
+ LongTaskMetricStats.JSON_PROPERTY_MIN
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class LongTaskMetricStats {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_AVERAGE = "average";
+ private Double average;
+
+ public static final String JSON_PROPERTY_MAX = "max";
+ private Double max;
+
+ public static final String JSON_PROPERTY_MIN = "min";
+ private Double min;
+
+ public LongTaskMetricStats() {}
+
+ @JsonCreator
+ public LongTaskMetricStats(
+ @JsonProperty(required = true, value = JSON_PROPERTY_AVERAGE) Double average,
+ @JsonProperty(required = true, value = JSON_PROPERTY_MAX) Double max,
+ @JsonProperty(required = true, value = JSON_PROPERTY_MIN) Double min) {
+ this.average = average;
+ this.max = max;
+ this.min = min;
+ }
+
+ public LongTaskMetricStats average(Double average) {
+ this.average = average;
+ return this;
+ }
+
+ /**
+ * Average value across sampled views.
+ *
+ * @return average
+ */
+ @JsonProperty(JSON_PROPERTY_AVERAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getAverage() {
+ return average;
+ }
+
+ public void setAverage(Double average) {
+ this.average = average;
+ }
+
+ public LongTaskMetricStats max(Double max) {
+ this.max = max;
+ return this;
+ }
+
+ /**
+ * Maximum value across sampled views.
+ *
+ * @return max
+ */
+ @JsonProperty(JSON_PROPERTY_MAX)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getMax() {
+ return max;
+ }
+
+ public void setMax(Double max) {
+ this.max = max;
+ }
+
+ public LongTaskMetricStats min(Double min) {
+ this.min = min;
+ return this;
+ }
+
+ /**
+ * Minimum value across sampled views.
+ *
+ * @return min
+ */
+ @JsonProperty(JSON_PROPERTY_MIN)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getMin() {
+ return min;
+ }
+
+ public void setMin(Double min) {
+ this.min = min;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return LongTaskMetricStats
+ */
+ @JsonAnySetter
+ public LongTaskMetricStats putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this LongTaskMetricStats object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ LongTaskMetricStats longTaskMetricStats = (LongTaskMetricStats) o;
+ return Objects.equals(this.average, longTaskMetricStats.average)
+ && Objects.equals(this.max, longTaskMetricStats.max)
+ && Objects.equals(this.min, longTaskMetricStats.min)
+ && Objects.equals(this.additionalProperties, longTaskMetricStats.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(average, max, min, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class LongTaskMetricStats {\n");
+ sb.append(" average: ").append(toIndentedString(average)).append("\n");
+ sb.append(" max: ").append(toIndentedString(max)).append("\n");
+ sb.append(" min: ").append(toIndentedString(min)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/LongTaskStatsPerView.java b/src/main/java/com/datadog/api/client/v2/model/LongTaskStatsPerView.java
new file mode 100644
index 00000000000..d9a4b2e3816
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/LongTaskStatsPerView.java
@@ -0,0 +1,413 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Statistical distributions of long task metrics computed per view across sampled views. */
+@JsonPropertyOrder({
+ LongTaskStatsPerView.JSON_PROPERTY_FCP_BLOCKING_TIME_MS,
+ LongTaskStatsPerView.JSON_PROPERTY_FCP_COUNT,
+ LongTaskStatsPerView.JSON_PROPERTY_INP_OVERLAP_BLOCKING_TIME_MS,
+ LongTaskStatsPerView.JSON_PROPERTY_INP_OVERLAP_COUNT,
+ LongTaskStatsPerView.JSON_PROPERTY_LCP_BLOCKING_TIME_MS,
+ LongTaskStatsPerView.JSON_PROPERTY_LCP_COUNT,
+ LongTaskStatsPerView.JSON_PROPERTY_LOADING_TIME_BLOCKING_TIME_MS,
+ LongTaskStatsPerView.JSON_PROPERTY_LOADING_TIME_COUNT,
+ LongTaskStatsPerView.JSON_PROPERTY_TOTAL_BLOCKING_TIME_MS,
+ LongTaskStatsPerView.JSON_PROPERTY_TOTAL_COUNT
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class LongTaskStatsPerView {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_FCP_BLOCKING_TIME_MS = "fcp_blocking_time_ms";
+ private LongTaskMetricStats fcpBlockingTimeMs;
+
+ public static final String JSON_PROPERTY_FCP_COUNT = "fcp_count";
+ private LongTaskMetricStats fcpCount;
+
+ public static final String JSON_PROPERTY_INP_OVERLAP_BLOCKING_TIME_MS =
+ "inp_overlap_blocking_time_ms";
+ private LongTaskMetricStats inpOverlapBlockingTimeMs;
+
+ public static final String JSON_PROPERTY_INP_OVERLAP_COUNT = "inp_overlap_count";
+ private LongTaskMetricStats inpOverlapCount;
+
+ public static final String JSON_PROPERTY_LCP_BLOCKING_TIME_MS = "lcp_blocking_time_ms";
+ private LongTaskMetricStats lcpBlockingTimeMs;
+
+ public static final String JSON_PROPERTY_LCP_COUNT = "lcp_count";
+ private LongTaskMetricStats lcpCount;
+
+ public static final String JSON_PROPERTY_LOADING_TIME_BLOCKING_TIME_MS =
+ "loading_time_blocking_time_ms";
+ private LongTaskMetricStats loadingTimeBlockingTimeMs;
+
+ public static final String JSON_PROPERTY_LOADING_TIME_COUNT = "loading_time_count";
+ private LongTaskMetricStats loadingTimeCount;
+
+ public static final String JSON_PROPERTY_TOTAL_BLOCKING_TIME_MS = "total_blocking_time_ms";
+ private LongTaskMetricStats totalBlockingTimeMs;
+
+ public static final String JSON_PROPERTY_TOTAL_COUNT = "total_count";
+ private LongTaskMetricStats totalCount;
+
+ public LongTaskStatsPerView fcpBlockingTimeMs(LongTaskMetricStats fcpBlockingTimeMs) {
+ this.fcpBlockingTimeMs = fcpBlockingTimeMs;
+ this.unparsed |= fcpBlockingTimeMs.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return fcpBlockingTimeMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FCP_BLOCKING_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getFcpBlockingTimeMs() {
+ return fcpBlockingTimeMs;
+ }
+
+ public void setFcpBlockingTimeMs(LongTaskMetricStats fcpBlockingTimeMs) {
+ this.fcpBlockingTimeMs = fcpBlockingTimeMs;
+ }
+
+ public LongTaskStatsPerView fcpCount(LongTaskMetricStats fcpCount) {
+ this.fcpCount = fcpCount;
+ this.unparsed |= fcpCount.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return fcpCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FCP_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getFcpCount() {
+ return fcpCount;
+ }
+
+ public void setFcpCount(LongTaskMetricStats fcpCount) {
+ this.fcpCount = fcpCount;
+ }
+
+ public LongTaskStatsPerView inpOverlapBlockingTimeMs(
+ LongTaskMetricStats inpOverlapBlockingTimeMs) {
+ this.inpOverlapBlockingTimeMs = inpOverlapBlockingTimeMs;
+ this.unparsed |= inpOverlapBlockingTimeMs.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return inpOverlapBlockingTimeMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_INP_OVERLAP_BLOCKING_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getInpOverlapBlockingTimeMs() {
+ return inpOverlapBlockingTimeMs;
+ }
+
+ public void setInpOverlapBlockingTimeMs(LongTaskMetricStats inpOverlapBlockingTimeMs) {
+ this.inpOverlapBlockingTimeMs = inpOverlapBlockingTimeMs;
+ }
+
+ public LongTaskStatsPerView inpOverlapCount(LongTaskMetricStats inpOverlapCount) {
+ this.inpOverlapCount = inpOverlapCount;
+ this.unparsed |= inpOverlapCount.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return inpOverlapCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_INP_OVERLAP_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getInpOverlapCount() {
+ return inpOverlapCount;
+ }
+
+ public void setInpOverlapCount(LongTaskMetricStats inpOverlapCount) {
+ this.inpOverlapCount = inpOverlapCount;
+ }
+
+ public LongTaskStatsPerView lcpBlockingTimeMs(LongTaskMetricStats lcpBlockingTimeMs) {
+ this.lcpBlockingTimeMs = lcpBlockingTimeMs;
+ this.unparsed |= lcpBlockingTimeMs.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return lcpBlockingTimeMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LCP_BLOCKING_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getLcpBlockingTimeMs() {
+ return lcpBlockingTimeMs;
+ }
+
+ public void setLcpBlockingTimeMs(LongTaskMetricStats lcpBlockingTimeMs) {
+ this.lcpBlockingTimeMs = lcpBlockingTimeMs;
+ }
+
+ public LongTaskStatsPerView lcpCount(LongTaskMetricStats lcpCount) {
+ this.lcpCount = lcpCount;
+ this.unparsed |= lcpCount.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return lcpCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LCP_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getLcpCount() {
+ return lcpCount;
+ }
+
+ public void setLcpCount(LongTaskMetricStats lcpCount) {
+ this.lcpCount = lcpCount;
+ }
+
+ public LongTaskStatsPerView loadingTimeBlockingTimeMs(
+ LongTaskMetricStats loadingTimeBlockingTimeMs) {
+ this.loadingTimeBlockingTimeMs = loadingTimeBlockingTimeMs;
+ this.unparsed |= loadingTimeBlockingTimeMs.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return loadingTimeBlockingTimeMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOADING_TIME_BLOCKING_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getLoadingTimeBlockingTimeMs() {
+ return loadingTimeBlockingTimeMs;
+ }
+
+ public void setLoadingTimeBlockingTimeMs(LongTaskMetricStats loadingTimeBlockingTimeMs) {
+ this.loadingTimeBlockingTimeMs = loadingTimeBlockingTimeMs;
+ }
+
+ public LongTaskStatsPerView loadingTimeCount(LongTaskMetricStats loadingTimeCount) {
+ this.loadingTimeCount = loadingTimeCount;
+ this.unparsed |= loadingTimeCount.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return loadingTimeCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOADING_TIME_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getLoadingTimeCount() {
+ return loadingTimeCount;
+ }
+
+ public void setLoadingTimeCount(LongTaskMetricStats loadingTimeCount) {
+ this.loadingTimeCount = loadingTimeCount;
+ }
+
+ public LongTaskStatsPerView totalBlockingTimeMs(LongTaskMetricStats totalBlockingTimeMs) {
+ this.totalBlockingTimeMs = totalBlockingTimeMs;
+ this.unparsed |= totalBlockingTimeMs.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return totalBlockingTimeMs
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL_BLOCKING_TIME_MS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getTotalBlockingTimeMs() {
+ return totalBlockingTimeMs;
+ }
+
+ public void setTotalBlockingTimeMs(LongTaskMetricStats totalBlockingTimeMs) {
+ this.totalBlockingTimeMs = totalBlockingTimeMs;
+ }
+
+ public LongTaskStatsPerView totalCount(LongTaskMetricStats totalCount) {
+ this.totalCount = totalCount;
+ this.unparsed |= totalCount.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distribution (average, min, max) of a long task metric across sampled views.
+ *
+ * @return totalCount
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL_COUNT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public LongTaskMetricStats getTotalCount() {
+ return totalCount;
+ }
+
+ public void setTotalCount(LongTaskMetricStats totalCount) {
+ this.totalCount = totalCount;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return LongTaskStatsPerView
+ */
+ @JsonAnySetter
+ public LongTaskStatsPerView putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this LongTaskStatsPerView object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ LongTaskStatsPerView longTaskStatsPerView = (LongTaskStatsPerView) o;
+ return Objects.equals(this.fcpBlockingTimeMs, longTaskStatsPerView.fcpBlockingTimeMs)
+ && Objects.equals(this.fcpCount, longTaskStatsPerView.fcpCount)
+ && Objects.equals(
+ this.inpOverlapBlockingTimeMs, longTaskStatsPerView.inpOverlapBlockingTimeMs)
+ && Objects.equals(this.inpOverlapCount, longTaskStatsPerView.inpOverlapCount)
+ && Objects.equals(this.lcpBlockingTimeMs, longTaskStatsPerView.lcpBlockingTimeMs)
+ && Objects.equals(this.lcpCount, longTaskStatsPerView.lcpCount)
+ && Objects.equals(
+ this.loadingTimeBlockingTimeMs, longTaskStatsPerView.loadingTimeBlockingTimeMs)
+ && Objects.equals(this.loadingTimeCount, longTaskStatsPerView.loadingTimeCount)
+ && Objects.equals(this.totalBlockingTimeMs, longTaskStatsPerView.totalBlockingTimeMs)
+ && Objects.equals(this.totalCount, longTaskStatsPerView.totalCount)
+ && Objects.equals(this.additionalProperties, longTaskStatsPerView.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ fcpBlockingTimeMs,
+ fcpCount,
+ inpOverlapBlockingTimeMs,
+ inpOverlapCount,
+ lcpBlockingTimeMs,
+ lcpCount,
+ loadingTimeBlockingTimeMs,
+ loadingTimeCount,
+ totalBlockingTimeMs,
+ totalCount,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class LongTaskStatsPerView {\n");
+ sb.append(" fcpBlockingTimeMs: ").append(toIndentedString(fcpBlockingTimeMs)).append("\n");
+ sb.append(" fcpCount: ").append(toIndentedString(fcpCount)).append("\n");
+ sb.append(" inpOverlapBlockingTimeMs: ")
+ .append(toIndentedString(inpOverlapBlockingTimeMs))
+ .append("\n");
+ sb.append(" inpOverlapCount: ").append(toIndentedString(inpOverlapCount)).append("\n");
+ sb.append(" lcpBlockingTimeMs: ").append(toIndentedString(lcpBlockingTimeMs)).append("\n");
+ sb.append(" lcpCount: ").append(toIndentedString(lcpCount)).append("\n");
+ sb.append(" loadingTimeBlockingTimeMs: ")
+ .append(toIndentedString(loadingTimeBlockingTimeMs))
+ .append("\n");
+ sb.append(" loadingTimeCount: ").append(toIndentedString(loadingTimeCount)).append("\n");
+ sb.append(" totalBlockingTimeMs: ")
+ .append(toIndentedString(totalBlockingTimeMs))
+ .append("\n");
+ sb.append(" totalCount: ").append(toIndentedString(totalCount)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsDetections.java b/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsDetections.java
new file mode 100644
index 00000000000..a81342044b0
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsDetections.java
@@ -0,0 +1,424 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Grouped detection results by detection type. */
+@JsonPropertyOrder({
+ SignalsProblemsDetections.JSON_PROPERTY_HIGH_FROZEN_FRAME_RATES,
+ SignalsProblemsDetections.JSON_PROPERTY_HIGH_SCRIPT_EVALUATIONS,
+ SignalsProblemsDetections.JSON_PROPERTY_LOW_CACHE_HIT_RATES,
+ SignalsProblemsDetections.JSON_PROPERTY_MOBILE_SCROLL_FRICTIONS,
+ SignalsProblemsDetections.JSON_PROPERTY_SLOW_FCP_HIGH_BYTES,
+ SignalsProblemsDetections.JSON_PROPERTY_SLOW_INTERACTION_LONG_TASKS,
+ SignalsProblemsDetections.JSON_PROPERTY_UNCOMPRESSED_RESOURCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SignalsProblemsDetections {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_HIGH_FROZEN_FRAME_RATES = "high_frozen_frame_rates";
+ private List highFrozenFrameRates = null;
+
+ public static final String JSON_PROPERTY_HIGH_SCRIPT_EVALUATIONS = "high_script_evaluations";
+ private List highScriptEvaluations = null;
+
+ public static final String JSON_PROPERTY_LOW_CACHE_HIT_RATES = "low_cache_hit_rates";
+ private List lowCacheHitRates = null;
+
+ public static final String JSON_PROPERTY_MOBILE_SCROLL_FRICTIONS = "mobile_scroll_frictions";
+ private List mobileScrollFrictions = null;
+
+ public static final String JSON_PROPERTY_SLOW_FCP_HIGH_BYTES = "slow_fcp_high_bytes";
+ private List slowFcpHighBytes = null;
+
+ public static final String JSON_PROPERTY_SLOW_INTERACTION_LONG_TASKS =
+ "slow_interaction_long_tasks";
+ private List slowInteractionLongTasks = null;
+
+ public static final String JSON_PROPERTY_UNCOMPRESSED_RESOURCES = "uncompressed_resources";
+ private List uncompressedResources = null;
+
+ public SignalsProblemsDetections highFrozenFrameRates(
+ List highFrozenFrameRates) {
+ this.highFrozenFrameRates = highFrozenFrameRates;
+ for (AggregatedHighFrozenFrameRate item : highFrozenFrameRates) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addHighFrozenFrameRatesItem(
+ AggregatedHighFrozenFrameRate highFrozenFrameRatesItem) {
+ if (this.highFrozenFrameRates == null) {
+ this.highFrozenFrameRates = new ArrayList<>();
+ }
+ this.highFrozenFrameRates.add(highFrozenFrameRatesItem);
+ this.unparsed |= highFrozenFrameRatesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected high frozen frame rate issues.
+ *
+ * @return highFrozenFrameRates
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HIGH_FROZEN_FRAME_RATES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getHighFrozenFrameRates() {
+ return highFrozenFrameRates;
+ }
+
+ public void setHighFrozenFrameRates(List highFrozenFrameRates) {
+ this.highFrozenFrameRates = highFrozenFrameRates;
+ }
+
+ public SignalsProblemsDetections highScriptEvaluations(
+ List highScriptEvaluations) {
+ this.highScriptEvaluations = highScriptEvaluations;
+ for (AggregatedHighScriptEval item : highScriptEvaluations) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addHighScriptEvaluationsItem(
+ AggregatedHighScriptEval highScriptEvaluationsItem) {
+ if (this.highScriptEvaluations == null) {
+ this.highScriptEvaluations = new ArrayList<>();
+ }
+ this.highScriptEvaluations.add(highScriptEvaluationsItem);
+ this.unparsed |= highScriptEvaluationsItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected high script evaluation issues.
+ *
+ * @return highScriptEvaluations
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_HIGH_SCRIPT_EVALUATIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getHighScriptEvaluations() {
+ return highScriptEvaluations;
+ }
+
+ public void setHighScriptEvaluations(List highScriptEvaluations) {
+ this.highScriptEvaluations = highScriptEvaluations;
+ }
+
+ public SignalsProblemsDetections lowCacheHitRates(
+ List lowCacheHitRates) {
+ this.lowCacheHitRates = lowCacheHitRates;
+ for (AggregatedLowCacheHitRate item : lowCacheHitRates) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addLowCacheHitRatesItem(
+ AggregatedLowCacheHitRate lowCacheHitRatesItem) {
+ if (this.lowCacheHitRates == null) {
+ this.lowCacheHitRates = new ArrayList<>();
+ }
+ this.lowCacheHitRates.add(lowCacheHitRatesItem);
+ this.unparsed |= lowCacheHitRatesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected low cache hit rate issues.
+ *
+ * @return lowCacheHitRates
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_LOW_CACHE_HIT_RATES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getLowCacheHitRates() {
+ return lowCacheHitRates;
+ }
+
+ public void setLowCacheHitRates(List lowCacheHitRates) {
+ this.lowCacheHitRates = lowCacheHitRates;
+ }
+
+ public SignalsProblemsDetections mobileScrollFrictions(
+ List mobileScrollFrictions) {
+ this.mobileScrollFrictions = mobileScrollFrictions;
+ for (AggregatedMobileScrollFriction item : mobileScrollFrictions) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addMobileScrollFrictionsItem(
+ AggregatedMobileScrollFriction mobileScrollFrictionsItem) {
+ if (this.mobileScrollFrictions == null) {
+ this.mobileScrollFrictions = new ArrayList<>();
+ }
+ this.mobileScrollFrictions.add(mobileScrollFrictionsItem);
+ this.unparsed |= mobileScrollFrictionsItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected mobile scroll friction issues.
+ *
+ * @return mobileScrollFrictions
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_MOBILE_SCROLL_FRICTIONS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getMobileScrollFrictions() {
+ return mobileScrollFrictions;
+ }
+
+ public void setMobileScrollFrictions(List mobileScrollFrictions) {
+ this.mobileScrollFrictions = mobileScrollFrictions;
+ }
+
+ public SignalsProblemsDetections slowFcpHighBytes(
+ List slowFcpHighBytes) {
+ this.slowFcpHighBytes = slowFcpHighBytes;
+ for (AggregatedSlowFCPHighBytes item : slowFcpHighBytes) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addSlowFcpHighBytesItem(
+ AggregatedSlowFCPHighBytes slowFcpHighBytesItem) {
+ if (this.slowFcpHighBytes == null) {
+ this.slowFcpHighBytes = new ArrayList<>();
+ }
+ this.slowFcpHighBytes.add(slowFcpHighBytesItem);
+ this.unparsed |= slowFcpHighBytesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected slow first contentful paint with high byte count issues.
+ *
+ * @return slowFcpHighBytes
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SLOW_FCP_HIGH_BYTES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getSlowFcpHighBytes() {
+ return slowFcpHighBytes;
+ }
+
+ public void setSlowFcpHighBytes(List slowFcpHighBytes) {
+ this.slowFcpHighBytes = slowFcpHighBytes;
+ }
+
+ public SignalsProblemsDetections slowInteractionLongTasks(
+ List slowInteractionLongTasks) {
+ this.slowInteractionLongTasks = slowInteractionLongTasks;
+ for (AggregatedSlowInteractionLongTask item : slowInteractionLongTasks) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addSlowInteractionLongTasksItem(
+ AggregatedSlowInteractionLongTask slowInteractionLongTasksItem) {
+ if (this.slowInteractionLongTasks == null) {
+ this.slowInteractionLongTasks = new ArrayList<>();
+ }
+ this.slowInteractionLongTasks.add(slowInteractionLongTasksItem);
+ this.unparsed |= slowInteractionLongTasksItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected slow interaction with long task issues.
+ *
+ * @return slowInteractionLongTasks
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SLOW_INTERACTION_LONG_TASKS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getSlowInteractionLongTasks() {
+ return slowInteractionLongTasks;
+ }
+
+ public void setSlowInteractionLongTasks(
+ List slowInteractionLongTasks) {
+ this.slowInteractionLongTasks = slowInteractionLongTasks;
+ }
+
+ public SignalsProblemsDetections uncompressedResources(
+ List uncompressedResources) {
+ this.uncompressedResources = uncompressedResources;
+ for (AggregatedUncompressedResource item : uncompressedResources) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SignalsProblemsDetections addUncompressedResourcesItem(
+ AggregatedUncompressedResource uncompressedResourcesItem) {
+ if (this.uncompressedResources == null) {
+ this.uncompressedResources = new ArrayList<>();
+ }
+ this.uncompressedResources.add(uncompressedResourcesItem);
+ this.unparsed |= uncompressedResourcesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Detected uncompressed resource issues.
+ *
+ * @return uncompressedResources
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_UNCOMPRESSED_RESOURCES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getUncompressedResources() {
+ return uncompressedResources;
+ }
+
+ public void setUncompressedResources(List uncompressedResources) {
+ this.uncompressedResources = uncompressedResources;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SignalsProblemsDetections
+ */
+ @JsonAnySetter
+ public SignalsProblemsDetections putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SignalsProblemsDetections object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SignalsProblemsDetections signalsProblemsDetections = (SignalsProblemsDetections) o;
+ return Objects.equals(this.highFrozenFrameRates, signalsProblemsDetections.highFrozenFrameRates)
+ && Objects.equals(
+ this.highScriptEvaluations, signalsProblemsDetections.highScriptEvaluations)
+ && Objects.equals(this.lowCacheHitRates, signalsProblemsDetections.lowCacheHitRates)
+ && Objects.equals(
+ this.mobileScrollFrictions, signalsProblemsDetections.mobileScrollFrictions)
+ && Objects.equals(this.slowFcpHighBytes, signalsProblemsDetections.slowFcpHighBytes)
+ && Objects.equals(
+ this.slowInteractionLongTasks, signalsProblemsDetections.slowInteractionLongTasks)
+ && Objects.equals(
+ this.uncompressedResources, signalsProblemsDetections.uncompressedResources)
+ && Objects.equals(
+ this.additionalProperties, signalsProblemsDetections.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ highFrozenFrameRates,
+ highScriptEvaluations,
+ lowCacheHitRates,
+ mobileScrollFrictions,
+ slowFcpHighBytes,
+ slowInteractionLongTasks,
+ uncompressedResources,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SignalsProblemsDetections {\n");
+ sb.append(" highFrozenFrameRates: ")
+ .append(toIndentedString(highFrozenFrameRates))
+ .append("\n");
+ sb.append(" highScriptEvaluations: ")
+ .append(toIndentedString(highScriptEvaluations))
+ .append("\n");
+ sb.append(" lowCacheHitRates: ").append(toIndentedString(lowCacheHitRates)).append("\n");
+ sb.append(" mobileScrollFrictions: ")
+ .append(toIndentedString(mobileScrollFrictions))
+ .append("\n");
+ sb.append(" slowFcpHighBytes: ").append(toIndentedString(slowFcpHighBytes)).append("\n");
+ sb.append(" slowInteractionLongTasks: ")
+ .append(toIndentedString(slowInteractionLongTasks))
+ .append("\n");
+ sb.append(" uncompressedResources: ")
+ .append(toIndentedString(uncompressedResources))
+ .append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsSampleMetadata.java b/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsSampleMetadata.java
new file mode 100644
index 00000000000..8948721995d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SignalsProblemsSampleMetadata.java
@@ -0,0 +1,267 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Metadata about the sampling quality for a signals and problems query. */
+@JsonPropertyOrder({
+ SignalsProblemsSampleMetadata.JSON_PROPERTY_FAILED,
+ SignalsProblemsSampleMetadata.JSON_PROPERTY_REQUESTED,
+ SignalsProblemsSampleMetadata.JSON_PROPERTY_SAMPLED_VIEW_IDS,
+ SignalsProblemsSampleMetadata.JSON_PROPERTY_SUCCEEDED,
+ SignalsProblemsSampleMetadata.JSON_PROPERTY_SUCCESS_RATE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SignalsProblemsSampleMetadata {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_FAILED = "failed";
+ private Integer failed;
+
+ public static final String JSON_PROPERTY_REQUESTED = "requested";
+ private Integer requested;
+
+ public static final String JSON_PROPERTY_SAMPLED_VIEW_IDS = "sampled_view_ids";
+ private List sampledViewIds = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_SUCCEEDED = "succeeded";
+ private Integer succeeded;
+
+ public static final String JSON_PROPERTY_SUCCESS_RATE = "success_rate";
+ private Double successRate;
+
+ public SignalsProblemsSampleMetadata() {}
+
+ @JsonCreator
+ public SignalsProblemsSampleMetadata(
+ @JsonProperty(required = true, value = JSON_PROPERTY_FAILED) Integer failed,
+ @JsonProperty(required = true, value = JSON_PROPERTY_REQUESTED) Integer requested,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ List sampledViewIds,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SUCCEEDED) Integer succeeded,
+ @JsonProperty(required = true, value = JSON_PROPERTY_SUCCESS_RATE) Double successRate) {
+ this.failed = failed;
+ this.requested = requested;
+ this.sampledViewIds = sampledViewIds;
+ this.succeeded = succeeded;
+ this.successRate = successRate;
+ }
+
+ public SignalsProblemsSampleMetadata failed(Integer failed) {
+ this.failed = failed;
+ return this;
+ }
+
+ /**
+ * Number of view instances that failed to process. maximum: 2147483647
+ *
+ * @return failed
+ */
+ @JsonProperty(JSON_PROPERTY_FAILED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getFailed() {
+ return failed;
+ }
+
+ public void setFailed(Integer failed) {
+ this.failed = failed;
+ }
+
+ public SignalsProblemsSampleMetadata requested(Integer requested) {
+ this.requested = requested;
+ return this;
+ }
+
+ /**
+ * Number of view instances requested for sampling. maximum: 2147483647
+ *
+ * @return requested
+ */
+ @JsonProperty(JSON_PROPERTY_REQUESTED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getRequested() {
+ return requested;
+ }
+
+ public void setRequested(Integer requested) {
+ this.requested = requested;
+ }
+
+ public SignalsProblemsSampleMetadata sampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ return this;
+ }
+
+ public SignalsProblemsSampleMetadata addSampledViewIdsItem(String sampledViewIdsItem) {
+ this.sampledViewIds.add(sampledViewIdsItem);
+ return this;
+ }
+
+ /**
+ * List of RUM view IDs that were sampled.
+ *
+ * @return sampledViewIds
+ */
+ @JsonProperty(JSON_PROPERTY_SAMPLED_VIEW_IDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getSampledViewIds() {
+ return sampledViewIds;
+ }
+
+ public void setSampledViewIds(List sampledViewIds) {
+ this.sampledViewIds = sampledViewIds;
+ }
+
+ public SignalsProblemsSampleMetadata succeeded(Integer succeeded) {
+ this.succeeded = succeeded;
+ return this;
+ }
+
+ /**
+ * Number of view instances successfully processed. maximum: 2147483647
+ *
+ * @return succeeded
+ */
+ @JsonProperty(JSON_PROPERTY_SUCCEEDED)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getSucceeded() {
+ return succeeded;
+ }
+
+ public void setSucceeded(Integer succeeded) {
+ this.succeeded = succeeded;
+ }
+
+ public SignalsProblemsSampleMetadata successRate(Double successRate) {
+ this.successRate = successRate;
+ return this;
+ }
+
+ /**
+ * Ratio of successfully processed views to requested views.
+ *
+ * @return successRate
+ */
+ @JsonProperty(JSON_PROPERTY_SUCCESS_RATE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Double getSuccessRate() {
+ return successRate;
+ }
+
+ public void setSuccessRate(Double successRate) {
+ this.successRate = successRate;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return SignalsProblemsSampleMetadata
+ */
+ @JsonAnySetter
+ public SignalsProblemsSampleMetadata putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this SignalsProblemsSampleMetadata object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SignalsProblemsSampleMetadata signalsProblemsSampleMetadata = (SignalsProblemsSampleMetadata) o;
+ return Objects.equals(this.failed, signalsProblemsSampleMetadata.failed)
+ && Objects.equals(this.requested, signalsProblemsSampleMetadata.requested)
+ && Objects.equals(this.sampledViewIds, signalsProblemsSampleMetadata.sampledViewIds)
+ && Objects.equals(this.succeeded, signalsProblemsSampleMetadata.succeeded)
+ && Objects.equals(this.successRate, signalsProblemsSampleMetadata.successRate)
+ && Objects.equals(
+ this.additionalProperties, signalsProblemsSampleMetadata.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ failed, requested, sampledViewIds, succeeded, successRate, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SignalsProblemsSampleMetadata {\n");
+ sb.append(" failed: ").append(toIndentedString(failed)).append("\n");
+ sb.append(" requested: ").append(toIndentedString(requested)).append("\n");
+ sb.append(" sampledViewIds: ").append(toIndentedString(sampledViewIds)).append("\n");
+ sb.append(" succeeded: ").append(toIndentedString(succeeded)).append("\n");
+ sb.append(" successRate: ").append(toIndentedString(successRate)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/TopLongTaskInvoker.java b/src/main/java/com/datadog/api/client/v2/model/TopLongTaskInvoker.java
new file mode 100644
index 00000000000..7ba48dcef83
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/TopLongTaskInvoker.java
@@ -0,0 +1,300 @@
+/*
+ * 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.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** A top long task invoker within an invoker type. */
+@JsonPropertyOrder({
+ TopLongTaskInvoker.JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES,
+ TopLongTaskInvoker.JSON_PROPERTY_FILE,
+ TopLongTaskInvoker.JSON_PROPERTY_IMPACT_SCORE,
+ TopLongTaskInvoker.JSON_PROPERTY_INVOKER,
+ TopLongTaskInvoker.JSON_PROPERTY_STATS_PER_VIEW,
+ TopLongTaskInvoker.JSON_PROPERTY_VIEW_OCCURRENCES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class TopLongTaskInvoker {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES = "criteria_view_occurrences";
+ private Integer criteriaViewOccurrences;
+
+ public static final String JSON_PROPERTY_FILE = "file";
+ private String file;
+
+ public static final String JSON_PROPERTY_IMPACT_SCORE = "impact_score";
+ private Double impactScore;
+
+ public static final String JSON_PROPERTY_INVOKER = "invoker";
+ private String invoker;
+
+ public static final String JSON_PROPERTY_STATS_PER_VIEW = "stats_per_view";
+ private LongTaskStatsPerView statsPerView;
+
+ public static final String JSON_PROPERTY_VIEW_OCCURRENCES = "view_occurrences";
+ private Integer viewOccurrences;
+
+ public TopLongTaskInvoker() {}
+
+ @JsonCreator
+ public TopLongTaskInvoker(
+ @JsonProperty(required = true, value = JSON_PROPERTY_FILE) String file,
+ @JsonProperty(required = true, value = JSON_PROPERTY_INVOKER) String invoker,
+ @JsonProperty(required = true, value = JSON_PROPERTY_STATS_PER_VIEW)
+ LongTaskStatsPerView statsPerView,
+ @JsonProperty(required = true, value = JSON_PROPERTY_VIEW_OCCURRENCES)
+ Integer viewOccurrences) {
+ this.file = file;
+ if (file != null) {}
+ this.invoker = invoker;
+ this.statsPerView = statsPerView;
+ this.unparsed |= statsPerView.unparsed;
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ public TopLongTaskInvoker criteriaViewOccurrences(Integer criteriaViewOccurrences) {
+ this.criteriaViewOccurrences = criteriaViewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this invoker had long tasks contributing to the criteria metric.
+ * maximum: 2147483647
+ *
+ * @return criteriaViewOccurrences
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CRITERIA_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getCriteriaViewOccurrences() {
+ return criteriaViewOccurrences;
+ }
+
+ public void setCriteriaViewOccurrences(Integer criteriaViewOccurrences) {
+ this.criteriaViewOccurrences = criteriaViewOccurrences;
+ }
+
+ public TopLongTaskInvoker file(String file) {
+ this.file = file;
+ if (file != null) {}
+ return this;
+ }
+
+ /**
+ * Cleaned source file path for the invoker script.
+ *
+ * @return file
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FILE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getFile() {
+ return file;
+ }
+
+ public void setFile(String file) {
+ this.file = file;
+ }
+
+ public TopLongTaskInvoker impactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ return this;
+ }
+
+ /**
+ * Rank-product impact score combining view frequency and blocking time severity.
+ *
+ * @return impactScore
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_IMPACT_SCORE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getImpactScore() {
+ return impactScore;
+ }
+
+ public void setImpactScore(Double impactScore) {
+ this.impactScore = impactScore;
+ }
+
+ public TopLongTaskInvoker invoker(String invoker) {
+ this.invoker = invoker;
+ return this;
+ }
+
+ /**
+ * Name of the invoker function or script.
+ *
+ * @return invoker
+ */
+ @JsonProperty(JSON_PROPERTY_INVOKER)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getInvoker() {
+ return invoker;
+ }
+
+ public void setInvoker(String invoker) {
+ this.invoker = invoker;
+ }
+
+ public TopLongTaskInvoker statsPerView(LongTaskStatsPerView statsPerView) {
+ this.statsPerView = statsPerView;
+ this.unparsed |= statsPerView.unparsed;
+ return this;
+ }
+
+ /**
+ * Statistical distributions of long task metrics computed per view across sampled views.
+ *
+ * @return statsPerView
+ */
+ @JsonProperty(JSON_PROPERTY_STATS_PER_VIEW)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public LongTaskStatsPerView getStatsPerView() {
+ return statsPerView;
+ }
+
+ public void setStatsPerView(LongTaskStatsPerView statsPerView) {
+ this.statsPerView = statsPerView;
+ }
+
+ public TopLongTaskInvoker viewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ return this;
+ }
+
+ /**
+ * Number of sampled views where this invoker had any long tasks. maximum: 2147483647
+ *
+ * @return viewOccurrences
+ */
+ @JsonProperty(JSON_PROPERTY_VIEW_OCCURRENCES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Integer getViewOccurrences() {
+ return viewOccurrences;
+ }
+
+ public void setViewOccurrences(Integer viewOccurrences) {
+ this.viewOccurrences = viewOccurrences;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return TopLongTaskInvoker
+ */
+ @JsonAnySetter
+ public TopLongTaskInvoker putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /** Return true if this TopLongTaskInvoker object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ TopLongTaskInvoker topLongTaskInvoker = (TopLongTaskInvoker) o;
+ return Objects.equals(this.criteriaViewOccurrences, topLongTaskInvoker.criteriaViewOccurrences)
+ && Objects.equals(this.file, topLongTaskInvoker.file)
+ && Objects.equals(this.impactScore, topLongTaskInvoker.impactScore)
+ && Objects.equals(this.invoker, topLongTaskInvoker.invoker)
+ && Objects.equals(this.statsPerView, topLongTaskInvoker.statsPerView)
+ && Objects.equals(this.viewOccurrences, topLongTaskInvoker.viewOccurrences)
+ && Objects.equals(this.additionalProperties, topLongTaskInvoker.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ criteriaViewOccurrences,
+ file,
+ impactScore,
+ invoker,
+ statsPerView,
+ viewOccurrences,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class TopLongTaskInvoker {\n");
+ sb.append(" criteriaViewOccurrences: ")
+ .append(toIndentedString(criteriaViewOccurrences))
+ .append("\n");
+ sb.append(" file: ").append(toIndentedString(file)).append("\n");
+ sb.append(" impactScore: ").append(toIndentedString(impactScore)).append("\n");
+ sb.append(" invoker: ").append(toIndentedString(invoker)).append("\n");
+ sb.append(" statsPerView: ").append(toIndentedString(statsPerView)).append("\n");
+ sb.append(" viewOccurrences: ").append(toIndentedString(viewOccurrences)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/test/resources/com/datadog/api/client/v2/api/rum_insights.feature b/src/test/resources/com/datadog/api/client/v2/api/rum_insights.feature
new file mode 100644
index 00000000000..27dcc3fb565
--- /dev/null
+++ b/src/test/resources/com/datadog/api/client/v2/api/rum_insights.feature
@@ -0,0 +1,59 @@
+@endpoint(rum-insights) @endpoint(rum-insights-v2)
+Feature: RUM Insights
+ Get insights into the performance of your Real User Monitoring (RUM)
+ applications over HTTP. See the [RUM & Session Replay
+ page](https://docs.datadoghq.com/real_user_monitoring/) for more
+ information
+
+ Background:
+ Given a valid "apiKeyAuth" key in the system
+ And a valid "appKeyAuth" key in the system
+ And an instance of "RUMInsights" API
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated long tasks returns "Bad Request" response
+ Given operation "QueryAggregatedLongTasks" enabled
+ And new "QueryAggregatedLongTasks" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "filter": "@session.type:user", "from": 1762437564, "sample_size": 20, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_long_tasks"}}
+ When the request is sent
+ Then the response status is 400 Bad Request
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated long tasks returns "Successful response" response
+ Given operation "QueryAggregatedLongTasks" enabled
+ And new "QueryAggregatedLongTasks" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "filter": "@session.type:user", "from": 1762437564, "sample_size": 20, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_long_tasks"}}
+ When the request is sent
+ Then the response status is 201 Successful response
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated signals and problems returns "Bad Request" response
+ Given operation "QueryAggregatedSignalsProblems" enabled
+ And new "QueryAggregatedSignalsProblems" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "detection_types": ["high_script_evaluations", "uncompressed_resources"], "filter": "@session.type:user", "from": 1762437564, "sample_size": 30, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_signals_problems"}}
+ When the request is sent
+ Then the response status is 400 Bad Request
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated signals and problems returns "Successful response" response
+ Given operation "QueryAggregatedSignalsProblems" enabled
+ And new "QueryAggregatedSignalsProblems" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "detection_types": ["high_script_evaluations", "uncompressed_resources"], "filter": "@session.type:user", "from": 1762437564, "sample_size": 30, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_signals_problems"}}
+ When the request is sent
+ Then the response status is 201 Successful response
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated waterfall returns "Bad Request" response
+ Given operation "QueryAggregatedWaterfall" enabled
+ And new "QueryAggregatedWaterfall" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "filter": "@session.type:user", "from": 1762437564, "include_global_appearance": false, "sample_size": 20, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_waterfall"}}
+ When the request is sent
+ Then the response status is 400 Bad Request
+
+ @generated @skip @team:DataDog/rum-backend
+ Scenario: Query aggregated waterfall returns "Successful response" response
+ Given operation "QueryAggregatedWaterfall" enabled
+ And new "QueryAggregatedWaterfall" request
+ And body with value {"data": {"attributes": {"application_id": "ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b", "criteria": {"max": 5.0, "metric": "largest_contentful_paint", "min": 2.5}, "filter": "@session.type:user", "from": 1762437564, "include_global_appearance": false, "sample_size": 20, "to": 1762523964, "view_name": "/account/login(/:type)"}, "type": "aggregated_waterfall"}}
+ When the request is sent
+ Then the response status is 201 Successful response
diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json
index 3e68f592842..b9215aff8ec 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/undo.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json
@@ -6108,6 +6108,24 @@
"type": "safe"
}
},
+ "QueryAggregatedLongTasks": {
+ "tag": "RUM Insights",
+ "undo": {
+ "type": "safe"
+ }
+ },
+ "QueryAggregatedSignalsProblems": {
+ "tag": "RUM Insights",
+ "undo": {
+ "type": "safe"
+ }
+ },
+ "QueryAggregatedWaterfall": {
+ "tag": "RUM Insights",
+ "undo": {
+ "type": "safe"
+ }
+ },
"ListRumReplayPlaylists": {
"tag": "Rum Replay Playlists",
"undo": {