c69dea6da6 | ||
---|---|---|
build | ||
cmd/storemsgcounter | ||
internal | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
Jenkinsfile | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum |
README.md
Storenode Message Counter
used to compare the number of Status messages across Status nodes to understand the potential discrepancies and odd behaviour of messages being inserted in the past in a given pubsub topic.
Querying the data
The following tables are available in https://superset.bi.status.im/superset/sqllab/ telemetry
database:
missingMessages
This table contains the list of missing messages, and in which storenode the messages was identified to be missing. The msgStatus
column indicates the possible scenarios in which a message can be considered missing:
does_not_exist
. The message is not stored in the storenode's dbunknown
. It was not possible to retrieve information about this message. The store node was likely not available during the time the query to verify the message status was done.
storeNodeUnavailable
This table records timestamps on which a specific storenode was not available. This information should be used along with data from https://kibana.infra.status.im/ and https://grafana.infra.status.im/ to determine the reason why the storenode was not available.
Dashboard
A grafana dashboard is available in https://grafana.infra.status.im/d/hmX6pJ_Iz/storenode-message-counter?orgId=1
Browsing the logs
You can browse the logs in kibana at https://kibana.infra.status.im/goto/7342ed70-6162-11ef-bfa2-75c6d129a2cb
Assuming the link is not available use the following parameters:
logsource
:node-01.he-eu-hel1.tmetry.misc
program
:docker/telemetry-counter-status-prod
,docker/telemetry-counter-status-staging
Development
You need to setup a postgres db as such:
- Create an user with a password
- Create a db
- Execute
make build
Then you can run the program with
./build/storemsgcounter --storenode=some_multiaddress --storenode=some_multiaddress --pubsub-topic=some_pubsubtopic --cluster-id=16 --db-url=postgres://user:password@127.0.0.1:5432/telemetry
A dockerfile is also available for ease of setup
docker build -t wakuorg/storenode-messages:latest .
docker run wakuorg/storenode-messages:latest --help