Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
895789b
Updated README.md
fgaranda Jan 16, 2014
c19b435
Updated README.md
rosemwahlin Jan 16, 2014
8d28333
Update of README.md
rosemwahlin Jan 16, 2014
132dc3c
Another update with fixed markdown
rosemwahlin Jan 16, 2014
e82a802
fixed typo
rosemwahlin Jan 16, 2014
3da9416
Merge https://github.com/rosemwahlin/rticonnext-usecases
fgaranda Jan 16, 2014
c0d39cf
Merged changes in README.md from rosemwahlin's fork
fgaranda Jan 17, 2014
004984e
README updates
rosemwahlin Jan 24, 2014
8638434
Fixed a crash bug
rosemwahlin Jan 28, 2014
f5f0c0b
Merge pull request #27 from rosemwahlin/master
rosemwahlin Jan 29, 2014
5a53a85
Minor update to the README.
rosemwahlin Mar 5, 2014
1a555f0
Fixed minor bug in DomainParticipant creation
rosemwahlin Apr 8, 2014
190fc4f
Fixed minor bug
rosemwahlin Apr 8, 2014
cdcb4a2
Fixing minor bug
rosemwahlin Apr 8, 2014
f834bb4
Minor fixes to style
rosemwahlin Apr 23, 2014
ed93f82
Merge pull request #28 from rosemwahlin/master
fgaranda Apr 24, 2014
7cd0ddf
Fixed a weird character in README.md
fgaranda Apr 24, 2014
1b672cf
Copyright statement on header file
rosemwahlin May 9, 2014
45678dc
Merge pull request #29 from rosemwahlin/master
fgaranda May 9, 2014
cdbd7ce
Added CONTRIBUTING.md
fgaranda Sep 24, 2014
3bc2361
Update base_profile_multicast.xml
soniaRTI Sep 14, 2015
35ba862
Update base_profile_no_multicast.xml
soniaRTI Sep 14, 2015
9b9faf0
Merge pull request #31 from soniaRTI/master
fgaranda Sep 14, 2015
3addfbf
Updating to Connext 5.2.0 and VS2012
rosemwahlin Oct 9, 2015
6d5f86e
Merge branch 'master' of https://github.com/rosemwahlin/rticonnextdds…
rosemwahlin Oct 10, 2015
f1f719f
Updating to Connext 5.2.0
rosemwahlin Oct 10, 2015
81ef89b
Updating to Connext 5.2.0
rosemwahlin Oct 10, 2015
d0a1bfe
Updating project for 5.2.0
rosemwahlin Dec 10, 2015
2020646
Updating project for 5.2.0
rosemwahlin Dec 10, 2015
8b01491
Making the example compatible with Connext 5.2.0
rosemwahlin Dec 11, 2015
0e93999
Updating to Connext 5.2.0
rosemwahlin Dec 15, 2015
4a60f04
Merge pull request #32 from rosemwahlin/master
rosemwahlin Dec 15, 2015
a07e830
Updating Example for Connext DDS 5.2.0 and higher
rosemwahlin Sep 17, 2016
acb857d
Updating Windows scripts for Connext 5.2.0 and higher
rosemwahlin Sep 17, 2016
abdb631
Merge branch 'master' of https://github.com/rosemwahlin/rticonnextdds…
rosemwahlin Sep 17, 2016
60c734c
Merge pull request #33 from rosemwahlin/master
rosemwahlin Sep 17, 2016
fe15b2a
Initial set of updates for 5.3.0 release
Sep 12, 2017
55dba71
Merge pull request #36 from neil-rti/master
fgaranda Sep 12, 2017
2dacb89
remove the Docs dirs, add info to README
Sep 12, 2017
b572f1b
Converted README.txt to README.md
Sep 13, 2017
9bf02e2
Merge pull request #37 from neil-rti/master
fgaranda Sep 13, 2017
2107077
Updates for Connext 6
andre-rti Mar 28, 2019
b1948be
Updates for Connext 6
andre-rti Mar 28, 2019
41b3bb3
Updates for Connext 6
andre-rti Mar 28, 2019
0e26660
Updates for Connext 6
andre-rti Mar 28, 2019
32c5053
fixed typo for arch variable
andre-rti Mar 28, 2019
c3f5d53
Update RTI logo
andre-rti Mar 28, 2019
72a067a
Merge pull request #39 from andre-rti/master
fgaranda Apr 4, 2019
24cf345
convert to ShapeType init
Mar 31, 2021
e065ceb
add TCP relay WAN example
Apr 1, 2021
29acbf7
add UDP_WAN examples
Apr 2, 2021
3b8e507
Windows config
Apr 5, 2021
66ccd8e
updated readme
Apr 6, 2021
9219d02
formatting fix
Apr 6, 2021
94c8254
add image to readme
Apr 7, 2021
9656deb
more graphics
Apr 7, 2021
f366d0c
Updates for Connext 6.1
andre-rti May 7, 2021
8459439
small script fix
May 11, 2021
634ddbf
use DNS for CDS
May 13, 2021
79be1a2
Merge branch 'master' of https://github.com/neil-rti/rticonnextdds-us…
May 13, 2021
64dd0eb
use DNS for CDS
May 13, 2021
c239b0f
add tcp relay cfg
May 18, 2021
b41eed4
fix RWT naming
Jun 6, 2021
367f11f
Merge pull request #41 from neil-rti/master
fgaranda Jun 12, 2021
b3228bf
update to lightweight example
Feb 14, 2022
6ba09ec
update readme
Feb 15, 2022
4c22560
fix URLs
Feb 15, 2022
b28229b
set exec permission
Feb 15, 2022
cad46cc
update table
Feb 15, 2022
0cd595c
Merge branch 'rticommunity:master' into master
neil-rti Feb 15, 2022
727db53
add Connext Anywhere ref
Feb 15, 2022
b0adcf4
Corrected video streaming use-case link (#45)
tmcguire-rti Mar 20, 2023
ee98e91
Issue 46: fixing trivial scripting error (#47)
juanlu-rti Mar 20, 2023
38d1c97
Merge pull request #44 from neil-rti/master
neil-rti Mar 27, 2023
4bbe033
video streaming updates
akkshajs Sep 6, 2023
ef69a77
Merge pull request #50 from akkshaj-rti/master
fgaranda Sep 7, 2023
e1d82fc
Added AppTelemetry as new use case
ajmhs Feb 10, 2025
d6ce5f9
Add rticonnextdds-cmake-utils submodule
ajmhs Feb 10, 2025
20b24ff
Tweaks to readme file
ajmhs Feb 10, 2025
a530f61
Updated and moved Dockerfile. Changed tmux script to use panes. Rewor…
ajmhs Feb 12, 2025
106c66a
Added .vscode dir to gitignore
ajmhs Feb 12, 2025
f886291
Added section to readme with the directory structure and notes on usi…
ajmhs Feb 12, 2025
bd4d79e
Copyright notices+dates. Fix c-style casts. Add motivation to readme.…
ajmhs Mar 7, 2025
14dbb36
Washed through clang-format
ajmhs Mar 7, 2025
00a42b4
Merge pull request #54 from ajmhs/master
fgaranda Mar 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ Icon?
ehthumbs.db
Thumbs.db
.cvsignore
.vs
.vscode
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "VideoData/resource/cmake/rticonnextdds-cmake-utils"]
path = VideoData/resource/cmake/rticonnextdds-cmake-utils
url = https://github.com/rticommunity/rticonnextdds-cmake-utils.git
[submodule "AppTelemetry/resource/cmake/rticonnextdds-cmake-utils"]
path = AppTelemetry/resource/cmake/rticonnextdds-cmake-utils
url = https://github.com/rticommunity/rticonnextdds-cmake-utils.git
108 changes: 108 additions & 0 deletions AppTelemetry/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# (c) 2025 Copyright, Real-Time Innovations, Inc. All rights reserved.
# RTI grants Licensee a license to use, modify, compile, and create derivative
# works of the Software. Licensee has the right to distribute object form only
# for use with RTI products. The Software is provided "as is", with no warranty
# of any type, including any warranty for fitness for any purpose. RTI is under
# no obligation to maintain or support the Software. RTI shall not be liable
# for any incidental or consequential damages arising out of the use or
# inability to use the software.

cmake_minimum_required(VERSION 3.10)
project(oteladapter)


# Find RTI Connext dependencies
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/resource/cmake/rticonnextdds-cmake-utils/cmake/Modules"
)

