【发布时间】:2022-06-16 19:34:23
【问题描述】:
我已经为 mnesia_overload、inconsistent_database 和 mnesia_fatal 等 mnesia 系统事件实现了处理程序。现在我想测试这些处理程序。我可以创建事件并手动发送它们,但我更喜欢 mnesia 发送它们,因为这样测试用例会更真实,他们可以找到我对 mnesia 系统事件文档的误解。
是否可以人为地触发这些事件以进行测试?
【问题讨论】:
我已经为 mnesia_overload、inconsistent_database 和 mnesia_fatal 等 mnesia 系统事件实现了处理程序。现在我想测试这些处理程序。我可以创建事件并手动发送它们,但我更喜欢 mnesia 发送它们,因为这样测试用例会更真实,他们可以找到我对 mnesia 系统事件文档的误解。
是否可以人为地触发这些事件以进行测试?
【问题讨论】:
实现mnesia_overload的一种方法是同时写入具有巨大流量的mnesia表(可以使用spawn-ed进程中的表插入来模拟),同时将-mnesia dump_log_write_threshold参数设置为非常低的值。
您可能会在标准输出** WARNING ** Mnesia is overloaded: {dump_log,write_threshold} 上收到类似以下的消息
【讨论】: