Skip to content

Commit ee86a1b

Browse files
author
awstools
committed
feat(client-emr-serverless): This release adds the capability to publish detailed Spark engine metrics to Amazon Managed Service for Prometheus (AMP) for enhanced monitoring for Spark jobs.
1 parent 52b987d commit ee86a1b

File tree

8 files changed

+96
-4
lines changed

8 files changed

+96
-4
lines changed

clients/client-emr-serverless/src/commands/CreateApplicationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ export interface CreateApplicationCommandOutput extends CreateApplicationRespons
125125
* ],
126126
* },
127127
* },
128+
* prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
129+
* remoteWriteUrl: "STRING_VALUE",
130+
* },
128131
* },
129132
* };
130133
* const command = new CreateApplicationCommand(input);

clients/client-emr-serverless/src/commands/GetApplicationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@ export interface GetApplicationCommandOutput extends GetApplicationResponse, __M
138138
* // ],
139139
* // },
140140
* // },
141+
* // prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
142+
* // remoteWriteUrl: "STRING_VALUE",
143+
* // },
141144
* // },
142145
* // },
143146
* // };

clients/client-emr-serverless/src/commands/GetJobRunCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ export interface GetJobRunCommandOutput extends GetJobRunResponse, __MetadataBea
9191
* // ],
9292
* // },
9393
* // },
94+
* // prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
95+
* // remoteWriteUrl: "STRING_VALUE",
96+
* // },
9497
* // },
9598
* // },
9699
* // jobDriver: { // JobDriver Union: only one key present

clients/client-emr-serverless/src/commands/StartJobRunCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ export interface StartJobRunCommandOutput extends StartJobRunResponse, __Metadat
9090
* ],
9191
* },
9292
* },
93+
* prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
94+
* remoteWriteUrl: "STRING_VALUE",
95+
* },
9396
* },
9497
* },
9598
* tags: { // TagMap

clients/client-emr-serverless/src/commands/UpdateApplicationCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationRespons
123123
* ],
124124
* },
125125
* },
126+
* prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
127+
* remoteWriteUrl: "STRING_VALUE",
128+
* },
126129
* },
127130
* };
128131
* const command = new UpdateApplicationCommand(input);
@@ -222,6 +225,9 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationRespons
222225
* // ],
223226
* // },
224227
* // },
228+
* // prometheusMonitoringConfiguration: { // PrometheusMonitoringConfiguration
229+
* // remoteWriteUrl: "STRING_VALUE",
230+
* // },
225231
* // },
226232
* // },
227233
* // };

clients/client-emr-serverless/src/models/models_0.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ export interface WorkerResourceConfig {
9595
disk?: string;
9696

9797
/**
98-
* <p>The disk type for every worker instance of the work type. Shuffle optimized disks have higher performance characteristics and are better for shuffle heavy workloads. Default is <code>STANDARD</code>.</p>
98+
* <p>The disk type for every worker instance of the work type. Shuffle optimized disks have higher performance
99+
* characteristics and are better for shuffle heavy workloads. Default is <code>STANDARD</code>.</p>
99100
* @public
100101
*/
101102
diskType?: string;
@@ -221,6 +222,18 @@ export interface ManagedPersistenceMonitoringConfiguration {
221222
encryptionKeyArn?: string;
222223
}
223224

225+
/**
226+
* <p>The monitoring configuration object you can configure to send metrics to Amazon Managed Service for Prometheus for a job run.</p>
227+
* @public
228+
*/
229+
export interface PrometheusMonitoringConfiguration {
230+
/**
231+
* <p>The remote write URL in the Amazon Managed Service for Prometheus workspace to send metrics to.</p>
232+
* @public
233+
*/
234+
remoteWriteUrl?: string;
235+
}
236+
224237
/**
225238
* <p>The Amazon S3 configuration for monitoring log publishing. You can configure your jobs
226239
* to send log information to Amazon S3.</p>
@@ -263,6 +276,12 @@ export interface MonitoringConfiguration {
263276
* @public
264277
*/
265278
cloudWatchLoggingConfiguration?: CloudWatchLoggingConfiguration;
279+
280+
/**
281+
* <p>The monitoring configuration object you can configure to send metrics to Amazon Managed Service for Prometheus for a job run.</p>
282+
* @public
283+
*/
284+
prometheusMonitoringConfiguration?: PrometheusMonitoringConfiguration;
266285
}
267286

268287
/**

clients/client-emr-serverless/src/protocols/Aws_restJson1.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ import {
7474
MaximumAllowedResources,
7575
MonitoringConfiguration,
7676
NetworkConfiguration,
77+
PrometheusMonitoringConfiguration,
7778
ResourceNotFoundException,
7879
ResourceUtilization,
7980
S3MonitoringConfiguration,
@@ -897,6 +898,8 @@ const se_ConfigurationOverrides = (input: ConfigurationOverrides, context: __Ser
897898

898899
// se_NetworkConfiguration omitted.
899900

901+
// se_PrometheusMonitoringConfiguration omitted.
902+
900903
// se_S3MonitoringConfiguration omitted.
901904

902905
// se_SecurityGroupIds omitted.
@@ -1095,6 +1098,8 @@ const de_JobRunSummary = (output: any, context: __SerdeContext): JobRunSummary =
10951098

10961099
// de_NetworkConfiguration omitted.
10971100

1101+
// de_PrometheusMonitoringConfiguration omitted.
1102+
10981103
/**
10991104
* deserializeAws_restJson1ResourceUtilization
11001105
*/

