set tee pipe name

Some projects like Enodo project may benefit from receiving all SiriDB data. Because these projects usually experience the same scaling problems as SiriDB does, we have chosen to support a tee option on each SiriDB server. Using this feature makes it possible to install a service on at least one SiriDB server in each pool. Such a service should install a UNIX Pipe server which accepts SiriDB data in QPack format.

SiriDB will then try to connect to the pipe, and once a connection is established, all SiriDB data points with the SiriDB pool as target, will be forwarded to the pipe.

A package send to the pipe will have a header like:

┌───────────┬───────────┬───────────┬───────────┬───────────┐
│ LEN (4)   │ ID (2)    │ TYPE (1)  │ CHK (1)   │ DATA (..) │
└───────────┴───────────┴───────────┴───────────┴───────────┘
Field Description
LEN Length of the data, stored as Unsigned, 32-bit, Little Endian. The header size is not included in the length.
ID Can be ignored
TYPE Can be ignored
DATA Contains the actual data points in QPack format.

The data is packed like:

{
    'serie-name': [[<TIMESTAMP>, <VALUE>], ...],
    ...
}

If you like to disable the tee, then use false instead of a string.

Example

# Change the log-level to "debug"
alter server f851c6a4-820e-11e5-9661-080027f37001 set tee_pipe_name '/tmp/data.sock'