-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logging #30
Comments
What about
Is this a viable approach? Where do we have needs in conflict with that? |
Control and Data Protocol use different socket types, therefore, they require two different addresses (host port combination). The (Control Protocol) Coordinators could serve also as (Data Protocol) proxy and publish (data protocol) log entries on behalf of their Components which arrived via Control Protocol. However, the advantage of pure Data Protocol Proxies is, that they are simple and virtually indestructible programs. We could make the Controller publish (via Data Protocol) log messages arrived from the Control Protocol: sequenceDiagram
Note over ComponentDEALER,ComponentPUB: Different protocols of the same component
ComponentDEALER ->> Coordinator: R:"C1.Coordinator". S: "C1.Component". Log "xy".
Note over Coordinator,CoordinatorPUB: Transfer in Code
Coordinator ->> CoordinatorPUB: Log "xy" on behalf of "C1.Component".
CoordinatorPUB ->> LogProxy: S:"C1.Component". "xy".
ComponentPUB ->> LogProxy: S:"C1.Component". "xy.
Then any Logging facility may connect to the LogProxy and subscribe the messages. |
I think my understand of the PUB/SUB data protocol side is still spotty. The same mechanism in parallel would work for logging, too. Maybe? |
We also have to decide what "logging" is.
I thought of logging, similar to how Python handles it, that Loggers blast messages into the void, for whomever to handle/read. And the Coordinator is a central point collecting all node-local log messages, for easy collection (to avoid NxN subscriptions between all Components). |
Yes, we could combine the PUB-SUB proxy (the ports are XPUB, XSUB, as they hand on everything, including subscriptions) with the Control protocol Coordinator in one larger piece, which does both. But both parts are independent and do not share anything. |
How do we implement logging?
Using the Dara protocol
How to distinguish it from normal data?
Using command protocol
The text was updated successfully, but these errors were encountered: