Giter Site home page Giter Site logo

Comments (2)

jparisu avatar jparisu commented on June 2, 2024

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.

adamoskaranikas avatar adamoskaranikas commented on June 2, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.