Skip to content
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

Add topologies for testing #125

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions irobot_benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,89 @@ set(TOPOLOGY_FILES
topology/debug_sierra_nevada_best_effort.json
topology/debug_mont_blanc_reliable.json
topology/debug_mont_blanc_best_effort.json
topology/debug_white_mountain_best_effort.json
Copy link
Contributor

Choose a reason for hiding this comment

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

Out of curiosity, what is the purpose/goal of the debug_*_best_effort.json topologies?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Just to have the debug node of the white_mountain.json topology.
There's also the white_mountain_fixed_size_debug.json but that's the debug of the "fixed size" version

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's a topology with a single node that subscribes to all topics published by the white-mountain.
it simulates a "debug station" connecting to the robot for logging or visualization.

FWIW, these debug topologies could be automatically generated

)

install(FILES
${TOPOLOGY_FILES}
DESTINATION lib/${PROJECT_NAME}/topology)

set(SP topology/tests/single_process)
Copy link
Contributor

Choose a reason for hiding this comment

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

What do you think about removing the tests/ subdirectory? The new topologies are already "identified" via the subdirectories that contain them, like full_topologies, multi_process, and single_process.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

5530b70
Like this?

Copy link
Contributor

Choose a reason for hiding this comment

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

LGTM!

Another question though, the white_mountain_fixed_size_debug.json specifies "qos_reliability":"best_effort". But the analogous sierra_nevada_fixed_size_debug.json does not. Intentional?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In 389c1d7 I've renamed the topologies specifying the reliability.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm seeing a duplicate debug_white_mountain_best_effort.json in the top-level topology directory. But it is really (correctly, in my view) beneath the full_topologies/ directory. See

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Nice, just removed it.


set(TOPOLOGY_FILES_SINGLE_PROCESS
${SP}/pub_sub_loaned_10b.json
${SP}/pub_sub_loaned_100kb.json
${SP}/pub_sub_loaned_1mb.json
${SP}/pub_sub_loaned_4mb.json

${SP}/pub_sub_10b_ipc_on.json
${SP}/pub_sub_100kb_ipc_on.json
${SP}/pub_sub_1mb_ipc_on.json
${SP}/pub_sub_4mb_ipc_on.json

${SP}/pub_sub_10b_ipc_off.json
${SP}/pub_sub_100kb_ipc_off.json
${SP}/pub_sub_1mb_ipc_off.json
${SP}/pub_sub_4mb_ipc_off.json
)

install(FILES
${TOPOLOGY_FILES_SINGLE_PROCESS}
DESTINATION lib/${PROJECT_NAME}/${SP})

set(MP topology/tests/multi_process)

set(TOPOLOGY_FILES_MULTI_PROCESS
${MP}/pub_ipc_off_10b.json
${MP}/pub_ipc_off_100kb.json
${MP}/pub_ipc_off_1mb.json
${MP}/pub_ipc_off_4mb.json

${MP}/sub_ipc_off_10b.json
${MP}/sub_ipc_off_100kb.json
${MP}/sub_ipc_off_1mb.json
${MP}/sub_ipc_off_4mb.json

${MP}/pub_loaned_10b.json
${MP}/pub_loaned_100kb.json
${MP}/pub_loaned_1mb.json
${MP}/pub_loaned_4mb.json

${MP}/sub_loaned_10b.json
${MP}/sub_loaned_100kb.json
${MP}/sub_loaned_1mb.json
${MP}/sub_loaned_4mb.json
)

install(FILES
${TOPOLOGY_FILES_MULTI_PROCESS}
DESTINATION lib/${PROJECT_NAME}/${MP})

set(FT topology/tests/full_topologies)

set(TEST_TOPOLOGY_FILES
${FT}/sierra_nevada_fixed_size_debug.json
${FT}/sierra_nevada_fixed_size.json
${FT}/sierra_nevada_fixed_size_loaned.json
${FT}/sierra_nevada_loaned.json
${FT}/white_mountain_fixed_size_debug.json
${FT}/white_mountain_fixed_size.json
${FT}/white_mountain_fixed_size_loaned.json
${FT}/white_mountain_loaned.json
)

