The Status module that consumes go-ethereum https://status.im
Go to file
Samuel Hawksby-Robinson 07e46714f0
Anon Metrics Broadcast (#2198)
* Protobufs and adapters

* Added basic anon metric service and config init

* Added fibonacci interval incrementer

* Added basic Client.Start func and integrated interval incrementer

* Added new processed field to app metrics table

* Added id column to app metrics table

* Added migration clean up

* Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests

There was a wierd bug where metrics in the db that did not explicitly insert a  value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows.

* Updated adaptors and db to handle proto_id

I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before.

* Moved incrementer into dedicated file

* Resolve incrementer test fail

* Finalised the main loop functionality

* Implemented delete loop framework

* Updated adaptors file name

* Added delete loop delay and quit, and tweak on RawMessage gen

* Completed delete loop logic

* Added DBLock to prevent deletion during mainLoop

* Added postgres DB connection, integrated into anonmetrics.Server

* Removed proto_id from SQL migration and model

* Integrated postgres with Server and updated adaptors

* Function name update

* Added sample config files for client and server

* Fixes and testing for low level e2e

* make generate

* Fix lint

* Fix for receiving an anonMetricBatch not in server mode

* Postgres test fixes

* Tidy up, make vendor and make generate

* delinting

* Fixing database tests

* Attempted fix of does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error on sql resource loas

* Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work

* Lint for the lint god

* Why doesn't the linter list all its problems at once?

* test tweaks

* Fix for wakuV2 change

* DB reset change

* Fix for postgres db migrations fails

* More robust implementation of postgres test setup and teardown

* Added block for anon metrics functionality

* Version Bump to 0.84.0

* Added test to check anon metrics broadcast is deactivated

* Protobufs and adapters

* Added basic anon metric service and config init

* Added new processed field to app metrics table

* Added id column to app metrics table

* Added migration clean up

* Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests

There was a wierd bug where metrics in the db that did not explicitly insert a  value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows.

* Updated adaptors and db to handle proto_id

I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before.

* Added postgres DB connection, integrated into anonmetrics.Server

* Removed proto_id from SQL migration and model

* Integrated postgres with Server and updated adaptors

* Added sample config files for client and server

* Fix lint

* Fix for receiving an anonMetricBatch not in server mode

* Postgres test fixes

* Tidy up, make vendor and make generate

* Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 13:02:18 +01:00
.dependabot Patch/dependabot protocol (#1980) 2020-05-19 00:14:02 +01:00
.github Add check to pr checklist that pr was tested (#2243) 2021-05-26 11:28:34 +03:00
.vscode Add go.formatFlags to VS Code settings 2020-01-16 13:18:36 +01:00
_assets get_enode.sh: --retry-connrefused instead --retry-all-errors 2021-08-30 14:24:29 +02:00
_docs 👮🏽‍♂️ Update validators and add a new event (#2189) 2021-04-12 17:55:53 +05:30
_examples go-waku integration (#2247) 2021-06-16 16:19:45 -04:00
account linting and remove unused code 2021-07-20 10:57:38 +02:00
api Removed unnecessary dependency from logutil package 2021-08-19 11:35:40 +02:00
appdatabase Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
appmetrics Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
build/bin add .gitkeep to build/bin so it always exists 2019-03-05 14:22:00 +01:00
cmd feat: add function to free memory (#2344) 2021-08-31 15:17:44 -04:00
common Move services to status-node 2021-07-20 10:57:38 +02:00
config Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
connection Handle connection state 2021-05-21 07:22:58 +02:00
contracts Fix some tests and restore private/public RPC client 2021-07-20 10:57:38 +02:00
db Use goimports instead of gofmt 2020-01-06 10:17:23 +01:00
discovery Upgrade linter and address issues 2020-12-28 16:55:14 +01:00
eth-node feat: add function to obtain bloomfilter (#2334) 2021-08-26 16:25:43 -04:00
exportlogs Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
extkeys Upgrade geth 2021-07-20 10:57:38 +02:00
images Remove image log 2020-12-17 14:10:00 +01:00
logutils Removed unnecessary dependency from logutil package 2021-08-19 11:35:40 +02:00
mailserver Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
metrics metrics: fix p2p_peers_count metrics labels 2021-08-24 11:07:39 +02:00
mobile delete imported key 2021-08-18 12:56:53 +02:00
multiaccounts Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
node fix: empty wakuv2 host (#2342) 2021-08-31 12:27:02 -04:00
notifier Notifier package to interact with gorush notifications (#910) 2018-05-08 16:30:03 +02:00
params Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
peers fix topic pool tests 2021-07-20 10:57:38 +02:00
postgres Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
profiling Add profiling with pprof (#754) 2018-03-23 14:58:40 +01:00
protocol Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
rpc Add some eip 1559 related rpc methods to router 2021-07-20 10:57:38 +02:00
rtt rewrite mailserver systemd setup to a Makefile 2019-12-04 13:44:05 +01:00
services Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
signal feat: upload/download rate for waku v1 messages (#2286) 2021-08-03 15:27:15 -04:00
sqlite Expose password reset function (#2223) 2021-06-23 14:51:21 +05:30
static Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
t Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
timesource Move services to status-node 2021-07-20 10:57:38 +02:00
transactions Fix eip1559 contract transactions 2021-08-19 13:29:54 +03:00
vendor chore: bump go-waku (#2292) 2021-08-03 16:40:22 -04:00
waku feat: add function to obtain bloomfilter (#2334) 2021-08-26 16:25:43 -04:00
wakuv2 feat: wakuV2 bandwidth stats (#2325) 2021-08-30 17:35:37 -04:00
.codeclimate.yml fix: exclude migrations from codeclimate (#2284) 2021-07-22 14:04:21 -04:00
.dockerignore Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
.gitignore remove nimbus 2021-05-21 07:22:58 +02:00
.golangci.yml Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
.travis.yml Remove e2e tests from steps 2021-07-20 10:57:38 +02:00
BOOTNODE.md docs: clarify purpose and describe ports 2020-02-06 18:44:23 +01:00
CONTRIBUTING.md Update team collaboration forum (#1946) 2020-04-21 08:12:01 +01:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
MAILSERVER.md rcp.sh: curl wrapper for easier RPC calls 2021-08-24 11:23:25 +02:00
Makefile Remove e2e tests from steps 2021-07-20 10:57:38 +02:00
README.md Explain how to run Waku node in README (#1921) 2020-04-09 18:33:53 +02:00
RELEASING.md update RELEASING docs links to CI (#1506) 2019-06-28 10:37:34 +02:00
VERSION Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
WAKU.md Create WAKU.md with spec support (#1855) 2020-02-21 17:56:15 +08:00
go.mod feat: wakuV2 bandwidth stats (#2325) 2021-08-30 17:35:37 -04:00
go.sum chore: bump go-waku (#2292) 2021-08-03 16:40:22 -04:00