Comments (2)
Hi @adamoskaranikas ,
I will answer your questions separately:
First of all, the Monitor has an exporting data feature documented here: https://fast-dds-monitor.readthedocs.io/en/latest/rst/user_manual/export_data.html . You could export the data to a .csv
. But I do not think this is what you are looking for.
I guess what I'm asking is, is there a way I can record the information that the monitor uses in real time without having to open the GUI?
YES! Actually, the Fast DDS Monitor is a GUI application that runs above the Fast DDS Statistics Backend (https://github.com/eProsima/Fast-DDS-statistics-backend). This is a library that manages a backend database (the database where the Monitor obtains the data) that offers a useful API to work directly with the statistical data received from your network.
Following the documentation of this library https://fast-dds-statistics-backend.readthedocs.io/en/latest/ you could build your own application, getting callbacks with new data stored and asking to the database for the specific data required.
If i was to record a rosbag of my system, would i still be able to get the same info from the monitor as if the system was running in real time?
This is a very interesting question. I have to say that we have not proven that specific use case, but we are almost certain that it will work. I could not find the design documentation of the rosbag
, but as long as it creates the same entities that it has recorded, the Monitor (and the Statistics Backend) will work as if they were collecting data from a real scenario.
However, you must take care when using rosbag to configure Fast DDS with its specific configurations in order to publish statistics. Those are:
- to compile
fastrtps
with-DFASTDDS_STATISTICS=ON
- to activate
FASTDDS_STATISTICS
- to use Fast DDS as middleware implementation
RMW_IMPLEMENTATION=rmw_fastrtps_cpp
I assume you fulfill most of those cases if you are already receiving data in your monitor).
Check the following example on how to execute ROS2 with statistics: https://fast-dds-monitor.readthedocs.io/en/latest/rst/ros/galactic/galactic.html#galactic
If you have further questions regarding this use case, do not hesitate to ask.
We we will also appreciate any feedback or information that you get when trying to use it with rosbag
. Any feedback from our users is always welcomed.
from fast-dds-monitor.
Ok awesome, it will take me some time to familiarize with the backend API, but in the meantime I tried out running some rosbags with the monitor active. The issue seems that when the bag recorded the entity creations it must not have kept the owner information (DomainParticipant), because when replaying the bag (which was recorded before building with FASTDDS_STATISTICS=ON
, everything is under the Bag's node/Participant as Datawriters. I'll try recording bags with more ros configuration how you mention and let you know.
Thanks for the detailed response though, it's super helpful!
from fast-dds-monitor.
Related Issues (20)
- Fast-DDS Monitor did not pick the traffic data. HOT 11
- Long-term testing [14400] HOT 6
- Fast-DDS-monitor ros2 FOXY HOT 8
- data display interval is not as set and is not consistent in the plot HOT 1
- Fast DDS monitor - Network Latency HOT 2
- Fast-DDS Monitor has no statistics (when using Data Sharing) HOT 17
- Update of statistics HOT 2
- How to use this tool to analyze Autoware? HOT 4
- Fastdds_monitor shows a black screen HOT 8
- FastDDS-monitor fails to run (linux) HOT 1
- Monitoring writers and readers with plots (series Ids are different for every run) HOT 1
- fail to run monitor image (qt related) HOT 2
- No statistics data and missing physical entities when using ROS 2 humble node HOT 1
- Missing version increment in latest release HOT 1
- latency statistic data is empty
- latency statistic data is empty HOT 1
- Installing Fast-DDS-Monitor from source
- Fast DDS Monitor and ROS 2 Humble HOT 4
- Fast-DDS Monitor crash on ROS 2 Humble based container (Qt, X11 related)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fast-dds-monitor.