install(FILES
${TEST_TOPOLOGY_FILES}
DESTINATION lib/${PROJECT_NAME}/${FT})

set(PROFILES
profiles/fastdds_settings_shm.xml
profiles/ignore_local_endpoints.xml)

install(FILES
${PROFILES}
DESTINATION lib/${PROJECT_NAME}/profiles)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
Expand Down
24 changes: 24 additions & 0 deletions irobot_benchmark/profiles/fastdds_settings_shm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
<profiles>
<!-- SHM Transport profile -->
<transport_descriptors>
<transport_descriptor>
<transport_id>shm_transport</transport_id>
<type>SHM</type>
</transport_descriptor>
</transport_descriptors>

<!-- Domain Participant Profile -->
<participant profile_name="domainparticipant_profile_name" is_default_profile="true">
<rtps>
<!-- Use user defined UDPv4 transport -->
<userTransports>
<transport_id>shm_transport</transport_id>
</userTransports>
<!-- Disable builtin transports -->
<useBuiltinTransports>false</useBuiltinTransports>
</rtps>
</participant>
</profiles>
</dds>
44 changes: 44 additions & 0 deletions irobot_benchmark/profiles/ignore_local_endpoints.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" >
<library_settings>
<intraprocess_delivery>OFF</intraprocess_delivery>
</library_settings>
<profiles>
<transport_descriptors>
<transport_descriptor>
<transport_id>UDP</transport_id>
<type>UDPv4</type>
</transport_descriptor>
</transport_descriptors>
<participant profile_name="participant_profile" is_default_profile="true">
<rtps>
<userTransports>
<transport_id>UDP</transport_id>
</userTransports>
<useBuiltinTransports>false</useBuiltinTransports>
</rtps>
</participant>
<data_writer profile_name="/number">
<propertiesPolicy>
<properties>
<property>
<name>fastdds.match_local_endpoints</name>
<value>false</value>
<propagate>false</propagate>
</property>
</properties>
</propertiesPolicy>
</data_writer>
<data_reader profile_name="/number">
<propertiesPolicy>
<properties>
<property>
<name>fastdds.match_local_endpoints</name>
<value>false</value>
<propagate>false</propagate>
</property>
</properties>
</propertiesPolicy>
</data_reader>
</profiles>
</dds>
33 changes: 33 additions & 0 deletions irobot_benchmark/topology/debug_white_mountain_best_effort.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"nodes": [
{
"node_name": "debug_node",
"subscribers":[
{"topic_name":"amazon", "msg_type":"stamped9_float32", "qos_reliability":"best_effort"},
{"topic_name":"arkansas", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"brazos", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"chenab", "msg_type":"stamped1kb", "qos_reliability":"best_effort"},
{"topic_name":"colorado", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"columbia", "msg_type":"stamped600kb", "qos_reliability":"best_effort"},
{"topic_name":"congo", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"danube", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
{"topic_name":"ganges", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"godavari", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"lena", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"loire", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"mekong", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"missouri", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"murray", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"nile", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"ohio", "msg_type":"stamped100b", "qos_reliability":"best_effort"},
{"topic_name":"parana", "msg_type":"stamped3_float32", "qos_reliability":"best_effort"},
{"topic_name":"salween", "msg_type":"stamped12_float32", "qos_reliability":"best_effort"},
{"topic_name":"tagus", "msg_type":"stamped_vector", "qos_reliability":"best_effort"},
{"topic_name":"tigris", "msg_type":"stamped4_float32", "qos_reliability":"best_effort"},
{"topic_name":"volga", "msg_type":"stamped_int64", "qos_reliability":"best_effort"},
{"topic_name":"yamuna", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"},
{"topic_name":"yamuna", "msg_type":"stamped4_int32", "qos_reliability":"best_effort"}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
{
"nodes": [
{
"node_name": "montreal",
"publishers": [
{"topic_name": "amazon", "msg_type": "stamped9_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
{"topic_name": "nile", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
{"topic_name": "ganges", "msg_type": "stamped4_int32", "period_ms": 10, "msg_pass_by":"shared_ptr"},
{"topic_name": "danube", "msg_type": "stamped_int64", "period_ms": 10, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "lyon",
"subscribers":[
{"topic_name":"amazon", "msg_type":"stamped9_float32"}
],
"publishers": [
{"topic_name": "tigris", "msg_type": "stamped4_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "hamburg",
"subscribers":[
{"topic_name":"nile", "msg_type":"stamped4_int32"},
{"topic_name":"tigris", "msg_type":"stamped4_float32"},
{"topic_name":"ganges", "msg_type":"stamped4_int32"},
{"topic_name":"danube", "msg_type":"stamped_int64"}
],
"publishers": [
{"topic_name": "parana", "msg_type": "stamped3_float32", "period_ms": 10, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "osaka",
"subscribers":[
{"topic_name":"parana", "msg_type":"stamped3_float32"}
],
"publishers": [
{"topic_name": "salween", "msg_type": "stamped12_float32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "mandalay",
"subscribers":[
{"topic_name":"salween", "msg_type":"stamped12_float32"},
{"topic_name":"danube", "msg_type":"stamped_int64"}
],
"publishers": [
{"topic_name": "missouri", "msg_type": "stamped10kb", "period_ms": 100, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "ponce",
"subscribers":[
{"topic_name":"missouri", "msg_type":"stamped10kb"},
{"topic_name":"danube", "msg_type":"stamped_int64"},
{"topic_name":"volga", "msg_type":"stamped_int64"}
],
"publishers": [
{"topic_name": "mekong", "msg_type": "stamped100b", "period_ms": 500, "msg_pass_by":"shared_ptr"},
{"topic_name": "congo", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "barcelona",
"subscribers":[
{"topic_name":"mekong", "msg_type":"stamped100b"}
],
"publishers": [
{"topic_name": "lena", "msg_type": "stamped50b", "period_ms": 100, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "georgetown",
"subscribers":[
{"topic_name":"lena", "msg_type":"stamped50b"}
],
"publishers": [
{"topic_name": "volga", "msg_type": "stamped_int64", "period_ms": 500, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "geneva",
"subscribers":[
{"topic_name":"congo", "msg_type":"stamped4_int32"},
{"topic_name":"danube", "msg_type":"stamped_int64"},
{"topic_name":"parana", "msg_type":"stamped3_float32"}
],
"publishers": [
{"topic_name": "arkansas", "msg_type": "stamped4_int32", "period_ms": 100, "msg_pass_by":"shared_ptr"}
]
},

{
"node_name": "arequipa",
"subscribers":[
{"topic_name":"arkansas", "msg_type":"stamped4_int32"}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"nodes": [
{
"node_name": "debug_node",
"subscribers":[
{"topic_name":"amazon", "msg_type":"stamped9_float32"},
{"topic_name":"arkansas", "msg_type":"stamped4_int32"},
{"topic_name":"congo", "msg_type":"stamped4_int32"},
{"topic_name":"danube", "msg_type":"stamped_int64"},
{"topic_name":"ganges", "msg_type":"stamped4_int32"},
{"topic_name":"lena", "msg_type":"stamped50b"},
{"topic_name":"mekong", "msg_type":"stamped100b"},
{"topic_name":"missouri", "msg_type":"stamped10kb"},
{"topic_name":"nile", "msg_type":"stamped4_int32"},
{"topic_name":"parana", "msg_type":"stamped3_float32"},
{"topic_name":"salween", "msg_type":"stamped12_float32"},
{"topic_name":"tigris", "msg_type":"stamped4_float32"},
{"topic_name":"volga", "msg_type":"stamped_int64"}
]
}
]
}
Loading