Description
The wasmedge CLI provides three flags to bound resource consumption by processes run inside the runtime:
--time-limit to set a time limit;
--gas-limit to set something like a CPU limit (each operation is assigned a "gas" cost, so only a certain number of operations is permitted before the process dies);
--memory-page-limit to set memory usage limits
These flags provide an added layer of protection against DoS attacks.
Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)
- these flags are used in wasmedge incantations;
- reasonable initial values for these flags are determined;
- we also measure memory/"gas" usage and include these things in metadata in order to make data-driven decisions about these flags' values in future
Completion checklist
- --enable-all-statistics and return some statistics as metadata;
- using the above information, set reasonable limits with --time-limit, --gas-limit, and --memory-page-limit;
- consider enabling only the used statistics (i.e., with the stat-specific flags rather than --enable-all-statistics)
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist