Discovering message flows in actor systems with the Spider Pattern by Raymond Rostenberg.
From the post:
In this post I’m going to show a pattern that can be used to discover facts about an actor system while it is running. It can be used to understand how messages flow through the actors in the system. The main reason why I built this pattern is to understand what is going on in a running actor system that is distributed across many machines. If I can’t picture it, I can’t understand it (and I’m in good company with that quote 🙂
Building actor systems is fun but debugging them can be difficult, you mostly end up browsing through many log files on several machines to find out what’s going on. I’m sure you have browsed through logs and thought, “Hey, where did that message go?”, “Why did this message cause that effect” or “Why did this actor never get a message?”
This is where the Spider pattern comes in.
I would think the better quote would be: “If I can’t see it, I can’t understand it.” But each to their own.
Message passing systems remind me of Newcomb’s requirement for having audit trails for merging behavior.
Not necessary for every use case but when it is necessary, it is nice to know robust auditing is possible.
Or perhaps the better way to put it is that auditing is adjustable.
We can go from tracking every operation at one extreme to a middle ground of some tracking but protecting political appointees or career servants or even to a wide open system (sort of like Twitter or Facebook).