Giter Club home page Giter Club logo

performance_test's Introduction

performance_test's People

Contributors

alsora avatar anup-pem avatar chapulina avatar deeplearningrobotics avatar dejanpan avatar divya-aggarwal-apex avatar durko avatar eboasson avatar eduponz avatar esteve avatar jpsamper2009 avatar miguelcompany avatar monidzik avatar pbaughman avatar richiware avatar ross-desmond avatar sumanth-nirmal avatar tfoote avatar xabxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

performance_test's Issues

Reliability issue?

Hello!

I'm not sure if this is actually a problem with my set of test or with the code itself.

Description:

We're running long term tests using your tool.

performance_test commit: 04430ed

ROS_DISTRO: Dashing https://github.com/ros2/ros2/tree/release-dashing-20190614

Performance_test command:

ros2 run performance_test perf_test -c ROS2 -l log -t Array1k

We're running this in loopback.

Test result:

After more or less 4-5h, is not deterministic, the output stop get stuck and not more output is printed. We need this data in order to plot the results.

In order to check if this is on the computer that is running the tests. I run it on a official dashing docker, and the result is the same, in other machine.

GDB output:

(gdb) where full
#0  0x00005580183e7818 in performance_test::DataRunner<performance_test::ROS2CallbackCommunicator<performance_test::topics::Array1k> >::sync_reset()

We need infinitive tests for the application that we're building, I'm not sure if there is a problem in my setup or not.

It would be great if you can advise me. I can provide you more information if needed.

Thanks in advance!

Build fail on ROS2 newest version

fail log:
/home/lktc420/perf_test_ws/src/performance_test/performance_test/src/communication_abstractions/resource_manager.cpp:55:15: error: ‘class eprosima::fastrtps::rtps::RTPSParticipantAttributes’ has no member named ‘defaultSendPort’ PParam.rtps.defaultSendPort = 11511; ^~~~~~~~~~~~~~~

since like fastrtps 1.7.0 remove defaultSendPort attr.
If i remove the defaultSendPort code, will the test be affected? Do you have plan to build on newest fastrtps?

What is the difference between ROS2 plugin and FastRTPS plugin?

We notice that there are three provided plugins (ROS2, FastRTPS and ConnextDDSMicro). But after we test ROS2 and FastRTPS, we find very minor differences between them, like below screenshot.
image

image

Intuitively, FastRTPS plugin might contain only DDS latency while ROS2 plugin might contain DDS + RMW latency. If so, there should be obvious difference between them. Not sure that whether this is the right cognition of provided plugins.

Lower pgfplots compat requirement

This seems to be caused by the older TeX Live 2015 in the Ubuntu 16.04 containers. We can safely lower the pdfplots compat level to 1.13. The patch below followed by a pip3 install . should fix plotting.

From 7aa3a42f511785a19860123bb8a87b8a56bafb03 Mon Sep 17 00:00:00 2001
From: Marko Durkovic <[email protected]>
Date: Tue, 5 Mar 2019 10:40:23 +0100
Subject: [PATCH] Lower pgfplots compat requirement

---
 .../apex_performance_plotter/template.tex                       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/performance_test/helper_scripts/apex_performance_plotter/apex_performance_plotter/template.tex b/performance_test/helper_scripts/apex_performance_plotter/apex_performance_plotter/template.tex
index ed00f69..9157559 100644
--- a/performance_test/helper_scripts/apex_performance_plotter/apex_performance_plotter/template.tex
+++ b/performance_test/helper_scripts/apex_performance_plotter/apex_performance_plotter/template.tex
@@ -2,7 +2,7 @@
 \usepackage[driver=pdftex,margin=1cm]{geometry}
 \usepackage{tikz}
 \usepackage{pgfplots}
-\pgfplotsset{compat=1.15}
+\pgfplotsset{compat=1.13}
 \pgfplotsset{plot coordinates/math parser=false}
 
 \newlength\figureheight
-- 
2.19.1

Fails to generate .pdf result when X server is not running

I tried to run the example in the Readme in a docker container that has ros2 installed in it.

I was able to generate a result file, but when I tried to generate a .pdf plot using performance_test/performance_test/helper_scripts/performance_test_file_reader.py, it failed with output Could not parse file: ./log_Array1k_*

FastRTPS post-test failure

When using FastRTPS communication, the test hangs at the end and eventually exits with code 250 after printing double free or corruption (fasttop).

Using ROS 2 Dashing.

Load graph topology from file

I'm concerned with ROS2 performance, tracking metrics such as %CPU, RSS and latency. It would be interesting if this framework had the option to load a specific pub/subs topology from a file so the metrics could be as close as possible to a real system. Is this something on the roadmap?

performance_test in OSRF CI

