Skip to content

chrberger/cluon-rec2fuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cluon-rec2fuse

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.

License x86_64

Table of Contents

Features

  • Dynamically maps Envelope and their contained messages as .csv files using libfuse
  • Including sent, received, and sample time point time stamps
  • Dynamically maps Envelope and their contained messages as .csv files using libfuse
  • Available as Docker images for x86_64

Dependencies

  • libfuse
  • A C++14-compliant compiler

This project as ships the following dependency as part of the source distribution:

Usage

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: asciicast

License

  • This project is released under the terms of the GNU GPLv3 License