Crates.io | bulletin-board-server |
lib.rs | bulletin-board-server |
version | 0.3.0 |
source | src |
created_at | 2024-10-13 21:13:23.21517 |
updated_at | 2024-11-09 16:36:03.417256 |
description | Object storage for ArrayObject for debugging and data taking purposes. |
homepage | |
repository | https://github.com/YShoji-HEP/BulletinBoard |
max_upload_size | |
id | 1407683 |
size | 71,486 |
Object storage for ArrayObject
for debugging and data taking purposes.
BulletinBoard
is a part of dbgbb
project.
ArrayObject
.archive
and dump
make data persistent. (Data does not persist by default.)BulletinBoard
and dbgbb
is ensured for the most minor version numbers.)The docker image is found here. (currently only available for arm64)
Install and run the server with the specified listen address.
cargo install bulletin-board-server
export BB_LISTEN_ADDR = "0.0.0.0:7578"
bulletin-board-server
Variable | Default | Description |
---|---|---|
BB_LISTEN_ADDR | "127.0.0.1:7578" or "/tmp/bb.sock" | Listen address of the bulletin board server. When UNIX socket is used, the address should be the path to the uncreated socket. |
BB_TMP_DIR | "./bb_tmp" | Directory for temporary data. |
BB_ACV_DIR | "./bb_acv" | Directory for archives. |
BB_TOT_MEM_LIMIT | "1GiB" | Total memory limit. If the memory exceeds the limit, all the bulletins are saved as files. The size of metadata is not included in the calculation. The actual memry consumption becomes higher than this. |
BB_FILE_THRETHOLD | "1MiB" | Beyond this threthold, the bulletin is saved as a file. |
BB_MAX_RESULTS | 1024 | The maximum number of results returned by viewboard and get_info functions. |
BB_LOG_FILE | "./bulletin-board.log" | Location of the log file. |
BB_LOG_LEVEL | 3 | Log level. The alllowed values are 0: No logging, 1: Error, 2: +Warn, 3: +Notice, 4: +Info, 5: +Debug. |
BB_DEBUG | Not set | If the variable is set, the server logs to stdout. |
Short | Long | Description |
---|---|---|
-d | --debug | Log to stdout. |
-l <LOG_LEVEL> | --log-level <LOG_LEVEL> | Log level [0: No logging, 1: Error, 2: +Warn, 3: +Notice (default), 4: +Info, 5: +Debug]. |
-h | --help | Print help. |
-V | --version | Print version. |
Since BulletinBoard
was originally designed for debugging purposes, it is assumed that most of the data will be deleted at the end. Persistent options (archive
and dump
) have been added for a more extensive use such as data taking.
The advantages of not making it persistent by default are (i) holding data in memory makes read/write speeds faster, (ii) metadata of the archive becomes smaller and (iii) data can be more easily deleted before archiving.
Especially for debugging, storage may receive large amounts of small data and thus in-memory databases are ideal. However, it may also receive large data like a few hundred MiB, and such data should be stored in files. BulletinBoard
uses a hybrid backend of memory and file to solve this problem.
Also, the BulletinBoard
will not return a response if it is not needed. Thus, it can handle very frequent data flows.