* Added prometheus client and p2p metrics
* Avoid run the adapter if the metrics are disabled
* fix visibility issue
* Fix invalid p2p.Message sent to Adapters
The middlewares (adapters) must receive the complete message to avoid
problems and the main Handler must get the values from middlewares
Also, added tests and comments for metrics package
* Added logrus hook collector
This collector is used to collect counters of log messages.
The main purpose of these metric is to know how many warnings and errors
the system are getting.
* Add hook when register the prometheus service
* update bazel builds
* fix emit tests and remove unused imports
* gazelle --fix
* remove unused logger
* move prometheus package to shared directory
* better metric names and fix metric paths
* improve metric tests and start to use promauto
* added prometheus initial documentation
* fix tests
* fix type differences with go get and bazel
* Fix service test
* start sequence for node to connect to bootstrap nodes
* lint
* maybe warning is more appropiate?
* fix gazelle
* preston's feedback
* add go-ipfs-addr to workspace
* move flag to shared
* removed routed host
* Remove error checking for type assertions on p2p messages. The code should fail earlier in the p2p layer. Also fixed format on some TODOs
* format TODO again
* Add a bit more tests for p2p stuff
* goimports on feed_mock
* remove unused import
* Adding proto topics
* Adding crystallized state request
* Reverting shanges to proto
* Adding db checks
* get crystallised state
* Finalize epoch for mapping
* more changes
* cleaning up main routine
* adding tests
* fix test
* Adding ability to save blocks
* Adding block fetcher
* Another test for setting finalized epoch
* adding final tests
* finished tests
* adding comments
* gazelle
* Making requested changes
* Fixing lint
* stop sync from exiting
* fixing lint
* lint
* Adding new request type to proto
* Making changes to block/state requests
* Change tests
* fixing error messages
* gazelle and lint
* adding back crystallised state
* fix tests
* Fixing merge conflicts
* Addressing review comments
* Changing back to one service
* removing case
* add mutex on top of p2p feeds map
* lock read too
* add concurrent write test and enable race detector
* restrict race detection to concurrent feed map write test
* gazelle fix
* increase ram and I/O in bazel's local_resources
* reverted local_resources changes
* address review comments
* do not disable sandboxing on travis
* address review comments