codegen/sdk-codegen/aws-models/emr-serverless.json

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,26 @@
12961296
"smithy.api#documentation": "<p>A configuration specification to be used to override existing configurations.</p>"
12971297
}
12981298
},
1299+
"com.amazonaws.emrserverless#ConfigurationPropertyKey": {
1300+
"type": "string",
1301+
"traits": {
1302+
"smithy.api#length": {
1303+
"min": 1,
1304+
"max": 1024
1305+
},
1306+
"smithy.api#pattern": "^.*\\S.*$"
1307+
}
1308+
},
1309+
"com.amazonaws.emrserverless#ConfigurationPropertyValue": {
1310+
"type": "string",
1311+
"traits": {
1312+
"smithy.api#length": {
1313+
"min": 0,
1314+
"max": 1024
1315+
},
1316+
"smithy.api#pattern": "^.*\\S.*$"
1317+
}
1318+
},
12991319
"com.amazonaws.emrserverless#ConflictException": {
13001320
"type": "structure",
13011321
"members": {
@@ -2671,6 +2691,12 @@
26712691
"traits": {
26722692
"smithy.api#documentation": "<p>The Amazon CloudWatch configuration for monitoring logs. You can configure your jobs\n to send log information to CloudWatch.</p>"
26732693
}
2694+
},
2695+
"prometheusMonitoringConfiguration": {
2696+
"target": "com.amazonaws.emrserverless#PrometheusMonitoringConfiguration",
2697+
"traits": {
2698+
"smithy.api#documentation": "<p>The monitoring configuration object you can configure to send metrics to Amazon Managed Service for Prometheus for a job run.</p>"
2699+
}
26742700
}
26752701
},
26762702
"traits": {
@@ -2707,6 +2733,30 @@
27072733
"smithy.api#pattern": "^[A-Za-z0-9_=-]+$"
27082734
}
27092735
},
2736+
"com.amazonaws.emrserverless#PrometheusMonitoringConfiguration": {
2737+
"type": "structure",
2738+
"members": {
2739+
"remoteWriteUrl": {
2740+
"target": "com.amazonaws.emrserverless#PrometheusUrlString",
2741+
"traits": {
2742+
"smithy.api#documentation": "<p>The remote write URL in the Amazon Managed Service for Prometheus workspace to send metrics to.</p>"
2743+
}
2744+
}
2745+
},
2746+
"traits": {
2747+
"smithy.api#documentation": "<p>The monitoring configuration object you can configure to send metrics to Amazon Managed Service for Prometheus for a job run.</p>"
2748+
}
2749+
},
2750+
"com.amazonaws.emrserverless#PrometheusUrlString": {
2751+
"type": "string",
2752+
"traits": {
2753+
"smithy.api#length": {
2754+
"min": 1,
2755+
"max": 10280
2756+
},
2757+
"smithy.api#pattern": "^https://aps-workspaces.([a-z]{2}-[a-z-]{1,20}-[1-9]).amazonaws(.[0-9A-Za-z]{2,4})+/workspaces/[-_.0-9A-Za-z]{1,100}/api/v1/remote_write$"
2758+
}
2759+
},
27102760
"com.amazonaws.emrserverless#Query": {
27112761
"type": "string",
27122762
"traits": {
@@ -2835,10 +2885,10 @@
28352885
"com.amazonaws.emrserverless#SensitivePropertiesMap": {
28362886
"type": "map",
28372887
"key": {
2838-
"target": "com.amazonaws.emrserverless#String1024"
2888+
"target": "com.amazonaws.emrserverless#ConfigurationPropertyKey"
28392889
},
28402890
"value": {
2841-
"target": "com.amazonaws.emrserverless#String1024"
2891+
"target": "com.amazonaws.emrserverless#ConfigurationPropertyValue"
28422892
},
28432893
"traits": {
28442894
"smithy.api#length": {
@@ -3530,7 +3580,7 @@
35303580
"diskType": {
35313581
"target": "com.amazonaws.emrserverless#DiskType",
35323582
"traits": {
3533-
"smithy.api#documentation": "<p>The disk type for every worker instance of the work type. Shuffle optimized disks have higher performance characteristics and are better for shuffle heavy workloads. Default is <code>STANDARD</code>.</p>"
3583+
"smithy.api#documentation": "<p>The disk type for every worker instance of the work type. Shuffle optimized disks have higher performance \n characteristics and are better for shuffle heavy workloads. Default is <code>STANDARD</code>.</p>"
35343584
}
35353585
}
35363586
},

0 commit comments

Comments
 (0)