8000 Add participant hostname, processname, processId · Issue #4993 · OpenDDS/OpenDDS · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add participant hostname, processname, processId #4993

New issue

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

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

Already on GitHub? Sign in to your account

Open
trittsv opened this issue May 2, 2025 · 6 comments
Open

Add participant hostname, processname, processId #4993

trittsv opened this issue May 2, 2025 · 6 comments

Comments

@trittsv
Copy link
trittsv commented May 2, 2025

the current built in topics do not publish:

  • hostname
  • process-name
  • process-id

But these values are very important for debugging tools to visualize the current system.
Especially for system integrator companies like us using multiple dds-vendors inside a single system.

Current:

DcpsParticipant(
    key=UUID('01030a00-2700-0018-179c-27a6000001c1'), qos=Qos(
    Policy.Liveliness.Automatic(lease_duration=300000000000),
    Property(key="__NetworkAddresses", value="udp/192.168.178.23:50628@14")))

What i would like to have:

DcpsParticipant(
key=UUID('01106c6e-4c07-d209-b197-f2e6000001c1'), qos=Qos(
    Policy.Liveliness.Automatic(lease_duration=10000000000),
    Property(key="__Hostname", value="Svens-MacBook-Pro.local"),
    Property(key="__NetworkAddresses", value="udp/192.168.178.23:50628@14"),
    Property(key="__Pid", value="58898"),
    Property(key="__ProcessName", value="MyExecutableXyz")))
@mitza-oci
Copy link
Member

In the "Current" example shown above, is the __NetworkAddresses property value being added by OpenDDS libraries or user code? I don't see that string in OpenDDS.

In general, QoS values are determined by the user and not by the middleware. So the application can add whichever values are needed. There could be a helper function in OpenDDS libraries to augment the PropertyQosPolicy this way, and even a configuration value that automatically does this to each participant when it's enabled.

One caveat is that (at least in the current implementation) because the PropertyQosPolicy was added in the DDS Security spec, OpenDDS needs to be built with DDS Security enabled.

Also consider that UserDataQosPolicy has an advantage over PropertyQosPolicy - it's in the core DDS spec so every configuration of every implementation should have it.

@trittsv
Copy link
Author
trittsv commented May 2, 2025

__NetworkAddresses is added by OpenDDS because its required by the spec for BuiltinTopicDcpsParticipant.

It would bring great value if OpenDDS could add these values like other DDS-Vendors do.

@mitza-oci
Copy link
Member

__NetworkAddresses is added by OpenDDS because its required by the spec for BuiltinTopicDcpsParticipant.

I'm not following this, but perhaps it's not important for the issue at hand. The data type in OpenDDS for the built-in participant topic matches the one in DDS-XTypes v1.3 Annex D.

It would bring great value if OpenDDS could add these values like other DDS-Vendors do.

I'm not against adding it, and I described how it could work above.

@trittsv
Copy link
Author
trittsv commented May 2, 2025

Here is what other vendors automatically add to the BuiltinTopicDcpsParticipant.
It is very helpful for debugging tools, so it would be great if OpenDDS could also add these kind of values automatically :)

RTI:

  • dds.sys_info.hostname
  • dds.sys_info.executable_filepath
  • dds.sys_info.process_id

Cyclone

  • __Hostname
  • __ProcessName
  • __Pid

FastDDS:

  • fastdds.physical_data.host
  • fastdds.application.id
  • fastdds.physical_data.process

@mitza-oci
Copy link
Member

Just for clarification, are you seeing these values in the Built-In Topic DataReader in a DDS application or from observing the discovery network messages externally (like in Wireshark or similar)?

@trittsv
Copy link
Author
trittsv commented May 2, 2025

yes in the Built-In Topic, not externally.
so that you can actually subscribe via dds to that Built-In Topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
No one assigned
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0