Closed jawache closed 5 months ago
@jawache @jmcook1186 @narekhovhannisyan The exhaust related directives above make sense to me, these are my inputs:
If we take CSV as our main use case / example, this is how a command line will look like:
ie
--manifest: my-manifest.yaml
--exhaust: csv
--outfile: my-exhausted-file.csv // this file is the being created by the csv export exhaust plugin which was specified in previous line
--filter: energy, carbon
--stdout
--verbose
question regarding filter - can you think of other meta-data such as timestamp that are always filtered-in?
It might seem minor but it effects DX: if we are dynamically loading exhaust plugins (like regular ones), declaring the plugin in the --exhaust
option must have the actual name of the plugin, same as we declare regular plugins:
plugins:
'time-sync':
method: TimeSync // <==
... because this is the name that's being used for dynamically loading the plugin (@narekhovhannisyan please correct me here if this is inaccurate). Otherwise we'll need to maintain a mapping of alias (csv
) --> plugin_name (ExportCsv
) which is hard to maintain.
So the command line should actually be:
ie
--manifest: my-manifest.yaml
--exhaust: ExportCsv // ...which is the actual name of the plugin
...
Notice we have an issue this sprint for refactoring the exhaust infra to dynamically load the exhaust plugins: https://github.com/Green-Software-Foundation/if/issues/492. I pretty sure these 2 could very well be worked on in parallel by 2 different ppl, but in this case some syncing is needed to prevent conflicts.
hi @jmcook1186 seems this issue is for sprint 8 (ends 15/3) but with the upcoming freeze i dont think we will make it.
as per @jmcook1186 comment in slack: this is backlogged, and maybe actually could be closed out and restarted with a fresh issue later. The backstory was that we wanted to move the export of results from IF to a set of plugins rather than being core features, but we've had some doubts about whether this is really the way we want to go, and bumped the decision making until after the "trust" epic.
Closing as obseleted by new epics
After working with the new version of IE I have some suggestions for improving the developer experience with a different CLI args as well as other approaches I would take.
Exhaust Configuration
outputs
which is used in the manifest file to represent the computed outputs in the nodes, so a little confusion there also.outputs
in the CLI command with the--exhaust
option.Supporting native CSV export
Be consistent with YAML as the manifest file format
Regarding STDOUT
Logging
Perhaps there is no need for multiple simultaneous exhausts?
--exhaust
option than edit the manifest file itself..yaml
or.csv
to a file name and treating output as a folder, it took me quite a while to figure this out, if it confused me it will confuse many others! If we choose to keep this approach we should renameoutput
asfolder
to add clarity.