cluon-rec2fuse
is a microservice for libcluon-based OD4Sessions to mount existing recordings (like, for instance, dumps from tool cluon-OD4toStdout
) into a folder while mapping the contained messages as separate .csv files.
- Dynamically maps
Envelope
and their contained messages as .csv files usinglibfuse
- Including
sent
,received
, andsample time point
time stamps - Dynamically maps
Envelope
and their contained messages as .csv files usinglibfuse
- Available as Docker images for x86_64
libfuse
- A C++14-compliant compiler
This project as ships the following dependency as part of the source distribution:
- libcluon -
This microservice is created automatically on changes to this repository via Docker's public registry for x86_64
This microservice can be used during data post-processing for libcluon-based applications to easily access the contents of a .rec file. A .rec-file is simply a dump of all exchanged Envelope
that could be created by using the tool cluon-OD4toStdout
redirecting its output into a file.
Let's assume you have a message specification like the OpenDLV Standard Message Set named opendlv.odvd
that you would like to use for mapping the content from the file myrecording.rec
into a folder mnt
as .csv files. Then, you can use this microservice as follows:
docker run --rm -ti -v $PWD/myrecording.rec:/opt/input.rec \
-v $PWD/opendlv.odvd:/opt/odvd \
-v $PWD/mnt:/opt/output:shared \
--cap-add SYS_ADMIN \
--cap-add MKNOD \
--security-opt apparmor:unconfined \
--device=/dev/fuse \
-v /etc/passwd:/etc/passwd:ro \
-v /etc/group:/etc/group \
chrberger/cluon-rec2fuse-amd64:v0.0.90 \
/bin/sh -c "chown $UID:$UID /opt/output && \
su -s /bin/sh $USER -c 'cluon-rec2fuse --rec=/opt/input.rec --odvd=/opt/odvd -f /opt/output' \
&& tail -f /dev/null"
When you have finished working with the mapped files in the mnt
folder, stop the microservice by pressing Ctrl-C. Afterwards, you need to unmount the folder mnt
as follows:
fusermount -u mnt
You can watch the usage of this microservice here:
- This project is released under the terms of the GNU GPLv3 License