eCAL Rec Architecture¶
In this chapter we will take a deeper look at the different recording modes and the host / client architecture of eCAL Rec.
If you are new to eCAL Rec, please first check out the Getting Started with eCAL Rec chapter. That chapter will teach you the very basics of eCAL Rec.
Centralized vs. Distributed Recordings¶
The eCAL Recorder has two essential modes for creating recordings:
This means that you simply start the eCAL Recorder on one of your many machines. It will subscribe to all topics and record the data to your hard drive. Data from remote machines will be sent via network.
This is the most trivial and easy to use mode, as you only need one application on one machine.
When having many eCAL applications, it is generally advisable to run applications that exchange huge amounts of data on the same machine, as eCAL will then use its shared memory transport mechanism, which is way faster than sending data over the network. The recorder can also take advantage of that feature and avoid network congestion while running a recording. For this mode you will have to launch the eCAL Recorder on one of your machines and the eCAL Recorder Client on all of your other machines.
Now each Recorder and Recorder Client will only record topics coming from their respectable machine and record them to their local hard drive. After you finished your test, you can then let the Recorder Clients push their files to your main PC to get a contiguous recording.
Of course, mixed configurations are possible (e.g. some machines will only record their own topics, while other machines will also record topics of some external machines).
Host / Client Architecture¶
A (distributed) eCAL Rec setup consists of 2 applications:
The Host Application. This can be either one of:
eCAL Rec GUI (
eCAL Rec CLI (
The Host Application is your main Recording application.
In a Centralized recording (All topics are recorded over network by just one recorder), this is the only application you need. It will function standalone and record everything that is configured to be recorded. In a Distributed recording (Each machine records its own topics), this application controls the connected clients.
The host application can load
The Client Application
The Client Application is only needed for distributed recordings. It is started on all machines, that shall record topics. The host application then connects to it and sends the appropriate commands.
The eCAL Sys Client is not needed on the machine, where the Host Application is running.
Even though you can use
ecal_rec_clientfrom command line to start a recording, it is generally advisable to use
ecal_rec /.exe(the eCAL rec cli host application) for that purpose. It features a richer set of parameters, can load config files and has an interactive mode.