include(ConnextDdsGenerateFiles)
include(ConnextDdsCodegen)

# Find RTI Connext DDS
find_package(
RTIConnextDDS "6.1.2"
REQUIRED
COMPONENTS
core
routing_service
)

find_package(CURL REQUIRED)

# Use find_package to include OpenTelemetry C++ requirements
find_package(opentelemetry-cpp CONFIG REQUIRED
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/otel-cpp/lib/cmake/opentelemetry-cpp/"
)
find_package(prometheus-cpp CONFIG REQUIRED
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/otel-cpp/lib/cmake/prometheus-cpp/"
)

# Include directories
include_directories(
${RTIConnextDDS_INCLUDE_DIRS}
"${CMAKE_CURRENT_SOURCE_DIR}/otel-cpp/include"
)

add_library(${PROJECT_NAME} SHARED
"${CMAKE_CURRENT_SOURCE_DIR}/src/oteladapter.cxx"
"${CMAKE_CURRENT_SOURCE_DIR}/src/otelconnection.cxx"
"${CMAKE_CURRENT_SOURCE_DIR}/src/otelstreamwriter.cxx"
)

set_target_properties(${PROJECT_NAME}
PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON
LIBRARY_OUTPUT_DIRECTORY "${output_dir}"
LIBRARY_OUTPUT_DIRECTORY_RELEASE "${output_dir}"
LIBRARY_OUTPUT_DIRECTORY_DEBUG "${output_dir}"
ARCHIVE_OUTPUT_DIRECTORY "${output_dir}"
ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${output_dir}"
ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${output_dir}"
RUNTIME_OUTPUT_DIRECTORY "${output_dir}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${output_dir}"
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${output_dir}"
)

