Monitor API: Examples

iDDS provides a group of monitor APIs which returns JSON outputs.

Request information

It returns a summary information monthly(accumulated and not accumulated).

curl https://hostname:443/idds/monitor_request/<request_id>/<workload_id>
curl https://hostname:443/idds/monitor_request/null/null

{
"month_acc_status": {
    "Finished": {
        "2021-05": 1,
        "2021-06": 1,
        "2021-07": 1,
        "2021-08": 13,
        "2021-09": 13,
        "2021-10": 28
    },
    "Total": {
        "2021-05": 8,
        "2021-06": 8,
        "2021-07": 8,
        "2021-08": 52,
        "2021-09": 54,
        "2021-10": 80
    },
},
"month_status": {
    "Finished": {
        "2021-05": 1,
        "2021-06": 0,
        "2021-07": 0,
        "2021-08": 12,
        "2021-09": 0,
        "2021-10": 15
    },
    "SubFinished": {
        "2021-05": 0,
        "2021-06": 0,
        "2021-07": 0,
        "2021-08": 15,
        "2021-09": 2,
        "2021-10": 1
    },
    "Total": {
        "2021-05": 8,
        "2021-06": 0,
        "2021-07": 0,
        "2021-08": 44,
        "2021-09": 2,
        "2021-10": 26
    },
},
"total": 80
}

Here it returns the detail of requests.

curl https://hostname:443/idds/monitor/<request_id>/<workload_id>/true/false/false
curl https://hostname:443/idds/monitor/null/null/true/false/false
curl https://hostname:443/idds/monitor/210/null/true/false/false
[
{
    "created_at": "Fri, 22 Oct 2021 22:17:42 UTC",
    "input_coll_bytes": 3,
    "input_processed_files": 14,
    "input_processing_files": 0,
    "input_total_files": 14,
    "output_coll_bytes": 14,
    "output_processed_files": 14,
    "output_processing_files": 0,
    "output_total_files": 14,
    "request_id": 210,
    "status": "Finished",
    "transforms": {
        "Finished": 3
    },
    "updated_at": "Fri, 22 Oct 2021 23:55:13 UTC",
    "workload_id": 1634941059
}
]

Transform information

It returns a summary information monthly(accumulated and not accumulated).

curl https://hostname:443/idds/monitor_transform/<request_id>/<workload_id>
curl https://hostname:443/idds/monitor_transform/null/null
curl https://hostname:443/idds/monitor_transform/210/null
{
"month_acc_processed_bytes": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"month_acc_processed_bytes_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 3
        },
        "Total": {
            "2021-10": 3
        }
    }
},
"month_acc_processed_files": {
    "Finished": {
        "2021-10": 14
    },
    "Total": {
        "2021-10": 14
    }
},
"month_acc_processed_files_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 14
        },
        "Total": {
            "2021-10": 14
        }
    }
},
"month_acc_status": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"month_acc_status_dict_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 3
        },
        "Total": {
            "2021-10": 3
        }
    }
},
"month_processed_bytes": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"month_processed_bytes_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 3
        },
        "Total": {
            "2021-10": 3
        }
    }
},
"month_processed_files": {
    "Finished": {
        "2021-10": 14
    },
    "Total": {
        "2021-10": 14
    }
},
"month_processed_files_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 14
        },
        "Total": {
            "2021-10": 14
        }
    }
},
"month_status": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"month_status_dict_by_type": {
    "Processing": {
        "Finished": {
            "2021-10": 3
        },
        "Total": {
            "2021-10": 3
        }
    }
},
"total": 3,
"total_bytes": 17,
"total_files": 14
}

Here it returns the list of detailed transforms.

