inutano / cwl-log-generator

Generate JSON log from cwltool debug output, docker ps, etc.
MIT License
4 stars 1 forks source link

Suggestion: removing the inputs/outputs fields from the workflow object in cwl_log.json #16

Closed inutano closed 5 years ago

inutano commented 5 years ago

The idea is from the problem that we can't extract the identifiers of the inputs/outputs to the workflow from the cwltool debug output.

For example, in the workflow file revsort.cwl of the conformance-53, the inputs to the workflow are described as below:

inputs:
  input:
    type: File
    doc: "The input file to be processed."
  reverse_sort:
    type: boolean
    default: true
    doc: "If true, reverse (descending) sort"

but those ids, "input" and "reverse_sort" do not appear in the debug output. The debug output only shows the identifiers of inputs to steps, which we have in the inputs field of each step. And it makes the generator not to catch the initial inputs to the workflow correctly, which results in a failure of the black box test.

So the possible solutions are:

  1. Configure cwltool to show the initial inputs to the workflow in debug output
  2. Let metrics analyzers to use inputs information of steps instead of workflow

I always prefer the easier way, so I suggest to remove the inputs/outputs field from workflow object in the cwl_log.json. I don't see much troubles that this may cause. I'm not using those fields in inutano/cwl-metrics-client as well.

Any ideas @tom-tan?

tom-tan commented 5 years ago

Do you use the latest version of cwltool?

By cwltool#834, cwltoool prints input and output objects for workflows as well as for command line tools. If the situation is the same with the latest version of cwltool, please let me know.

I confirmed make test works with cwltool 1.0.20181201184214.

inutano commented 5 years ago

You are right!!! I've confirmed with the same version, let me check if all the functions works as well

inutano commented 5 years ago

And still, it'd be worth considering if we still need the input/output fields in the workflow field

tom-tan commented 5 years ago

IMO they are necessary for several reasons.