Skip to content

Commit e469f61

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add DNAP Spark Pod Autosizing service to API client (#31239)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 93d1c7c commit e469f61

File tree

10 files changed

+2275
-204
lines changed

10 files changed

+2275
-204
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-08-22 18:46:40.838944",
8-
"spec_repo_commit": "d58cb844"
7+
"regenerated": "2025-08-25 08:42:50.989273",
8+
"spec_repo_commit": "205813dc"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-08-22 18:46:51.222340",
13-
"spec_repo_commit": "d58cb844"
12+
"regenerated": "2025-08-25 08:43:00.967505",
13+
"spec_repo_commit": "205813dc"
1414
}
1515
}
1616
}

config/_default/menus/api.en.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9356,6 +9356,23 @@ menu:
93569356
- ListCatalogEntity
93579357
unstable: []
93589358
order: 1
9359+
- name: Spa
9360+
url: /api/latest/spa/
9361+
identifier: spa
9362+
generated: true
9363+
- name: Get SPA Recommendations
9364+
url: '#get-spa-recommendations'
9365+
identifier: spa-get-spa-recommendations
9366+
parent: spa
9367+
generated: true
9368+
params:
9369+
versions:
9370+
- v2
9371+
operationids:
9372+
- GetSPARecommendations
9373+
unstable:
9374+
- v2
9375+
order: 1
93599376
- name: Spans
93609377
url: /api/latest/spans/
93619378
identifier: spans
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
title: Spa
3+
---

content/en/api/v2/spa/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: Spa
3+
headless: true
4+
---

content/en/api/v2/spa/examples.json

Lines changed: 72 additions & 0 deletions
Large diffs are not rendered by default.

