Stats collector for RLB with REST interface and WEB UI.
Run docker-compose up
in order to start rlb-stats and rlb (for data generation).
Run following command in the terminal in order to generate traffic for rlb-stats:
while true; do
curl "http://127.0.0.1:7070/api/v1/jump/test1?url=/mp3files/test_file_$(((RANDOM % 10) + 1)).mp3" >/dev/null 2>&1
sleep $(((RANDOM % 10) + 1))
done
Open http://127.0.0.1:8080/api/candle endpoint from to see all aggregated logs since the start of the container.
Open http://127.0.0.1:8080/ to see dashboard with statistics
Command line | Environment | Default | Description |
---|---|---|---|
port | PORT | 80 |
Web server port |
bolt | BOLT_FILE | /tmp/rlb-stats.bd |
boltdb file path |
dbg | DEBUG | false |
debug mode |
TIME_ZONE | America/Chicago |
container timezone |
GET /api/candle
, parameters - ?from=<RFC3339_date>&to=<RFC3339_date>&aggregate=<duration>
Retrieve candles from storage.
from
(required) is the beginning of the interval, format is RFC3339, for example2006-01-02T15:04:05+07:00
to
(optional) is the end of the intervalmax_points
(optional, default100
) unsigned integer up to255
, sets aggregate interval to return not more than specified amount of candlesaggregate
(optional, overwritesmax_points
) is the aggregation interval (truncated to minute), format examples are5m
,600s
,1h
POST /api/insert
Insert LogRecord to storage. Expects LogRecord as a body:
{
"from_ip": "172.21.0.1",
"ts": "2021-03-24T08:20:00Z",
"file_name": "rtfiles/rt_podcast659.mp3",
"dest": "n3.radio-t.com"
}