Communication Interface
The Lumos Viewer application is an executable that runs independently from any project(s) you want to monitor. It listens passively for incoming data from monitored projects.
The Lumos API extends the monitored project with communication hooks which send tracing information to the Viewer application.
Both parts work independently of each other: The Viewer only receives tracing information without any further knowledge about the monitored projects, and the API sends tracing information without further knowledge about if and where a Viewer application might be running.
Transport Layer
The current version of Lumos uses UDP Multicast network communication to send data from the Lumos API to the Lumos Viewer application.
UPD Multicast communication by default does not work across network boundaries. Wikipedia holds more information on this topic. |
Protocol
The Lumos API sends Trace objects with the following parameters:
-
Application ID
: A string identifying the monitored application -
IP address
: IP address of the device the monitored application is running on -
Step Time Stamp
: Trace time -
Trace Type
: The event triggering the trace-
Start
-
Stop
-
Request
-
Request and wait for Reply
-
Broadcast
-
Divider
-
-
Participant A - Origin Name
: Name of the sending entity -
Participant B - Destination Name
: Name of the receiving entity -
Participant A - notes
: Comment -
Participant B - notes
: Comment -
Message
: Payload of the event -
Reply?
:-
False
: This is a message from A to B -
True
: This is a response from B to A
-
Example Message
{
"Application ID":"appid",
"IP address":"1.2.3.4",
"Step Time Stamp":"2023-10-06 15:11:00.000",
"Trace Type":"Start",
"Participant A - Origin Name":"Origin",
"Participant B - Destination Name":"Destination",
"Participant A - notes":"Some notes on A",
"Participant B - notes":"Some notes on B",
"Message":"This is the message",
"Reply?":false
}