epsilon icon indicating copy to clipboard operation
epsilon copied to clipboard

Record rules during profiling of ETL scripts (fixes #51)

Open agarciadom opened this issue 2 years ago • 5 comments

This PR is to fix issue #51. The problem was that the RuleProfiler never gets to screen a TransformationRule, because its executeSuperRulesAndBody method directly executes the body StatementBlock so the TransformationRule never goes through the preExecute and postExecute methods of the execution controller.

I have moved the place from which the body is run: TransformationRule now implements IExecutableModuleElementParameter, and the executeSuperRulesAndBody method sets everything up and then puts the TransformationRule through the execution controller as usual.

I also had to modify the ExecutionProfiler, as it assumed that you would never nest rule executions. Turns out this is wrong: an ETL rule can trigger a lazy ETL rule, for instance (or you could use the satisfies(...) operation in EVL).

This pull request is only a draft for now, since I'd like for someone else to look at this and tell me if the approach is correct before I start adding automated tests for it. @kolovos, could you give it a look?

agarciadom avatar Sep 11 '23 18:09 agarciadom

Here is a screenshot of the Flowchart2HTML transformation, after this fix:

image

agarciadom avatar Sep 11 '23 18:09 agarciadom

All tests are passing locally. Waiting for Jenkins results.

agarciadom avatar Sep 11 '23 18:09 agarciadom

Tests are green on Jenkins as well.

agarciadom avatar Sep 16 '23 17:09 agarciadom

Dimitris, what are your thoughts on this PR?

agarciadom avatar Nov 25 '23 00:11 agarciadom

I think this PR is ready @kolovos

arcanefoam avatar Feb 15 '24 21:02 arcanefoam

Closing for now as it may be better to just remove the Rules tab, which would be a different PR.

agarciadom avatar Feb 07 '25 10:02 agarciadom