You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Caryatid supports a "monitor" to see the activity of the different modules and topics in a process. It's implemented as an overlay to the message bus, which tracks reads/writes to each topic in an in-memory `DashMap`.
4
+
5
+
This monitor is useful for debugging slowness/stoppages, or for understanding the interactions between modules. It's not intended to serve as a form of instrumentation.
6
+
7
+
Below is how to enable it:
8
+
```toml
9
+
[monitor]
10
+
output = "monitor.json"# Write to a file named monitor.json
11
+
frequency_secs = 5.0# every 5 seconds
12
+
```
13
+
14
+
Every module shows a list of "reads" (streams it reads from) and "writes" (streams it writes to).
15
+
16
+
We track this information for reads:
17
+
-`read`: how many messages this module has read from this topic.
18
+
-`unread`: how many messages are available for this module on this topic. This is based on how many messages were published by another module, it will be an underestimate if messages are sent over rabbitmq.
19
+
-`pending_for`: how long has this module been waiting to read a message on this topic.
20
+
21
+
We track this information for writes:
22
+
-`written`: how many messages this module has written to this topic.
23
+
-`pending_for`: how long has this module been waiting to write a message to this topic. If this is set, the topic is congested; some module is subscribed to it but not reading from it.
0 commit comments