Evaluating Cylc Workflow Suite Tasks#

This application provides the state of Cylc workflow suite tasks and optionally the runtime statistics for the respective tasks. The Cylc SQLite3 database file is parsed, and a table is returned to both the user terminal and optionally to formatted files.

Workflow Task Statuses#

To execute the application to collect the workflow task statuses, follow these steps.

user@host:$ cd /path/to/ufs_engines/scripts
user@host:$ ./cylc_status --help

Usage: cylc_status.py [-h] [-to_output] [-write_stats] [-write_status] database output_path

Cylc status application interface.

Positional Arguments:
  database       The Cylc engine application database file path.
  output_path    The directory tree path to where all output files will be written (if applicable).

Optional Arguments:
  -h, --help     show this help message and exit
  -to_output     Write the respective tables to output files; the files are prefaced by `cylc-engine.stats` and `cylc-engine.status` if `write_stats` and `write_status` are respective `True`.
  -write_stats   Compute, build, and write a table containing temporal statistics for the respective Cylc workflow tasks.
  -write_status  Build and write a table containing the Cylc workflow task statuses.

user@host:$ ./cylc_status.py /path/to/cylc/database /directory/tree/path/for/output/files -write_status -to_output

Successful execution will display the following in the user terminal, while the output will be written to /directory/tree/path/for/output/files/cylc-engine.status.

╒════════════════╤═══════════════════════════╤═══════════╤══════════════════════════════╤══════════════════════════════╤════════════════╤════════════╕
│     Cycle      │           Task            │  Status   │          Start Time          │          Stop Time           │  Run Time (s)  │  Attempts  │
╞════════════════╪═══════════════════════════╪═══════════╪══════════════════════════════╪══════════════════════════════╪════════════════╪════════════╡
│ 20000101T0000Z │           ham             │ SUCCEEDED │ 00:00:00 UTC 01 January 2000 │ 00:01:00 UTC 01 January 2000 │      57        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0000Z │         mem_0_SPAM        │ SUCCEEDED │ 00:01:00 UTC 01 January 2000 │ 00:02:01 UTC 01 January 2000 │      61        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0000Z │         mem_1_SPAM        │ SUCCEEDED │ 00:01:00 UTC 01 January 2000 │ 00:01:59 UTC 01 January 2000 │      59        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0000Z │         mem_2_SPAM        │ SUCCEEDED │ 00:01:00 UTC 01 January 2000 │ 00:02:05 UTC 01 January 2000 │      65        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0000Z │           eggs            │ SUCCEEDED │ 00:02:05 UTC 01 January 2000 │ 00:03:02 UTC 01 January 2000 │      57        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0600Z │           ham             │ SUCCEEDED │ 00:03:02 UTC 01 January 2000 │ 00:03:57 UTC 01 January 2000 │      55        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0600Z │         mem_0_SPAM        │ SUCCEEDED │ 00:03:57 UTC 01 January 2000 │ 00:04:58 UTC 01 January 2000 │      61        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0600Z │         mem_1_SPAM        │ SUCCEEDED │ 00:03:59 UTC 01 January 2000 │ 00:04:58 UTC 01 January 2000 │      59        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0600Z │         mem_2_SPAM        │ SUCCEEDED │ 00:04:01 UTC 01 January 2000 │ 00:05:06 UTC 01 January 2000 │      65        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T0600Z │           eggs            │ SUCCEEDED │ 00:05:10 UTC 01 January 2000 │ 00:06:07 UTC 01 January 2000 │      57        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │           ham             │ SUCCEEDED │ 00:06:10 UTC 01 January 2000 │ 00:07:18 UTC 01 January 2000 │      68        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │          finish           │  RUNNING  │ 00:07:19 UTC 01 January 2000 │                              │                │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │         mem_0_SPAM        │ SUCCEEDED │ 00:07:19 UTC 01 January 2000 │ 00:08:19 UTC 01 January 2000 │      60        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │         mem_1_SPAM        │ SUCCEEDED │ 00:07:30 UTC 01 January 2000 │ 00:08:41 UTC 01 January 2000 │      71        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │         mem_2_SPAM        │ SUCCEEDED │ 00:07:21 UTC 01 January 2000 │ 00:08:24 UTC 01 January 2000 │      63        │     1      │
├────────────────┼───────────────────────────┼───────────┼──────────────────────────────┼──────────────────────────────┼────────────────┼────────────┤
│ 20000101T1200Z │           eggs            │ SUCCEEDED │ 00:08:27 UTC 01 January 2000 │ 00:09:24 UTC 01 January 2000 │      57        │     1      │
╘════════════════╧═══════════════════════════╧═══════════╧══════════════════════════════╧══════════════════════════════╧════════════════╧════════════╛

Last Updated: 00:09:25 UTC 01 January 2000

Workflow Task Statistics#

You can obtain statistics for the workflow tasks, including the temporal attributes, as follows.

user@host:$ cd /path/to/ufs_engines/scripts
user@host:$ ./cylc_status.py /path/to/cylc/database /directory/tree/path/for/output/files -write_stats -to_output

Successful execution will display the following in the user terminal, while the output will be written to /directory/tree/path/for/output/files/cylc-engine.stats.

╒═══════════════════════════╤═════════════════════╤═══════════════════════╤════════════════════════════╤══════════════════════════════╕
│           Task            │  Mean Run Time (s)  │  Median Run Time (s)  │  Run Time Variability (s)  │  Total Number of Executions  │
╞═══════════════════════════╪═════════════════════╪═══════════════════════╪════════════════════════════╪══════════════════════════════╡
│            ham            │       59.4          │         57.0          │           1.5567           │              3               │
├───────────────────────────┼─────────────────────┼───────────────────────┼────────────────────────────┼──────────────────────────────┤
│         mem_0_SPAM        │       60.67         │         61.0          │           0.2222           │              3               │
├───────────────────────────┼─────────────────────┼───────────────────────┼────────────────────────────┼──────────────────────────────┤
│         mem_1_SPAM        │       63.0          │         59.0          │            32.0            │              3               │
├───────────────────────────┼─────────────────────┼───────────────────────┼────────────────────────────┼──────────────────────────────┤
│         mem_2_SPAM        │       64.33         │         65.0          │           0.8889           │              3               │
├───────────────────────────┼─────────────────────┼───────────────────────┼────────────────────────────┼──────────────────────────────┤
│          finish           │                     │                       │                            │              1               │
╘═══════════════════════════╧═════════════════════╧═══════════════════════╧════════════════════════════╧══════════════════════════════╛


CAUTION: Run-time statistics may not be accurate representations of certain tasks depending upon the user experiment configuration.

Last Updated: 00:09:25 UTC 01 January 2000