Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Tracing of federate interactions #1632

Merged
merged 75 commits into from
Mar 24, 2023
Merged

Tracing of federate interactions #1632

merged 75 commits into from
Mar 24, 2023

Conversation

edwardalee
Copy link
Collaborator

@edwardalee edwardalee commented Mar 9, 2023

This PR (co-authored by @ChadliaJerad) adds tracepoints for interactions between federates and the RTI plus a visualization tool for the resulting traces. A major goal is to enable optimizing coordination of federated programs by reducing the number of RTI-federate interactions. It adds a command-line utility called fedsd that generates sequence diagrams (augmented with physical time) for federate interactions with the RTI (see an example below).

This PR relies on the tracing-federates branch of reactor-c, which should be merged first. To use it, PR #1642 must also be merged first (or else you have to manually edit the launch script to add the -t option to the RTI).

The fedsd utility and the other utilities in util/tracing should probably be split off into a separate repo dedicated to analysis and visualization of LF programs, but that should be done in a separate PR and should be accompanied with setting up regression tests for that repo.

Example federated program:

image

Running this generates three .lft (trace) files. Then running:

> fedsd *.lft

produces a visualization of the trace. A segment is shown below showing the one message flowing from ping to pong and back again:

image

edwardalee and others added 30 commits February 17, 2023 11:43
…federates communication. This version accounts for network latency and clock synchronization
@edwardalee edwardalee marked this pull request as ready for review March 12, 2023 16:58
Copy link
Collaborator

@cmnrd cmnrd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR should not modify the reactor-cpp submodule

@lhstrh lhstrh enabled auto-merge March 24, 2023 06:01
@lhstrh lhstrh requested a review from cmnrd March 24, 2023 06:02
@lhstrh lhstrh disabled auto-merge March 24, 2023 07:43
@lhstrh lhstrh merged commit ec0adb6 into master Mar 24, 2023
@lhstrh lhstrh deleted the tracing-federates branch March 24, 2023 07:43
@lhstrh lhstrh added the feature New feature label Aug 28, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
feature New feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants