heluxjs/helux

[FEATURE] 开发一个跟踪调试插件

zhangfisher opened this issue · 1 comments

helux的一个缺点就是功能太过于强大灵活了,导致在写mutate等依赖相关时,很容易出错,比如循环依赖,依赖无效等问题,这些问题原则上不是helux的错,开发者需要一个更加友好方便的调试诊断工具。

该调试诊断工具helux-debug建议以插件`形式提供,具有如下功能:

  • mutate日志打印

如打印`[helux] create mutate : deps=["a","b","c"]

这些信息可以更好地提供帮助进行故障诊断

  • mutate执行跟踪

能输出mutate执行过程中出更加友好的依赖读写日志

[helux ] mutate<desc> :  deps=["a","b","c"]
[helux ] mutate<desc> : fn
[helux ] mutate<desc> : task
[helux ] mutate<desc> : read a.a.a.a
[helux ] mutate<desc> : write a.a.a.a

支持配置参数filter用来过滤日志,如只输出指定desc的mutate日志

  • 更加友好的死循环检测结果输出

现在的死循环检测输出不太友好,期待更加友好的输出

以上功能最好以插件形式提供,这样可以避免核心库的功能膨胀。

可以的,核心可以暴露一个 FOUND_DEAD_CYCLE 事件出来,插件自己去对接