After offline discussion with @mjcarroll:

  1. get requirement from @mjcarroll to do the test configuration in roslaunch2 and then run multiple processes on multiple machines and collect statistics from both at the same time
  2. pick up an example from ros2 examples and integrate current performance_test into OSRF's CI => @mjcarroll to talk to Steven

Problem building the package

Hello there,

following the instructions in your README.md, I tried to build and run your package. I work on Ubuntu Bionic and with ROS2 Bouncy at the moment.
However when I'm executing the colcon command, I obtain the following error message:

In file included from /home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.hpp:21:0,
                 from /home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:15:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_base.hpp: In member function ‘void performance_test::DataRunnerBase::assert_memory_tools_is_working()’:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_base.hpp:109:5: error: ‘osrf_testing_tools_cpp’ has not been declared
     osrf_testing_tools_cpp::memory_tools::on_malloc(on_malloc_cb);
     ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_base.hpp:110:39: error: ‘osrf_testing_tools_cpp’ has not been declared
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
                                       ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_base.hpp:110:5: error: ‘OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT’ was not declared in this scope
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_factory.hpp:21:0,
                 from /home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/analyze_runner.hpp:23,
                 from /home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/analyze_runner.cpp:24:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp: In member function ‘void performance_test::DataRunnerBase::assert_memory_tools_is_working()’:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:109:5: error: ‘osrf_testing_tools_cpp’ has not been declared
     osrf_testing_tools_cpp::memory_tools::on_malloc(on_malloc_cb);
     ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:110:39: error: ‘osrf_testing_tools_cpp’ has not been declared
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
                                       ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:110:5: error: ‘OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT’ was not declared in this scope
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/analyze_runner.cpp: In member function ‘bool performance_test::AnalyzeRunner::check_exit(std::chrono::_V2::steady_clock::time_point) const’:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/analyze_runner.cpp:146:37: warning: conversion to ‘double’ from ‘uint64_t {aka long unsigned int}’ may alter its value [-Wconversion]
   if (runtime_sec > m_ec.max_runtime()) {
                     ~~~~~~~~~~~~~~~~^~
make[2]: *** [CMakeFiles/perf_test.dir/src/experiment_execution/analyze_runner.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_factory.hpp:21:0,
                 from /home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/analyze_runner.hpp:23,
                 from /home/tv/perf_test_ws/src/performance_test/performance_test/src/main.cpp:18:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp: In member function ‘void performance_test::DataRunnerBase::assert_memory_tools_is_working()’:
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:109:5: error: ‘osrf_testing_tools_cpp’ has not been declared
     osrf_testing_tools_cpp::memory_tools::on_malloc(on_malloc_cb);
     ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:110:39: error: ‘osrf_testing_tools_cpp’ has not been declared
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
                                       ^~~~~~~~~~~~~~~~~~~~~~
/home/tv/perf_test_ws/src/performance_test/performance_test/src/experiment_execution/../data_running/data_runner_base.hpp:110:5: error: ‘OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT’ was not declared in this scope
     OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(osrf_testing_tools_cpp::memory_tools::on_malloc(nullptr));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/perf_test.dir/src/main.cpp.o] Error 1
make[2]: *** [CMakeFiles/perf_test.dir/src/data_running/data_runner_factory.cpp.o] Error 1
make[1]: *** [CMakeFiles/perf_test.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< performance_test	[ Exited with code 2 ]
                                 
Summary: 0 packages finished [44.5s]
  1 package failed: performance_test
  1 package had stderr output: performance_test

I hope you can help me build your package.

Greets and a happy new year

Connext Micro Standalone

It seems that the Connext Micro depends on some CMAKE modules not available to the public and also some reference is missing which version of ConnextMicro is supported (2.4).

So we should:

  • Update the documentation to mention the supported Connext Micro version which is 2.4.
  • Replace the non-public CMAKE find modules with something else that is publicly available.
  • Link Connext Micro documentation to the Readme for installation instructions so far available.

Could not find program 'fastrtpsgen' in path

When I build this package on Ubuntu, I got this error. Here is my environment. Is there anyone can help? Thanks in advance.

OS: Ubuntu 18.04.1
ROS2 Distribution: Dashing

[0.3s] [0/1 complete] [performance_test:cmake - 0.2s]
--- stderr: performance_test
CMake Warning at src/idlgen/fast_rtps/CMakeLists.txt:69 (message):
  Could not find program 'fastrtpsgen' in path.  Trying to use bundled
  version


/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 14: exec: java: not found
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 14: exec: java: not found
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 7: /home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: java: not found
make[2]: *** [src/idlgen/fast_rtps/gen/fast_rtps/Vector3_PubSubTypes.h] Error 127
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 7: /home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: java: not found
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/idlgen/fast_rtps/gen/fast_rtps/Header_PubSubTypes.h] Error 127
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 14: exec: java: not found
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 7: /home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: java: not found
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 14: exec: java: not found
make[2]: *** [src/idlgen/fast_rtps/gen/fast_rtps/Time_PubSubTypes.h] Error 127
/home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: 7: /home/intel/Templates/perf_test/src/performance_test/performance_test/bin/fastrtpsgen: java: not found
make[2]: *** [src/idlgen/fast_rtps/gen/fast_rtps/Array1k_PubSubTypes.h] Error 127
make[1]: *** [src/idlgen/fast_rtps/CMakeFiles/fast_rtps_idl.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
---
Failed   <<< performance_test   [ Exited with code 2 ]

performance_test used up memory on ubuntu 16.4

Hello,
I investigate ROS2 crystal DDS performance via ApexAI performance_test test tool on ubuntu 16.04.
I'd like to ask a question about performance_test will use up system memory.
While test large message like Array1m, PointCloud2m, system may be pending for no free memory, like for rmw_fastrtps_cpp case, performance_test test with QoS reliable and transient, it looks like refer to transient mode(backup samples), but it should not consumes more memory by running more time and no any free memory.
And test rmw_connext_cpp case, it also happens even if Best Effor and Volatile mode.
And small message no this issue.
Is it some configuration while performance_test and ROS2 QoS or others?
Please help me to fix it.

Thanks !

Enable ROS 2 and FastRTPS in parallel for Bouncy

ROS 2 Bouncy release fixed the issue by using ROS 2 and FastRTPS in parallel. Therefore the following should be done:

  • Enable both by default.
  • Update readme to inform Ardent users on how to revert to the previous setting.

This fix should be done after #2 is in to avoid conflicts.

Migrate to Gitlab

Steps:

When I compiled the package under unbuntu-16.04, I got an error.

Array16k_PubSubTypes.cxx:47:61: error: ‘SerializedPayload_t’ has not been declared
bool Array16k_PubSubType::serialize(void *data, SerializedPayload_t *payload)

The namespace of “SerializedPayload_t” is "eprosima::fastrtps::rtps",However, in the files generated by "performance_test" through idlgen tool, the namespace becomes "eprosima::fastrtps". so I have to add "using namespace eprosima::fastrtps::rtps;" in many related documents.This is the bug of idlgen tool !

Graceful exit of performance test with FastRTPS

Performance test doesn't gracefully exit while using FastRTPS communication plugin.

To Reproduce

Run the performance test with FastRTPS plugin and stress the system so it can't receive any samples.

  1. In Terminal - 1, start the performance test with FastRTPS plugin
    $ ros2 run performance_test perf_test -c FastRTPS -l log -t PointCloud512k --max_runtime 20
  2. In Terminal - 2, stress the CPU and memory. Change the parameters as required, the idea is to stress the system so that the received samples go to 0.
    $ stress -c 12 --vm 2 --vm-bytes 20G
  3. kill the stress command once the received samples go to 0. The output of the performance is as follows:
Experiment id: a96a562b-1cf8-459d-bfab-a383216a5712
Logfile name: log_PointCloud512k_24-04-2019_12-49-53
Communication mean: FASTRTPS
DDS domain id: 0
QOS: Reliability: BEST_EFFORT Durability: VOLATILE History kind: KEEP_ALL History depth: 1000 Sync. pub/sub: 0
Publishing rate: 1000
Topic name: PointCloud512k
Maximum runtime (sec): 10
Number of publishers: 1
Number of subscribers:1
Memory check enabled: 0
Use ros SHM: 0
Use single participant: 0
Not using waitset: 0
Not using Connext DDS Micro INTRA: 0
With security: 0
Roundtrip Mode: NONE
DataRunner
DataRunner
---EXPERIMENT-START---
T_experiment,	T_loop,	received,	sent,	lost,	relative_loss,	data_received,	latency_min (ms),	latency_max (ms),	latency_mean (ms),latency_variance (ms),	pub_loop_res_min (ms),	pub_loop_res_max (ms),	pub_loop_res_mean (ms),	pub_loop_res_variance (ms),	sub_loop_res_min (ms),	sub_loop_res_max (ms),	sub_loop_res_mean (ms),	sub_loop_res_variance (ms),	ru_utime,	ru_stime,	ru_maxrss,	ru_ixrss,	ru_idrss,	ru_isrss,	ru_minflt,	ru_majflt,	ru_nswap,	ru_inblock,	ru_oublock,	ru_msgsnd,	ru_msgrcv,	ru_nsignals,	ru_nvcsw,	ru_nivcsw,	
1.000086,		1.000080,		923,		924,		2,		0.00,		484682870,		0.3876,		1.319,		0.6711,		7.661e-06,		-4.252,		0.9368,		0.8941,		2.893e-05,		-2.923,		0.2102,		-0.08101,		1.26e-05,		0.5128,		0.3725,		29188,		0,		0,		0,		4972,		0,		0,		0,		8,		0,		0,		0,		9455,		40,		
2.000415,		1.000062,		204,		912,		4,		0.00,		107538767,		0.5001,		18.44,		2.235,		0.01634,		-6.059,		0.9654,		0.9254,		8.707e-05,		-17.96,		0.8424,		-0.1602,		0.002421,		0.7311,		0.5505,		62188,		0,		0,		0,		13236,		0,0,		0,		8,		0,		0,		0,		13685,		429,		
3.000599,		1.000060,		0,		944,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.791,		0.9655,		0.9618,		5.078e-08,		inf,		-inf,		0,		-nan,		0.8819,		0.6913,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		19506,		485,		
4.000850,		1.000063,		0,		944,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.799,		0.9656,		0.9627,		4.101e-08,		inf,		-inf,		0,		-nan,		1.01,		0.8237,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		23617,		504,		
5.001751,		1.000062,		0,		937,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.6986,		0.9656,		0.9614,		1.913e-07,		inf,		-inf,		0,		-nan,		1.106,		0.9808,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		27266,		633,		
6.002231,		1.000061,		0,		945,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.6965,		0.9656,		0.9581,		3.172e-07,		inf,		-inf,		0,		-nan,		1.257,		1.095,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		30518,		669,		
7.015178,		1.000061,		0,		947,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.7411,		0.9656,		0.9617,		1.264e-07,		inf,		-inf,		0,		-nan,		1.397,		1.201,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		33413,		809,		
8.015696,		1.000063,		0,		939,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.726,		0.9642,		0.9393,		7.268e-07,		inf,		-inf,		0,		-nan,		1.671,		1.374,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		40475,		835,		
9.015946,		1.000099,		0,		925,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.3341,		0.9532,		0.8991,		6.424e-07,		inf,		-inf,		0,		-nan,		2.04,		1.704,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		49574,		864,		
10.016239,		1.000104,		0,		926,		0,		0.00,		0,		inf,		-inf,		0,		-nan,		0.5716,		0.9369,		0.8932,		6.186e-07,		inf,		-inf,		0,		-nan,		2.44,		2.032,		62188,		0,		0,		0,		13236,		0,		0,		0,		8,		0,		0,		0,		58679,		897,		

then hangs here whil exiting.

Current Behaviour

Since we stress the system, there are no recieved samples and the subscriber thread is waiting for unread message here https://github.com/ApexAI/performance_test/blob/master/performance_test/src/communication_abstractions/fast_rtps_communicator.hpp#L208. Even after timeout the subscriber thread is waiting for an unread message, which hungs the application from exiting gracefully.

Desired Behaviour

The application should gracefully exit when timesout or on Ctrl-C

DDS Performance Test

To be able to determine which DDS implementation and rmw_ implementation is the best for which task we plan to carry out a carefully crafted performance test:

Following 2 computers:

  1. drivePX2 - Arm
  2. Nuovo - Intel

Following rmw implementations:

  1. https://github.com/ros2/rmw_fastrtps
  2. https://github.com/ros2/rmw_opensplice
  3. https://github.com/ros2/rmw_connext

and with the following configuration:

  1. Message types: PointCloud8m.msg, NavSatFix.msg, Range.msg, all Arrays + all Structs (see https://github.com/ApexAI/performance_test/tree/master/performance_test/src/msg)
  2. Test with 1,3 and 10 subscribers.
  3. Test 15 min per message
  4. Setup recommended sysctl settings
  5. Inter vs Intra process communication for small and large data (1000 Hz resp. 50 Hz)
  6. Vary QoS:
  • Reliable / Best effort
  • Volatile / Transient Local
  • With security / without security
  1. Ubuntu 16.04 with and without RT-PREEMPT

Failed to run peer-to-peer with dashing

Hello!

We're facing some issues after the update of the code for dashing. We're not able to run the code using the instructions of the README.md:

ros2 run performance_test perf_test -c ROS2 -t Array1k --roundtrip_mode Main #One machine
ros2 run performance_test perf_test -c ROS2 -t Array1k --roundtrip_mode Relay #Second machine

Error log:

>>> [rcutils|error_handling.c:106] rcutils_set_error_state()
This error state is being overwritten:

  'Unknown QoS Liveliness policy, at /home/erle/ros2_ws_dashing/src/ros2/rmw_fastrtps/rmw_fastrtps_shared_cpp/src/qos.cpp:127'

with this new error message:

  'failed to get datawriter qos, at /home/erle/ros2_ws_dashing/src/ros2/rmw_fastrtps/rmw_fastrtps_cpp/src/rmw_publisher.cpp:163'

rcutils_reset_error() should be called after error handling to avoid this.
<<<
terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
  what():  could not create publisher: failed to get datawriter qos, at /home/erle/ros2_ws_dashing/src/ros2/rmw_fastrtps/rmw_fastrtps_cpp/src/rmw_publisher.cpp:163, at /home/erle/ros2_ws_dashing/src/ros2/rcl/rcl/src/rcl/publisher.c:171

We think the error is here:

Looking as example of demos:

Let me know if this make sense for you, or we're doing something wrong.

Thanks in advance!

Support for ROS 2 Eloquent

Right now, I'm seeing compilation failures:

performance_test/src/communication_abstractions/resource_manager.cpp: In member function ‘eprosima::fastrtps::Participant* performance_test::ResourceManager::fastrtps_participant() const’:
performance_test/src/communication_abstractions/resource_manager.cpp:63:23: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘use_SIMPLE_RTPSParticipantDiscoveryProtocol’
   63 |   PParam.rtps.builtin.use_SIMPLE_RTPSParticipantDiscoveryProtocol = true;
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
performance_test/src/communication_abstractions/resource_manager.cpp:64:23: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘use_SIMPLE_EndpointDiscoveryProtocol’
   64 |   PParam.rtps.builtin.use_SIMPLE_EndpointDiscoveryProtocol = true;
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
performance_test/src/communication_abstractions/resource_manager.cpp:65:23: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘m_simpleEDP’
   65 |   PParam.rtps.builtin.m_simpleEDP.use_PublicationReaderANDSubscriptionWriter = true;
      |                       ^~~~~~~~~~~
performance_test/src/communication_abstractions/resource_manager.cpp:66:23: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘m_simpleEDP’
   66 |   PParam.rtps.builtin.m_simpleEDP.use_PublicationWriterANDSubscriptionReader = true;
      |                       ^~~~~~~~~~~
performance_test/src/communication_abstractions/resource_manager.cpp:68:23: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘leaseDuration’
   68 |   PParam.rtps.builtin.leaseDuration = eprosima::fastrtps::c_TimeInfinite;
      |                       ^~~~~~~~~~~~~
In file included from performance_test/src/data_running/data_runner_factory.cpp:25:
performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In member function ‘void performance_test::FastRTPSCommunicator<Topic>::update_subscription()’:
performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:213:21: error: ‘class eprosima::fastrtps::Subscriber’ has no member named ‘waitForUnreadMessage’
  213 |       m_subscriber->waitForUnreadMessage();
      |                     ^~~~~~~~~~~~~~~~~~~~

Cross-compile performance test for aarch64

This is as far as I've gotten with cross-compiling performance_test.

  1. Generate SYSROOT based on ROS instructions (https://github.com/ros2/ros2_documentation/blob/master/source/Tutorials/Cross-compilation.rst#cross-compiling-ros2)
  2. Set SYSROOT variable to generated sysroot
  3. Set TOOLCHAIN_FILE for aarch64 compiler, linker, etc

(i.e.)

set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++)
  1. mkdir perf_test_ws
  2. cd perf_test_ws
  3. Clone performance test and osrf_testing_tools
  4. colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="${TOOLCHAIN_FILE}"

The sysroot I am using is Ubuntu Bionic w/ libboost-all-dev package installed.

This is the error message I am recieving

Starting >>> osrf_testing_tools_cpp
-- Setting C Standard to 11.
-- Setting C++ Standard to 14.
-- Setting SECURITY to ON.
-- The C compiler identification is GNU 5.4.0              
-- The CXX compiler identification is GNU 5.4.0            
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done                    
-- Detecting C compile features
-- Detecting C compile features - done                     
-- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done                  
-- Detecting CXX compile features                          
-- Detecting CXX compile features - done                   
-- googletest version '1.8.0' selected, of versions: '1.8.0'
-- building googletest from '/home/naveen.akkapeddi/grand_central/perf_test_ws/src/osrf_testing_tools_cpp/osrf_testing_tools_cpp/vendor/google/googletest/release-1.8.0.tar.gz'...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/naveen.akkapeddi/grand_central/perf_test_ws/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted
Scanning dependencies of target googletest                 
[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (verify and extract) for 'googletest'
-- verifying file...
     file='/home/naveen.akkapeddi/grand_central/perf_test_ws/src/osrf_testing_tools_cpp/osrf_testing_tools_cpp/vendor/google/googletest/release-1.8.0.tar.gz'
-- verifying file... done
-- extracting...
     src='/home/naveen.akkapeddi/grand_central/perf_test_ws/src/osrf_testing_tools_cpp/osrf_testing_tools_cpp/vendor/google/googletest/release-1.8.0.tar.gz'
     dst='/home/naveen.akkapeddi/grand_central/perf_test_ws/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src'
-- extracting... [tar xfz]
-- extracting... [analysis]                                    
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No patch step for 'googletest'
[ 44%] No update step for 'googletest'
[ 55%] No configure step for 'googletest'                      
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'                           
[100%] Completed 'googletest'
[100%] Built target googletest
-- Found PythonInterp: /usr/bin/python (found version "2.7.12") 
-- Looking for pthread.h
-- Looking for pthread.h - found                                
-- Looking for pthread_create
-- Looking for pthread_create - not found                       
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found           
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found                
-- Found Threads: TRUE  
-- Configuring done
-- Generating done                                              
-- Build files have been written to: /home/naveen.akkapeddi/grand_central/perf_test_ws/build/osrf_testing_tools_cpp
Scanning dependencies of target gtest                      
Scanning dependencies of target test_runner
Scanning dependencies of target memory_tools
[  4%] Building CXX object src/test_runner/CMakeFiles/test_runner.dir/main.cpp.o
[  8%] Building CXX object googletest-1.8.0-extracted/googletest-1.8.0-build/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 12%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/implementation_monitoring_override.cpp.o
[ 16%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/memory_tools_service.cpp.o
[ 20%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/is_working.cpp.o
[ 24%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/testing_helpers.cpp.o
[ 28%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/custom_memory_functions.cpp.o
[ 32%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/monitoring.cpp.o
[ 36%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/initialize.cpp.o
[ 40%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/stack_trace.cpp.o
[ 44%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/verbosity.cpp.o
[ 48%] Building CXX object src/memory_tools/CMakeFiles/memory_tools.dir/register_hooks.cpp.o
[ 52%] Linking CXX executable test_runner                      
[ 52%] Built target test_runner                                
[ 56%] Linking CXX shared library libmemory_tools.so           
[ 56%] Built target memory_tools                               
Scanning dependencies of target memory_tools_interpose
[ 60%] Building CXX object src/memory_tools/CMakeFiles/memory_tools_interpose.dir/memory_tools.cpp.o
[ 64%] Linking CXX shared library libmemory_tools_interpose.so 
[ 64%] Built target memory_tools_interpose
[ 68%] Linking CXX static library libgtest.a                   
[ 68%] Built target gtest
Scanning dependencies of target gtest_main                     
[ 72%] Building CXX object googletest-1.8.0-extracted/googletest-1.8.0-build/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 76%] Linking CXX static library libgtest_main.a              
[ 76%] Built target gtest_main
Scanning dependencies of target test_memory_tools
Scanning dependencies of target assert_env_vars
Scanning dependencies of target test_parse_environment_variable
[ 80%] Building CXX object test/memory_tools/CMakeFiles/test_memory_tools.dir/test_memory_tools.cpp.o
[ 84%] Building CXX object test/test_runner/CMakeFiles/test_parse_environment_variable.dir/test_parse_environment_variable.cpp.o
[ 88%] Building CXX object test/test_runner/CMakeFiles/assert_env_vars.dir/assert_env_vars.cpp.o
[ 92%] Linking CXX executable test_parse_environment_variable    
[ 92%] Built target test_parse_environment_variable              
[ 96%] Linking CXX executable assert_env_vars                    
[ 96%] Built target assert_env_vars
[100%] Linking CXX executable test_memory_tools                  
/home/naveen.akkapeddi/grand_central/sysroot_arm64v8_ubuntu_bionic_libssl_boost/usr/lib/aarch64-linux-gnu/libdl.so: undefined reference to `_dl_catch_error@GLIBC_PRIVATE'
/home/naveen.akkapeddi/grand_central/sysroot_arm64v8_ubuntu_bionic_libssl_boost/usr/lib/aarch64-linux-gnu/libdl.so: undefined reference to `_dl_signal_error@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status
make[2]: *** [test/memory_tools/test_memory_tools] Error 1
test/memory_tools/CMakeFiles/test_memory_tools.dir/build.make:98: recipe for target 'test/memory_tools/test_memory_tools' failed
CMakeFiles/Makefile2:1383: recipe for target 'test/memory_tools/CMakeFiles/test_memory_tools.dir/all' failed
make[1]: *** [test/memory_tools/CMakeFiles/test_memory_tools.dir/all] Error 2
make: *** [all] Error 2
Makefile:138: recipe for target 'all' failed
--- stderr: osrf_testing_tools_cpp
/home/naveen.akkapeddi/grand_central/sysroot_arm64v8_ubuntu_bionic_libssl_boost/usr/lib/aarch64-linux-gnu/libdl.so: undefined reference to `_dl_catch_error@GLIBC_PRIVATE'
/home/naveen.akkapeddi/grand_central/sysroot_arm64v8_ubuntu_bionic_libssl_boost/usr/lib/aarch64-linux-gnu/libdl.so: undefined reference to `_dl_signal_error@GLIBC_PRIVATE'
collect2: error: ld returned 1 exit status
make[2]: *** [test/memory_tools/test_memory_tools] Error 1
make[1]: *** [test/memory_tools/CMakeFiles/test_memory_tools.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< osrf_testing_tools_cpp	[ Exited with code 2 ]

Summary: 0 packages finished [11.9s]
  1 package failed: osrf_testing_tools_cpp
  1 package had stderr output: osrf_testing_tools_cpp
  2 packages not processed

@esteve

Compilation error in fast_rtps_communicator.hpp

https://github.com/ApexAI/performance_test/blob/master/performance_test/src/communication_abstractions/fast_rtps_communicator.hpp#L172
throws a compilation issue

Starting >>> performance_test
--- stderr: performance_test                               
In file included from /home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:25:0:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array1k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array1k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array1k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array1k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/7/bits/shared_ptr.h:706:39:   required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1k> >; _Args = {const performance_test::RunType&}]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array1k]’
/usr/include/boost/mpl/for_each.hpp:78:26:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
       wparam.times.heartbeatPeriod.fraction(200 * 1000 * 1000);
       ^~~~~~
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array4k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array4k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array4k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array4k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array4k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array4k]’
/usr/include/boost/mpl/for_each.hpp:78:26:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array16k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array16k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array16k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array16k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array16k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array16k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array32k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array32k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array32k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array32k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array32k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array32k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array60k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array60k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array60k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array60k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array60k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array60k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array1m; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array1m_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array1m>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array1m>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array1m> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array1m]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Array2m; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Array2m_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array2m>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Array2m>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Array2m> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Array2m]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Struct16; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Struct16_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct16>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct16>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct16> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Struct16]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Struct256; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Struct256_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct256>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct256>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct256> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Struct256]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Struct4k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Struct4k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct4k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Struct4k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Struct32k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Struct32k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Struct32k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Struct32k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::PointCloud512k; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::PointCloud512k_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud512k> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::PointCloud512k]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::PointCloud1m; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::PointCloud1m_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud1m> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::PointCloud1m]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::PointCloud2m; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::PointCloud2m_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud2m> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::PointCloud2m]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::PointCloud4m; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::PointCloud4m_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::PointCloud4m> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::PointCloud4m]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::Range; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::Range_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Range>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::Range>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::Range> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::Range]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::NavSatFix; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::NavSatFix_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::NavSatFix> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::NavSatFix]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::RadarDetection; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::RadarDetection_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarDetection> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::RadarDetection]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp: In instantiation of ‘void performance_test::FastRTPSCommunicator<Topic>::publish(performance_test::FastRTPSCommunicator<Topic>::DataType&, std::chrono::nanoseconds) [with Topic = performance_test::topics::RadarTrack; performance_test::FastRTPSCommunicator<Topic>::DataType = performance_test_msgs::msg::dds_::RadarTrack_; std::chrono::nanoseconds = std::chrono::duration<long int, std::ratio<1, 1000000000> >]’:
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:144:9:   required from ‘void performance_test::DataRunner<TCommunicator>::thread_function() [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner.hpp:48:24:   required from ‘performance_test::DataRunner<TCommunicator>::DataRunner(performance_test::RunType) [with TCommunicator = performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> >]’
/usr/include/c++/7/bits/alloc_traits.h:475:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> >; _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> >; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> > >]’
/usr/include/c++/7/bits/shared_ptr_base.h:526:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const performance_test::RunType&}; _Tp = performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> >; _Alloc = std::allocator<performance_test::DataRunner<performance_test::FastRTPSCommunicator<performance_test::topics::RadarTrack> > >; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2]’
/usr/include/c++/7/bits/shared_ptr_base.h:637:4:   [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:59:70:   required from ‘performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)> [with auto:9 = performance_test::topics::RadarTrack]’
/usr/include/boost/mpl/for_each.hpp:82:22:   recursively required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list18<performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:82:22:   required from ‘static void boost::mpl::aux::for_each_impl<false>::execute(Iterator*, LastIterator*, TransformFunc*, F) [with Iterator = boost::mpl::l_iter<boost::mpl::list19<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack> >; LastIterator = boost::mpl::l_iter<boost::mpl::l_end>; TransformFunc = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:105:18:   required from ‘void boost::mpl::for_each(F, Sequence*, TransformOp*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; TransformOp = boost::mpl::identity<mpl_::na>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/usr/include/boost/mpl/for_each.hpp:118:46:   required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k, performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:71:6:   required from here
/home/divya.aggarwal/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:172:7: error: expression cannot be used as a function
make[2]: *** [CMakeFiles/perf_test.dir/src/data_running/data_runner_factory.cpp.o] Error 1
make[1]: *** [CMakeFiles/perf_test.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< performance_test	[ Exited with code 2 ]
                                 
Summary: 0 packages finished [13.9s]
  1 package failed: performance_test
  1 package had stderr output: performance_test

Changing the line back to : 6ae8375#diff-525f0d358deb986f4bb13559012ae21cL172
resolves the compilation.

How to test latency performance with different data size?

I notice that there are multiple message types defined with different data size. I've tried "Array1k"(default size in README), "Array4k", "Array16k", "Array60k"(why noy 64k...), "Array1m" and "Array2m" with below command or similar:

ros2 run performance_test perf_test -c ROS2 -l log -t Array4k --max_runtime 120

Above message types all work well.

But when I move forward to "Array4m", I got below error message:

ros2 run performance_test perf_test -c ROS2 -l log -t Array4m --max_runtime 120

terminate called after throwing an instance of 'std::runtime_error'
  what(): a topic with the requested name does not exist or communication mean not supported.

When I switch my test to PointCloud message type, there are not any responding when executing below command

ros2 run performance_test perf_test -c ROS2 -l log -t PointCloud1m --max_runtime 120

What command and parameter should I use when testing PointCloud message type?

Plotter Tool Cosmetic Improvements

The performance test plotter tool can use some small cosmetic improvements:

  • The result section in the middle should clearly state that those are the averages of the aggregated data.
  • The T_experiment field should be removed as taking the mean of the runtime does not make a lot of sense.
  • Unnamed pandas rows should not show up in the table.
  • Add QOS. In the old report and in the log file they look like this: "Reliability: BEST_EFFORT Durability: VOLATILE History kind: KEEP_LAST History depth: 1000"
  • Resource usage => Resource usage (http://man7.org/linux/man-pages/man2/getrusage.2.html)
  • min in the right plot => ru_minflt
  • max in the right plot => ru_majflt
  • nivcsw => ru_nivcsw

Helper scripts meant to be run with ros2 run must be executable

When attempting to follow the instructions under "Plot results" in the readme.md file, I encountered the following problem:

pete.baughman@ade:/tmp/experiment$ ros2 run performance_test performance_test_file_reader.py .
No executable found

These helper scripts need to be marked as executable, or they won't be considered valid targets when they're looked up by ros2 run

Build fail on ROS2 crystal

Fail log :
/usr/include/boost/mpl/for_each.hpp:118:46: required from ‘void boost::mpl::for_each(F, Sequence*) [with Sequence = boost::mpl::list<performance_test::topics::Array1k, performance_test::topics::Array4k, performance_test::topics::Array16k, performance_test::topics::Array32k, performance_test::topics::Array60k, performance_test::topics::Array1m, performance_test::topics::Array2m, performance_test::topics::Struct16, performance_test::topics::Struct256, performance_test::topics::Struct4k,
performance_test::topics::Struct32k, performance_test::topics::PointCloud512k, performance_test::topics::PointCloud1m, performance_test::topics::PointCloud2m, performance_test::topics::PointCloud4m, performance_test::topics::Range, performance_test::topics::NavSatFix, performance_test::topics::RadarDetection, performance_test::topics::RadarTrack>; F = performance_test::DataRunnerFactory::get(const string&, performance_test::CommunicationMean, performance_test::RunType)::<lambda(auto:9)>]’
/home/robot/ros2_ws/perf_test_ws/src/performance_test/performance_test/src/data_running/data_runner_factory.cpp:63:6: required from here
/home/robot/ros2_ws/perf_test_ws/src/performance_test/performance_test/src/data_running/../communication_abstractions/fast_rtps_communicator.hpp:133:18: error: invalid new-expression of abstract class type ‘performance_test_msgs::msg::dds_::Array1k_PubSubType’
m_topic_type(new TopicType())
^~~~~~~~~~~~~~~

Problem is my environment? Can you give me some advice?

performance_test_file_reader.py not working

Hi,

I'm trying to run the example provided in the README, but I can't plot the results.

mkdir experiment
cd experiment
ros2 run performance_test perf_test -c ROS2 -l log -t Array1k --max_runtime 10
ros2 run performance_test performance_test_file_reader.py .

With error

Skipping .
Parsing file:./log_Array1k_13-02-2019_16-28-14
Could not parse file: ./log_Array1k_13-02-2019_16-28-14

Do you know why?

Thank you

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.