Monitoring

About Orchestration Execution Status

An orchestration run request triggers the asynchronous execution of an orchestration (one orchestration for each asset referenced in the run request). The response includes an orchestration request id and an array containing the orchestration execution status for each asset that has a PROCESSING status state.

You can use the orchestration request id to retrieve the orchestration execution result. Each orchestration step status contains an analyticRequestId value used to retrieve the analytic output or to clean up the cached analytic output for each step.

The following is a sample orchestration execution response.

{
  "orchestrationRequestId": "d3a01faf-6b63-4670-b2f2-b7dbc2247e40",
  "status": "PROCESSING",
  "orchestrationExecutionStatus": [
    {
      "contextId": "d3a01faf-6b63-4670-b2f2-b7dbc2247e40-/jet_engines/1",
      "assetId": "/jet_engines/1",
      "status": "PROCESSING",
      "orchestrationStepStatus": [],
      "startTime": null,
      "endTime": null,
      "errorResponse": null
    },
    {
      "contextId": "d3a01faf-6b63-4670-b2f2-b7dbc2247e40-/jet_engines/2",
      "assetId": "/jet_engines/2",
      "status": "PROCESSING",
      "orchestrationStepStatus": [],
      "startTime": null,
      "endTime": null,
      "errorResponse": null
    },
    {
      "contextId": "d3a01faf-6b63-4670-b2f2-b7dbc2247e40-/jet_engines/3",
      "assetId": "/jet_engines/3",
      "status": "PROCESSING",
      "orchestrationStepStatus": [],
      "startTime": null,
      "endTime": null,
      "errorResponse": null
    }
  ],
  "errorResponse": null
}

The following is a sample orchestration execution response after multiple iterations of same analytic is run.

{
  "orchestrationRequestId": "21-903b0e56-c8d6-4517-b510-3d719730595e",
  "status": "COMPLETED",
  "orchestrationExecutionStatus": [
    {
      "contextId": "21-903b0e56-c8d6-4517-b510-3d719730595e-/assets/32-0410a173-3221-4b61-9424-3a021615a85e",
      "assetId": "/assets/32-0410a173-3221-4b61-9424-3a021615a85e",
      "status": "COMPLETED",
      "fieldTagMap": {},
      "orchestrationStepStatus": [
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-a9e17ae7-2156-11e7-be4d-8283e1500c9d-sid-10001-0",
          "stepId": "sid-10001",
          "iterationId": "0",
          "startTime": 1492204189050,
          "endTime": 1492204189050,
          "output": null,
          "errorResponse": null
        },
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-a9e17ae7-2156-11e7-be4d-8283e1500c9d-sid-10001-1",
          "stepId": "sid-10001",
          "iterationId": "1",
          "startTime": 1492204189040,
          "endTime": 1492204189040,
          "output": null,
          "errorResponse": null
        },
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-a9e17ae7-2156-11e7-be4d-8283e1500c9d-sid-10002-0",
          "stepId": "sid-10002",
          "iterationId": "0",
          "startTime": 1492204196360,
          "endTime": 1492204196360,
          "output": null,
          "errorResponse": null
        }
      ],
      "startTime": 1492204175910,
      "endTime": 1492204196550,
      "errorResponse": null
    },
    {
      "contextId": "21-903b0e56-c8d6-4517-b510-3d719730595e-/assets/37-0410a173-3221-4b61-9424-3a021615a85e",
      "assetId": "/assets/37-0410a173-3221-4b61-9424-3a021615a85e",
      "status": "COMPLETED",
      "fieldTagMap": {},
      "orchestrationStepStatus": [
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-ae87f89a-2156-11e7-be4d-8283e1500c9d-sid-10001-0",
          "stepId": "sid-10001",
          "iterationId": "0",
          "startTime": 1492204189290,
          "endTime": 1492204189290,
          "output": null,
          "errorResponse": null
        },
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-ae87f89a-2156-11e7-be4d-8283e1500c9d-sid-10001-1",
          "stepId": "sid-10001",
          "iterationId": "1",
          "startTime": 1492204189290,
          "endTime": 1492204189290,
          "output": null,
          "errorResponse": null
        },
        {
          "status": "COMPLETED",
          "analyticId": "bd0f8170-74ef-4528-a28a-28035f03fbf6",
          "analyticName": "Java Timeseries Demo Adder With Model - 2a89b24d-87f2-49b7-9cd4-18803603ca0b",
          "analyticVersion": "v1",
          "analyticRequestId": "21-ae87f89a-2156-11e7-be4d-8283e1500c9d-sid-10002-0",
          "stepId": "sid-10002",
          "iterationId": "0",
          "startTime": 1492204195600,
          "endTime": 1492204195600,
          "output": null,
          "errorResponse": null
        }
      ],
      "startTime": 1492204183710,
      "endTime": 1492204195780,
      "errorResponse": null
    }
  ],
  "errorResponse": null
}

Retrieving an Orchestration Execution Status