curl https://hostname:443/idds/monitor/<request_id>/<workload_id>/false/true/false
curl https://hostname:443/idds/monitor/null/null/false/true/false
curl https://hostname:443/idds/monitor/210/null/false/true/false
[
{
    "errors": {
        "msg": ""
    },
    "input_coll_bytes": 1,
    "input_processed_files": 3,
    "input_processing_files": 0,
    "input_total_files": 3,
    "output_coll_bytes": 3,
    "output_coll_name": "pseudo_output_collection#2",
    "output_coll_scope": "pseudo_dataset",
    "output_processed_files": 3,
    "output_processing_files": 0,
    "output_total_files": 3,
    "request_id": 210,
    "transform_created_at": "Fri, 22 Oct 2021 22:50:16 UTC",
    "transform_finished_at": "Fri, 22 Oct 2021 23:20:43 UTC",
    "transform_id": 2445,
    "transform_status": "Finished",
    "transform_type": "Processing",
    "transform_updated_at": "Fri, 22 Oct 2021 23:20:43 UTC",
    "transform_workload_id": 7169,
    "workload_id": 1634941059
},
{
    "errors": {
        "msg": ""
    },
    "input_coll_bytes": 1,
    "input_processed_files": 6,
    "input_processing_files": 0,
    "input_total_files": 6,
    "output_coll_bytes": 6,
    "output_coll_name": "pseudo_output_collection#1",
    "output_coll_scope": "pseudo_dataset",
    "output_processed_files": 6,
    "output_processing_files": 0,
    "output_total_files": 6,
    "request_id": 210,
    "transform_created_at": "Fri, 22 Oct 2021 22:17:45 UTC",
    "transform_finished_at": "Fri, 22 Oct 2021 22:46:15 UTC",
    "transform_id": 2444,
    "transform_status": "Finished",
    "transform_type": "Processing",
    "transform_updated_at": "Fri, 22 Oct 2021 22:46:15 UTC",
    "transform_workload_id": 7168,
    "workload_id": 1634941059
},
{
    "errors": {
        "msg": ""
    },
    "input_coll_bytes": 1,
    "input_processed_files": 5,
    "input_processing_files": 0,
    "input_total_files": 5,
    "output_coll_bytes": 5,
    "output_coll_name": "pseudo_output_collection#3",
    "output_coll_scope": "pseudo_dataset",
    "output_processed_files": 5,
    "output_processing_files": 0,
    "output_total_files": 5,
    "request_id": 210,
    "transform_created_at": "Fri, 22 Oct 2021 23:24:46 UTC",
    "transform_finished_at": "Fri, 22 Oct 2021 23:53:15 UTC",
    "transform_id": 2446,
    "transform_status": "Finished",
    "transform_type": "Processing",
    "transform_updated_at": "Fri, 22 Oct 2021 23:53:15 UTC",
    "transform_workload_id": 7170,
    "workload_id": 1634941059
}
]

Processing information

Here it returns a summary information monthly(accumulated and not accumulated).

curl https://hostname:443/idds/monitor_processing/<request_id>/<workload_id>
curl https://hostname:443/idds/monitor_processing/null/null
curl https://hostname:443/idds/monitor_processing/210/null
{
"month_acc_status": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"month_status": {
    "Finished": {
        "2021-10": 3
    },
    "Total": {
        "2021-10": 3
    }
},
"total": 3
}
curl https://hostname:443/idds/monitor/<request_id>/<workload_id>/false/false/true
curl https://hostname:443/idds/monitor/null/null/false/false/true
curl https://hostname:443/idds/monitor/210/null/false/false/true
[
{
    "processing_created_at": "Fri, 22 Oct 2021 23:24:50 UTC",
    "processing_finished_at": "Fri, 22 Oct 2021 23:53:10 UTC",
    "processing_id": 1230,
    "processing_status": "Finished",
    "processing_updated_at": "Fri, 22 Oct 2021 23:53:10 UTC",
    "request_id": 210,
    "workload_id": 7170
},
{
    "processing_created_at": "Fri, 22 Oct 2021 22:50:20 UTC",
    "processing_finished_at": "Fri, 22 Oct 2021 23:18:40 UTC",
    "processing_id": 1229,
    "processing_status": "Finished",
    "processing_updated_at": "Fri, 22 Oct 2021 23:18:40 UTC",
    "request_id": 210,
    "workload_id": 7169
},
{
    "processing_created_at": "Fri, 22 Oct 2021 22:17:49 UTC",
    "processing_finished_at": "Fri, 22 Oct 2021 22:46:05 UTC",
    "processing_id": 1228,
    "processing_status": "Finished",
    "processing_updated_at": "Fri, 22 Oct 2021 22:46:05 UTC",
    "request_id": 210,
    "workload_id": 7168
}
]

DAG relationships

Here it returns the request information with dag relationships. It returns a list of works. For every work, it returns “work” for work data and “next_works” for its followings(if existing).

curl https://hostname:443/idds/monitor_request_relation/<request_id>/<workload_id>
curl https://hostname:443/idds/monitor_request_relation/212/null

[{
   ......
   "relation_map": [
       {
           "next_works": [
               {
                   "work": {
                       "external_id": null,
                       "workload_id": 7175
                   }
               }
           ],
           "work": {
               "external_id": null,
               "workload_id": 7174
           }
       }
   ],
   ......
}]

If there is a loop workflow or a sub loop wookflow. The returned format will be: