Cylc 8.2.1 report-timings error

Below is the output from cylc report-timings --debug This case looks similar to "report-timings": odd error after restart but this must be an edge case since that’s two years ago, and was using cylc-flow 7.8.3.

Traceback (most recent call last):
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/bin/cylc", line 10, in <module>
    sys.exit(main())
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/cylc.py", line 660, in main
    execute_cmd(command, *cmd_args)
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/cylc.py", line 286, in execute_cmd
    entry_point.resolve()(*args)
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/terminal.py", line 232, in wrapper
    wrapped_function(*wrapped_args, **wrapped_kwargs)
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/report_timings.py", line 137, in main
    row_buf = format_rows(*dao.select_task_times())
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/report_timings.py", line 158, in format_rows
    max_lengths = [
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/report_timings.py", line 158, in <listcomp>
    max_lengths = [
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/report_timings.py", line 161, in <genexpr>
    (max(len(r[i]) for r in rows) for i in range(len(header))),
  File "/p/home/ehyer/src/conda/miniconda3/envs/cylc81test/lib/python3.9/site-packages/cylc/flow/scripts/report_timings.py", line 161, in <genexpr>
    (max(len(r[i]) for r in rows) for i in range(len(header))),
TypeError: object of type 'NoneType' has no len()

Thanks for this report.

The cylc report-timings command is not being actively developed at present so may disappear in a future release unless there is community interest in maintaining it.

However, we do now have the new “analysis view” in the Cylc GUI which lists and plots task submit/run time quartiles. The analysis view is quite new and still under development with some new functionalities in the works. The data that powers the analysis view is available via the GraphQL API for use by scripts.

https://cylc.github.io/cylc-doc/stable/html/reference/changes.html#analysis-view

The cylc report-timings command is not being actively developed at present so may disappear in a future release unless there is community interest in maintaining it.

Hm, that’s a bummer. Our suite is set up to send a run summary email when the suite is about to end, which includes the output from report-timings. So I’d like to cast a vote for continuing to have this information available in some non-GUI fashion.

Thanks!

Hi,

Note the analysis view in the GUI can provide you a summary for a workflow either whilst it’s running or after it has stopped. It’s quite similar to the HTML summary table report timings writes.

The timings information will continue to be available via the GraphQL interface (along with any new fields added to support the analysis view) for consumption by other applications and scripts. We’re in the process of working out an easy system for CLI authentication to make it easier to get at this data outside of a browser.

If there’s interest in maintaining report timings we’d be happy to consider moving it into a Cylc plugin for a new lease of life.

Much love for the analysis view in the GUI! But I agree with @funkapus it’s best if we have some means to dump out this information as text.

@funkapus or @ejhyer - in that case, perhaps one of you would like to take over maintenance of cylc report-timings as a Cylc 8 plugin?

We’re still on Cylc 7, and probably will be for quite a while because the customer for our suite does not yet have concrete plans to move to Cylc 8. But when they do, that’s something I can definitely consider (and then I’ll feel less like a leech!).