Monitoring API
Note - all responses here are correct if TSP started on remote Flink cluster.
Basic API response format
-
Success:
{'response': ...}
Example:{'response': {"execTimeSec": 100}}
-
Failure:
{'errorCode': Int, 'message': String, 'errors': List[String], ...}
Example:{ "errorCode": 5001, "message": "Job execution failure", "errors": ["Uncaught error during connection to ..."] }
Endpoints
Note: params with ‘*’ suffix are required.
Common path parameters for endpoints bellow:
Name | Type | Description |
---|---|---|
job_uuid* | String | Unique ID of job (uuid field in streamJob ) |
Common error codes:
Code | Description |
---|---|
4006 | Job with that name is not found |
GET job/{job_uuid}/status/
Status and brief info about the job.
- Response:
Name | Type | Description |
---|---|---|
name | String | UUID in query |
duration | Long | job duration in milliseconds |
status | Enum | One of Flink Job statuses |
start-time | Long | time, when job had been started |
jid | String | Internal job uuid (hash) |
Example:
{
"response": {
"duration": 22372,
"name": "Albert_tests7",
"state": "FINISHED",
"start-time": 1538572801842,
"jid": "ef2b95159960214b4f2753bafe91c7f2",
"vertices": [/* internal metrics info */]
},
"messages": []
}
GET job/{job_uuid}/statusAndMetrics/
Status and metrics for the job
Response format:
Name | Type | Description |
---|---|---|
metrics | Object | Key-value pairs with main metrics of the job |
details | Object | Status data, same as in status end-point |
Response example:
{
"response": {
"details": {
"duration": 22372,
"name": "Albert_tests7",
"state": "FINISHED",
"start-time": 1538572801842,
"jid": "ef2b95159960214b4f2753bafe91c7f2",
"vertices": [/* internal metrics info */]
},
"metrics": {
"numRecordsRead": "9197",
"currentEventTs": "0",
"numRecordsProcessed": "0"
}
},
"messages": []
}
GET job/{job_uuid}/stop/
Stop job by uuid.
Responses:
{response: 1}
- job has stopped
GET jobs/overview/
List of all available jobs to cluster.
Response examples:
{response: {name, jid}}
{response: 0}
- no jobs
GET jobs/{job_uuid}/exceptions
Exception (if exists) for specific job.
Response:
Name | Type | Description |
---|---|---|
root-exception | String | Fatal (for job) exception stacktrace |
timestamp | Long | Timestamp (milliseconds in fractions) when occurred |
truncated | Boolean | Does exception was too big so it truncated |
GET “metainfo/getVersion/”
Response:
Version in Semver format, for example {response: "0.12.0"}