target_link_libraries(${PROJECT_NAME}
RTIConnextDDS::routing_service_infrastructure
RTIConnextDDS::cpp2_api
${CONNEXTDDS_EXTERNAL_LIBS}
${OPENTELEMETRY_CPP_LIBRARIES}
)

# Generator application
connextdds_rtiddsgen_run(
IDL_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/generator/telemetry.idl"
OUTPUT_DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/src/c++11"
LANG C++11
VAR "METRICS_TYPE"
DISABLE_PREPROCESSOR
)

add_executable(generator
"${CMAKE_CURRENT_SOURCE_DIR}/generator/c++11/generator.cxx"
${METRICS_TYPE_CXX11_SOURCES}
"${CMAKE_CURRENT_SOURCE_DIR}/generator/c++11/application.hpp"
${METRICS_TYPE_CXX11_HEADERS}
)
target_link_libraries(generator
PRIVATE
RTIConnextDDS::cpp2_api
)
target_include_directories(generator
PRIVATE
"${CMAKE_CURRENT_BINARY_DIR}/src/c++11"
)

connextdds_copy_files(
INPUT_FILES
"${CMAKE_CURRENT_SOURCE_DIR}/src/RsTelemetryGateway.xml"
"${CMAKE_CURRENT_SOURCE_DIR}/src/run_tmux.sh"
"${CMAKE_CURRENT_SOURCE_DIR}/generator/c++11/generator_qos.xml"
OUTPUT_DIR
"${CMAKE_CURRENT_BINARY_DIR}/"
)
120 changes: 120 additions & 0 deletions AppTelemetry/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# (c) 2025 Copyright, Real-Time Innovations, Inc. All rights reserved.
# RTI grants Licensee a license to use, modify, compile, and create derivative
# works of the Software. Licensee has the right to distribute object form only
# for use with RTI products. The Software is provided "as is", with no warranty
# of any type, including any warranty for fitness for any purpose. RTI is under
# no obligation to maintain or support the Software. RTI shall not be liable
# for any incidental or consequential damages arising out of the use or
# inability to use the software.


# The Dockerfile is based on the official Ubuntu image for the jammy release.
# The CONNEXT_VERSION argument is used to specify the version of RTI Connext to install.
# The RTI_LICENSE_AGREEMENT_ACCEPTED argument is used to accept the RTI license agreement during installation.
# The NDDSHOME environment variable is set to the installation directory of RTI Connext.
#
# The Dockerfile installs the requisite RTI Connext Debian Packages from the official RTI repository. It also installs some build tools and the license file.
#
# The CMD instruction specifies the default command to run when the container starts. In this case, it runs the /bin/bash shell.
#
# To build the Docker image, run the following command from the root repository folder:
# docker build -t connext:oteladapter --build-arg RTI_LICENSE_AGREEMENT_ACCEPTED=accepted --build-arg CONNEXT_VERSION=7.3.0 .
#
# To run the Docker container, run the following command:
# docker run -it --rm --net=host -v $RTI_LICENSE_FILE:/root/rti_license.dat connext:oteladapter
#
# The -it option is used to run the container in interactive mode.
# The --rm option is used to remove the container when it exits.
#
# The container will start and run the /bin/bash shell.