You can retrieve an orchestration execution results status using the requestId value returned by an orchestration execution request. Issue the following REST API request.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/{orchestrationRequestId}
The orchestration asynchronous execution id (orchestrationRequestId) is returned by the orchestration execution request. Each orchestration execution status object includes an array containing the orchestration step status for each expected asset. Step statuses up to the first step that FAILED are provided. If a step fails:
  • The execution against the current asset will stop immediately, and that orchestration execution ends.
  • The error details will be included in the FAILED step status.
  • There will be no step status values after a FAILED step.
  • The analytic output will not be part of the orchestration step result.

You can retrieve the output for a step by looking for the analytic requestId in the orchestration step status. Issue the following REST API request.

GET <analytic-uri>/api/v1/analytic/execution/async/{requestId}/result

The status for each level with be one of the following: PROCESSING | COMPLETED | FAILED.

The following sample request retrieves the orchestration execution results.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/36cc09bf-7d44-4eac-9518-c738527abe03

The following is a sample response from retrieving orchestration execution results.

{
  "errorResponse": null,
  "status": "COMPLETED",
  "orchestrationRequestId": "1eade646-80f1-4b91-88e3-9b91585ff0fa",
  "orchestrationExecutionStatus": [
    {
      "errorResponse": null,
      "startTime": 1470856354850,
      "endTime": 1470856358390,
      "contextId": "1eade646-80f1-4b91-88e3-9b91585ff0fa-/assets/32",
      "status": "COMPLETED",
      "assetId": "/assets/32",
      "orchestrationStepStatus": [
        {
          "result": null,
          "errorResponse": null,
          "startTime": 1470856354860,
          "endTime": 1470856356580,
          "analyticRequestId": "823332db-5f4e-11e6-a08b-e68c2bd5ae39-sid-10001",
          "status": "COMPLETED",
          "stepId": "sid-10001"
        },
        {
          "result": null,
          "errorResponse": null,
          "startTime": 1470856356590,
          "endTime": 1470856358390,
          "analyticRequestId": "823332db-5f4e-11e6-a08b-e68c2bd5ae39-sid-10002",
          "status": "COMPLETED",
          "stepId": "sid-10002"
        }
      ]
    },
    {
      "errorResponse": null,
      "startTime": 1470856355150,
      "endTime": 1470856358550,
      "contextId": "1eade646-80f1-4b91-88e3-9b91585ff0fa-/assets/37",
      "status": "COMPLETED",
      "assetId": "/assets/37",
      "orchestrationStepStatus": [
        {
          "result": null,
          "errorResponse": null,
          "startTime": 1470856355160,
          "endTime": 1470856356760,
          "analyticRequestId": "825b063a-5f4e-11e6-a08b-e68c2bd5ae39-sid-10001",
          "status": "COMPLETED",
          "stepId": "sid-10001"
        },
        {
          "result": null,
          "errorResponse": null,
          "startTime": 1470856356770,
          "endTime": 1470856358550,
          "analyticRequestId": "825b063a-5f4e-11e6-a08b-e68c2bd5ae39-sid-10002",
          "status": "COMPLETED",
          "stepId": "sid-10002"
        }
      ]
    }
  ]
}

Retrieving Orchestration Step Input/Output Details After Execution

You can retrieve the orchestration step input or output details after an analytic has been executed using the analyticRequestId value returned by an orchestration execution request.

Retrieve the orchestration step input details by issuing the following REST API request.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/analytics/{analyticRequestId}/input

For example, a sample request to retrieve the orchestration step input results.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/analytics/21-ae87f89a-2156-11e7-be4d-8283e1500c9d-sid-10001-0/input

The following sample response shows the orchestration step input when time series data is being used.

{
    "inputData": {
        "data": {
            "time_series": {
                "time_stamp": [
                    1455733669601,
                    1455733669602,
                    1455733669603,
                    1455733669604,
                    1455733669605,
                    1455733669606,
                    1455733669607,
                    1455733669608,
                    1455733669609,
                    1455733669610
                ],
                "numberArray1": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10
                ],
                "numberArray2": [
                    100,
                    200,
                    300,
                    400,
                    500,
                    600,
                    700,
                    800,
                    900,
                    1000
                ]
            }
        }
    }

Retrieve the orchestration step output by issuing the following REST API request.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/analytics/{analyticRequestId}/output

For example, a sample request to retrieve the orchestration step output results.

GET <monitoring_uri>/api/v1/monitoring/orchestrations/analytics/21-ae87f89a-2156-11e7-be4d-8283e1500c9d-sid-10001-0/output

The following sample response shows the orchestration step output results when the input data shown above was provided.

{
    "data": {
        "time_series": {
            "sum": [
                101,
                202,
                303,
                404,
                505,
                606,
                707,
                808,
                909,
                1010
            ],
            "diff": [
                -99,
                -198,
                -297,
                -396,
                -495,
                -594,
                -693,
                -792,
                -891,
                -990
            ],
            "time_stamp": [
                "1455733669601",
                "1455733669602",
                "1455733669603",
                "1455733669604",
                "1455733669605",
                "1455733669606",
                "1455733669607",
                "1455733669608",
                "1455733669609",
                "1455733669610"
            ]
        },
        "product": [
            100,
            400,
            900,
            1600,
            2500,
            3600,
            4900,
            6400,
            8100,
            10000
        ]
    },
    "quotient": [
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01,
        0.01
    ]
}