@rgbk/stats

0.2.0 • Public • Published

Stats

A utility package built with bull to gather statistics on our pools.

Services

Traefik

Træfik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.

Chronograf

Chronograf is a UI dashboard that allows us to see the data that we have stored in InfluxDB and build robust queries and alerts. We have our dashboards exported and saved in the dashboards folder, so that they can be imported on Chronograf locally in case we need them for testing.

Bull

Bull is a package that allows us to create queues of repeatable jobs, configurated using a cron expression. Our package is set up to have one queue for each different task. Tasks can be found in the folder of the same name, while queues are listed in src/config.ts. To add a new queue, simply add it to the config.ts file following the template we used. To add a new task, write an async function that accepts a job and a web3 parameters and returns a promise. Make sure to wrap the task with web3ErrorWrapper to handle the closing of the websocket connection and possible web3 errors.

Arena

Arena is an interactive UI dashboard for Bull and Bee Queue. It allows us to monitor the status of jobs, see the cause of failure in case they failed and also remove or rerun jobs.

Setup

Add rbstats system user:

adduser rbstats

Clone the repo into rbstats home:

su rbstats
cd ~
clone https://github.com/RigoBlock/rigoblock-monorepo

Copy help script into the home directory:

cp rigoblock-monorepo/packages/stats/scripts/* ./
chmod u+x *.sh

Create data diretory:

mkdir data

Create acme.json file. This file contains private keys. Protect it.

touch rigoblock-monorepo/packages/stats/config/traefik/acme.json
chmod 600 rigoblock-monorepo/packages/stats/config/traefik/acme.json

Build the docker image (from the monorepo root).

docker-compose -f ./packages/stats/docker-compose.prod.yml build --build-arg NPM_KEY=<insert npm key> bull

Run the whole stack (from the monorepo root).

docker-compose -f ./packages/stats/docker-compose.prod.yml up

Additional resources

Data retention

Check the data retention readme.

Task descriptions

Data currently being fetched

  • List of all Dragos on mainnet, ropsten and kovan

For each drago, we are fetching:

  • ETH balance
  • GNT balance
  • GRG balance
  • MKR balance
  • WETH balance
  • USDT balance
  • ZRX balance
  • ZRXW balance
  • USDTW balance
  • GRGW balance
  • Total supply
  • Buy-Sell prices

Contributing

Read our contribution guidelines.

Readme

Keywords

none

Package Sidebar

Install

npm i @rgbk/stats

Weekly Downloads

0

Version

0.2.0

License

none

Unpacked Size

299 kB

Total Files

58

Last publish

Collaborators

  • gabrigo
  • vshjxyz