FROM ubuntu:jammy AS install-stage

ARG CONNEXT_VERSION=7.3.0
ARG RTI_LICENSE_AGREEMENT_ACCEPTED

ENV DISPLAY=:0
ENV SHELL=/bin/bash
# CHANGE THE FOLLOWING LINE TO MATCH YOUR TIMEZONE
ENV TZ=Europe/Madrid
ENV NDDSHOME=/opt/rti.com/rti_connext_dds-${CONNEXT_VERSION}

# Install the required packages
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \
&& apt-get install -y \
ca-certificates \
dash \
tzdata \
git \
build-essential \
cmake \
curl \
libcurlpp-dev \
zlib1g-dev \
nano \
tmux \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists

# Install the RTI Connext Debian Package
RUN curl -sSL -o /usr/share/keyrings/rti-official-archive.gpg \
https://packages.rti.com/deb/official/repo.key

RUN printf -- "deb [arch=%s, signed-by=%s] %s %s main\n" \
$(dpkg --print-architecture) \
/usr/share/keyrings/rti-official-archive.gpg \
https://packages.rti.com/deb/official \
$(. /etc/os-release && echo ${VERSION_CODENAME}) | tee /etc/apt/sources.list.d/rti-official.list >/dev/null

RUN export DEBIAN_FRONTEND=noninteractive \
RTI_LICENSE_AGREEMENT_ACCEPTED=${RTI_LICENSE_AGREEMENT_ACCEPTED} \
&& apt-get update \
&& apt-get install -y \
rti-connext-dds-${CONNEXT_VERSION}-services-routing \
rti-connext-dds-${CONNEXT_VERSION}-services-routing-dev \
rti-connext-dds-${CONNEXT_VERSION}-lib-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists

WORKDIR /root

# Copy the source code
RUN mkdir -p /root/opentelemetry-adapter/generator /root/opentelemetry-adapter/resources /root/opentelemetry-adapter/src
COPY generator /root/opentelemetry-adapter/generator
COPY resource /root/opentelemetry-adapter/resource
COPY src /root/opentelemetry-adapter/src
COPY CMakeLists.txt /root/opentelemetry-adapter/

# Clone the opentelemetry-cpp v1.18.0 branch without history and build
RUN git clone --depth 1 --branch v1.18.0 https://github.com/open-telemetry/opentelemetry-cpp.git
WORKDIR /root/opentelemetry-cpp
RUN git submodule update --init --recursive third_party/prometheus-cpp
RUN mkdir -p /root/opentelemetry-cpp/build
WORKDIR /root/opentelemetry-cpp/build
# Build with ABI version 2 to permit gauge metrics
RUN cmake -DBUILD_TESTING=OFF -DWITH_PROMETHEUS=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DWITH_ABI_VERSION_1=OFF ..
RUN cmake --build .
RUN cmake --install . --prefix /root/opentelemetry-adapter/otel-cpp

WORKDIR /root/opentelemetry-adapter

# Build the source code
RUN mkdir build && cd build && cmake .. && cmake --build .

# Configure licence file
RUN echo "export RTI_LICENSE_FILE=/root/rti_license.dat" >> /root/.bashrc
RUN rm ${NDDSHOME}/rti_license.dat
RUN ln -s /root/rti_licence.dat ${NDDSHOME}/rti_license.dat

# Tweaks
RUN echo "source ${NDDSHOME}/resource/scripts/rtisetenv_*.bash" >> /root/.bashrc
RUN echo 'mkcd() { mkdir -p "$1" && cd "$1"; }' >> /root/.bashrc

FROM scratch AS final-stage

WORKDIR /root

COPY --from=install-stage / /

CMD ["/bin/bash"]
3 changes: 3 additions & 0 deletions AppTelemetry/LICENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(c) 2005-2025 Copyright, Real-Time Innovations, Inc. (RTI) All rights reserved.

RTI grants Licensee a license to use, modify, compile, and create derivative works of the software solely for use with RTI Connext DDS. Licensee may redistribute copies of the software, provided that all such copies are subject to this license. The software is provided "as is", with no warranty of any type, including any warranty for fitness for any purpose. RTI is under no obligation to maintain or support the software. RTI shall not be liable for any incidental or consequential damages arising out of the use or inability to use the software.
Loading