ska-tango-event-monitor output
The ska-tango-event-monitor script takes snapshots of the event supplier and event consumer of every Tango device server passed as arguments to the script. The script prints summaries of these snapshots highlighting the differences from the previous snapshot.
Listing 1 shows possible output for a single snapshot while monitoring two device servers. Lines from this output will be omitted if there are no changes.
dserver/MyServer/1 and dserver/MyServer/2 device servers. The output for dserver/MyServer/2 is omitted for brevity. 1===============================================2026-03-20T14:52:20.099941===============================================
2---------------------------------------------------dserver/MyServer/1---------------------------------------------------
3- New publishers
4 test/device/1/state.change: 9 is the last pushed server counter
5 test/device/2/status.archive: 19 is the last pushed server counter
6- Published events
7 test/device/3/state.archive: 4 -> 14 (+10) last pushed server counter
8- Removed publishers
9 test/device/old/attr.change
10- Server performance
11 mean median count minimum maximum 1% 10% 90% 99%
12 Event Gaps [μs] 45.00±5.00 50.50 100 0.00 100.00 1.00 10.00 90.00 99.00
13 Push Time [μs] 20.00±2.00 50.50 50 0.00 100.00 1.00 10.00 90.00 99.00
14- New subscriptions
15 other/device/1/state.idl5_change: 100 events already processed
16 : 100 is the last received server counter
17 : 2 callback(s) registered
18 : 0 missed events detected
19 : 0 events discarded
20 other/device/1/status.idl5_change: 50 events already processed
21 : 50 is the last received server counter
22 : 1 callback(s) registered
23 : 1 missed events detected
24 : 0 events discarded
25- Received events and callback changes
26 other/device/2/state.idl5_change: 10 -> 20 (+10) events processed
27 : 10 -> 20 (+10) last received server counter
28 : 1 -> 2 (+1) callbacks
29 : 0 -> 1 (+1) missed events detected
30 : 0 -> 2 (+2) events discarded
31- Removed subscriptions
32 other/devbice/old/state.idl5_change
33- Pending initial connections
34 tango://localhost:10000/other/device/pending/state.change
35 tango://localhost:10000/other/device/pending/status.change
36- Resolved initial connections
37 tango://localhost:10000/other/device/unsub/state.change
38- Client performance
39 mean median count minimum maximum 1% 10% 90% 99%
40 Event Gaps [μs] 25.00±3.00 30.00 200 1.00 60.00 0.50 5.00 95.00 99.50
41 Sleep Time [μs] 10.00±1.00 30.00 200 1.00 60.00 0.50 5.00 95.00 99.50
42 Latency [μs] 15.00±2.50 30.00 200 1.00 60.00 0.50 5.00 95.00 99.50
43 Callbacks called 1.00±0.10 30.00 200 1.00 60.00 0.50 5.00 95.00 99.50
44 Wake Count 1.00±0.20 30.00 200 1.00 60.00 0.50 5.00 95.00 99.50
45 state Processing Time [μs] 12.00±1.00 30.00 100 1.00 60.00 0.50 5.00 95.00 99.50
46 status Processing Time [μs] 14.00±1.20 30.00 100 1.00 60.00 0.50 5.00 95.00 99.50
47---------------------------------------------------dserver/MyServer/2---------------------------------------------------
48...
49===============================================2026-03-20T14:52:20.099941===============================================
Lines |
Description |
Format |
|---|---|---|
1, 49 |
Time stamp when the snapshot was taken. |
|
2, 47 |
Headers for each device server, identified by admin device name. |
|
4 - 5 |
Newly published event streams with most recently pushed server counter values. |
|
7 |
Pushed events by event stream for this snapshot. |
|
9 |
Removed publishers as they no longer have a subscriber. |
|
12 |
Statistical summary of the time between events being pushed by the event supplier. |
|
13 |
Statistical summary of the time taken to push events by the event supplier. |
|
15 |
Number of events processed by this subscription. |
|
16 |
The most recently received server counter value. |
|
17 |
Number of callbacks registered for subscription. |
|
18 |
Number of missed events detected. |
|
19 |
Number of duplicate events discarded. |
|
26 |
Changes to the number of events processed by this subscription. |
|
27 |
Changes to the most recently received server counter value. |
|
28 |
Changes to the number of callbacks registered for subscription. |
|
29 |
Changes to the number of missed events detected. |
|
30 |
Changes to the number of duplicate events discarded. |
|
32 |
Removed subscription topics |
|
34 - 35 |
Event streams the event consumer is actively connecting to for the first time. |
|
37 |
Event streams the event consumer is no longer attempting to connect to. Either client has given up, or the connection has been successful. |
|
40 |
Statistical summary of the time between events being received by the event consumer. |
|
41 |
Statistical summary of the time spent sleeping between events being received by the event consumer. |
|
42 |
Statistical summary of the latency between the event being pushed by the event supplier and being received by the event consumer. |
|
43 |
Statistical summary of the number of callbacks called per event. |
|
44 |
Statistical summary of the number of times the event consumer was woken from sleeping while waiting for the event. |
|
45 |
Statistical summary of the processing time for the events relating to the “state” attribute. |
|
46 |
Statistical summary of the processing time for the events relating to the “status” attribute. |