监控 REST APIFlink has a monitoring API that can be used to query status and statistics of running jobs, as well as recent completed jobs. This monitoring API is used by Flink’s own dashboard, but is designed to be used also by custom monitoring tools.
The monitoring API is a REST-ful API that accepts HTTP requests and responds with JSON data.
OverviewThe monitoring API is backed by a web server that runs as part of the Dispatcher . By default, this server listens at post 8081
, which can be configured in flink-conf.yaml
via rest.port
. Note that the monitoring API web server and the web dashboard web server are currently the same and thus run together at the same port. They respond to different HTTP URLs, though.
In the case of multiple Dispatchers (for high availability), each Dispatcher will run its own instance of the monitoring API, which offers information about completed and running job while that Dispatcher was elected the cluster leader.
DevelopingThe REST API backend is in the flink-runtime
project. The core class is org.apache.flink.runtime.webmonitor.WebMonitorEndpoint
, which sets up the server and the request routing.
We use Netty and the Netty Router library to handle REST requests and translate URLs. This choice was made because this combination has lightweight dependencies, and the performance of Netty HTTP is very good.
To add new requests, one needs to
add a new MessageHeaders
class which serves as an interface for the new request, add a new AbstractRestHandler
class which handles the request according to the added MessageHeaders
class, add the handler to org.apache.flink.runtime.webmonitor.WebMonitorEndpoint#initializeHandlers()
.
A good example is the org.apache.flink.runtime.rest.handler.job.JobExceptionsHandler
that uses the org.apache.flink.runtime.rest.messages.JobExceptionsHeaders
.
APIThe REST API is versioned, with specific versions being queryable by prefixing the url with the version prefix. Prefixes are always of the form v[version_number]
. For example, to access version 1 of /foo/bar
one would query /v1/foo/bar
.
If no version is specified Flink will default to the oldest version supporting the request.
Querying unsupported/non-existing versions will return a 404 error.
There exist several async operations among these APIs, e.g. trigger savepoint
, rescale a job
. They would return a triggerid
to identify the operation you just POST and then you need to use that triggerid
to query for the status of the operation.
Dispatcher/cluster Verb: DELETE
Response code: 200 OK
Shuts down the cluster Request Response
/config Verb: GET
Response code: 200 OK
Returns the configuration of the WebUI. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : DashboardConfiguration ”,
“ properties ” : {
“ features ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : DashboardConfiguration : Features ”,
“ properties ” : {
“ web - submit ” : {
“ type ” : “ boolean ”
}
}
},
“ flink - revision ” : {
“ type ” : “ string ”
},
“ flink - version ” : {
“ type ” : “ string ”
},
“ refresh - interval ” : {
“ type ” : “ integer ”
},
“ timezone - name ” : {
“ type ” : “ string ”
},
“ timezone - offset ” : {
“ type ” : “ integer ”
}
}
}
/datasets Verb: GET
Response code: 200 OK
Returns all cluster data sets. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : dataset : ClusterDataSetListResponseBody ”,
“ properties ” : {
“ dataSets ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : dataset : ClusterDataSetEntry ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”
},
“ isComplete ” : {
“ type ” : “ boolean ”
}
}
}
}
}
}
/datasets/delete/:triggerid Verb: GET
Response code: 200 OK
Returns the status for the delete operation of a cluster data set. Path parameters triggerid
- 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationResult ”,
“ properties ” : {
“ operation ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationInfo ”,
“ properties ” : {
“ failure - cause ” : {
“ type ” : “ any ”
}
}
},
“ status ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : queue : QueueStatus ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”,
“ required ” : true ,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ” ]
}
}
}
}
}
/datasets/:datasetid Verb: DELETE
Response code: 202 Accepted
Triggers the deletion of a cluster data set. This async operation would return a ‘triggerid’ for further query identifier. Path parameters datasetid
- 32-character hexadecimal string value that identifies a cluster data set.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : TriggerResponse ”,
“ properties ” : {
“ request - id ” : {
“ type ” : “ any ”
}
}
}
/jars Verb: GET
Response code: 200 OK
Returns a list of all jars previously uploaded via ‘/jars/upload’. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarListInfo ”,
“ properties ” : {
“ address ” : {
“ type ” : “ string ”
},
“ files ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarListInfo : JarFileInfo ”,
“ properties ” : {
“ entry ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarListInfo : JarEntryInfo ”,
“ properties ” : {
“ description ” : {
“ type ” : “ string ”
},
“ name ” : {
“ type ” : “ string ”
}
}
}
},
“ id ” : {
“ type ” : “ string ”
},
“ name ” : {
“ type ” : “ string ”
},
“ uploaded ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
/jars/upload Verb: POST
Response code: 200 OK
Uploads a jar to the cluster. The jar must be sent as multi-part data. Make sure that the “Content-Type” header is set to “application/x-java-archive”, as some http libraries do not add the header by default. Using ‘curl’ you can upload a jar via ‘curl -X POST -H “Expect:” -F “jarfile=@path/to/flink-job.jar” http://hostname:port/jars/upload ‘. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarUploadResponseBody ”,
“ properties ” : {
“ filename ” : {
“ type ” : “ string ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ success ” ]
}
}
}
/jars/:jarid Verb: DELETE
Response code: 200 OK
Deletes a jar previously uploaded via ‘/jars/upload’. Path parameters jarid
- String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the id
field in the list of uploaded jars (/jars).Request Response
/jars/:jarid/plan Verb: GET
Response code: 200 OK
Returns the dataflow plan of a job contained in a jar previously uploaded via ‘/jars/upload’. Program arguments can be passed both via the JSON request (recommended) or query parameters. Path parameters jarid
- String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the id
field in the list of uploaded jars (/jars).Query parameters program-args
(optional): Deprecated, please use ‘programArg’ instead. String value that specifies the arguments for the program or planprogramArg
(optional): Comma-separated list of program arguments.entry-class
(optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.parallelism
(optional): Positive integer value that specifies the desired parallelism for the job.Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarPlanRequestBody ”,
“ properties ” : {
“ entryClass ” : {
“ type ” : “ string ”
},
“ jobId ” : {
“ type ” : “ any ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ programArgs ” : {
“ type ” : “ string ”
},
“ programArgsList ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ string ”
}
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobPlanInfo ”,
“ properties ” : {
“ plan ” : {
“ type ” : “ any ”
}
}
}
/jars/:jarid/plan Verb: POST
Response code: 200 OK
Returns the dataflow plan of a job contained in a jar previously uploaded via ‘/jars/upload’. Program arguments can be passed both via the JSON request (recommended) or query parameters. Path parameters jarid
- String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the id
field in the list of uploaded jars (/jars).Query parameters program-args
(optional): Deprecated, please use ‘programArg’ instead. String value that specifies the arguments for the program or planprogramArg
(optional): Comma-separated list of program arguments.entry-class
(optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.parallelism
(optional): Positive integer value that specifies the desired parallelism for the job.Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarPlanRequestBody ”,
“ properties ” : {
“ entryClass ” : {
“ type ” : “ string ”
},
“ jobId ” : {
“ type ” : “ any ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ programArgs ” : {
“ type ” : “ string ”
},
“ programArgsList ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ string ”
}
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobPlanInfo ”,
“ properties ” : {
“ plan ” : {
“ type ” : “ any ”
}
}
}
/jars/:jarid/run Verb: POST
Response code: 200 OK
Submits a job by running a jar previously uploaded via ‘/jars/upload’. Program arguments can be passed both via the JSON request (recommended) or query parameters. Path parameters jarid
- String value that identifies a jar. When uploading the jar a path is returned, where the filename is the ID. This value is equivalent to the id
field in the list of uploaded jars (/jars).Query parameters allowNonRestoredState
(optional): Boolean value that specifies whether the job submission should be rejected if the savepoint contains state that cannot be mapped back to the job.savepointPath
(optional): String value that specifies the path of the savepoint to restore the job from.program-args
(optional): Deprecated, please use ‘programArg’ instead. String value that specifies the arguments for the program or planprogramArg
(optional): Comma-separated list of program arguments.entry-class
(optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.parallelism
(optional): Positive integer value that specifies the desired parallelism for the job.Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarRunRequestBody ”,
“ properties ” : {
“ allowNonRestoredState ” : {
“ type ” : “ boolean ”
},
“ entryClass ” : {
“ type ” : “ string ”
},
“ jobId ” : {
“ type ” : “ any ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ programArgs ” : {
“ type ” : “ string ”
},
“ programArgsList ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ string ”
}
},
“ savepointPath ” : {
“ type ” : “ string ”
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : webmonitor : handlers : JarRunResponseBody ”,
“ properties ” : {
“ jobid ” : {
“ type ” : “ any ”
}
}
}
/jobmanager/config Verb: GET
Response code: 200 OK
Returns the cluster configuration. Request Response
{
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : ClusterConfigurationInfoEntry ”,
“ properties ” : {
“ key ” : {
“ type ” : “ string ”
},
“ value ” : {
“ type ” : “ string ”
}
}
}
}
/jobmanager/logs Verb: GET
Response code: 200 OK
Returns the list of log files on the JobManager. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : LogListInfo ”,
“ properties ” : {
“ logs ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : LogInfo ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ size ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
/jobmanager/metrics Verb: GET
Response code: 200 OK
Provides access to job manager metrics. Query parameters get
(optional): Comma-separated list of string values to select specific metrics.Request Response
/jobs Verb: GET
Response code: 200 OK
Returns an overview over all jobs and their current state. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : messages : webmonitor : JobIdsWithStatusOverview ”,
“ properties ” : {
“ jobs ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : messages : webmonitor : JobIdsWithStatusOverview : JobIdWithStatus ”,
“ properties ” : {
“ id ” : {
“ type ” : “ any ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ RUNNING ”, “ FAILING ”, “ FAILED ”, “ CANCELLING ”, “ CANCELED ”, “ FINISHED ”, “ RESTARTING ”, “ SUSPENDED ”, “ RECONCILING ” ]
}
}
}
}
}
}
/jobs Verb: POST
Response code: 202 Accepted
Submits a job. This call is primarily intended to be used by the Flink client. This call expects a multipart/form-data request that consists of file uploads for the serialized JobGraph, jars and distributed cache artifacts and an attribute named “request” for the JSON payload. Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobSubmitRequestBody ”,
“ properties ” : {
“ jobArtifactFileNames ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobSubmitRequestBody : DistributedCacheFile ”,
“ properties ” : {
“ entryName ” : {
“ type ” : “ string ”
},
“ fileName ” : {
“ type ” : “ string ”
}
}
}
},
“ jobGraphFileName ” : {
“ type ” : “ string ”
},
“ jobJarFileNames ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ string ”
}
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobSubmitResponseBody ”,
“ properties ” : {
“ jobUrl ” : {
“ type ” : “ string ”
}
}
}
/jobs/metrics Verb: GET
Response code: 200 OK
Provides access to aggregated job metrics. Query parameters get
(optional): Comma-separated list of string values to select specific metrics.agg
(optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: “min, max, sum, avg”.jobs
(optional): Comma-separated list of 32-character hexadecimal strings to select specific jobs.Request Response
/jobs/overview Verb: GET
Response code: 200 OK
Returns an overview over all jobs. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : messages : webmonitor : MultipleJobsDetails ”,
“ properties ” : {
“ jobs ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ any ”
}
}
}
}
/jobs/:jobid Verb: GET
Response code: 200 OK
Returns details of a job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobDetailsInfo ”,
“ properties ” : {
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ isStoppable ” : {
“ type ” : “ boolean ”
},
“ jid ” : {
“ type ” : “ any ”
},
“ name ” : {
“ type ” : “ string ”
},
“ now ” : {
“ type ” : “ integer ”
},
“ plan ” : {
“ type ” : “ string ”
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ state ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ RUNNING ”, “ FAILING ”, “ FAILED ”, “ CANCELLING ”, “ CANCELED ”, “ FINISHED ”, “ RESTARTING ”, “ SUSPENDED ”, “ RECONCILING ” ]
},
“ status - counts ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ integer ”
}
},
“ timestamps ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ integer ”
}
},
“ vertices ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobDetailsInfo : JobVertexDetailsInfo ”,
“ properties ” : {
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ any ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : metrics : IOMetricsInfo ”,
“ properties ” : {
“ read - bytes ” : {
“ type ” : “ integer ”
},
“ read - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ read - records ” : {
“ type ” : “ integer ”
},
“ read - records - complete ” : {
“ type ” : “ boolean ”
},
“ write - bytes ” : {
“ type ” : “ integer ”
},
“ write - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ write - records ” : {
“ type ” : “ integer ”
},
“ write - records - complete ” : {
“ type ” : “ boolean ”
}
}
},
“ name ” : {
“ type ” : “ string ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ SCHEDULED ”, “ DEPLOYING ”, “ RUNNING ”, “ FINISHED ”, “ CANCELING ”, “ CANCELED ”, “ FAILED ”, “ RECONCILING ” ]
},
“ tasks ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
}
/jobs/:jobid Verb: PATCH
Response code: 202 Accepted
Terminates a job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Query parameters mode
(optional): String value that specifies the termination mode. The only supported value is: “cancel”.Request Response
/jobs/:jobid/accumulators Verb: GET
Response code: 200 OK
Returns the accumulators for all tasks of a job, aggregated across the respective subtasks. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Query parameters includeSerializedValue
(optional): Boolean value that specifies whether serialized user task accumulators should be included in the response.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobAccumulatorsInfo ”,
“ properties ” : {
“ job - accumulators ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ any ”
}
},
“ serialized - user - task - accumulators ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ any ”
}
},
“ user - task - accumulators ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobAccumulatorsInfo : UserTaskAccumulator ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ type ” : {
“ type ” : “ string ”
},
“ value ” : {
“ type ” : “ string ”
}
}
}
}
}
}
/jobs/:jobid/checkpoints Verb: GET
Response code: 200 OK
Returns checkpointing statistics for a job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointingStatistics ”,
“ properties ” : {
“ counts ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointingStatistics : Counts ”,
“ properties ” : {
“ completed ” : {
“ type ” : “ integer ”
},
“ failed ” : {
“ type ” : “ integer ”
},
“ in_progress ” : {
“ type ” : “ integer ”
},
“ restored ” : {
“ type ” : “ integer ”
},
“ total ” : {
“ type ” : “ integer ”
}
}
},
“ history ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ is_savepoint ” : {
“ type ” : “ boolean ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
},
“ tasks ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatistics ”
}
},
“ trigger_timestamp ” : {
“ type ” : “ integer ”
}
}
}
},
“ latest ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointingStatistics : LatestCheckpoints ”,
“ properties ” : {
“ completed ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointStatistics : CompletedCheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ discarded ” : {
“ type ” : “ boolean ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ external_path ” : {
“ type ” : “ string ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ is_savepoint ” : {
“ type ” : “ boolean ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
},
“ tasks ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
}
}
}
},
“ trigger_timestamp ” : {
“ type ” : “ integer ”
}
}
},
“ failed ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointStatistics : FailedCheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ failure_message ” : {
“ type ” : “ string ”
},
“ failure_timestamp ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ is_savepoint ” : {
“ type ” : “ boolean ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
},
“ tasks ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatistics ”
}
},
“ trigger_timestamp ” : {
“ type ” : “ integer ”
}
}
},
“ restored ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointingStatistics : RestoredCheckpointStatistics ”,
“ properties ” : {
“ external_path ” : {
“ type ” : “ string ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ is_savepoint ” : {
“ type ” : “ boolean ”
},
“ restore_timestamp ” : {
“ type ” : “ integer ”
}
}
},
“ savepoint ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointStatistics : CompletedCheckpointStatistics ”
}
}
},
“ summary ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointingStatistics : Summary ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ end_to_end_duration ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ state_size ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”,
“ properties ” : {
“ avg ” : {
“ type ” : “ integer ”
},
“ max ” : {
“ type ” : “ integer ”
},
“ min ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
}
/jobs/:jobid/checkpoints/config Verb: GET
Response code: 200 OK
Returns the checkpointing configuration. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointConfigInfo ”,
“ properties ” : {
“ externalization ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointConfigInfo : ExternalizedCheckpointInfo ”,
“ properties ” : {
“ delete_on_cancellation ” : {
“ type ” : “ boolean ”
},
“ enabled ” : {
“ type ” : “ boolean ”
}
}
},
“ interval ” : {
“ type ” : “ integer ”
},
“ max_concurrent ” : {
“ type ” : “ integer ”
},
“ min_pause ” : {
“ type ” : “ integer ”
},
“ mode ” : {
“ type ” : “ any ”
},
“ state_backend ” : {
“ type ” : “ string ”
},
“ timeout ” : {
“ type ” : “ integer ”
}
}
}
/jobs/:jobid/checkpoints/details/:checkpointid Verb: GET
Response code: 200 OK
Returns details for a checkpoint. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.checkpointid
- Long value that identifies a checkpoint.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : CheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ is_savepoint ” : {
“ type ” : “ boolean ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
},
“ tasks ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatistics ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
}
}
}
},
“ trigger_timestamp ” : {
“ type ” : “ integer ”
}
}
}
/jobs/:jobid/checkpoints/details/:checkpointid/subtasks/:vertexid Verb: GET
Response code: 200 OK
Returns checkpoint statistics for a task and its subtasks. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.checkpointid
- Long value that identifies a checkpoint.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatisticsWithSubtaskDetails ”,
“ properties ” : {
“ alignment_buffered ” : {
“ type ” : “ integer ”
},
“ end_to_end_duration ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ integer ”
},
“ latest_ack_timestamp ” : {
“ type ” : “ integer ”
},
“ num_acknowledged_subtasks ” : {
“ type ” : “ integer ”
},
“ num_subtasks ” : {
“ type ” : “ integer ”
},
“ state_size ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ”, “ FAILED ” ]
},
“ subtasks ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : SubtaskCheckpointStatistics ”,
“ properties ” : {
“ index ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”
}
}
}
},
“ summary ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatisticsWithSubtaskDetails : Summary ”,
“ properties ” : {
“ alignment ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatisticsWithSubtaskDetails : CheckpointAlignment ”,
“ properties ” : {
“ buffered ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ duration ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
}
}
},
“ checkpoint_duration ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : TaskCheckpointStatisticsWithSubtaskDetails : CheckpointDuration ”,
“ properties ” : {
“ async ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ sync ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
}
}
},
“ end_to_end_duration ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ start_delay ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”
},
“ state_size ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : checkpoints : MinMaxAvgStatistics ”,
“ properties ” : {
“ avg ” : {
“ type ” : “ integer ”
},
“ max ” : {
“ type ” : “ integer ”
},
“ min ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
}
/jobs/:jobid/config Verb: GET
Response code: 200 OK
Returns the configuration of a job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
/jobs/:jobid/exceptions Verb: GET
Response code: 200 OK
Returns the non-recoverable exceptions that have been observed by the job. The truncated flag defines whether more exceptions occurred, but are not listed, because the response would otherwise get too big. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Query parameters maxExceptions
(optional): Comma-separated list of integer values that specifies the upper limit of exceptions to return.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobExceptionsInfo ”,
“ properties ” : {
“ all - exceptions ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobExceptionsInfo : ExecutionExceptionInfo ”,
“ properties ” : {
“ exception ” : {
“ type ” : “ string ”
},
“ location ” : {
“ type ” : “ string ”
},
“ task ” : {
“ type ” : “ string ”
},
“ timestamp ” : {
“ type ” : “ integer ”
}
}
}
},
“ root - exception ” : {
“ type ” : “ string ”
},
“ timestamp ” : {
“ type ” : “ integer ”
},
“ truncated ” : {
“ type ” : “ boolean ”
}
}
}
/jobs/:jobid/execution-result Verb: GET
Response code: 200 OK
Returns the result of a job execution. Gives access to the execution time of the job and to all accumulators created by this job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : JobExecutionResultResponseBody ”,
“ properties ” : {
“ job - execution - result ” : {
“ type ” : “ any ”
},
“ status ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : queue : QueueStatus ”,
“ required ” : true ,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”,
“ required ” : true ,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ” ]
}
}
}
}
}
/jobs/:jobid/metrics Verb: GET
Response code: 200 OK
Provides access to job metrics. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Query parameters get
(optional): Comma-separated list of string values to select specific metrics.Request Response
/jobs/:jobid/plan Verb: GET
Response code: 200 OK
Returns the dataflow plan of a job. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobPlanInfo ”,
“ properties ” : {
“ plan ” : {
“ type ” : “ any ”
}
}
}
/jobs/:jobid/rescaling Verb: PATCH
Response code: 200 OK
Triggers the rescaling of a job. This async operation would return a ‘triggerid’ for further query identifier. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Query parameters parallelism
(mandatory): Positive integer value that specifies the desired parallelism.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : TriggerResponse ”,
“ properties ” : {
“ request - id ” : {
“ type ” : “ any ”
}
}
}
/jobs/:jobid/rescaling/:triggerid Verb: GET
Response code: 200 OK
Returns the status of a rescaling operation. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.triggerid
- 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationResult ”,
“ properties ” : {
“ operation ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationInfo ”,
“ properties ” : {
“ failure - cause ” : {
“ type ” : “ any ”
}
}
},
“ status ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : queue : QueueStatus ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”,
“ required ” : true ,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ” ]
}
}
}
}
}
/jobs/:jobid/savepoints Verb: POST
Response code: 202 Accepted
Triggers a savepoint, and optionally cancels the job afterwards. This async operation would return a ‘triggerid’ for further query identifier. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : savepoints : SavepointTriggerRequestBody ”,
“ properties ” : {
“ cancel - job ” : {
“ type ” : “ boolean ”
},
“ target - directory ” : {
“ type ” : “ string ”
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : TriggerResponse ”,
“ properties ” : {
“ request - id ” : {
“ type ” : “ any ”
}
}
}
/jobs/:jobid/savepoints/:triggerid Verb: GET
Response code: 200 OK
Returns the status of a savepoint operation. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.triggerid
- 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationResult ”,
“ properties ” : {
“ operation ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : savepoints : SavepointInfo ”,
“ properties ” : {
“ failure - cause ” : {
“ type ” : “ any ”
},
“ location ” : {
“ type ” : “ string ”
}
}
},
“ status ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : queue : QueueStatus ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”,
“ required ” : true ,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ” ]
}
}
}
}
}
/jobs/:jobid/stop Verb: POST
Response code: 202 Accepted
Stops a job with a savepoint. Optionally, it can also emit a MAX_WATERMARK before taking the savepoint to flush out any state waiting for timers to fire. This async operation would return a ‘triggerid’ for further query identifier. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : savepoints : stop : StopWithSavepointRequestBody ”,
“ properties ” : {
“ drain ” : {
“ type ” : “ boolean ”
},
“ targetDirectory ” : {
“ type ” : “ string ”
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : TriggerResponse ”,
“ properties ” : {
“ request - id ” : {
“ type ” : “ any ”
}
}
}
/jobs/:jobid/vertices/:vertexid Verb: GET
Response code: 200 OK
Returns details for a task, with a summary for each of its subtasks. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexDetailsInfo ”,
“ properties ” : {
“ id ” : {
“ type ” : “ any ”
},
“ name ” : {
“ type ” : “ string ”
},
“ now ” : {
“ type ” : “ integer ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ subtasks ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtaskExecutionAttemptDetailsInfo ”,
“ properties ” : {
“ attempt ” : {
“ type ” : “ integer ”
},
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : metrics : IOMetricsInfo ”,
“ properties ” : {
“ read - bytes ” : {
“ type ” : “ integer ”
},
“ read - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ read - records ” : {
“ type ” : “ integer ”
},
“ read - records - complete ” : {
“ type ” : “ boolean ”
},
“ write - bytes ” : {
“ type ” : “ integer ”
},
“ write - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ write - records ” : {
“ type ” : “ integer ”
},
“ write - records - complete ” : {
“ type ” : “ boolean ”
}
}
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ start_time ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ SCHEDULED ”, “ DEPLOYING ”, “ RUNNING ”, “ FINISHED ”, “ CANCELING ”, “ CANCELED ”, “ FAILED ”, “ RECONCILING ” ]
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ taskmanager - id ” : {
“ type ” : “ string ”
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/accumulators Verb: GET
Response code: 200 OK
Returns user-defined accumulators of a task, aggregated across all subtasks. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexAccumulatorsInfo ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”
},
“ user - accumulators ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : UserAccumulator ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ type ” : {
“ type ” : “ string ”
},
“ value ” : {
“ type ” : “ string ”
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/backpressure Verb: GET
Response code: 200 OK
Returns back-pressure information for a job, and may initiate back-pressure sampling if necessary. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexBackPressureInfo ”,
“ properties ” : {
“ backpressure - level ” : {
“ type ” : “ string ”,
“ enum ” : [ “ ok ”, “ low ”, “ high ” ]
},
“ end - timestamp ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ deprecated ”, “ ok ” ]
},
“ subtasks ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexBackPressureInfo : SubtaskBackPressureInfo ”,
“ properties ” : {
“ backpressure - level ” : {
“ type ” : “ string ”,
“ enum ” : [ “ ok ”, “ low ”, “ high ” ]
},
“ ratio ” : {
“ type ” : “ number ”
},
“ subtask ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/metrics Verb: GET
Response code: 200 OK
Provides access to task metrics. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Query parameters get
(optional): Comma-separated list of string values to select specific metrics.Request Response
/jobs/:jobid/vertices/:vertexid/subtasks/accumulators Verb: GET
Response code: 200 OK
Returns all user-defined accumulators for all subtasks of a task. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtasksAllAccumulatorsInfo ”,
“ properties ” : {
“ id ” : {
“ type ” : “ any ”
},
“ parallelism ” : {
“ type ” : “ integer ”
},
“ subtasks ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtasksAllAccumulatorsInfo : SubtaskAccumulatorsInfo ”,
“ properties ” : {
“ attempt ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ user - accumulators ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : UserAccumulator ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ type ” : {
“ type ” : “ string ”
},
“ value ” : {
“ type ” : “ string ”
}
}
}
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/subtasks/metrics Verb: GET
Response code: 200 OK
Provides access to aggregated subtask metrics. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Query parameters get
(optional): Comma-separated list of string values to select specific metrics.agg
(optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: “min, max, sum, avg”.subtasks
(optional): Comma-separated list of integer ranges (e.g. “1,3,5-9”) to select specific subtasks.Request Response
/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex Verb: GET
Response code: 200 OK
Returns details of the current or latest execution attempt of a subtask. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.subtaskindex
- Positive integer value that identifies a subtask.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtaskExecutionAttemptDetailsInfo ”,
“ properties ” : {
“ attempt ” : {
“ type ” : “ integer ”
},
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : metrics : IOMetricsInfo ”,
“ properties ” : {
“ read - bytes ” : {
“ type ” : “ integer ”
},
“ read - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ read - records ” : {
“ type ” : “ integer ”
},
“ read - records - complete ” : {
“ type ” : “ boolean ”
},
“ write - bytes ” : {
“ type ” : “ integer ”
},
“ write - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ write - records ” : {
“ type ” : “ integer ”
},
“ write - records - complete ” : {
“ type ” : “ boolean ”
}
}
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ start_time ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ SCHEDULED ”, “ DEPLOYING ”, “ RUNNING ”, “ FINISHED ”, “ CANCELING ”, “ CANCELED ”, “ FAILED ”, “ RECONCILING ” ]
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ taskmanager - id ” : {
“ type ” : “ string ”
}
}
}
/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/attempts/:attempt Verb: GET
Response code: 200 OK
Returns details of an execution attempt of a subtask. Multiple execution attempts happen in case of failure/recovery. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.subtaskindex
- Positive integer value that identifies a subtask.attempt
- Positive integer value that identifies an execution attempt.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtaskExecutionAttemptDetailsInfo ”,
“ properties ” : {
“ attempt ” : {
“ type ” : “ integer ”
},
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : metrics : IOMetricsInfo ”,
“ properties ” : {
“ read - bytes ” : {
“ type ” : “ integer ”
},
“ read - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ read - records ” : {
“ type ” : “ integer ”
},
“ read - records - complete ” : {
“ type ” : “ boolean ”
},
“ write - bytes ” : {
“ type ” : “ integer ”
},
“ write - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ write - records ” : {
“ type ” : “ integer ”
},
“ write - records - complete ” : {
“ type ” : “ boolean ”
}
}
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ start_time ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ SCHEDULED ”, “ DEPLOYING ”, “ RUNNING ”, “ FINISHED ”, “ CANCELING ”, “ CANCELED ”, “ FAILED ”, “ RECONCILING ” ]
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ taskmanager - id ” : {
“ type ” : “ string ”
}
}
}
/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/attempts/:attempt/accumulators Verb: GET
Response code: 200 OK
Returns the accumulators of an execution attempt of a subtask. Multiple execution attempts happen in case of failure/recovery. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.subtaskindex
- Positive integer value that identifies a subtask.attempt
- Positive integer value that identifies an execution attempt.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : SubtaskExecutionAttemptAccumulatorsInfo ”,
“ properties ” : {
“ attempt ” : {
“ type ” : “ integer ”
},
“ id ” : {
“ type ” : “ string ”
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ user - accumulators ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : UserAccumulator ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ type ” : {
“ type ” : “ string ”
},
“ value ” : {
“ type ” : “ string ”
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/subtasks/:subtaskindex/metrics Verb: GET
Response code: 200 OK
Provides access to subtask metrics. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.subtaskindex
- Positive integer value that identifies a subtask.Query parameters get
(optional): Comma-separated list of string values to select specific metrics.Request Response
/jobs/:jobid/vertices/:vertexid/subtasktimes Verb: GET
Response code: 200 OK
Returns time-related information for all subtasks of a task. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : SubtasksTimesInfo ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”
},
“ name ” : {
“ type ” : “ string ”
},
“ now ” : {
“ type ” : “ integer ”
},
“ subtasks ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : SubtasksTimesInfo : SubtaskTimeInfo ”,
“ properties ” : {
“ duration ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ subtask ” : {
“ type ” : “ integer ”
},
“ timestamps ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/taskmanagers Verb: GET
Response code: 200 OK
Returns task information aggregated by task manager. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexTaskManagersInfo ”,
“ properties ” : {
“ id ” : {
“ type ” : “ any ”
},
“ name ” : {
“ type ” : “ string ”
},
“ now ” : {
“ type ” : “ integer ”
},
“ taskmanagers ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : JobVertexTaskManagersInfo : TaskManagersInfo ”,
“ properties ” : {
“ duration ” : {
“ type ” : “ integer ”
},
“ end - time ” : {
“ type ” : “ integer ”
},
“ host ” : {
“ type ” : “ string ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : metrics : IOMetricsInfo ”,
“ properties ” : {
“ read - bytes ” : {
“ type ” : “ integer ”
},
“ read - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ read - records ” : {
“ type ” : “ integer ”
},
“ read - records - complete ” : {
“ type ” : “ boolean ”
},
“ write - bytes ” : {
“ type ” : “ integer ”
},
“ write - bytes - complete ” : {
“ type ” : “ boolean ”
},
“ write - records ” : {
“ type ” : “ integer ”
},
“ write - records - complete ” : {
“ type ” : “ boolean ”
}
}
},
“ start - time ” : {
“ type ” : “ integer ”
},
“ status ” : {
“ type ” : “ string ”,
“ enum ” : [ “ CREATED ”, “ SCHEDULED ”, “ DEPLOYING ”, “ RUNNING ”, “ FINISHED ”, “ CANCELING ”, “ CANCELED ”, “ FAILED ”, “ RECONCILING ” ]
},
“ status - counts ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ integer ”
}
},
“ taskmanager - id ” : {
“ type ” : “ string ”
}
}
}
}
}
}
/jobs/:jobid/vertices/:vertexid/watermarks Verb: GET
Response code: 200 OK
Returns the watermarks for all subtasks of a task. Path parameters jobid
- 32-character hexadecimal string value that identifies a job.vertexid
- 32-character hexadecimal string value that identifies a job vertex.Request Response
/overview Verb: GET
Response code: 200 OK
Returns an overview over the Flink cluster. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : legacy : messages : ClusterOverviewWithVersion ”,
“ properties ” : {
“ flink - commit ” : {
“ type ” : “ string ”
},
“ flink - version ” : {
“ type ” : “ string ”
},
“ jobs - cancelled ” : {
“ type ” : “ integer ”
},
“ jobs - failed ” : {
“ type ” : “ integer ”
},
“ jobs - finished ” : {
“ type ” : “ integer ”
},
“ jobs - running ” : {
“ type ” : “ integer ”
},
“ slots - available ” : {
“ type ” : “ integer ”
},
“ slots - total ” : {
“ type ” : “ integer ”
},
“ taskmanagers ” : {
“ type ” : “ integer ”
}
}
}
/savepoint-disposal Verb: POST
Response code: 200 OK
Triggers the desposal of a savepoint. This async operation would return a ‘triggerid’ for further query identifier. Request
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : job : savepoints : SavepointDisposalRequest ”,
“ properties ” : {
“ savepoint - path ” : {
“ type ” : “ string ”
}
}
}
Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : TriggerResponse ”,
“ properties ” : {
“ request - id ” : {
“ type ” : “ any ”
}
}
}
/savepoint-disposal/:triggerid Verb: GET
Response code: 200 OK
Returns the status of a savepoint disposal operation. Path parameters triggerid
- 32-character hexadecimal string that identifies an asynchronous operation trigger ID. The ID was returned then the operation was triggered.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationResult ”,
“ properties ” : {
“ operation ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : handler : async : AsynchronousOperationInfo ”,
“ properties ” : {
“ failure - cause ” : {
“ type ” : “ any ”
}
}
},
“ status ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : queue : QueueStatus ”,
“ properties ” : {
“ id ” : {
“ type ” : “ string ”,
“ required ” : true ,
“ enum ” : [ “ IN_PROGRESS ”, “ COMPLETED ” ]
}
}
}
}
}
/taskmanagers Verb: GET
Response code: 200 OK
Returns an overview over all task managers. Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : TaskManagersInfo ”,
“ properties ” : {
“ taskmanagers ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : TaskManagerInfo ”,
“ properties ” : {
“ dataPort ” : {
“ type ” : “ integer ”
},
“ freeResource ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : ResourceProfileInfo ”
},
“ freeSlots ” : {
“ type ” : “ integer ”
},
“ hardware ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : instance : HardwareDescription ”,
“ properties ” : {
“ cpuCores ” : {
“ type ” : “ integer ”
},
“ freeMemory ” : {
“ type ” : “ integer ”
},
“ managedMemory ” : {
“ type ” : “ integer ”
},
“ physicalMemory ” : {
“ type ” : “ integer ”
}
}
},
“ id ” : {
“ type ” : “ any ”
},
“ path ” : {
“ type ” : “ string ”
},
“ slotsNumber ” : {
“ type ” : “ integer ”
},
“ timeSinceLastHeartbeat ” : {
“ type ” : “ integer ”
},
“ totalResource ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : ResourceProfileInfo ”,
“ properties ” : {
“ cpuCores ” : {
“ type ” : “ number ”
},
“ extendedResources ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ number ”
}
},
“ managedMemory ” : {
“ type ” : “ integer ”
},
“ networkMemory ” : {
“ type ” : “ integer ”
},
“ taskHeapMemory ” : {
“ type ” : “ integer ”
},
“ taskOffHeapMemory ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
}
}
/taskmanagers/metrics Verb: GET
Response code: 200 OK
Provides access to aggregated task manager metrics. Query parameters get
(optional): Comma-separated list of string values to select specific metrics.agg
(optional): Comma-separated list of aggregation modes which should be calculated. Available aggregations are: “min, max, sum, avg”.taskmanagers
(optional): Comma-separated list of 32-character hexadecimal strings to select specific task managers.Request Response
/taskmanagers/:taskmanagerid Verb: GET
Response code: 200 OK
Returns details for a task manager. Path parameters taskmanagerid
- 32-character hexadecimal string that identifies a task manager.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : TaskManagerDetailsInfo ”,
“ properties ” : {
“ dataPort ” : {
“ type ” : “ integer ”
},
“ freeResource ” : {
“ type ” : “ object ”,
“ $ref ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : ResourceProfileInfo ”
},
“ freeSlots ” : {
“ type ” : “ integer ”
},
“ hardware ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : instance : HardwareDescription ”,
“ properties ” : {
“ cpuCores ” : {
“ type ” : “ integer ”
},
“ freeMemory ” : {
“ type ” : “ integer ”
},
“ managedMemory ” : {
“ type ” : “ integer ”
},
“ physicalMemory ” : {
“ type ” : “ integer ”
}
}
},
“ id ” : {
“ type ” : “ any ”
},
“ metrics ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : TaskManagerMetricsInfo ”,
“ properties ” : {
“ directCount ” : {
“ type ” : “ integer ”
},
“ directMax ” : {
“ type ” : “ integer ”
},
“ directUsed ” : {
“ type ” : “ integer ”
},
“ garbageCollectors ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : TaskManagerMetricsInfo : GarbageCollectorInfo ”,
“ properties ” : {
“ count ” : {
“ type ” : “ integer ”
},
“ name ” : {
“ type ” : “ string ”
},
“ time ” : {
“ type ” : “ integer ”
}
}
}
},
“ heapCommitted ” : {
“ type ” : “ integer ”
},
“ heapMax ” : {
“ type ” : “ integer ”
},
“ heapUsed ” : {
“ type ” : “ integer ”
},
“ mappedCount ” : {
“ type ” : “ integer ”
},
“ mappedMax ” : {
“ type ” : “ integer ”
},
“ mappedUsed ” : {
“ type ” : “ integer ”
},
“ memorySegmentsAvailable ” : {
“ type ” : “ integer ”
},
“ memorySegmentsTotal ” : {
“ type ” : “ integer ”
},
“ nonHeapCommitted ” : {
“ type ” : “ integer ”
},
“ nonHeapMax ” : {
“ type ” : “ integer ”
},
“ nonHeapUsed ” : {
“ type ” : “ integer ”
}
}
},
“ path ” : {
“ type ” : “ string ”
},
“ slotsNumber ” : {
“ type ” : “ integer ”
},
“ timeSinceLastHeartbeat ” : {
“ type ” : “ integer ”
},
“ totalResource ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : ResourceProfileInfo ”,
“ properties ” : {
“ cpuCores ” : {
“ type ” : “ number ”
},
“ extendedResources ” : {
“ type ” : “ object ”,
“ additionalProperties ” : {
“ type ” : “ number ”
}
},
“ managedMemory ” : {
“ type ” : “ integer ”
},
“ networkMemory ” : {
“ type ” : “ integer ”
},
“ taskHeapMemory ” : {
“ type ” : “ integer ”
},
“ taskOffHeapMemory ” : {
“ type ” : “ integer ”
}
}
}
}
}
/taskmanagers/:taskmanagerid/logs Verb: GET
Response code: 200 OK
Returns the list of log files on a TaskManager. Path parameters taskmanagerid
- 32-character hexadecimal string that identifies a task manager.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : LogListInfo ”,
“ properties ” : {
“ logs ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : LogInfo ”,
“ properties ” : {
“ name ” : {
“ type ” : “ string ”
},
“ size ” : {
“ type ” : “ integer ”
}
}
}
}
}
}
/taskmanagers/:taskmanagerid/metrics Verb: GET
Response code: 200 OK
Provides access to task manager metrics. Path parameters taskmanagerid
- 32-character hexadecimal string that identifies a task manager.Query parameters get
(optional): Comma-separated list of string values to select specific metrics.Request Response
/taskmanagers/:taskmanagerid/thread-dump Verb: GET
Response code: 200 OK
Returns the thread dump of the requested TaskManager. Path parameters taskmanagerid
- 32-character hexadecimal string that identifies a task manager.Request Response
{
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : ThreadDumpInfo ”,
“ properties ” : {
“ threadInfos ” : {
“ type ” : “ array ”,
“ items ” : {
“ type ” : “ object ”,
“ id ” : “ urn : jsonschema : org : apache : flink : runtime : rest : messages : taskmanager : ThreadDumpInfo : ThreadInfo ”,
“ properties ” : {
“ stringifiedThreadInfo ” : {
“ type ” : “ string ”
},
“ threadName ” : {
“ type ” : “ string ”
}
}
}
}
}
}