-
Notifications
You must be signed in to change notification settings - Fork 2
Description
The current design runs independent checks that each fetch their own data, extract what they need, return scalar results, and discard the rest.
This works for simple cases but doesn't scale well, when one check queries data, which could be used in multiple check results.
To improve flexibility, I suggest to revamp the check runner as "data collection" runner, where each "collector" independently (or inter-dependently; see #5) calls APIs, and feeds the queried data into a global flexible data model, for subsequent analysis and report generation.
The data analysis phase could follow a similar pattern as the data collection phase, where (initially only) independent analyzers run in parallel based on collected data. And new analyzers can be added easily.