data/api/v2/full_spec.yaml

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9345,6 +9345,15 @@ components:
93459345
that evaluates to a boolean.
93469346
example: ${true}
93479347
type: string
9348+
ComponentRecommendation:
9349+
description: Resource recommendation for a single Spark component (driver or
9350+
executor). Contains estimation data used to patch Spark job specs.
9351+
properties:
9352+
estimation:
9353+
$ref: '#/components/schemas/Estimation'
9354+
required:
9355+
- estimation
9356+
type: object
93489357
ComponentType:
93499358
description: The UI component type.
93509359
enum:
@@ -10551,6 +10560,28 @@ components:
1055110560
type: string
1055210561
x-enum-varnames:
1055310562
- COST_BY_ORG
10563+
Cpu:
10564+
description: CPU usage statistics derived from historical Spark job metrics.
10565+
Provides multiple estimates so users can choose between conservative and cost-saving
10566+
risk profiles.
10567+
properties:
10568+
max:
10569+
description: Maximum CPU usage observed for the job, expressed in millicores.
10570+
This represents the upper bound of usage.
10571+
format: int64
10572+
type: integer
10573+
p75:
10574+
description: 75th percentile of CPU usage (millicores). Represents a cost-saving
10575+
configuration while covering most workloads.
10576+
format: int64
10577+
type: integer
10578+
p95:
10579+
description: 95th percentile of CPU usage (millicores). Balances performance
10580+
and cost, providing a safer margin than p75.
10581+
format: int64
10582+
type: integer
10583+
type: object
10584+
x-model-simple-name: SpaCpu
1055410585
CreateActionConnectionRequest:
1055510586
description: Request used to create an action connection.
1055610587
properties:
@@ -15817,6 +15848,33 @@ components:
1581715848
type: string
1581815849
x-enum-varnames:
1581915850
- ESCALATION_POLICY_STEPS
15851+
Estimation:
15852+
description: Recommended resource values for a Spark driver or executor, derived
15853+
from recent real usage metrics. Used by SPA to propose more efficient pod
15854+
sizing.
15855+
properties:
15856+
cpu:
15857+
$ref: '#/components/schemas/Cpu'
15858+
ephemeral_storage:
15859+
description: Recommended ephemeral storage allocation (in MiB). Derived
15860+
from job temporary storage patterns.
15861+
format: int64
15862+
type: integer
15863+
heap:
15864+
description: Recommended JVM heap size (in MiB).
15865+
format: int64
15866+
type: integer
15867+
memory:
15868+
description: Recommended total memory allocation (in MiB). Includes both
15869+
heap and overhead.
15870+
format: int64
15871+
type: integer
15872+
overhead:
15873+
description: Recommended JVM overhead (in MiB). Computed as total memory
15874+
- heap.
15875+
format: int64
15876+
type: integer
15877+
type: object
1582015878
Event:
1582115879
description: The metadata associated with a request.
1582215880
properties:
@@ -33289,6 +33347,52 @@ components:
3328933347
x-enum-varnames:
3329033348
- ANY
3329133349
- ALL
33350+
RecommendationAttributes:
33351+
description: Attributes of the SPA Recommendation resource. Contains recommendations
33352+
for both driver and executor components.
33353+
properties:
33354+
driver:
33355+
$ref: '#/components/schemas/ComponentRecommendation'
33356+
executor:
33357+
$ref: '#/components/schemas/ComponentRecommendation'
33358+
required:
33359+
- driver
33360+
- executor
33361+
type: object
33362+
RecommendationData:
33363+
description: JSON:API resource object for SPA Recommendation. Includes type,
33364+
optional ID, and resource attributes with structured recommendations.
33365+
properties:
33366+
attributes:
33367+
$ref: '#/components/schemas/RecommendationAttributes'
33368+
id:
33369+
description: Resource identifier for the recommendation. Optional in responses.
33370+
type: string
33371+
type:
33372+
$ref: '#/components/schemas/RecommendationType'
33373+
required:
33374+
- type
33375+
- attributes
33376+
type: object
33377+
RecommendationDocument:
33378+
description: JSON:API document containing a single Recommendation resource.
33379+
Returned by SPA when the Spark Gateway requests recommendations.
33380+
properties:
33381+
data:
33382+
$ref: '#/components/schemas/RecommendationData'
33383+
required:
33384+
- data
33385+
type: object
33386+
RecommendationType:
33387+
default: recommendation
33388+
description: JSON:API resource type for Spark Pod Autosizing recommendations.
33389+
Identifies the Recommendation resource returned by SPA.
33390+
enum:
33391+
- recommendation
33392+
example: recommendation
33393+
type: string
33394+
x-enum-varnames:
33395+
- RECOMMENDATION
3329233396
RegisterAppKeyResponse:
3329333397
description: The response object after creating an app key registration.
3329433398
properties:
@@ -69937,6 +70041,72 @@ paths:
6993770041
x-unstable: '**Note**: This feature is in private beta. To request access, use
6993870042
the request access form in the [Service Level Objectives](https://docs.datadoghq.com/service_management/service_level_objectives/#slo-csv-export)
6993970043
docs.'
70044+
/api/v2/spa/recommendations/{service}/{shard}:
70045+
get:
70046+
description: Retrieve resource recommendations for a Spark job. The caller (Spark
70047+
Gateway or DJM UI) provides a service name and shard identifier, and SPA returns
70048+
structured recommendations for driver and executor resources.
70049+
operationId: GetSPARecommendations
70050+
parameters:
70051+
- description: The shard tag for a spark job, which differentiates jobs within
70052+
the same service that have different resource needs
70053+
in: path
70054+
name: shard
70055+
required: true
70056+
schema:
70057+
type: string
70058+
- description: The service name for a spark job
70059+
in: path
70060+
name: service
70061+
required: true
70062+
schema:
70063+
type: string
70064+
responses:
70065+
'200':
70066+
content:
70067+
application/json:
70068+
example:
70069+
data:
70070+
attributes:
70071+
driver:
70072+
estimation:
70073+
cpu:
70074+
max: 1500
70075+
p75: 1000
70076+
p95: 1200
70077+
ephemeral_storage: 896
70078+
heap: 6144
70079+
memory: 7168
70080+
overhead: 1024
70081+
executor:
70082+
estimation:
70083+
cpu:
70084+
max: 2000
70085+
p75: 1200
70086+
p95: 1500
70087+
ephemeral_storage: 512
70088+
heap: 3072
70089+
memory: 4096
70090+
overhead: 1024
70091+
id: dedupeactivecontexts:adp_dedupeactivecontexts_org2
70092+
type: recommendation
70093+
schema:
70094+
$ref: '#/components/schemas/RecommendationDocument'
70095+
description: OK
70096+
'400':
70097+
$ref: '#/components/responses/BadRequestResponse'
70098+
'403':
70099+
$ref: '#/components/responses/NotAuthorizedResponse'
70100+
'429':
70101+
$ref: '#/components/responses/TooManyRequestsResponse'
70102+
summary: Get SPA Recommendations
70103+
tags:
70104+
- Spa
70105+
x-menu-order: 1
70106+
x-undo:
70107+
type: safe
70108+
x-unstable: '**Note**: This endpoint is in public beta and may change in the
70109+
future. It is not yet recommended for production use.'
6994070110
/api/v2/spans/analytics/aggregate:
6994170111
post:
6994270112
description: 'The API endpoint to aggregate spans into buckets and compute metrics
@@ -73677,6 +73847,9 @@ tags:
7367773847
externalDocs:
7367873848
url: https://docs.datadoghq.com/service_catalog/service_definitions#metadata-schema-v30-beta
7367973849
name: Software Catalog
73850+
- description: SPA (Spark Pod Autosizing) API. Provides resource recommendations and
73851+
cost insights to help optimize Spark job configurations.
73852+
name: Spa
7368073853
- description: Search and aggregate your spans from your Datadog platform over HTTP.
7368173854
name: Spans
7368273855
- description: Manage configuration of [span-based metrics](https://app.datadoghq.com/apm/traces/generate-metrics)

0 commit comments

Comments
 (0)